diff --git a/app/jobs/jobs.go b/app/jobs/jobs.go index 59c0001..51e00db 100644 --- a/app/jobs/jobs.go +++ b/app/jobs/jobs.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "github.com/bytedance/sonic" "go-admin/app/admin/models" "go-admin/app/admin/service" "go-admin/app/admin/service/dto" @@ -14,6 +15,12 @@ import ( "go-admin/pkg/utility/snowflakehelper" "go-admin/services/binanceservice" "go-admin/services/fileservice" + "io" + "net/http" + "os" + "os/exec" + "path/filepath" + "slices" "strconv" "strings" "time" @@ -41,6 +48,9 @@ type AutoPlaceOrder struct { type LimitOrderTimeoutDuration struct { } +type ListenSymbol struct { +} + // 初始化合约交易对 func (t InitFuturesSymbol) Exec(arg interface{}) error { str := time.Now().Format(timeFormat) + " [INFO] JobCore InitFuturesSymbol exec success" @@ -319,3 +329,166 @@ func (t LimitOrderTimeoutDuration) ReFutOrderPlace(db *gorm.DB, order models.Lin } return err } + +func (l ListenSymbol) Exec(arg interface{}) error { + str := time.Now().Format(timeFormat) + " [INFO] JobCore ClearLogJob exec success" + defer logger.Info(str) + var db *gorm.DB + + for _, item := range sdk.Runtime.GetDb() { + db = item + break + } + set, err := helper.DefaultRedis.GetAllSortSet(rediskey.ListenAveLastSymbol) + if err != nil { + logger.Error("获取监听交易对失败") + return err + } + fmt.Println(set) + //if len(set) == 0 { + // return nil + //} + + aveToken, _ := helper.DefaultRedis.GetString(rediskey.AveRequestToken) + if aveToken == "" { + aveToken, err = l.GetAveRequestId() + if err != nil { + logger.Error("获取请求id失败err:", err) + return err + } + } + chainSlice := []string{"solana", "bsc", "eth"} + + for _, chain := range chainSlice { + symbols, err := l.GetAveLastSymbol(chain, aveToken) + if err != nil { + continue + } + for _, symbol := range symbols.Data.Data { + if slices.Contains(set, symbol.Token0Symbol+symbol.Token1Symbol) { + + // 清除数据 + + //发送邮箱 + l.SendEmailNotice(db, symbol.Pair, symbol.Token0Symbol+symbol.Token1Symbol, chain) + + continue + } + } + + } + return nil +} + +// GetAveRequestId 获取请求id +func (l ListenSymbol) GetAveRequestId() (aveToken string, err error) { + execPath, err := os.Getwd() + // 获取可执行文件所在的目录 + execDir := fmt.Sprintf("%s/config/ave.js", filepath.Dir(filepath.Dir(execPath))) + _, err = os.Stat(execDir) + if err != nil { + logger.Error("可执行的js 文件不存在") + return aveToken, err + } + command := exec.Command("node", execDir) + output, err := command.CombinedOutput() + if err != nil { + logger.Error("执行出错:err", err) + return aveToken, err + } + client := &http.Client{} + + m := map[string]string{ + "request_id": string(output), + } + marshal, _ := sonic.Marshal(m) + var data = strings.NewReader(string(marshal)) + req, err := http.NewRequest("POST", "https://febweb002.com/v1api/v1/captcha/requestToken", data) + if err != nil { + return aveToken, err + } + req.Header.Set("accept", "*/*") + req.Header.Set("accept-language", "zh-CN,zh;q=0.9") + req.Header.Set("ave-platform", "web") + req.Header.Set("content-type", "application/json") + req.Header.Set("origin", "https://ave.ai") + req.Header.Set("priority", "u=1, i") + req.Header.Set("referer", "https://ave.ai/") + req.Header.Set("sec-ch-ua", `"Not A(Brand";v="8", "Chromium";v="132", "Google Chrome";v="132"`) + req.Header.Set("sec-ch-ua-mobile", "?0") + req.Header.Set("sec-ch-ua-platform", `"Windows"`) + req.Header.Set("sec-fetch-dest", "empty") + req.Header.Set("sec-fetch-mode", "cors") + req.Header.Set("sec-fetch-site", "cross-site") + req.Header.Set("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36") + resp, err := client.Do(req) + if err != nil { + logger.Error("请求失败err:", err) + return aveToken, err + } + defer resp.Body.Close() + bodyText, err := io.ReadAll(resp.Body) + if err != nil { + logger.Error("读取响应失败err:", err) + return aveToken, err + } + + var res RequestId + sonic.Unmarshal(bodyText, &res) + + if res.Status == 1 { + aveToken = res.Data.Id + helper.DefaultRedis.SetStringExpire(rediskey.AveRequestToken, res.Data.Id, time.Duration(60*time.Second)) + } + return aveToken, err +} + +func (l ListenSymbol) GetAveLastSymbol(chain, token string) (aveLastSymbolResp AveLastSymbolResp, err error) { + client := &http.Client{} + url := fmt.Sprintf("https://api.agacve.com/v1api/v4/tokens/treasure/list?chain=%s&sort=created_at&sort_dir=desc&pageNO=1&pageSize=50&category=new&refresh_total=0", chain) + req, err := http.NewRequest("GET", url, nil) + if err != nil { + logger.Error("获取最新交易对列表出错err:", err) + return AveLastSymbolResp{}, err + } + req.Header.Set("accept", "application/json, text/plain, */*") + req.Header.Set("accept-language", "zh-CN,zh;q=0.9") + req.Header.Set("ave-udid", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36--1739784205001--97086a46-bce0-4ca9-8e0e-78f5075be306") + req.Header.Set("cache-control", "no-cache") + req.Header.Set("lang", "en") + req.Header.Set("origin", "https://ave.ai") + req.Header.Set("pragma", "no-cache") + req.Header.Set("priority", "u=1, i") + req.Header.Set("referer", "https://ave.ai/") + req.Header.Set("sec-ch-ua", `"Not A(Brand";v="8", "Chromium";v="132", "Google Chrome";v="132"`) + req.Header.Set("sec-ch-ua-mobile", "?0") + req.Header.Set("sec-ch-ua-platform", `"Windows"`) + req.Header.Set("sec-fetch-dest", "empty") + req.Header.Set("sec-fetch-mode", "cors") + req.Header.Set("sec-fetch-site", "cross-site") + req.Header.Set("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36") + req.Header.Set("x-auth", token) + resp, err := client.Do(req) + if err != nil { + logger.Error("获取最新交易对列表出错1err:", err) + return AveLastSymbolResp{}, err + } + defer resp.Body.Close() + bodyText, err := io.ReadAll(resp.Body) + if err != nil { + logger.Error("获取最新交易对列表出错2err:", err) + return AveLastSymbolResp{}, err + } + var res AveLastSymbolResp + sonic.Unmarshal(bodyText, &res) + return res, nil + +} + +// SendEmailNotice 发送邮箱通知 +// pair 合约地址 +// symbol 完整交易对 +// chain 链 +func (l ListenSymbol) SendEmailNotice(db *gorm.DB, pair string, symbol string, chain string) { + +} diff --git a/app/jobs/type.go b/app/jobs/type.go index 1b5c30b..95ff8fc 100644 --- a/app/jobs/type.go +++ b/app/jobs/type.go @@ -1,6 +1,9 @@ package jobs -import "github.com/robfig/cron/v3" +import ( + "github.com/robfig/cron/v3" + "time" +) type Job interface { Run() @@ -14,3 +17,188 @@ type JobExec interface { func CallExec(e JobExec, arg interface{}) error { return e.Exec(arg) } + +type RequestId struct { + Status int `json:"status"` + Msg string `json:"msg"` + Data struct { + Id string `json:"id"` + Image string `json:"image"` + } `json:"data"` +} + +// AveLastSymbolResp 最新交易对列表 +type AveLastSymbolResp struct { + Status int `json:"status"` + Msg string `json:"msg"` + Data struct { + Total int `json:"total"` + PageNO int `json:"pageNO"` + PageSize int `json:"pageSize"` + Data []struct { + Pair string `json:"pair"` + Chain string `json:"chain"` + Amm string `json:"amm"` + TargetToken string `json:"target_token"` + Token0Address string `json:"token0_address"` + Token0Symbol string `json:"token0_symbol"` + Reserve0 float64 `json:"reserve0"` + Token0LogoUrl string `json:"token0_logo_url"` + Token1Address string `json:"token1_address"` + Token1Symbol string `json:"token1_symbol"` + Reserve1 float64 `json:"reserve1"` + Token1LogoUrl string `json:"token1_logo_url"` + InitReserve0 float64 `json:"init_reserve0"` + InitReserve1 float64 `json:"init_reserve1"` + Tvl float64 `json:"tvl"` + InitTvl float64 `json:"init_tvl"` + TvlRatio float64 `json:"tvl_ratio"` + CurrentPriceUsd float64 `json:"current_price_usd"` + LpHolders int `json:"lp_holders"` + LpLockedPercent int `json:"lp_locked_percent"` + LpLockedTo time.Time `json:"lp_locked_to"` + LpLockPlatform string `json:"lp_lock_platform"` + PriceChange1M float64 `json:"price_change_1m"` + PriceChange5M float64 `json:"price_change_5m"` + PriceChange15M float64 `json:"price_change_15m"` + PriceChange30M float64 `json:"price_change_30m"` + PriceChange1H float64 `json:"price_change_1h"` + PriceChange4H float64 `json:"price_change_4h"` + PriceChange24H float64 `json:"price_change_24h"` + Tx1MCount int `json:"tx_1m_count"` + Tx5MCount int `json:"tx_5m_count"` + Tx15MCount int `json:"tx_15m_count"` + Tx30MCount int `json:"tx_30m_count"` + Tx1HCount int `json:"tx_1h_count"` + Tx4HCount int `json:"tx_4h_count"` + Tx24HCount int `json:"tx_24h_count"` + BuysTx1MCount int `json:"buys_tx_1m_count"` + BuysTx5MCount int `json:"buys_tx_5m_count"` + BuysTx15MCount int `json:"buys_tx_15m_count"` + BuysTx30MCount int `json:"buys_tx_30m_count"` + BuysTx1HCount int `json:"buys_tx_1h_count"` + BuysTx4HCount int `json:"buys_tx_4h_count"` + BuysTx24HCount int `json:"buys_tx_24h_count"` + SellsTx1MCount int `json:"sells_tx_1m_count"` + SellsTx5MCount int `json:"sells_tx_5m_count"` + SellsTx15MCount int `json:"sells_tx_15m_count"` + SellsTx30MCount int `json:"sells_tx_30m_count"` + SellsTx1HCount int `json:"sells_tx_1h_count"` + SellsTx4HCount int `json:"sells_tx_4h_count"` + SellsTx24HCount int `json:"sells_tx_24h_count"` + VolumeU1M float64 `json:"volume_u_1m"` + VolumeU5M float64 `json:"volume_u_5m"` + VolumeU15M float64 `json:"volume_u_15m"` + VolumeU30M float64 `json:"volume_u_30m"` + VolumeU1H float64 `json:"volume_u_1h"` + VolumeU4H float64 `json:"volume_u_4h"` + VolumeU24H float64 `json:"volume_u_24h"` + BuyVolumeU1M float64 `json:"buy_volume_u_1m"` + BuyVolumeU5M float64 `json:"buy_volume_u_5m"` + BuyVolumeU15M float64 `json:"buy_volume_u_15m"` + BuyVolumeU30M float64 `json:"buy_volume_u_30m"` + BuyVolumeU1H float64 `json:"buy_volume_u_1h"` + BuyVolumeU4H float64 `json:"buy_volume_u_4h"` + BuyVolumeU24H float64 `json:"buy_volume_u_24h"` + SellVolumeU1M float64 `json:"sell_volume_u_1m"` + SellVolumeU5M float64 `json:"sell_volume_u_5m"` + SellVolumeU15M float64 `json:"sell_volume_u_15m"` + SellVolumeU30M float64 `json:"sell_volume_u_30m"` + SellVolumeU1H float64 `json:"sell_volume_u_1h"` + SellVolumeU4H float64 `json:"sell_volume_u_4h"` + SellVolumeU24H float64 `json:"sell_volume_u_24h"` + Makers1M int `json:"makers_1m"` + Makers5M int `json:"makers_5m"` + Makers15M int `json:"makers_15m"` + Makers30M int `json:"makers_30m"` + Makers1H int `json:"makers_1h"` + Makers4H int `json:"makers_4h"` + Makers24H int `json:"makers_24h"` + Buyers1M int `json:"buyers_1m"` + Buyers5M int `json:"buyers_5m"` + Buyers15M int `json:"buyers_15m"` + Buyers30M int `json:"buyers_30m"` + Buyers1H int `json:"buyers_1h"` + Buyers4H int `json:"buyers_4h"` + Buyers24H int `json:"buyers_24h"` + Sellers1M int `json:"sellers_1m"` + Sellers5M int `json:"sellers_5m"` + Sellers15M int `json:"sellers_15m"` + Sellers30M int `json:"sellers_30m"` + Sellers1H int `json:"sellers_1h"` + Sellers4H int `json:"sellers_4h"` + Sellers24H int `json:"sellers_24h"` + CreatedAt time.Time `json:"created_at"` + SniperTxCount int `json:"sniper_tx_count"` + RusherTxCount int `json:"rusher_tx_count"` + LastTradeAt time.Time `json:"last_trade_at"` + DynamicTag string `json:"dynamic_tag"` + Tag string `json:"tag"` + MarketCap float64 `json:"market_cap"` + MarketCapDiff int `json:"market_cap_diff"` + Holders int `json:"holders"` + HoldersDiff int `json:"holders_diff"` + RiskScore int `json:"risk_score"` + RiskLevel int `json:"risk_level"` + Appendix string `json:"appendix"` + SmartMoneyBuyCount24H int `json:"smart_money_buy_count_24h"` + SmartMoneySellCount24H int `json:"smart_money_sell_count_24h"` + SmartMoneyBuyVolume24H float64 `json:"smart_money_buy_volume_24h"` + SmartMoneySellVolume24H float64 `json:"smart_money_sell_volume_24h"` + SmartMoneyBuyCount4H int `json:"smart_money_buy_count_4h"` + SmartMoneySellCount4H int `json:"smart_money_sell_count_4h"` + SmartMoneyBuyVolume4H float64 `json:"smart_money_buy_volume_4h"` + SmartMoneySellVolume4H float64 `json:"smart_money_sell_volume_4h"` + SmartMoneyBuyCount1H int `json:"smart_money_buy_count_1h"` + SmartMoneySellCount1H int `json:"smart_money_sell_count_1h"` + SmartMoneyBuyVolume1H float64 `json:"smart_money_buy_volume_1h"` + SmartMoneySellVolume1H float64 `json:"smart_money_sell_volume_1h"` + SmartMoneyBuyCount15M int `json:"smart_money_buy_count_15m"` + SmartMoneySellCount15M int `json:"smart_money_sell_count_15m"` + SmartMoneyBuyVolume15M float64 `json:"smart_money_buy_volume_15m"` + SmartMoneySellVolume15M float64 `json:"smart_money_sell_volume_15m"` + SmartMoneyBuyCount5M int `json:"smart_money_buy_count_5m"` + SmartMoneySellCount5M int `json:"smart_money_sell_count_5m"` + SmartMoneyBuyVolume5M float64 `json:"smart_money_buy_volume_5m"` + SmartMoneySellVolume5M float64 `json:"smart_money_sell_volume_5m"` + HoldersTop10Ratio float64 `json:"holders_top10_ratio"` + DevBalanceRatioCur float64 `json:"dev_balance_ratio_cur"` + InsiderBalanceRatioCur float64 `json:"insider_balance_ratio_cur"` + SniperBalanceRatioCur int `json:"sniper_balance_ratio_cur"` + CtoFlag int `json:"cto_flag"` + ReplyCount int `json:"reply_count"` + Progress int `json:"progress"` + FirstHalfElapsedTime int `json:"first_half_elapsed_time"` + SecondHalfElapsedTime int `json:"second_half_elapsed_time"` + WinnerCount int `json:"winner_count"` + WinnerRatio int `json:"winner_ratio"` + UpCount7D int `json:"up_count_7d"` + UpCount14D int `json:"up_count_14d"` + UpSeq string `json:"up_seq"` + BigorderCnt1H int `json:"bigorder_cnt_1h"` + BigorderBuyCnt1H int `json:"bigorder_buy_cnt_1h"` + BigorderSellCnt1H int `json:"bigorder_sell_cnt_1h"` + HasBrokenIssuePrice bool `json:"has_broken_issue_price"` + ListingAt int `json:"listing_at"` + Holders1440 int `json:"holders_1440"` + BuyCount24H int `json:"buy_count_24h"` + HotRank int `json:"hot_rank"` + FrontShowIndex int `json:"front_show_index"` + PiPriceChange1M float64 `json:"pi_price_change_1m"` + PiPriceChange5M float64 `json:"pi_price_change_5m"` + PiPriceChange15M float64 `json:"pi_price_change_15m"` + PiPriceChange30M float64 `json:"pi_price_change_30m"` + PiPriceChange1H float64 `json:"pi_price_change_1h"` + PiPriceChange4H float64 `json:"pi_price_change_4h"` + PiPriceChange24H float64 `json:"pi_price_change_24h"` + RatRate float64 `json:"rat_rate"` + PhishingRate float64 `json:"phishing_rate"` + ClusterRate float64 `json:"cluster_rate"` + BoulderRate float64 `json:"boulder_rate"` + AllTagRate float64 `json:"all_tag_rate"` + Rugged int `json:"rugged"` + Total int `json:"total"` + RugRate float64 `json:"rug_rate"` + } `json:"data"` + } `json:"data"` +} diff --git a/common/const/rediskey/redis_key.go b/common/const/rediskey/redis_key.go index b4dd0f5..84aa60b 100644 --- a/common/const/rediskey/redis_key.go +++ b/common/const/rediskey/redis_key.go @@ -52,4 +52,7 @@ const ( //需要清理键值---------END----------------- JobReOrderTrigger = "job_re_order_trigger" //定时取消限价并下市价锁 + + ListenAveLastSymbol = "listen_ave_last_symbol" // 监听最新交易对 + AveRequestToken = "ave_request_token" // AVE请求token ) diff --git a/config/ave.js b/config/ave.js new file mode 100644 index 0000000..d59a3f7 --- /dev/null +++ b/config/ave.js @@ -0,0 +1,418 @@ +var window +var _0x2dc0e4 = 149 +var _0x190d63 = undefined +var _0x5a39b6 = 399 +var _0x12236c = undefined +var _0x1e9d8c = { + 'load': _0x470a9a, + 'hashComponents': _0xb90b78, + 'componentsToDebugString': _0x10ff6b +}; +// +// +const crypto = require('crypto'); // 引入 crypto 模块 + +var _0x5dcde7 = [0x30, 0x82, 0x1, 0x22, 0x30, 0xd, 0x6, 0x9, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0xd, 0x1, 0x1, 0x1, 0x5, 0x0, 0x3, 0x82, 0x1, 0xf, 0x0, 0x30, 0x82, 0x1, 0xa, 0x2, 0x82, 0x1, 0x1, 0x0, 0xa7, 0xba, 0xf1, 0xa, 0xcf, 0x94, 0x17, 0x94, 0x23, 0x1, 0x95, 0x98, 0xeb, 0x73, 0xb0, 0xd6, 0xb3, 0x58, 0xe2, 0x9a, 0xed, 0xa2, 0xb2, 0x11, 0x6b, 0x0, 0xb, 0x96, 0xa1, 0x9c, 0x5a, 0xb0, 0xcf, 0xd9, 0x32, 0xaa, 0xb, 0xa5, 0xcb, 0xc9, 0xb2, 0x42, 0xc0, 0xe6, 0x7c, 0x1c, 0x21, 0x98, 0xcf, 0x31, 0xdd, 0x40, 0x91, 0x41, 0x2d, 0xbf, 0x30, 0x95, 0xb6, 0x80, 0x27, 0x18, 0x36, 0xfc, 0x6f, 0xa0, 0x97, 0x3, 0x7f, 0x1e, 0x9d, 0x71, 0x36, 0xe6, 0x30, 0xea, 0xe2, 0x7b, 0x2d, 0x31, 0x4c, 0x64, 0x21, 0x6c, 0x53, 0x94, 0x5e, 0x2f, 0x16, 0x7c, 0xde, 0xe5, 0x6c, 0xfe, 0xe1, 0xbc, 0xd2, 0xfc, 0xab, 0xa5, 0xa8, 0x8d, 0xf9, 0xe5, 0x39, 0xf0, 0x1f, 0x63, 0xd7, 0x6f, 0xb0, 0xe1, 0x56, 0xc8, 0xbf, 0x87, 0x5d, 0xd1, 0xae, 0x48, 0x2c, 0x4, 0xc, 0x2e, 0x32, 0x50, 0x89, 0x48, 0x22, 0x19, 0xf0, 0xf8, 0x24, 0x8f, 0x62, 0x73, 0xca, 0x82, 0x37, 0x3, 0xa8, 0xda, 0xcb, 0xb7, 0xc1, 0xd2, 0xad, 0x84, 0xc7, 0xa0, 0xe5, 0x66, 0x21, 0x61, 0x7b, 0x4a, 0x27, 0x25, 0x1, 0x24, 0xc9, 0xf9, 0xa1, 0xd2, 0x9d, 0xed, 0x73, 0x90, 0x3b, 0xb2, 0xa6, 0xb2, 0xe1, 0xf2, 0xf9, 0xd1, 0x1b, 0xba, 0xd4, 0x8f, 0xb8, 0x2d, 0xa4, 0x4d, 0x8f, 0xb2, 0xd9, 0xbc, 0xc7, 0x51, 0xd4, 0xd8, 0x79, 0x4a, 0x7a, 0x53, 0xf1, 0x94, 0x64, 0x28, 0xc7, 0x8a, 0xb6, 0x42, 0x50, 0x24, 0x32, 0x8, 0x13, 0xc4, 0xf2, 0x75, 0xa8, 0x9, 0x18, 0xe1, 0x3f, 0xdf, 0x9e, 0xc1, 0x22, 0x92, 0x44, 0xf6, 0x93, 0x38, 0x6f, 0xee, 0x89, 0xca, 0xcd, 0xd5, 0xc5, 0x19, 0xb, 0x93, 0x9a, 0x97, 0xd3, 0xcf, 0x8a, 0x1, 0x80, 0x27, 0xc8, 0x24, 0x29, 0x33, 0xc3, 0x81, 0x91, 0xc5, 0x3d, 0x74, 0xca, 0xb9, 0x2, 0x3, 0x1, 0x0, 0x1]; + +function _0xb90b78(_0x4ec939) { + return _0x5554a6(_0x4555bd(_0x4ec939)); +} + +function _0x10ff6b(_0x3c20b2) { + var _0x2e47a0 = _0x1a6c4b; + return 'ajQEs' === _0x2e47a0(0x9a) ? JSON[_0x2e47a0(0x28a)](_0x3c20b2, function (_0x1ed7fd, _0x46ef58) { + return _0x46ef58 instanceof Error ? _0x4290c7(_0x46ef58) : _0x46ef58; + }, 0x2) : _0x16bcf3['screen']['colorDepth']; +} + +// 3c63bba545ccb434837bdce110ff80f1 +function _0x470a9a(_0x2292e0) { + var _0x55b06d = _0x2292e0 === void 0x0 ? {} : _0x2292e0 + , _0x2755e4 = _0x55b06d['delayFallback'] + , _0x502073 = _0x55b06d['debug'] + , _0x397ec7 = _0x55b06d['monitoring'] + , _0xce3824 = _0x397ec7 === void 0x0 ? !0x0 : _0x397ec7; + return _0x2469ca(this, void 0x0, void 0x0, function () { + var _0x340d8f; + return _0xab3034(this, function (_0x5cd42b) { + var _0x5a0a54 = a0_0x3f75; + if (_0x5a0a54(0x2de) === 'hGGWf') { + if (_0x1114a3(_0x5a0a54(0x258))) + return !0x0; + if (_0x2f01c5(_0x5a0a54(0x398))) + return !0x1; + } else + switch (_0x5cd42b[_0x5a0a54(0x13b)]) { + case 0x0: + return _0xce3824 && _0x41486c(), + [0x4, _0x2a9f12(_0x2755e4)]; + case 0x1: + return _0x5cd42b[_0x5a0a54(0xdd)](), + _0x340d8f = _0x16184a({ + 'debug': _0x502073 + }), + [0x2, _0x77b148(_0x340d8f, _0x502073)]; + } + }); + }); +} + +function _0x4a2dc4(_0x5a39b6, _0x12236c) { + const _0x1fb1ab = _0x31523b(); + return _0x4a2dc4 = function (_0x2400d3, _0x56a7a7) { + var _0x102159 = a0_0x3f75; + if (_0x102159(0x16e) === _0x102159(0x348)) + _0x3a757f(_0x3569bb); + else + return _0x2400d3 = _0x2400d3 - 0x177, + _0x1fb1ab[_0x2400d3]; + } + , + _0x4a2dc4(_0x5a39b6, _0x12236c); +} + +function a0_0x3f75(_0x2dc0e4, _0x190d63) { + var _0x536dd6 = a0_0x536d(); + return a0_0x3f75 = function (_0x3f75fd, _0x3980bf) { + _0x3f75fd = _0x3f75fd - 0x8c; + var _0x226d13 = _0x536dd6[_0x3f75fd]; + return _0x226d13; + } + , + a0_0x3f75(_0x2dc0e4, _0x190d63); +} + +function _0x40c06f() { + var _0x5b6ff0 = a0_0x3f75; + if (_0x5b6ff0(0xbc) === _0x5b6ff0(0xbc)) { + const _0x1a7bb8 = [_0x5b6ff0(0x114), _0x5b6ff0(0x1e9), _0x5b6ff0(0x272), _0x5b6ff0(0x1b6), '2951067wPcJvl', 'decrypt', _0x5b6ff0(0x12e), _0x5b6ff0(0x10f), _0x5b6ff0(0xb9), '617134SqKLmb', _0x5b6ff0(0x34d), _0x5b6ff0(0x18c), _0x5b6ff0(0x14c), _0x5b6ff0(0x297), 'subtle', 'encrypt', _0x5b6ff0(0x342), _0x5b6ff0(0x194), 'RSA-OAEP']; + return _0x40c06f = function () { + return _0x1a7bb8; + } + , + _0x40c06f(); + } else + return _0x578e0c(_0x466dff[_0x2d6514]); +} + +var _0x1a6c4b = a0_0x3f75; + +function _0x5b0a3a(_0x587099, _0xa8eb9c) { + const _0x3fa958 = _0x40c06f(); + return _0x5b0a3a = function (_0x4da4e8, _0x4b8a17) { + var _0x57a7ee = a0_0x3f75; + return _0x57a7ee(0x1a2) !== _0x57a7ee(0x32a) ? (_0x4da4e8 = _0x4da4e8 - 0x158, + _0x3fa958[_0x4da4e8]) : _0x143fcc[_0x57a7ee(0x177)](function (_0xae99e3, _0x25ef3d) { + return _0xae99e3 + (_0x25ef3d ? 0x1 : 0x0); + }, 0x0); + } + , + _0x5b0a3a(_0x587099, _0xa8eb9c); +} + + +async function _0x5d54cd(_0x404853, _0x5012ab) { + var _0x3ea3c9 = a0_0x3f75; + const _0x387996 = { + '_0x26f289': 0x169, + '_0x1857a0': 0x163, + '_0x746bcb': 0x16a, + '_0x3cb28b': 0x165 + } + , _0x394118 = _0x5b0a3a; + let _0x34fe40 = new Uint8Array(_0x5dcde7)['buffer']; + _0x34fe40 = Buffer.from(_0x34fe40); + const _0x275652 = { + 'name': _0x394118(_0x387996[_0x3ea3c9(0x1bc)]), + 'hash': _0x394118(_0x387996[_0x3ea3c9(0x1b2)]) + } + , _0xa91859 = _0x5012ab === _0x394118(0x16a) ? _0x3ea3c9(0x392) : _0x394118(0x15d) + , _0x160362 = _0x5012ab === _0x394118(_0x387996[_0x3ea3c9(0x20e)]) ? [_0x3ea3c9(0x285)] : [_0x394118(0x15c)]; + // 使用 Node.js 的 crypto 模块替代 crypto.subtle.importKey + let publicKey; + if (typeof crypto.subtle === 'undefined') { + // Node.js 环境 + // return crypto.createSecretKey(_0x34fe40); + const publicKeyBuffer = Buffer.from(_0x34fe40); + // 导入公钥 + publicKey = crypto.createPublicKey({ + key: publicKeyBuffer, + format: 'der', // 使用 DER 格式(SPKI 格式通常是 DER 编码) + type: 'spki' // 公钥类型是 spki + }); + return publicKey + } else { + // 浏览器环境 + return crypto.subtle.importKey(_0xa91859, _0x34fe40, _0x275652, !0x0, _0x160362); + } + return crypto['subtle']['importKey'](_0xa91859, _0x34fe40, _0x275652, !0x0, _0x160362); +} + +async function _0x32e40c(_0x5959ba, _0x566ef6) { + var _0x52e681 = a0_0x3f75; + if (_0x52e681(0x240) !== _0x52e681(0x3b6)) { + const _0x9257de = { + '_0x2c3347': 0x16a, + '_0x2bf6d1': 0x164, + '_0x7996a2': 0x166 + } + , _0x89e98a = _0x5b0a3a + , _0x4d2b11 = await _0x5d54cd(_0x5959ba, _0x89e98a(_0x9257de[_0x52e681(0x2d0)])) + , _0x1924e3 = new TextEncoder() + , _0x33821c = _0x1924e3[_0x89e98a(_0x9257de[_0x52e681(0x380)])](_0x566ef6) + , _0x36baed = await crypto[_0x89e98a(0x165)][_0x89e98a(_0x9257de[_0x52e681(0x318)])]({ + 'name': _0x89e98a(0x169) + }, _0x4d2b11, _0x33821c); + return _0x3497cf(_0x36baed); + } else + switch (_0x5c35d2['label']) { + case 0x0: + return _0x24623e = _0x2d3d19[_0x52e681(0xd9)](), + [0x4, _0x18b43a()]; + case 0x1: + return _0x4ed8d5 = _0x27a46e['sent'](), + _0x507f42 = _0x1e9a66(_0x3a0a36), + (_0x53b5b8 || _0x548bed?.['debug']) && _0x5ef25b[_0x52e681(0x363)](_0x52e681(0x25f)['concat'](_0x1954e0[_0x52e681(0xd4)], _0x52e681(0x141))[_0x52e681(0x2fa)](_0x1ebdcf[_0x52e681(0x358)], _0x52e681(0x1b3))['concat'](_0x73dc12 - _0x480036, _0x52e681(0x24f))[_0x52e681(0x2fa)](_0x887d28[_0x52e681(0x385)], _0x52e681(0x266))[_0x52e681(0x2fa)](_0x2ff92d(_0x21b319), _0x52e681(0x13c))), + [0x2, _0x10f239]; + } +} + +const _0x347e7c = Object['freeze'](Object['defineProperty']({ + '__proto__': null, + 'encryptMessage': _0x32e40c +}, Symbol[a0_0x3f75(0x196)], { + 'value': a0_0x3f75(0x18d) +})) + + +function a0_0x3f75(_0x2dc0e4, _0x190d63) { + var _0x536dd6 = a0_0x536d(); + return a0_0x3f75 = function (_0x3f75fd, _0x3980bf) { + _0x3f75fd = _0x3f75fd - 0x8c; + var _0x226d13 = _0x536dd6[_0x3f75fd]; + return _0x226d13; + } + , + a0_0x3f75(_0x2dc0e4, _0x190d63); +} + +function a0_0x536d() { + var _0x419788 = ['WXYxz', 'standard', '#divAgahi', 'XvPvo', 'availHeight', 'fNgTY', 'min', 'monospace', 'appendChild', 'W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd', 'qwAZP', 'concat', 'LnJla2xhbWEtbWVnYWJvYXJk', 'block', 'application/json', 'mkfro', 'timeout', 'openDatabase', 'LkGPg', 'CknZF', 'not\x20supported', 'YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd', '#ceneo-placeholder-ceneo-12', 'tanh', 'YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0=', '.sklik', 'subarray', 'reject', 'YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=', 'number', '.newsletter_holder', 'PCMHx', 'Ll9faXNib29zdFJldHVybkFk', 'LndpZGdldF9wb19hZHNfd2lkZ2V0', 'hJXSU', 'yhiFp', 'fromCharCode', 'XDZsd', 'LnRyYWZmaWNqdW5reS1hZA==', 'div[id^=\x22smi2adblock\x22]', 'getExtension', '_0x7996a2', '.BetterJsPopOverlay', '_0x3e41d6', 'hasOwnProperty', '#2ff', 'yqhqV', 'zHinO', 'webkitSpeechGrammar', 'RSA-OAEP', 'round', '.yb-floorad', 'absolute', 'TJXZU', '_0x3cb28b', 'position', 'throw', 'Leelawadee', '_0x2619f2', 'WVFnG', 'bind', 'cookie', 'max', 'https://m1.openfpcdn.io/fingerprintjs/v', 'YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0=', 'msLaunchUri', 'AvantGarde\x20Bk\x20BT', 'oscpu', 'REzod', 'cRGFi', 'UTFSL', 'languages', '__firefox__', 'I0FkLUNvbnRlbnQ=', 'indexOf', 'show', 'I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw==', 'div[class$=\x22-hide\x22][zoompage-fontsize][style=\x22display:\x20block;\x22]', 'important', 'I2FkY29udGFpbmVyX3JlY2hlcmNoZQ==', '_0x503e72', 'Futura\x20Bk\x20BT', '.textad_headline', 'buffer', 'removeChild', 'standalone', '00000000', 'QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==', 'matches', 'EOUAc', 'onload', '#cookieconsentdiv', 'done', 'value', '680193jIWMuJ', 'YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd', 'sqrt', 'Not\x20in\x20browser', '#hirdetesek_box', 'ipErm', '_0x441e1b', '#aafoot.top_box', 'getParameter', 'webkitMediaStream', 'apiDomain', 'userAgent', 'Menlo', 'Google', '#f60', 'rgba(102,\x20204,\x200,\x200.2)', 'FhuWl', 'suffixes', 'BmzWF', 'EmZok', 'HfMGL', 'dGQjZnJlZW5ldF90YWJsZV9hZHM=', 'log', 'pokRh', 'iterator', '872unDfGd', 'PagLC', 'ratio', 'gRyfv', 'Generator\x20is\x20already\x20executing.', 'hMJVc', '__edgeTrackingPreventionStatistics', 'Staccato222\x20BT', 'MacIntel', 'Too\x20high\x20value', 'width', 'LmN0cGwtZnVsbGJhbm5lcg==', '_0x449f4f', 'Bitstream\x20Vera\x20Sans\x20Mono', 'exp', 'AlDYQ', 'encryptMessage', '.adblocker-root', '(prefers-reduced-motion:\x20', 'zgXMd', 'Small\x20Fonts', 'sin', 'getBoundingClientRect', 'rqyRM', 'Marlett', 'getFullYear', '_0x2bf6d1', '#SSpotIMPopSlider', 'call', '_0x1d723d', 'CAGVF', 'visitorId', 'match', 'NNtsZ', '.optimonk-iframe-container', '\x0a\x20\x20', '18kuWmNy', '(inverted-colors:\x20', 'knee', '#FollowUs', 'YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0=', 'status', 'maxTouchPoints', 'split', 'spki', 'aszgi', '_0x2edc55', '$1.0.0$r1r$', 'MS\x20Outlook', 'msMaxTouchPoints', 'none', 'ave_token=', 'fontFamily', 'offsetHeight', 'sort', 'adEII', 'LmFkczMwMHM=', 'CSSPrimitiveValue', '-apple-system-body', '#cemp_doboz', 'maDUJ', 'MediaSettingsRange', 'oprt', '.lapni-pop-over', 'aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd', 'contentWindow', 'GET', 'DOMRectList', 'nDbjf', '3248287zjADRX', 'msIndexedDB', '.community__social-desc', 'zNiet', 'span', '_0x2808bb', 'body', 'QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd', 'parse', 'getItem', 'Cwm\x20fjordbank\x20gly\x20', 'ycJJO', 'AXYgW', '.hs-sosyal', '/v1api/v1/captcha/requestToken', 'frequency', '#publiEspecial', '3412948xZzOVP', ';\x20path=/', '#069', 'fillStyle', 'YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd', 'vemachine', 'YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd', 'DGXbC', 'whiteSpace', 'pow', '#pavePub', '213219VeoNJH', 'yandex', '_0x265265', 'SzLef', 'startRendering', 'ajQEs', 'UTC', 'LmF3LWNvb2tpZS1iYW5uZXI=', 'YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ==', 'TABLE[width=\x22140px\x22]', '.etsy-tweet', '1px', 'vnuHL', 'globalCompositeOperation', 'rCWoc', 'hmUhH', 'I3Jla2xhbWk=', 'Univers\x20CE\x2055\x20Medium', 'LmFkX19tYWlu', '.util-bar-module-firefly-visible', 'fyJVA', 'renderedBuffer', 'hQTIk', 'next', 'offsetWidth', 'amd', 'WfgQG', 'Vrinda', 'connect', 'mmMwWLliI0O&1', 'language', 'DeviceMotionEvent', 'domain', '617134SqKLmb', 'MSCSSMatrix', 'I2NhbXBhaWduLWJhbm5lcg==', '3iPjZwc', '625rBrcVt', 'VaCEN', 'njRXe', 'LnJlY2xhbWE=', 'join', '#pgeldiz', 'hardwareConcurrency', 'SharedWorker', 'serif', 'description', 'I3Jla2xhbW5pLWJveA==', 'trys', 'asin', 'kPuEd', 'Zanxq', 'YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0=', '#mgid_iframe1', 'TouchEvent', 'YxNSS', '.bumq', 'zUOUo', '_0x4db6b0', 'rec2020', '18pt\x20Arial', 'WpZmF', 'Segoe\x20UI\x20Light', 'version', 'UNMASKED_RENDERER_WEBGL', 'start', '.ylamainos', 'OnAeS', 'now', 'ave_token', 'ontransitioncancel', '_0x4b9f4d', 'sent', 'AvTFw', '3669289mIufVs', '.yandex-rtb-block', 'ops', 'resolvedOptions', '132588wHDIPW', '#sovrn_container', 'GOTHAM', 'YUAih', 'some', 'mmevW', 'more', 'inverted', '#qoo-counter', 'assign', '#top100counter', 'high', 'webkitOfflineAudioContext', '_0x278961', 'plugins', 'uLfKG', 'YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd', 'location', '#backkapat', 'LmNsb3NlLWFkcw==', '#subscribe_popup', 'mozCancelFullScreen', 'webkitPersistentStorage', 'running', 'cpuClass', '#Publicidade', 'reset', 'webkitRequestFullscreen', 'YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0=', 'then', 'qOUyG', '24OZAfIN', '__yb', 'acos', 'nwDxr', 'keys', 'safari', 'NYAMV', 'lvifT', 'FmYWK', 'rNmvQ', 'I0JveC1CYW5uZXItYWRz', '.BlockNag__Card', 'devicePixelRatio', '1GcDPWo', 'WJeaZ', 'UiJYw', 'open', 'iframe', 'public', 'unstable', 'no-preference', 'ZGl2I3NrYXBpZWNfYWQ=', 'YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ==', 'setProperty', '9uEIiFb', '.cnt-publi', 'YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ==', 'aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd', 'timeZone', '.kadr', 'webkitTextSizeAdjust', 'monitoring', 'asNSu', 'LnNwb25zb3JlZC10ZXh0LWxpbmtz', 'msPointerEnabled', '_0x77190a', 'ZWAdobeF', 'I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA==', 'documentElement', 'LnNwb25zb3JsaW5rZ3J1ZW4=', 'system-ui', 'AqpQA', 'tqHzx', 'importKey', 'pkcs8', 'get', '#psyduckpockeball', 'setAttribute', 'fillText', '#cookies-policy-sticky', '2652848zNqJaR', 'msWriteProfilerMark', '
', 'msSetImmediate', '196568pNYrCb', 'toDataURL', 'buildID', 'label', '\x0a```', '.open.pushModal', 'MozAppearance', '__ybro', 'CJeDH', '\x0auserAgent:\x20', 'ZNnfX', 'multiply', 'ontouchstart', 'ycpOd', '.mainostila', '1927177dcMLhZ', '1084863TeDWix', 'server_time', 'Counter', '3.4.2', 'SHA-256', 'Intl', 'sjPzV', 'YCydu', '#f9c', 'colorDepth', 'data', '#f2f', 'message', 'asPYV', '.as-oil', 'object', 'iPad', '.img-kosana', 'random', 'uPiEI', '__gCrWeb', 'YiaPC', 'samsungAr', '_0x1691ad', 'hyiTp', '_0x442e71', 'textSizeAdjust', 'QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ==', '_0x2a0f65', 'ZGl2LmhvbGlkQWRz', '(color-gamut:\x20', '.cfa_popup', 'I2FkX2ludmlld19hcmVh', '_0x8892e7', 'tagName', 'iEnxM', 'YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd', 'DIV.agores300', 'ypYsx', 'map', '#back-top', 'BatteryManager', '13395waNlKa', 'generateToken', 'YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd', 'resolve', '#pmadv', 'reduce', 'MLyHT', 'exitFullscreen', 'I3dlcmJ1bmdza3k=', 'I2FkX2Jsb2NrZXI=', 'YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0=', '221203bmAEeL', '.wp_adblock_detect', 'BBRZh', 'cosh', 'Batang', 'deviceMemory', 'release', 'acosh', 'RZqRD', 'getChannelData', 'offsetParent', '.navigate-to-top', 'LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ==', 'zyvfD', 'test', '8IEkcee', 'Module', 'uPRNK', 'YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0=', 'YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ==', 'Microsoft\x20Uighur', 'Meiryo\x20UI', 'rfllS', '126408OqdJgU', 'UDBUw', 'toStringTag', 'webkitExitFullscreen', 'TABLE.advright', 'top', 'undefined', '#ea_intext_div', '__fpjs_d_m', '.site-pub-interstitiel', 'ul.adsmodern', 'a[href*=macau-uta-popup]', 'YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0=', 'experimental-webgl', 'fWSst', 'attack', 'LmhlYWRlci1ibG9ja2VkLWFk', 'YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd', 'left', 'Arial\x20Unicode\x20MS', '#kauli_yad_1', 'fill', 'YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd', 'name', '_0xd03175', 'div[id^=\x22crt-\x22][data-criteo-id]', '_0x598c3a', 'vfOnk', 'Helvetica\x20Neue', 'onorientationchange', '_0x1857a0', '\x0atimeBetweenLoadAndGet:\x20', 'MTFAH', 'arc', '1587025eEdFxS', '6459330wtoBnp', 'destination', '[object\x20Reflect]', 'LmFkc19iYW4=', 'LlppX2FkX2FfSA==', '_0x26f289', '.adstekst', 'CKfJw', 'xLarw', 'length', 'WNJeH', 'catch', '/v1api/v2/settings/serverTime', 'hjtEz', 'suspended', 'LmdlbWluaUxCMUFk', '.zergnet-recommend', 'HJxBs', 'exec', 'msFullscreenElement', 'Monotype\x20Corsiva', 'stack', 'LxfSt', 'rsXLH', '.sygnal24-gdpr-modal-wrap', 'OMMvD', 'alphabetic', 'threshold', 'reverse', 'ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd', 'EUROSTILE', 'QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==', 'YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ==', 'Humanst521\x20BT', '50BWNUIo', 'Century', 'LnJla2xhbW9zX3RhcnBhcw==', 'oEhLN', '#ac-lre-player', 'VmRDa', 'sRwJC', '#navbar_notice_50', 'aW5zLmZhc3R2aWV3LWFk', 'XjGbS', 'forced', 'pdfViewerEnabled', '#onlajny-stickers', '14780FiVzhH', 'readyState', 'YVtocmVmKj0iLmFmbGFtLmluZm8iXQ==', '1264892UJzuED', 'lypXg', 'createDynamicsCompressor', '_0x44a72c', 'webgl', '_0x3cb073', 'https://febweb002.com', 'cookietest=1;\x20SameSite=Strict;\x20expires=Thu,\x2001-Jan-1970\x2000:00:01\x20GMT', 'cos', 'slice', '_0x483bce', 'error', 'function', 'closePath', 'YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd', 'mozFullScreenElement', 'POST', 'XrfZQ', '.cc-CookieWarning', 'IOMYX', 'pop', 'CanvasCaptureMediaStream', 'AJAKr', 'LmFkZ29vZ2xl', 'Letter\x20Gothic', 'Levenim\x20MT', 'prototype', 'webkitFullscreenElement', 'xqJZi', 'word', 'tUEIL', '#ff2', '.sb-box-pubbliredazionale', 'Gill\x20Sans', 'abs', 'shift', 'sIWRz', '_0x746bcb', 'I2Jhbm5lcmZsb2F0MjI=', 'OfflineAudioContext', 'aside[data-portal-id=\x22leaderboard\x22]', 'oMKBt', '.alert-info[data-block-track*=\x22CookieNotice\x22]', 'fontSize', 'toString', 'gdXXt', ';\x20expires=', 'push', 'YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ==', 'xnltx', 'clymh', 'ElATm', '.ModuleTemplateCookieIndicator', 'Reflect', 'amp-embed[type=\x2224smi\x22]', 'iPhone', '#widget-quan', 'expm1', 'TRAJAN\x20PRO', '#queTooltip', '#taotaole', '(forced-colors:\x20', '_0x12ef74', '_0x2d3154', 'EZQOf', 'GIozU', 'atob', 'srgb', 'ZbMiQ', 'article.category-samarbete', 'height', '[data-cypress=\x22soft-push-notification-modal\x22]', 'evenodd', 'PUEZL', 'state', 'TuFJh', 'create', 'Lucida\x20Bright', 'Futura\x20Md\x20BT', 'cfTQc', 'Agency\x20FB', 'toUTCString', '.article-sharer', 'CuKkn', 'YctVy', 'send', '.ezmob-footer', 'AwFWS', 'asinh', 'PBoqp', '.right-and-left-sponsers', 'string', '#meteored_share', 'UCShellJava', 'ApplePayError', 'triangle', 'yBxti', 'mmMwWLliI0fiflO&1', 'PsJxW', 'DIALOG', '#issuem-leaky-paywall-articles-zero-remaining-nag', 'OlZpl', '\x0avisitorId:\x20', 'log1p', 'YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==', 'ongestureend', 'vendor', 'YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0=', 'W2lkXj0ic2tsaWtSZWtsYW1hIl0=', 'webkitTemporaryStorage', 'div', 'active', 'font', 'msSaveBlob', 'availLeft', 'type', 'msExitFullscreen', 'tDotc', 'Copy\x20the\x20text\x20below\x20to\x20get\x20the\x20debug\x20data:\x0a\x0a```\x0aversion:\x20', 'availTop', 'YVtocmVmKj0iLy91dGltZy5ydS8iXQ==', '[title=\x22ALIENBOLA\x22\x20i]', 'sSpSQ', 'availWidth', '.widgetadv', '\x0acomponents:\x20', 'charCodeAt', 'platform', 'defineProperty', 'web', 'a[href^=\x22/url/\x22]', 'chrome', 'localStorage', '[data-cookie-number]', 'textBaseline', 'isArray', 'createElement', '10997110cdNtHB', 'cookietest=1;\x20SameSite=Strict;', '/npm-monitoring', 'Calibri', '.mobile_adhesion', 'canvas', '#Kolom-Iklan-728', '_0x11c563', 'Unexpected\x20syntax\x20\x27', 'I2xpdmVyZUFkV3JhcHBlcg==', 'hidden', '.o--cookies--container', 'msg', 'LnNwb25zb3JpdA==', 'kpILz', 'YVtocmVmKj0iLjE5NTZobC5jb20vIl0=', 'subtle', 'srcdoc', 'return', 'encrypt', 'OsCiU', 'DateTimeFormat', 'YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0=', '.revenue_unit_item.dable', 'stringify', 'zoom', 'fillRect', '_0x41b9fe', 'HnskB', 'tGfsy', 'MT\x20Extra', 'all', 'crypto', 'MediaSource', 'fullscreenElement', '_0x45cf66', 'BankGothic\x20Md\x20BT', 'encode', 'XJuXD', 'kWNAl', 'parentNode', '(prefers-contrast:\x20', 'onmozfullscreenchange', 'Pristina', '#barraPublicidade', '#xenium_hot_offers', 'style', 'isPointInPath', 'getContext', 'ovJxf', 'dSjBL', 'cookietest=', '_0xf2fe85', 'aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd', '(max-monochrome:\x20', '_0x178b41', '#social-tools', 'LmJveF9hZHZfYW5udW5jaQ==', '.popup-social', 'IOEDw', 'kuouA', '#Iklan-Melayang', 'display', 'YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ==', 'I2FkXzMwMFgyNTA=', '_0x4221ea', '#mobileCatfish', 'load', 'filter', 'textContent', 'WebKitMediaKeys', 'efxaJ', 'Century\x20Gothic', 'sans-serif', 'nowrap', '\x5c$1', 'LmFtcF9hZA==', 'YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd', 'sinh', 'appVersion', 'kfDbq', 'BUSiz', 'hoBtN', '.yt.btn-link.btn-md.btn', 'Ll9wb3BJbl9pbmZpbml0ZV9hZA==', '#inlineShare', '(dynamic-range:\x20', 'apply', 'ave_token_time', 'JgjkH', 'LGDJw', 'VwobG', '.quangcao', 'document', '_0x2c3347', 'getTimezoneOffset', 'Arabic\x20Typesetting', 'class', '2951067wPcJvl', 'UNMASKED_VENDOR_WEBGL', 'YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd', 'Serifa', 'I3Jla2xhbWUtcmVjaHRzLW1pdHRl', 'LmZyb250cGFnZUFkdk0=', 'YVtocmVmKj0iYm9vcmFxLm9yZyJd', 'NmTfl', 'YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==', 'MS\x20Reference\x20Specialty', 'HTICW', 'indexedDB', 'LnJla2xhbW9zX251b3JvZG9z', 'fTnsf', '#adblock-honeypot', '[id^=\x22bn_bottom_fixed_\x22]', 'WEBGL_debug_renderer_info', 'low', 'ymBvq', 'debug', '$\x20if\x20upgrade\x20to\x20Pro:\x20https://fpjs.dev/pro', '#SidebarIklan-wrapper', 'AjAjF', '#social_follow', 'DOM\x20blockers\x20debug:\x0a```', 'atan', 'MSStream']; + a0_0x536d = function () { + return _0x419788; + } + ; + return a0_0x536d(); +} + +var _0x1a6c4b = a0_0x3f75; + +function _0x31523b() { + var _0x26ed5e = _0x1a6c4b; + if ('UlOfs' !== _0x26ed5e(0x16b)) { + const _0x4801eb = [_0x26ed5e(0x147), _0x26ed5e(0x1ef), 'json', 'domain', _0x26ed5e(0x30a), '1084863TeDWix', _0x26ed5e(0x3bd), _0x26ed5e(0xd9), _0x26ed5e(0x1c3), _0x26ed5e(0x292), _0x26ed5e(0x32c), 'userAgent', _0x26ed5e(0x244), _0x26ed5e(0x19a), _0x26ed5e(0x3bc), _0x26ed5e(0x26a), _0x26ed5e(0x350), 'subtle', _0x26ed5e(0x157), _0x26ed5e(0x1f9), _0x26ed5e(0x26d), 'data', _0x26ed5e(0x1f2), _0x26ed5e(0x2fd), 'parse', '221203bmAEeL', _0x26ed5e(0x303), _0x26ed5e(0x100), _0x26ed5e(0x386), _0x26ed5e(0x2b5), 'stringify', _0x26ed5e(0x149), '1680770SQOoUo', _0x26ed5e(0xda), _0x26ed5e(0x2ca), _0x26ed5e(0x3b4), _0x26ed5e(0x175), _0x26ed5e(0x1c2), _0x26ed5e(0x1b7), _0x26ed5e(0x172), 'encryptMessage', 'status']; + return _0x31523b = function () { + return _0x4801eb; + } + , + _0x31523b(); + } else { + var _0x9053d, _0x1e44e1, _0x1d5287, _0x34bb87; + return _0x57a79a(this, function (_0x4a469e) { + var _0x36df04 = _0x26ed5e; + switch (_0x4a469e[_0x36df04(0x13b)]) { + case 0x0: + _0x9053d = _0x5d85ba(_0x2a6764[_0x36df04(0x1c0)]), + _0x1e44e1 = _0xe12689[_0x36df04(0xd9)](), + _0x1d5287 = 0x0, + _0x4a469e[_0x36df04(0x13b)] = 0x1; + case 0x1: + return _0x1d5287 < _0xe68dab[_0x36df04(0x1c0)] ? (_0x9053d[_0x1d5287] = _0x8bd3d6(_0x1d3668[_0x1d5287], _0x1d5287), + _0x34bb87 = _0x2b06e4[_0x36df04(0xd9)](), + _0x34bb87 >= _0x1e44e1 + _0x33876b ? (_0x1e44e1 = _0x34bb87, + [0x4, _0xf2bf57(0x0)]) : [0x3, 0x3]) : [0x3, 0x4]; + case 0x2: + _0x4a469e[_0x36df04(0xdd)](), + _0x4a469e[_0x36df04(0x13b)] = 0x3; + case 0x3: + return ++_0x1d5287, + [0x3, 0x1]; + case 0x4: + return [0x2, _0x9053d]; + } + }); + } +} + +async function _0xe3c5dc(_0x4e40f1, _0x33cf52) { + return _0x347e7c['encryptMessage'](_0x4e40f1, _0x33cf52); +} + +function _0x3497cf(_0x2355ef) { + return Buffer.from(new Uint8Array(_0x2355ef)).toString('base64'); +} + +async function _0x32e40c(_0x5959ba, _0x566ef6) { + var _0x52e681 = a0_0x3f75; + if (_0x52e681(0x240) !== _0x52e681(0x3b6)) { + const _0x9257de = { + '_0x2c3347': 0x16a, + '_0x2bf6d1': 0x164, + '_0x7996a2': 0x166 + } + , _0x89e98a = _0x5b0a3a + , _0x4d2b11 = await _0x5d54cd(_0x5959ba, _0x89e98a(_0x9257de[_0x52e681(0x2d0)])) + , _0x1924e3 = new TextEncoder() + , _0x33821c = _0x1924e3['encode'](_0x566ef6) + // , _0x36baed = await crypto.subtle.encrypt({ + // 'name': 'RSA-OAEP' + // }, _0x4d2b11, _0x33821c); + , _0x36baed = crypto.publicEncrypt( + { + key: _0x4d2b11, + padding: crypto.constants.RSA_PKCS1_OAEP_PADDING, // 使用 RSA-OAEP 填充 + oaepHash: 'sha256', // 使用 SHA-256 哈希算法 + }, + Buffer.from(_0x33821c) // 将待加密的数据转换为 Buffer + ); + return _0x3497cf(_0x36baed); + } else + switch (_0x5c35d2['label']) { + case 0x0: + return _0x24623e = _0x2d3d19[_0x52e681(0xd9)](), + [0x4, _0x18b43a()]; + case 0x1: + return _0x4ed8d5 = _0x27a46e['sent'](), + _0x507f42 = _0x1e9a66(_0x3a0a36), + (_0x53b5b8 || _0x548bed?.['debug']) && _0x5ef25b[_0x52e681(0x363)](_0x52e681(0x25f)['concat'](_0x1954e0[_0x52e681(0xd4)], _0x52e681(0x141))[_0x52e681(0x2fa)](_0x1ebdcf[_0x52e681(0x358)], _0x52e681(0x1b3))['concat'](_0x73dc12 - _0x480036, _0x52e681(0x24f))[_0x52e681(0x2fa)](_0x887d28[_0x52e681(0x385)], _0x52e681(0x266))[_0x52e681(0x2fa)](_0x2ff92d(_0x21b319), _0x52e681(0x13c))), + [0x2, _0x10f239]; + } +} + + +async function _0x13f15c(_0x94040b = !0x1, _0x3bb4c3 = '') { + var _0x5dccf1 = _0x1a6c4b; + const _0x42b3b2 = { + '_0x2e53aa': 0x18a, + '_0x2619f2': 0x198, + '_0xf2fe85': 0x180, + '_0x503e72': 0x197, + '_0x483bce': 0x185, + '_0x8892e7': 0x17d, + '_0x11c563': 0x19b + } + , _0x465290 = _0x4a2dc4; + // if (!window || !window[_0x465290(_0x42b3b2['_0x2e53aa'])] || !window[_0x5dccf1(0xf4)] || !window[_0x5dccf1(0x22b)]) + // return Promise[_0x465290(0x17a)](new Error(_0x465290(0x186))); + // if (!_0x14160a()) + // return Promise[_0x465290(0x17a)](new Error(_0x465290(0x190))); + // let _0x261d78 = localStorage[_0x465290(_0x42b3b2[_0x5dccf1(0x329)])] || '0' + // , _0xf7e2a9 = document[_0x465290(_0x42b3b2[_0x5dccf1(0x2a6)])][_0x5dccf1(0x386)](/(^| )ave_token=([^;]*)(;|$)/) + // , _0x5313e5 = localStorage[_0x465290(_0x42b3b2[_0x5dccf1(0x33f)])] || _0xf7e2a9 && _0xf7e2a9[0x2] || ''; + // if (!_0x94040b && _0x5313e5 && Date[_0x465290(0x17d)]() - Number(_0x261d78) < (0x7 * 0x18 - 0x1) * 0x3c * 0x3c * 0x3e8) + // return _0x5313e5; + let _0x1d5840 = "" + // , _0x36d59 = _0x1d5840[_0x5dccf1(0x385)] + , _0x36d59 = "3c63bba545ccb434837bdce110ff80f1" + , + _0x35621e = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36" + , + _0x2c2712 = "web" + , _0x411abf = new Date().valueOf() + , + //3c63bba545ccb434837bdce110ff80f1$web$1.0.0$r1r$1739784793447 + _0x3edad7 = new Date().valueOf() + , _0xbc6d8b = _0x36d59 + '$' + _0x2c2712 + '$1.0.0$r1r$' + _0x3edad7 + , _0x68f08a = await _0xe3c5dc(_0x5dcde7, _0xbc6d8b) + // , _0x2714fe = await _0x3e84ab(_0x68f08a, _0x2c2712, _0x3bb4c3); + // return _0x68f08a + console.log(_0x68f08a) +} + + +async function _0x473579() { + var _0x14fb84 = _0x1a6c4b; + if ('PxcLO' !== _0x14fb84(0x2cb)) { + const _0x2d1c3d = { + '_0x4221ea': 0x191 + } + , _0x2ce435 = _0x4a2dc4; + return _0x1e9d8c[_0x2ce435(0x193)]()[_0x2ce435(_0x2d1c3d[_0x14fb84(0x2b3)])](_0x4de9fb => _0x4de9fb[_0x14fb84(0x12f)]()); + } else { + _0x380bbb = _0x50870e || '', + _0x883b39 = _0x420007 || 0x0; + var _0x4ea3b4 = _0x3771c2['length'] % 0x10, _0x2879ca = _0x2e54a1[_0x14fb84(0x1c0)] - _0x4ea3b4, + _0x521f48 = [0x0, _0x58edc4], _0x5221da = [0x0, _0x378ddb], _0x2ce830 = [0x0, 0x0], _0x3e698a = [0x0, 0x0], + _0x2a9140 = [0x87c37b91, 0x114253d5], _0x315a3f = [0x4cf5ad43, 0x2745937f], _0x119e9e; + for (_0x119e9e = 0x0; _0x119e9e < _0x2879ca; _0x119e9e = _0x119e9e + 0x10) + _0x2ce830 = [_0x7ebc87[_0x14fb84(0x267)](_0x119e9e + 0x4) & 0xff | (_0xc11e5c[_0x14fb84(0x267)](_0x119e9e + 0x5) & 0xff) << 0x8 | (_0x3c0b83['charCodeAt'](_0x119e9e + 0x6) & 0xff) << 0x10 | (_0x3ec89a[_0x14fb84(0x267)](_0x119e9e + 0x7) & 0xff) << 0x18, _0x225ac8[_0x14fb84(0x267)](_0x119e9e) & 0xff | (_0xba1b3['charCodeAt'](_0x119e9e + 0x1) & 0xff) << 0x8 | (_0x5ca39d['charCodeAt'](_0x119e9e + 0x2) & 0xff) << 0x10 | (_0x300e93[_0x14fb84(0x267)](_0x119e9e + 0x3) & 0xff) << 0x18], + _0x3e698a = [_0x5a6624['charCodeAt'](_0x119e9e + 0xc) & 0xff | (_0x44efb4['charCodeAt'](_0x119e9e + 0xd) & 0xff) << 0x8 | (_0x54e16b[_0x14fb84(0x267)](_0x119e9e + 0xe) & 0xff) << 0x10 | (_0x4cf8f3['charCodeAt'](_0x119e9e + 0xf) & 0xff) << 0x18, _0x34ad76[_0x14fb84(0x267)](_0x119e9e + 0x8) & 0xff | (_0x15a065[_0x14fb84(0x267)](_0x119e9e + 0x9) & 0xff) << 0x8 | (_0x3b47be['charCodeAt'](_0x119e9e + 0xa) & 0xff) << 0x10 | (_0xfc763a[_0x14fb84(0x267)](_0x119e9e + 0xb) & 0xff) << 0x18], + _0x2ce830 = _0x3ee564(_0x2ce830, _0x2a9140), + _0x2ce830 = _0x4555b2(_0x2ce830, 0x1f), + _0x2ce830 = _0x11acbf(_0x2ce830, _0x315a3f), + _0x521f48 = _0x14edf8(_0x521f48, _0x2ce830), + _0x521f48 = _0x5ae29c(_0x521f48, 0x1b), + _0x521f48 = _0x4e74aa(_0x521f48, _0x5221da), + _0x521f48 = _0x41e1a2(_0x322115(_0x521f48, [0x0, 0x5]), [0x0, 0x52dce729]), + _0x3e698a = _0x5e47c9(_0x3e698a, _0x315a3f), + _0x3e698a = _0x166fa7(_0x3e698a, 0x21), + _0x3e698a = _0x3a9661(_0x3e698a, _0x2a9140), + _0x5221da = _0x3c17ad(_0x5221da, _0x3e698a), + _0x5221da = _0x5515fa(_0x5221da, 0x1f), + _0x5221da = _0x22585e(_0x5221da, _0x521f48), + _0x5221da = _0x46b1f0(_0xabd846(_0x5221da, [0x0, 0x5]), [0x0, 0x38495ab5]); + switch (_0x2ce830 = [0x0, 0x0], + _0x3e698a = [0x0, 0x0], + _0x4ea3b4) { + case 0xf: + _0x3e698a = _0x118672(_0x3e698a, _0x3e2a9f([0x0, _0x4a15e4[_0x14fb84(0x267)](_0x119e9e + 0xe)], 0x30)); + case 0xe: + _0x3e698a = _0x16b267(_0x3e698a, _0xf1ea75([0x0, _0x565b45['charCodeAt'](_0x119e9e + 0xd)], 0x28)); + case 0xd: + _0x3e698a = _0x56a8cc(_0x3e698a, _0x575a96([0x0, _0x4e82d5[_0x14fb84(0x267)](_0x119e9e + 0xc)], 0x20)); + case 0xc: + _0x3e698a = _0x566109(_0x3e698a, _0x40073f([0x0, _0x14b2d2[_0x14fb84(0x267)](_0x119e9e + 0xb)], 0x18)); + case 0xb: + _0x3e698a = _0x5e24c2(_0x3e698a, _0x11ef04([0x0, _0x129d84[_0x14fb84(0x267)](_0x119e9e + 0xa)], 0x10)); + case 0xa: + _0x3e698a = _0x5cbad3(_0x3e698a, _0x581a35([0x0, _0x3280a4[_0x14fb84(0x267)](_0x119e9e + 0x9)], 0x8)); + case 0x9: + _0x3e698a = _0x39def1(_0x3e698a, [0x0, _0xab9a05[_0x14fb84(0x267)](_0x119e9e + 0x8)]), + _0x3e698a = _0x355b6d(_0x3e698a, _0x315a3f), + _0x3e698a = _0x3a13e8(_0x3e698a, 0x21), + _0x3e698a = _0x40a10a(_0x3e698a, _0x2a9140), + _0x5221da = _0x450d41(_0x5221da, _0x3e698a); + case 0x8: + _0x2ce830 = _0x1e7cfe(_0x2ce830, _0x592570([0x0, _0x1519f6[_0x14fb84(0x267)](_0x119e9e + 0x7)], 0x38)); + case 0x7: + _0x2ce830 = _0x382b20(_0x2ce830, _0x42678a([0x0, _0x462d89[_0x14fb84(0x267)](_0x119e9e + 0x6)], 0x30)); + case 0x6: + _0x2ce830 = _0x7dcc6b(_0x2ce830, _0x26409d([0x0, _0x4f1fe6[_0x14fb84(0x267)](_0x119e9e + 0x5)], 0x28)); + case 0x5: + _0x2ce830 = _0x5b421c(_0x2ce830, _0x2cc5a9([0x0, _0x4a6ef7[_0x14fb84(0x267)](_0x119e9e + 0x4)], 0x20)); + case 0x4: + _0x2ce830 = _0x240940(_0x2ce830, _0xce1d1c([0x0, _0x19345a[_0x14fb84(0x267)](_0x119e9e + 0x3)], 0x18)); + case 0x3: + _0x2ce830 = _0x163649(_0x2ce830, _0x4eee93([0x0, _0x53077f[_0x14fb84(0x267)](_0x119e9e + 0x2)], 0x10)); + case 0x2: + _0x2ce830 = _0xb1b86d(_0x2ce830, _0x1f91f4([0x0, _0x107b8c[_0x14fb84(0x267)](_0x119e9e + 0x1)], 0x8)); + case 0x1: + _0x2ce830 = _0x1971a2(_0x2ce830, [0x0, _0x31f11e[_0x14fb84(0x267)](_0x119e9e)]), + _0x2ce830 = _0x377466(_0x2ce830, _0x2a9140), + _0x2ce830 = _0x350d47(_0x2ce830, 0x1f), + _0x2ce830 = _0x208b5e(_0x2ce830, _0x315a3f), + _0x521f48 = _0x326f24(_0x521f48, _0x2ce830); + } + return _0x521f48 = _0x5533f8(_0x521f48, [0x0, _0x498b82[_0x14fb84(0x1c0)]]), + _0x5221da = _0x5b6045(_0x5221da, [0x0, _0x78a309[_0x14fb84(0x1c0)]]), + _0x521f48 = _0x6f5b35(_0x521f48, _0x5221da), + _0x5221da = _0x13f8ba(_0x5221da, _0x521f48), + _0x521f48 = _0x4131ef(_0x521f48), + _0x5221da = _0x312420(_0x5221da), + _0x521f48 = _0x243840(_0x521f48, _0x5221da), + _0x5221da = _0x37a58d(_0x5221da, _0x521f48), + (_0x14fb84(0x345) + (_0x521f48[0x0] >>> 0x0)[_0x14fb84(0x215)](0x10))[_0x14fb84(0x1f2)](-0x8) + (_0x14fb84(0x345) + (_0x521f48[0x1] >>> 0x0)[_0x14fb84(0x215)](0x10))['slice'](-0x8) + ('00000000' + (_0x5221da[0x0] >>> 0x0)['toString'](0x10))[_0x14fb84(0x1f2)](-0x8) + (_0x14fb84(0x345) + (_0x5221da[0x1] >>> 0x0)[_0x14fb84(0x215)](0x10))[_0x14fb84(0x1f2)](-0x8); + } +} + +_0x13f15c() \ No newline at end of file