(() => {
    var __webpack_modules__ = {
        81: (module, __unused_webpack_exports, __webpack_require__) => {
            __webpack_require__ = {
                packageName: "com.ss.android.ugc.aweme",
                versions: [ "26.0.0", "27.0.0", "28.0.0", "28.1.0", "28.2.0", "28.3.0", "28.4.0", "28.5.0", "28.6.0", "28.7.0", "28.8.0", "28.9.0", "29.0.0" ],
                nodes: __webpack_require__(761),
                commonts: [ "又刷到你了", "看看我的作品", "来我主页转转" ],
                sxhs: [ "很高兴认识你", "常来常往" ],
                zfhs: [ "互粉", "回关", "关注", "互赞" ],
                czyhGjzs: [ "多少", "价格", "联系" ],
                dqGjzs: [ "安徽", "浙江", "江苏" ]
            };
            module.exports = __webpack_require__;
        },
        761: module => {
            var nodes = {
                all: {
                    index: {
                        headimg: {
                            id: "com.ss.android.ugc.aweme:id/user_avatar"
                        },
                        desc: {
                            id: "com.ss.android.ugc.aweme:id/desc"
                        },
                        title: {
                            id: "com.ss.android.ugc.aweme:id/title"
                        },
                        searchInput: {
                            id: "com.ss.android.ugc.aweme:id/et_search_kw"
                        }
                    }
                },
                "26.0.0": {
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/dc7"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/er2"
                        }
                    },
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/er-"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/t5o"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/w8o"
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/w8s"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/nsc"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/w9h"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/po9"
                        }
                    },
                    live: {
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/mwq"
                        },
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/xzb"
                        }
                    }
                },
                "27.0.0": {
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/dh7"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/eyg"
                        }
                    },
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/eyp"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/vkl"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/yr5"
                        },
                        fansnum: {
                         id: "com.ss.android.ugc.aweme:id/yr9"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/ohq"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/ys7"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/qpd"
                        }
                    },
                    live: {
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/njx"
                        },
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/zkc"
                        }
                    }
                },
                "28.0.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/ezh"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/dho"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/ey="
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/wcy"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/zqq"
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/zqu"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/o13"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/zrr"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/q_r"
                        }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/0kz"
                        },
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/n19"
                        }
                    }
                },
                "28.1.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/ezy"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/dh0"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/ezo"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/wd8"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/zrs"
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/zrw"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/o2_"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/zsu"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/q-1"
                        }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/0lw"
                        },
                        msglistbox: {
                         id: "com.ss.android.ugc.aweme:id/n3u"
                        }
                    }
                },
                "28.2.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/efs"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/c1a"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/efi"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/vsx"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/y6j"
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/y6n"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/oe9"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/y7f"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/qod"
                        }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/zzu"
                        },
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/nbk"
                        }
                    }
                },
                "28.3.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/egc"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/c1r"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/ef6"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/vvo"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/y9g"
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/y9k"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/og0"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/y=c"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/qp-"
                        }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/z2s"
                        },
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/nc4"
                        }
                    }
                },
                "28.4.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/ehq"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/c2="
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/ehf"
                        }
                    },
                    user: {
                        homeMark: {
                         id: "com.ss.android.ugc.aweme:id/v09"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/zbf"
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/zbj"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/old"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/zcb"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/qu-"
                        }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/z9i"
                        },
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/ng7"
                        }
                    }
                },
                "28.5.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/eio"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/c31"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/eid"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/v3+"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/zex"
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/ze1"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/on1"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/zft"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/qx3"
                        }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/z-5"
                        },
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/nje"
                        }
                    }
                },
                "28.6.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/ei-"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/c4g"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/ei1"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/v7c"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/zh="
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/zia"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/op1"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/zi7"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/qz9"
                     }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/0ck"
                        },
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/nk-"
                        }
                    }
                },
                "28.7.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/ejz"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/c41"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/ejo"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/v97"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/zk="
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/zla"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/ory"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/zl6"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/q2d"
                        }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/0fr"
                        },
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/nm6"
                        }
                    }
                },
                "28.8.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/ekj"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/c5g"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/ej-"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/v+_"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/zph"
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/zpl"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/ot-"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/zqd"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/q47"
                        }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/0jz"
                        },
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/nor"
                        }
                    }
                },
                "28.9.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/el2"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/c6w"
                     },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/elr"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/wej"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/zt8"
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/zt-"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/owx"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/zu4"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/q7="
                        }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/0ol"
                        },
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/nrb"
                        }
                    }
                },
                "29.0.0": {
                    video: {
                        like: {
                            id: "com.ss.android.ugc.aweme:id/el5"
                        }
                    },
                    comment: {
                        button: {
                            id: "com.ss.android.ugc.aweme:id/c6v"
                        },
                        zan: {
                            id: "com.ss.android.ugc.aweme:id/elu"
                        }
                    },
                    user: {
                        homeMark: {
                            id: "com.ss.android.ugc.aweme:id/wgx"
                        },
                        gznum: {
                            id: "com.ss.android.ugc.aweme:id/zxf"
                        },
                        fansnum: {
                            id: "com.ss.android.ugc.aweme:id/zxj"
                        },
                        username: {
                            id: "com.ss.android.ugc.aweme:id/ox2"
                        },
                        lanv: {
                            id: "com.ss.android.ugc.aweme:id/zyb"
                        },
                        followBtn: {
                            id: "com.ss.android.ugc.aweme:id/q9u"
                        }
                    },
                    live: {
                        userlistbox: {
                            id: "com.ss.android.ugc.aweme:id/0r0"
                        },
                        msglistbox: {
                            id: "com.ss.android.ugc.aweme:id/nrq"
                        }
                    }
                }
            };
            module.exports = nodes;
        },
        954: (module, __unused_webpack_exports, __webpack_require__) => {
            var conf = __webpack_require__(81), utility = __webpack_require__(871), engine = __webpack_require__(557), douyin = {
                version: "",
                nodes: {},
                init() {
                    var info = utility.packageInfo(conf.packageName);
                    return utility.isEmpty(info) ? (alert("请安装支持的抖音版本！"), !1) : conf.versions.includes(info.versionName) ? (this.version = info.versionName, 
                    this.nodes = conf.nodes[info.versionName] || {}, !0) : (alert("不支持 抖音（" + info.versionName + "）请安装支持的抖音版本！"), 
                    !1);
                },
                execClose() {
                    for (utility.inputHide(); ;) {
                        var closeBtn = desc("关闭").visibleToUser().findOnce();
                        if (!closeBtn) break;
                     closeBtn.click(), sleep(1e3);
                    }
                },
                execCancel() {
                    for (;;) {
                        var closeBtn = id("cancel_btn").visibleToUser().findOnce();
                        if (!closeBtn) break;
                        closeBtn.click(), sleep(1e3);
                    }
                },
                execBackOnce() {
                    var backBtn = desc("返回").visibleToUser().findOnce();
                    return null !== backBtn && (backBtn.click(), sleep(500), !0);
                },
                execBack() {
                    for (;this.execBackOnce(); );
                },
                execLike() {
                    var wdz = className("android.widget.LinearLayout").descStartsWith("未点赞").descEndsWith("按钮").visibleToUser().findOnce();
                    return !!wdz && (utility.toast("执行点赞"), wdz.click(), sleep(1e3), 
                    !0);
                },
                execTxdz() {
                    var txdz;
                    desc("用户头像").visibleToUser().findOnce().click() && (sleep(500), 
                    txdz = className("android.widget.RelativeLayout").visibleToUser().findOnce(), 
                    sleep(500), txdz.click(), engine.sleepMs(1e3, 2e3), back(), 
                    sleep(1e3));
                },
                popupAndClose() {
                    threads.start(function() {
                        for (;;) {
                            var a;
                            sleep(200), text("授权提示").exists() && text("同意授权").click(), 
                            sleep(200), text("休息一下吧").exists() && text("取消").click(), 
                            sleep(200), (text("很晚了，睡个好觉").exists() || text("早点睡觉吧").exists()) && text("取消").click(), 
                            sleep(200), text("朋友推荐").exists() && (a = desc("关闭").findOnce()) && a.click(), 
                            sleep(200), text("发现通讯录好友").exists() && text("取消").click(), 
                            sleep(200), text("个人信息保护指引").exists() && text("好的").click(), 
                            sleep(200), text("去商店评分").exists() && text("取消").click(), 
                            sleep(200), text("开启青少年模式").exists() && text("我知道了").click(), 
                            sleep(200), text("检测到更新").exists() && text("以后再说").click(), 
                            sleep(200), text("跳过广告").exists() && text("跳过广告").click(), 
                            sleep(200), text("下次").exists() && text("下次").click(), 
                            sleep(1e3);
                        }
                    });
                },
                getNode(path) {
                    var tp, path = path.split(".");
                    let node = this.nodes;
                    for (tp of path) if (null === (node = node[tp] || null)) break;
                    if (!node) {
                        node = conf.nodes.all;
                        for (let tp of path) if (null === (node = node[tp] || null)) break;
                    }
                    return node;
                },
                isRecommend() {
                    return null !== descContains("推荐").descEndsWith("按钮").descContains("已选中").visibleToUser().findOnce() || null !== descContains("精选").descEndsWith("按钮").descContains("已选中").visibleToUser().findOnce();
                },
                IsVideo() {
                    var node = douyin.getNode("video.like");
                    return null !== node && null !== id(node.id).visibleToUser().findOnce() || null !== className("android.widget.LinearLayout").descContains("点赞").descEndsWith("按钮").visibleToUser().findOnce();
                },
                IsVideoDelay(ms) {
                 return null !== className("android.widget.LinearLayout").descContains("点赞").descEndsWith("按钮").visibleToUser().findOne(ms);
                },
                skipVideo() {
                    return !this.IsVideo() && (utility.toast("跳过非视频或图集作品！"), sleep(500), 
                    engine.slide(), !0);
                },
                IsFollow() {
                    return null !== className("android.widget.Button").desc("关注").visibleToUser().findOnce();
                },
                execFollow() {
                    var con = className("android.widget.Button").desc("关注").visibleToUser().findOnce();
                    return !!con && (utility.toast("执行关注"), con.click(), !0);
                },
                sikpFollow() {
                    return !this.IsFollow() && (utility.toast("跳过已关注用户"), sleep(500), 
                    engine.slide(), !0);
                },
                IsLike() {
                    return null !== className("android.widget.LinearLayout").descStartsWith("已点赞").descEndsWith("按钮").visibleToUser().findOnce();
                },
                sikpLike() {
                    return !!this.IsLike() && (utility.toast("跳过已点赞视频"), sleep(500), 
                    engine.slide(), !0);
                },
                getLikeNum() {
                    let num = 0;
                    try {
                        var desc = className("android.widget.LinearLayout").descContains("点赞").descEndsWith("按钮").visibleToUser().findOnce().desc();
                        num = parseFloat(desc.match(/[0-9]+(\.[0-9]{0,2})?/g)[0]), 
                        (0 <= desc.indexOf("w") || 0 <= desc.indexOf("万")) && (num *= 1e4);
                    } catch (e) {
                        num = 0;
                    }
                    return num;
                },
                IsAd() {
                    return null !== textContains("广告").visibleToUser().findOnce();
                },
                sikpAp() {
                    return !!this.IsAd() && (utility.toast("跳过忽略广告"), sleep(500), 
                    engine.slide(), !0);
                },
                IsCommerce() {
                    try {
                        if (null !== textEndsWith("限时秒杀").visibleToUser().findOnce()) return !0;
                        if (null !== textEndsWith("优惠团购").visibleToUser().findOnce()) return !0;
                    } catch (e) {}
                    return !1;
                },
                sikpCommerce() {
                    return !!this.IsCommerce() && (utility.toast("跳过商业视频！"), sleep(500), 
                    engine.slide(), !0);
                },
                watchVideo(startTime, watchTime) {
                    startTime = engine.getUnix() - startTime;
                    0 < (watchTime -= startTime = 60 < startTime ? 60 : startTime) ? (engine.sleep(watchTime), 
                    utility.toast("继续观看视频" + watchTime + "秒")) : utility.toast("已观看视频" + startTime + "秒"), 
                    sleep(500);
                },
                canComment() {
                    let num = 0;
                    try {
                        var desc = className("android.widget.LinearLayout").descContains("评论").descEndsWith("按钮").visibleToUser().findOnce().desc();
                        num = parseFloat(desc.match(/[0-9]+(\.[0-9]{0,2})?/g)[0]);
                    } catch (e) {
                        num = 0;
                    }
                    return 0 < num;
                },
                sendComment(hs, isComment, isLike, pltp) {
                    try {
                        isComment = !(!isComment && isComment !== undefined);
                        var plBtn = className("android.widget.LinearLayout").descStartsWith("评论").descEndsWith("按钮").visibleToUser().findOnce();
                     if (plBtn && plBtn.click()) {
                            let editText = className("android.widget.EditText").visibleToUser().findOne(3e3);
                            if (null === editText && (sleep(1e3), editText = className("android.widget.EditText").visibleToUser().findOne(2e3)), 
                            null === editText) utility.toast("没有识别到评论框"), sleep(500); else {
                                isLike && (utility.toast("执行评论点赞"), sleep(1e3), 
                                (commentZanBtns = descStartsWith("赞").descEndsWith("未选中").visibleToUser().find()).forEach(el => {
                                    (el.clickable() ? el : el.parent()).click(), 
                                    engine.sleepMs(500, 1e3);
                                }));
                                var hsLen = hs.length;
                                if (!isComment || hsLen < 1) utility.toast("不执行评论"), 
                                sleep(500); else if (utility.toast("准备发表评论"), editText.click()) {
                                    if (sleep(1e3), setText(hs[random(0, hsLen - 1)]), 
                                    engine.sleepMs(1e3, 3e3), pltp && null !== desc("插入图片").visibleToUser().findOne(3e3)) {
                                        desc("插入图片").visibleToUser().findOne().click() || utility.toast("没有成功点击到发布图片按钮"), 
                                        sleep(2e3);
                                        let listBox = id("com.ss.android.ugc.aweme:id/content_container").visibleToUser().findOne(2e3);
                                        if (0 == (listBox = listBox.find(id("com.ss.android.ugc.aweme:id/root_view"))).length) return void alert("没有图片！", "手机相册里请先准备好图片！");
                                        listBox[random(0, listBox.length - 1)].click() || (utility.toast("图片点击失败！"), 
                                        back()), engine.sleepMs(1e3, 2e3);
                                    }
                                    let sendBtn = className("android.widget.ImageView").visibleToUser().desc("发送").findOne(5e3);
                                    if (null === (sendBtn = (sendBtn = sendBtn || className("android.widget.TextView").visibleToUser().text("发送").findOne(5e3)) || text("发送").findOne(5e3))) utility.toast("没有获取到发送按钮"), 
                                    sleep(1e3); else {
                                        if (sendBtn.clickable()) {
                                            if (!sendBtn.click()) return utility.toast("没有成功点击发送按钮"), 
                                            sleep(1e3), void this.execClose();
                                        } else if (!sendBtn.parent().click()) return utility.toast("没有成功点击parent发送按钮"), 
                                        sleep(1e3), void this.execClose();
                                        utility.toast("评论完成"), null !== text("我也发一张").visibleToUser().findOne(5e3) && this.execBack(), 
                                        engine.sleepMs(2e3, 5e3);
                                    }
                                } else utility.toast("没有成功点击评论框"), sleep(500);
                            }
                            this.execClose();
                        }
                    } catch (e) {
                        console.log(e), utility.toast("评论操作失败"), sleep(500), this.execClose();
                    }
                },
                isHome() {
                    return null !== id(this.getNode("user.homeMark").id).visibleToUser().findOne(1e4);
                },
                previewHome() {
                    var head = id(this.getNode("index.headimg").id).visibleToUser().findOnce();
                 null !== head && head.click() && (utility.toast("访问用户首页"), this.isHome() ? (engine.sleep(2, 5), 
                    1 == random(1, 3) && (engine.slide(), engine.sleep(2, 5))) : console.log("打开用户首页失败"), 
                    this.execBackOnce());
                },
                previewHomeTc() {
                    let yhxb = 0;
                    var head = id(this.getNode("index.headimg").id).visibleToUser().findOnce();
                    if (null !== head && head.click()) {
                        if (utility.toast("访问用户首页"), this.isHome()) return engine.sleepMs(2e3, 3e3), 
                        null !== descStartsWith("男").visibleToUser().findOnce() && (yhxb = 1), 
                        null !== descStartsWith("女").visibleToUser().findOnce() && (yhxb = 2), 
                        this.execBackOnce(), yhxb;
                        console.log("打开用户首页失败"), this.execBackOnce();
                    }
                },
                getVideoDesc() {
                    var vedioDesc = id(douyin.getNode("index.desc").id).visibleToUser().findOnce();
                    return null === vedioDesc ? "" : vedioDesc.text();
                },
                getVideoTitle() {
                    var vedioTitle = id(douyin.getNode("index.title").id).visibleToUser().findOnce();
                    return null === vedioTitle ? "" : vedioTitle.text();
                },
                getVideoMark() {
                    return this.getVideoDesc() + this.getVideoTitle();
                }
            };
            module.exports = douyin;
        },
        557: (module, __unused_webpack_exports, __webpack_require__) => {
            "undefined" == typeof __webpack_require__.g.ENV_CONF && (__webpack_require__.g.ENV_CONF = {}), 
            module.exports = {
                deviceWidth: ENV_CONF.screenWidth || device.width,
                deviceHeight: ENV_CONF.screenHeight || device.height,
                exit() {
                    engines.stopAll(), exit();
                },
                swipeEx(qx, qy, zx, zy, time) {
                    for (var xxy = [ time ], point = [], dx0 = {
                        x: qx,
                        y: qy
                    }, dx1 = {
                        x: random(qx - 100, qx + 100),
                        y: random(qy, qy + 50)
                    }, dx2 = {
                        x: random(zx - 100, zx + 100),
                        y: random(zy, zy + 50)
                    }, dx3 = {
                        x: zx,
                        y: zy
                    }, i = 0; i < 4; i++) eval("point.push(dx" + i + ")");
                    for (let i = 0; i < 1; i += .08) xxyy = [ parseInt(this.bezier_curves(point, i).x), parseInt(this.bezier_curves(point, i).y) ], 
                    xxy.push(xxyy);
                    gesture.apply(null, xxy);
                },
                bezier_curves(cp, t) {
                    return cx = 3 * (cp[1].x - cp[0].x), bx = 3 * (cp[2].x - cp[1].x) - cx, 
                    ax = cp[3].x - cp[0].x - cx - bx, cy = 3 * (cp[1].y - cp[0].y), 
                    by = 3 * (cp[2].y - cp[1].y) - cy, ay = cp[3].y - cp[0].y - cy - by, 
                    tSquared = t * t, tCubed = tSquared * t, (result = {
                        x: 0,
                        y: 0
                    }).x = ax * tCubed + bx * tSquared + cx * t + cp[0].x, result.y = ay * tCubed + by * tSquared + cy * t + cp[0].y, 
                    result;
                },
                shortSlide() {
                    this.swipeEx(.5 * this.deviceWidth, .8 * this.deviceHeight, .5 * this.deviceWidth, .8 * this.deviceHeight - 500, 300);
                },
                middleSlide() {
                    this.swipeEx(.5 * this.deviceWidth, .8 * this.deviceHeight, .5 * this.deviceWidth, .5 * this.deviceHeight, 300);
                },
                deSlide() {
                 this.swipeEx(.5 * this.deviceWidth, .3 * this.deviceHeight, .5 * this.deviceWidth, this.deviceHeight, 300);
                },
                bshortSlide() {
                    this.swipeEx(.5 * this.deviceWidth, .8 * this.deviceHeight, .5 * this.deviceWidth, .8 * this.deviceHeight - 500, 300);
                },
                slide() {
                    this.swipeEx(.8 * this.deviceWidth, .7 * this.deviceHeight, .8 * this.deviceWidth, 0, random(300, 500));
                },
                fanslide() {
                    this.swipeEx(.9 * this.deviceWidth, .5 * this.deviceHeight, .9 * this.deviceWidth, .01 * this.deviceHeight, 500);
                },
                regionClick(region) {
                    click(random(region[0], region[0] + region[2]), random(region[1], region[1] + region[3]));
                },
                boundsClick(bounds) {
                    var x = .2 * bounds.width(), y = .2 * bounds.height();
                    bounds.left += x, bounds.right -= x, bounds.top += y, bounds.bottom -= y, 
                    click(random(bounds.left, bounds.right), random(bounds.top, bounds.bottom));
                },
                sleepMs() {
                    var argLen = arguments.length;
                    let min = 0, max = 0;
                    if (1 == argLen) min = arguments[0], max = arguments[0]; else {
                        if (!(2 <= argLen)) return;
                        min = arguments[0], max = arguments[1];
                    }
                    min >= max ? sleep(min) : sleep(random(min, max));
                },
                sleep() {
                    var argLen = arguments.length;
                    let min = 0, max = 0;
                    if (1 == argLen) min = arguments[0], max = arguments[0]; else {
                        if (!(2 <= argLen)) return;
                        min = arguments[0], max = arguments[1];
                    }
                    min >= max ? sleep(1e3 * min) : sleep(1e3 * random(min, max));
                },
                getUnix() {
                    return parseInt(Date.now() / 1e3);
                }
            };
        },
        871: (module, __unused_webpack_exports, __webpack_require__) => {
            __webpack_require__.g.floatyToastWindow === undefined && (__webpack_require__.g.floatyToastWindow = floaty.rawWindow(`
 <frame gravity="center" w="*">
     <text 
         id="text" text="" 
         w="wrap_content" h="wrap_content"
         visibility="invisible"  
         bg="#1989fa" textColor="#ffffff" 
         paddingLeft="10" paddingRight="10" paddingTop="5" paddingBottom="5"
         />
 </frame>
`), floatyToastWindow.setTouchable(!1), floatyToastWindow.setSize(-1, -2), floatyToastWindow.setPosition(0, .75 * (ENV_CONF.screenHeight || device.height))), 
            module.exports = {
                currentRunPackage(packageName) {
                    return currentPackage() == conf.packageName || (app.launch(conf.packageName), 
                    !1);
                },
                packageInfo(packageName) {
                    try {
                        return context.getPackageManager().getPackageInfo(packageName, 0);
                    } catch (e) {
                        return null;
                    }
                },
                checkVersion(packageName, versions) {
                    var info = this.packageInfo(packageName);
                    return this.isEmpty(info) ? (alert("请安装抖音！"), !1) : (packageName = app.getAppName(packageName), 
                    !!versions.includes(info.versionName) || (alert("不支持 " + packageName + "（" + info.versionName + "）,请安装支持版本！"), 
                    !1));
                },
                isEmpty(value) {
                    switch (typeof value) {
                      case "undefined":
                        return !0;

                      case "string":
                     if (0 == value.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, "").length) return !0;
                        break;

                      case "boolean":
                        if (value) break;
                        return !0;

                      case "number":
                        if (0 === value || isNaN(value)) return !0;
                        break;

                      case "object":
                        if (null !== value && 0 !== value.length) for (var i in value) return !1;
                        return !0;
                    }
                    return !1;
                },
                checkProbability(value, hdfs) {
                    var temp = random(1, 99);
                    return console.log(hdfs + "计算概率:" + temp + (temp < value ? "未超出" : "超出") + value), 
                    temp < value;
                },
                strFindKeys(s, keys) {
                    for (w of keys) if (-1 != s.indexOf(w)) return w;
                    return "";
                },
                error(packageName, e) {
                    if (e.fileName) {
                        packageName = this.packageInfo(packageName);
                        let versionName = "未知版本";
                        packageName = "版本号：" + (versionName = packageName && packageName.versionName ? packageName.versionName : versionName) + "\r\n", 
                        packageName = (packageName = (packageName += "错误：" + e.toString() + "\r\n") + ("模块：" + e.fileName.replace(".js", "") + "\r\n")) + ("错误码：" + e.lineNumber + "\r\n") + "====================================\r\n";
                        files.write("/sdcard/error_bzy.log", packageName);
                    } else console.log("运行错误:", e.toString());
                },
                inputShow() {
                    for (var i = 0; null != auto.windows[i]; i++) if (2 == auto.windows[i].type) return !0;
                    return !1;
                },
                inputHide() {
                    for (;this.inputShow(); ) back(), sleep(1e3);
                },
                toast(msg) {
                    ui.run(function() {
                        console.log(msg), floatyToastWindow.text.setText(msg), floatyToastWindow.text.attr("visibility", "visible");
                    });
                },
                toastHide() {
                    try {
                        floatyToastWindow.text.attr("visibility", "invisible");
                    } catch (e) {}
                },
                objectToStr(obj) {
                    try {
                        var str = obj.toString(), index = str.indexOf(";");
                        return -1 === index ? "" : str.slice(0, index);
                    } catch (error) {
                        return "";
                    }
                },
                compareVersion(version1, version2) {
                    var arr1 = version1.split("."), arr2 = version2.split("."), length1 = arr1.length, length2 = arr2.length, minlength = Math.min(length1, length2);
                    let i = 0;
                    for (i; i < minlength; i++) {
                        var a = parseInt(arr1[i]), b = parseInt(arr2[i]);
                        if (b < a) return 1;
                        if (a < b) return -1;
                    }
                    if (length2 < length1) {
                        for (let j = i; j < length1; j++) if (0 != parseInt(arr1[j])) return 1;
                    } else if (length1 < length2) for (let j = i; j < length2; j++) if (0 != parseInt(arr2[j])) return -1;
                    return 0;
                }
            };
        }
    }, __webpack_module_cache__ = {};
    function __webpack_require__(moduleId) {
        var cachedModule = __webpack_module_cache__[moduleId];
        return cachedModule !== undefined || (cachedModule = __webpack_module_cache__[moduleId] = {
            exports: {}
     }, __webpack_modules__[moduleId](cachedModule, cachedModule.exports, __webpack_require__)), 
        cachedModule.exports;
    }
    (() => {
        __webpack_require__.g = function() {
            if ("object" == typeof globalThis) return globalThis;
            try {
                return this || new Function("return this")();
            } catch (e) {
                if ("object" == typeof window) return window;
            }
        }();
    })();
    var __webpack_exports__ = {};
    (() => {
        var conf = __webpack_require__(81), engine = __webpack_require__(557), utility = __webpack_require__(871), douyin = __webpack_require__(954), param = {
            yxgs: 500,
            czjg1: 3,
            czjg2: 6,
            gksj1: 5,
            gksj2: 10,
            tglv: !0,
            dz: 45,
            gz: 5,
            pl: 35,
            txdz: 60,
            pldz: 80,
            plhs: conf.commonts,
            gjcs: [ "77396094576", "60866194851" ],
            pltp: !0
        }, znzf = {
            banben: parseFloat(context.getPackageManager().getPackageInfo("com.ss.android.ugc.aweme", 0).versionName) < 27.4,
            init() {
                return !(!douyin.init() || ("undefined" != typeof ENV_CONF && Object.assign(param, ENV_CONF), 
                0 < param.pl && param.plhs.length < 1 ? (alert("请设置评论话术"), 1) : douyin.isRecommend() ? (utility.toast("开始任务:智能涨粉"), 
                engine.sleep(1), device.keepScreenDim(), douyin.popupAndClose(), 
                0) : (alert("请在抖音首页运行"), 1)));
            },
            isUserList() {
                var tab = className("androidx.appcompat.app.ActionBar$Tab").visibleToUser().selected().findOnce();
                return null !== tab && (null !== tab.findOne(textContains("粉丝")) || null !== tab.findOne(textContains("关注")));
            },
            toUserList() {
                for (;;) {
                    if (sleep(2e3), this.isUserList()) return;
                    back(), sleep(1e3);
                }
            },
            execUser() {
                if (engine.sleep(param.czjg1, param.czjg2), !douyin.isHome()) return utility.toast("进入主页失败"), 
                !1;
                if (null !== text("私密账号").visibleToUser().findOnce() || null !== text("帐号已被封禁").visibleToUser().findOnce()) return utility.toast("私密或已封禁账号，跳过"), 
                !1;
                if (param.tglv && null !== className("android.widget.TextView").visibleToUser().id(douyin.getNode("user.lanv").id).findOnce()) return utility.toast("蓝v用户，跳过!"), 
                !1;
                let fansNum = 0;
                var fansNode = id(douyin.getNode("user.fansnum").id).visibleToUser().findOnce();
                fansNode && (fansText = fansNode.text(), fansNum = parseFloat(fansText), 
                0 <= fansText.indexOf("w") || 0 <= fansText.indexOf("万")) && (fansNum *= 1e4);
                let gzNum = 0;
                fansNode = id(douyin.getNode("user.gznum").id).visibleToUser().findOnce();
                if (fansNode && (gzText = fansNode.text(), gzNum = parseFloat(gzText), 
                0 <= gzText.indexOf("w") || 0 <= gzText.indexOf("万")) && (gzNum *= 1e4), 
                gzNum - fansNum < 1e3) return !1;
                fansNode = textContains("作品").visibleToUser().findOnce();
                let videoNum = 0;
                if ((videoNum = fansNode ? parseInt(fansNode.text().replace(/[^0-9]/gi, "")) : videoNum) < 1 || isNaN(videoNum)) return utility.toast("该用户没有作品或非正常用户，跳过"), 
                !1;
                this.banben && utility.checkProbability(param.txdz, "头像点赞") && (douyin.execTxdz(), 
                engine.sleepMs(1e3, 2e3)), utility.checkProbability(param.gz, "关注") && ((followBtn = id(douyin.getNode("user.followBtn").id).visibleToUser().findOnce()) ? (utility.toast("执行关注！"), 
             followBtn.click(), engine.sleepMs(500, 1e3), gzCount++, (followBtn = desc("更多，已展开").visibleToUser().findOne(5e3)) && (followBtn.click(), 
                engine.sleepMs(500, 1e3))) : utility.toast("不关注！"));
                var followBtn = utility.checkProbability(param.dz, "点赞"), isPl = utility.checkProbability(param.pl, "评论");
                if (followBtn || isPl) {
                    fansNode.selected() || (engine.boundsClick(fansNode.bounds()), 
                    engine.sleepMs(1e3, 2e3)), engine.shortSlide();
                    var fansNode = id("com.ss.android.ugc.aweme:id/container").visibleToUser().find();
                    if (!fansNode.empty()) {
                        let video = fansNode[random(0, fansNode.length - 1)];
                        video = video.findOne(className("android.view.View")), sleep(1e3), 
                        video && video.clickable() && video.click() && douyin.IsVideoDelay(5e3) ? (fansNode = random(param.gksj1, param.gksj2), 
                        utility.toast("观看视频：" + fansNode + " 秒"), engine.sleep(fansNode), 
                        followBtn ? (douyin.execLike(), dzCount++) : utility.toast("不点赞"), 
                        isPl && douyin.canComment() ? (fansNode = utility.checkProbability(param.pldz, "评论点赞"), 
                        douyin.sendComment(param.plhs, isPl, fansNode, param.pltp), 
                        plCount++) : utility.toast("不评论")) : (utility.toast("打开视频失败！"), 
                        back(), sleep(1e3));
                    }
                }
                return !0;
            },
            dbzhgjc(gjc) {
                engine.sleepMs(1e3, 2e3), id("com.ss.android.ugc.aweme:id/et_search_kw").visibleToUser().findOne().setText(gjc), 
                engine.sleepMs(1e3, 2e3);
                var b1 = text("搜索").visibleToUser().findOne().bounds(), b1 = (engine.boundsClick(b1), 
                engine.sleepMs(3e3, 4e3), text("用户").visibleToUser().findOne().bounds()), b1 = (engine.boundsClick(b1), 
                engine.sleepMs(3e3, 4e3), descContains(gjc).visibleToUser().findOne(5e3));
                return null === b1 ? (alert("没有找到对标账号", "请检查对标账号 " + gjc + " 是否输入正确！"), 
                !1) : (engine.boundsClick(b1.bounds()), engine.sleepMs(3e3, 4e3), 
                text("粉丝").visibleToUser().findOne().parent().click(), engine.sleepMs(3e3, 4e3), 
                !!id("com.ss.android.ugc.aweme:id/root_layout").exists() || (alert("打开粉丝列表失败", "对标账号 " + gjc + " 粉丝列表可能设置隐私了！"), 
                !1));
            },
            run() {
                if (this.init()) {
                    let runCount = dzCount = gzCount = plCount = 0;
                    var userContents = [];
                    let gjcsCount = 0, dyc = !0;
                    for (;;) {
                        if (dyc && (descStartsWith("搜索").descEndsWith("按钮").visibleToUser().findOne().parent().click(), 
                        dyc = !1, !this.dbzhgjc(param.gjcs[gjcsCount]))) break;
                        if (runCount >= param.yxgs) return device.cancelKeepingAwake(), 
                        void alert("恭喜任务完成！", "本次任务共完成\n点赞" + dzCount + "次\n关注" + gzCount + "次\n评论" + plCount + "次");
                        let listBox = className("androidx.recyclerview.widget.RecyclerView").visibleToUser().findOne();
                        if (!listBox) return void utility.toast("没有找到用户列表！");
                        var listBoxTop = listBox.bounds().top, childCount = listBox.childCount();
                        for (let i = 0; i < childCount - 1; i++) {
                            if (runCount >= param.yxgs) return device.cancelKeepingAwake(), 
                         void alert("恭喜任务完成！", "本次任务共完成\n点赞" + dzCount + "次\n关注" + gzCount + "次\n评论" + plCount + "次");
                            utility.toast("已执行用户 " + runCount + " 条,任务数" + param.yxgs);
                            var child = listBox.child(i);
                            if (null != child && !(listBoxTop >= child.bounds().top || child.findOne(desc("已关注")))) {
                                var userNode = child.findOne(className("android.widget.TextView"));
                                if (userNode) {
                                    userNode = userNode.text();
                                    if (!utility.isEmpty(userNode) && !userContents.includes(userNode)) {
                                        console.log(userNode), 20 <= userContents.length && userContents.shift(), 
                                        userContents.push(userNode);
                                        try {
                                            child.click(), this.execUser() && runCount++;
                                        } catch (error) {
                                            console.log("用户操作失败：", error);
                                        }
                                        if (utility.toast("返回用户列表"), this.toUserList(), 
                                        engine.sleepMs(2e3, 3e3), !(listBox = className("androidx.recyclerview.widget.RecyclerView").visibleToUser().findOne())) return void utility.toast("没有找到用户列表！");
                                    }
                                } else console.log("没有获取到用户信息");
                            }
                        }
                        if (!listBox.scrollForward()) {
                            if (++gjcsCount >= param.gjcs.length) {
                                alert("对标账号已全部运行完！", "本次任务共完成\n点赞" + dzCount + "次\n关注" + gzCount + "次\n评论" + plCount + "次");
                                break;
                            }
                            if (engine.sleepMs(3e3, 4e3), back(), engine.sleepMs(3e3, 4e3), 
                            back(), engine.sleepMs(3e3, 4e3), !this.dbzhgjc(param.gjcs[gjcsCount])) break;
                        }
                        engine.sleepMs(2500, 3500);
                    }
                }
            }
        };
        try {
            znzf.run();
        } catch (error) {
            utility.error(conf.packageName, error);
        } finally {
            engine.exit();
        }
    })();
})()