{"version":3,"mappings":"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","names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","__read","o","m","Symbol","iterator","r","ar","e","next","done","push","value","error","__spreadArray","to","from","pack","l","Array","slice","concat","noop","id","v","isObject","isUndefined","objProto","isArray","toString","isFunction","isString","arrayRemove","arr","indexOf","arr_","splice","getRegexp","ignore","joinRegExp","patterns","sources","len","pattern","replace","source","RegExp","join","checkIfHit","rules","url","Rgx","test","hookMethodDangerously","obj","key","hookFunc","params","_i","origin","hookedUnsafe","hooked","args","isHitBySampleRate","sampleRate","Math","random","Number","BUFFER_TIME","applyBufferTimer","checkIfNeedCancel","cb","bufferTime","tid","clearTimeout","setTimeout","nextLink","nextCbs","reduce","sum","nextCb","_a","nextArgs","toObservable","subscribers","__complete","closed","attachCb","setCloseIfNeed","forEach","unsubscribe","complete","attach","disconnect","onSubscribe","subscribe","Error","createSafeObserver","observer","completeCb","cur","registerTearDownGroup","client","pluginName","evType","tearDownGroup","destroyAgent","set","initSubjectInGlobal","initSubject","now","Date","getDefaultBrowser","window","getDefaultDocument","document","getDefaultLocation","location","getDefaultPerformanceObserver","PerformanceObserver","getFullUrl","a","createElement","href","getLocationUrl","getViewOverrides","config","pid","view_id","viewId","getOverrides","clientConfig","overrides","context","reportWithCurrentContext","timeRequiresAdjustment","timestamp","ev","report","getConfig","c","defaultConfig","FETCH_SUBJECT_NAME","hookFetch","_fetch","req","options","endNext","fetchPromise","then","res","observeFetch","tearDown","global","fetch","fetchSubject","RESOURCE_TYPE","applyPerformanceObserver","callback","onFail","list","ob","getEntries","val","observe","types","entryTypes","bufferedObserver","type","durationThreshold","buffered","observePerf","Ob","pipe","RESOURCE_SUBJECT_NAME","observeResource","resourceSubject","HTTP_EV_TYPE","VERSION","SAMPLED","TRACEPARENT","DEFAULT_TRACE_CONFIG","origins","uuid4","crypto","msCrypto","getRandomValues","Uint16Array","pad","num","setTraceContext","traceConfig","sampled","substring","headerKeyRe","headerValueRe","isSensitiveHeader","applySendOnce","hasInvoked","metric","handleWithExtractUrl","payload","extractUrl","original_url","request","extra","_e","httpGetterWithFetchObserver","fetchConfig","_b","fetchObserver","getResourceObserver","setTraceHeader","ignoreUrls","setContextAtReq","Headers","Request","isHttpURL","addHeader","reportWithContext","_start","timing","resourceTearDown","entry","name","getEventParams","reportFetchData","data","response","ev_type","split","protocol","path","isRequest","headers","getFetchMethod","method","toLowerCase","mergeHeaders","getFetchBody","body","props","api","status","is_custom_error","duration","collectBodyOnError","extraExtractor","setRequestBodyIfAllowed","resHeaders","clone","json","catch","_o","FETCH_MONITOR_PLUGIN_NAME","autoWrap","FetchMonitorBasePlugin","trace","provide","f","newFetch","FETCH_INTEGRATION_NAME","fetchPlugin","setup","XHR_SUBJECT_NAME","getReportPathRegExp","SELF_REPORT_PATH_REGEXP","hookOpen","open","openOptions","_method","_url","hookSetHeader","setRequestHeader","setOptions","_reqHeaders","hookOnreadystatechange","xhr","readyState","hookSend","send","hitReportPath","sendOptions","_data","applyXHR","httpGetterWithXhrObserver","xhrConfig","xhrObserver","fullUrl","xhrAfterReady","formatXHRAllResponseHeaders","result","line","name_1","formatRequestHeaders","keys","getAllResponseHeaders","AJAX_MONITOR_PLUGIN_NAME","AjaxMonitorBasePlugin","getResourceSubject","XMLHttpRequest","Xhr","Ctor","AJAX_INTEGRATION_NAME","ajaxPlugin","isNumber","safeStringify","JSON","stringify","err","String","CUSTOM_EV_TYPE","CUSTOM_EVENT_TYPE","CUSTOM_LOG_TYPE","normalizeCustomEventData","raw","rMetrics","metrics","k","rCategories","categories","normalizeCustomLogData","rContent","content","level","rExtra","CustomPlugin","sendEvent","normalized","sendLog","CUSTOM_INTEGRATION_NAME","customPlugin","isInstanceOf","wat","base","isPlainObject","getPrototypeOf","proto","isError","isEvent","Event","isErrorEvent","what","isPromiseRejectionEvent","pick","prev","hookObjectProperty","isCatchError","strict","getDefaultXMLHttpRequest","getGlobalRegistry","__SLARDAR_REGISTRY__","Slardar","plugins","errors","subject","reportSelfError","errorInfo","registry","addListenerToWindow","w","listener","addEventListener","removeEventListener","JS_ERROR_EV_TYPE","ERROR_FIELDS","normalize","ex","message","normalizeError","event","normalizeException","reason","detail","rejectionError","_oO","normalizeUnknownError","exception","DEFAULT_EVENT_TARGET","DEFAULT_TIME_FUNCTION","xmlHttpRequestProps","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","DEFAULT_SOURCE_TYPE","observeAsyncErrorWithSource","restoreFns","wrap","fn","sourceData","hookFn","_w_","handleEvent","map","arg","_hook_","filter","timeFunc","handler","function","_this","prop","target","evName","handleEventFn","eventName","ASYNC_ERROR_SUBJECT_NAME","asyncErrorWithSourceSubject","ERROR_SUBJECT_NAME","observeError","removeListener","errorSubject","PROMISE_REJECTION_SUBJECT_NAME","observePromiseRejection","promiseRejectionSubject","isSameErrorString","current","previous","shouldDropEvent","currentError","previousError","stack","dedupe","__previousError","jsErrorGetterWithContext","errorObserver","promiseRejectionObserver","getAsyncErrorWithSourceObserver","ignoreErrors","onerror","onunhandledrejection","dedupeFlag","captureGlobalAsync","ignoreRegExp","dedupeFn","reportJsError","react","breadcrumbs","jsErrorPayload","JS_ERROR_MONITOR_PLUGIN_NAME","JsErrorMonitorBasePlugin","pcErr","pcRej","getBreadcrumbs","JS_ERROR_INTEGRATION_NAME","jsErrorPlugin","__defProp","defineProperty","__defNormalProp","enumerable","configurable","writable","__publicField","CallThunk","define","thunkName","callMap","thunk","console","warn","constructor","thunk_default","CallEvent","on","handle","eventMap","off","array","emit","has","event_default","globalObject","globalThis","self","gWindow","$$CallThunkInstance","callThunk","channel","src_default","import_fetch","__toESM","require_fetch","import_ajax","require_ajax","import_custom","require_custom","import_jsError","require_jsError","return","_hooks","_cache","_hooksCache","once","_emit","fromCharCode","parseInt","navigator","userAgent","match","h","u","search","decodeURIComponent","d","exports","defaults","expires","toUTCString","write","encodeURIComponent","escape","cookie","charAt","read","parse","get","getJSON","remove","withConverter","g","domain","cache","setItem","getItem","removeItem","getCookie","setCookie","_","y","localStorage","isSupportLS","b","sessionStorage","isSupportSession","E","_storage","S","appid","appVersion","cookie_expire","init","language","referrer","hostname","utm","ad_id","campaign_id","creative_id","utm_source","utm_medium","utm_campaign","utm_term","utm_content","tr_shareuser","tr_admaster","tr_param1","tr_param2","tr_param3","tr_param4","tracer_data","$utm_from_url","browser","os","browser_version","platform","os_name","os_version","screen_width","screen","width","screen_height","height","device_model","getDeviceModel","referrer_host","latest_data","last","keyword","$latest_referrer","$latest_referrer_host","$latest_search_keyword","isLast","parseFloat","isNewIpad","exec","trim","maxTouchPoints","sg","va","in","A","ie2","T","ie","Init","Config","Start","Ready","TokenComplete","TokenStorage","TokenFetch","TokenError","ConfigUuid","ConfigWebId","ConfigDomain","CustomWebId","TokenChange","TokenReset","ConfigTransform","EnvTransform","SessionReset","SessionResetTime","Events","EventNow","CleanEvents","BeconEvent","SubmitBefore","SubmitScuess","SubmitAfter","SubmitError","SubmitVerify","DestoryInstance","Stay","ResetStay","StayReady","SetStay","RouteChange","RouteReady","Ab","AbVar","AbAllVars","AbConfig","AbExternalVersion","AbVersionChangeOn","AbVersionChangeOff","AbOpenLayer","AbCloseLayer","AbReady","AbComplete","AbTimeout","Profile","ProfileSet","ProfileSetOnce","ProfileUnset","ProfileIncrement","ProfileAppend","ProfileClear","Autotrack","AutotrackReady","CepReady","TracerReady","sessionRecord","SessionRecordStart","SessionRecordPause","SessionRecordEnd","SessionRecordReport","VisualCollectReady","VisualApiReady","VisualApiUpdate","DEBUGGER_MESSAGE","DEBUGGER_MESSAGE_SDK","DEBUGGER_MESSAGE_FETCH","DEBUGGER_MESSAGE_FETCH_RESULT","DEBUGGER_MESSAGE_EVENT","DEVTOOL_WEB_READY","z","D","G","M","getTimezoneOffset","C","R","x","is_first_time","configPersist","initConfig","collect","app_id","cookie_domain","configKey","channelUrl","channel_type","WEBID_URL","TOB_URL","REPORT_URL","storage","envInfo","user","user_unique_id","user_type","user_id","user_is_auth","user_is_login","device_id","web_id","ip_addr_id","user_unique_id_type","header","app_name","app_install_id","install_id","app_package","app_channel","app_version","ab_version","ab_client","traffic_type","client_ip","device_brand","os_api","access","region","app_language","app_region","log_type","rnd","sdk_version","sdk_lib","province","city","timezone","tz_offset","tz_name","sim_region","carrier","resolution","custom","ab_uuid_cache","evtParams","reportErrorCallback","setCustom","initDomain","initABData","channel_domain","setDomain","customDomain","getDomain","setAbCache","ab_cache","getAbCache","clearAbCache","setAbVersion","getAbVersion","setAbUuidCache","getAbUuidCache","getUrl","caller","setAppid","delete","$latest_traffic_source_type","_staging_flag","Boolean","log","info","time","setStore","getStore","O","isLog","throw","I","spiderBot","checkSpider","enable_spider","B","native","bridgeInject","AppLogBridge","bridgeReady","Promise","hasStarted","setNativeAppId","setConfig","setUserUniqueId","addHeaderInfo","removeHeaderInfo","setHeaderInfo","reportPv","onEventV3","DebuggerMesssge","events","code","profileSet","profileSetOnce","profileIncrement","profileUnset","profileAppend","N","eventLimit","enable_ttwebid","eventCache","beconEventCache","configManager","cacheStorgae","maxReport","max_report","reportTime","timeout","reportUrl","report_url","eventKey","beconKey","abKey","refer_key","reportAll","beconEvent","linster","visibilityState","reportBecon","reportTimeout","destroy","sdkStop","tokenManager","getReady","sdkReady","merge","sliceEvent","handleRefer","spa","autotrack","routeChange","$user_unique_id_type","ab_user_mode","uuid","enable_ab_uuid","includes","ab_sdk_version","session_id","sessionManager","getSessionId","local_time","floor","user_unique_type","verbose","disable_track_event","eventFilter","requestManager","useRequest","success","eventData","errorCode","failType","fail","useBeacon","disable_sendbeacon","withCredentials","U","L","cacheToken","enableCookie","enableCustomWebid","tokenKey","enable_custom_webid","setUuid","setWebId","cross_subdomain","expiresTime","cookieDomain","checkStorage","tokenType","_type_","tokenReady","checkEnv","completeTtWid","check","remoteWebid","disable_webid","Web_ID","app_key","user_agent","referer","logType","localWebId","logger","setStorage","clearUuid","reverse","getTobId","tobid","P","V","sessionKey","expireTime","disableSession","disable_session","disableSessionTimeCheck","disable_session_check","setSessionId","resetSessionId","updateSessionIdTime","sessionId","resetExpTime","sessionExp","setInterval","checkEXp","clearInterval","j","collector","requestType","request_type","supportBeacon","sendBeacon","NO_URL","IMG_ON","IMG_CATCH","BEACON_FALSE","XHR_ON","RESPONSE","TIMEOUT","customHeader","custom_request_header","useFetch","forceXhr","ontimeout","onload","responseText","abort","q","devToolReady","devToolOrigin","sendAlready","enable_debug","adapters","filterEvent","load","loadScript","src","getElementsByTagName","appendChild","parseUrl","open_devtool_web","getStorage","loadBaseInfo","loadHook","addLintener","loadDebuggerModule","loadDevTool","title","infoName","ssid","enable_stay_duration","enable_ab_test","Native","ab_channel_domain","getAbData","bridgeReport","show","levelShow","needDesc","desc","updateLog","secType","updateInfo","checkShow","searchShow","updateEvent","sendData","getToken","opener","parent","postMessage","head","createTextNode","innerHTML","getElementById","K","object","ab","stay","route","tracer","retry","visual","H","J","disableAutoPageView","staging","pluginInstances","sended","started","loadType","hook","remotePlugin","Map","Types","usePlugin","plugin","instance","inited","isNaN","spider","appBridge","enable_native","debugger","disable_auto_pv","eventManager","all","pageView","disable_route_report","getOwnPropertySymbols","start","processEvent","beaconEvent","profile","event_index","local_ms","local_time_ms","is_bav","stop","reStart","predefinePageView","pathname","url_path","$is_first_time","clearEventCache","resetStayDuration","resetStayParams","setExternalAbVersion","getVar","defaultValue","getABconfig","getAbSdkVersion","onAbSdkVersionChange","offAbSdkVersionChange","openOverlayer","closeOverlayer","getAllVars","destoryInstace","destroyInstance","W","Var","All","F","fetchStatus","refreshFetchStatus","versions","extVersions","mulilinkVersions","enable_multilink","enable_ab_visual","editMode","callbacks","changeListener","readyStatus","exposureCache","ab_cross","ab_cookie_domain","ab_timeout","fetchUrl","exposureLimit","exposure_limit","ab_batch_time","clearCache","fetchAB","loadMode","multilink_timeout_ms","checkLocal","ready","atob","scenario","getABCache","ab_ext_version","ab_version_multilink","checkFromUrl","vid","updateVersions","configVersions","updateABCache","size","getRealVar","setAbUuid","fechEvent","getRealAllVars","appId","ab_url","reportExposure","env_uuid","styleSheet","cssText","parentElement","removeChild","fetchComplete","$ab_url","$ab_modification","host","history","replaceState","aid","filterUrl","X","event_verify_url","$","maxDuration","aliveDTime","aliveName","focusState","pageStartTime","sessionStartTime","timerHandler","hard","mode","hasFocus","setParams","set_path","set_url","set_title","enable","disableCallback","enablePageAlive","removeMode","hardMode","disable","getParams","is_support_visibility_change","startTime","hidden","leave","setUpTimer","visibilitychange","beforeunload","bind","Y","closeName","activeEndTime","totalTime","activeStartTime","activeTimes","page_title","sendEventPageClose","resetData","resetParams","enablePageClose","active_times","total_duration","Z","pageAlive","pageClose","setStayParmas","reset","Q","clearIntervalFunc","max","isSessionhasEvent","endCurrentSession","sessionInterval","disable_heartbeat","lastTime","process","start_time","end_time","ee","disable_sdk_monitor","sdkOnload","sdkError","sdk_type","sdk_config","sdk_desc","error_code","error_event","tea_event_index","te","nodeName","dataset","hasAttribute","ne","nodeType","textContent","getAttribute","oe","attributes","specified","re","se","statistics","clickEvent","svg","tagName","toUpperCase","style","display","children","some","eventHandel","eventType","changeEvent","submitEvent","getPageViewEvent","beat_type","getPageLoadEvent","lcp","eventConfig","beatTime","beat","addListener","click","change","submit","pv","getDefaultConfig","beatEvent","documentElement","scrollTop","performance","getEntriesByType","renderTime","loadTime","eventSend","is_html","page_key","refer_page_key","page_manual_key","refer_page_manual_key","refer_page_title","page_path","page_host","ae","hashTag","impr","scoutConfig","ce","le","str","index","unshift","element_path","positions","he","getBoundingClientRect","left","top","element_width","element_height","clientX","clientY","touch_x","touch_y","childNodes","navigationStart","TEAVisualEditor","getOriginXpath","xpath","text","texts","element_title","element_id","element_class_name","element_type","elememt_manual_key","since_page_start_ms","page_start_ms","track_attr","attrs","ue","pe","de","page","static","exposure","parentNode","handleViewEvent","page_total_width","innerWidth","page_total_height","innerHeight","refer_page_duration_ms","scroll_width","scrollLeft","scroll_height","handleStatisticsEvent","loadEventEnd","page_init_cost_ms","handleBeadtEvent","page_viewport_width","page_viewport_height","scrollWidth","scrollHeight","fe","eventNameList","post","ge","_instance","_intersection","MutationObserver","attributeChangeObserve","modifyNodeObserve","childList","subtree","attributeOldValue","exposureAdd","exposureRemove","addedNodes","mapChild","removedNodes","_exposure_observer","me","count","buildObserver","observeMap","_observer_map","ratio","Ratio","EventHandle","_observer_instance","IntersectionObserver","_observeId","exposureEvent","threshold","visible","right","bottom","unobserve","intersectionRatio","isIntersecting","opacity","visibility","_observer","initObserver","querySelectorAll","ve","ye","autoTrackStart","collect_url","destroyed","Exposure","Listener","handleDom","methods","Net","FailNet","FailData","be","sdk","Ee","enable_tracer","limit","f_net","f_data","tracerCache","addCount","eventDate","addErrorCount","processTracer","sc","sendTracer","state","params_for_special","leavePage","Se","LogPluginObject","we","_plugin","loadExtend","exist","loadPlugin","ke","allowHash","allow_hash","fncArray","setKey","setLocation","hack","cache_key","refer_title","refer_manual_key","pushState","onpushstate","lastLocation","disable_spa_query","pathEquel","getPopStateChangeEventData","setReferCache","sendPv","onreplacestate","getLocation","URL","pageConfig","is_back","Ae","debug","optionalParams","flag","__zti_debug__","item","extendStatics","setPrototypeOf","__proto__","__extends","TypeError","__","create","__awaiter","thisArg","_arguments","generator","adopt","resolve","reject","fulfilled","step","rejected","__generator","label","sent","trys","ops","Iterator","verb","op","pop","version","BotKind","Awesomium","Cef","CefSharp","CoachJS","Electron","FMiner","Geb","NightmareJS","Phantomas","PhantomJS","Rhino","Selenium","Sequentum","SlimerJS","WebDriverIO","WebDriver","HeadlessChrome","Unknown","BotdError","_super","detect","components","detectors","detections","finalDetection","bot","detectorName","detector","detectorRes","detection","botKind","sourcesKeys","sourceKey","error_1","_c","_d","detectAppVersion","arrayIncludes","strIncludes","arrayFind","find","getObjectProps","getOwnPropertyNames","_loop_1","keys_1","state_1","countTruthy","values","detectDocumentAttributes","documentElementKeys","detectErrorTrace","errorTrace","detectEvalLengthInconsistency","evalLength","browserKind","browserEngineKind","detectFunctionBind","functionBind","detectLanguagesLengthInconsistency","languages","detectMimeTypesConsistent","mimeTypesConsistent","detectNotificationPermissions","notificationPermissions","detectPluginsArray","pluginsArray","detectPluginsLengthInconsistency","pluginsLength","android","detectProcess","electron","detectProductSub","productSub","detectUserAgent","detectWebDriver","webDriver","detectWebGL","webGL","vendor","renderer","detectWindowExternal","windowExternal","detectWindowSize","windowSize","documentFocus","outerWidth","outerHeight","detectDistinctiveProperties","distinctiveProps","getAppVersion","getDocumentElementKeys","getAttributeNames","getErrorTrace","getEvalLength","eval","getFunctionBind","Function","getBrowserEngineKind","getBrowserKind","isAndroid","isItChromium","isItGecko","getDocumentFocus","isChromium86OrNewer","Intl","Reflect","getLanguages","userLanguage","browserLanguage","systemLanguage","browserEngine","areMimeTypesConsistent","mimeTypes","isConsistent","MimeTypeArray","MimeType","getNotificationPermissions","permissions","permissionStatus","Notification","query","permission","getPluginsArray","PluginArray","getPluginsLength","getProcess","errorPrefix","getProductSub","getRTT","connection","rtt","getUserAgent","getWebDriver","webdriver","getWebGL","canvasElement","getContext","webGLContext","getParameter","VENDOR","RENDERER","getWindowExternal","external","getWindowSize","checkDistinctiveProperties","distinctivePropsList","botName","windowProps","documentProps","windowContains","documentContains","BotDetector","getComponents","getDetections","monitor","__fpjs_d_m","monitoring","__assign1","__rest","propertyIsEnumerable","DEFAULT_SIZE","DEFAULT_WAIT","stringifyBatch","createBatchSender","transport","endpoint","wait","batch","sender","getSize","getWait","setSize","setWait","getEndpoint","setEndpoint","sendBatch","flush","getBatchData","clear","EVENTS","_instanceof","hasKey","mergeDeepConcatArray","_mergeDeepMergeArray","_mergeDeepArray","_target","_source","safeVisit","visitor","paths","rest","safeCall","property","createContextAgent","stringified","contextAgent","ctx","getPrintString","padStart","prefixLength","printString","errCount","warnCount","runProcessors","fns","runFilters","mathRNG","rnds","bytesToUuid","buf","byteToHex","substr","bth","nextLink1","wrapFilters","originObservable","filters","filteredObserver","hitFilter","createDestroyAgent","removeTearDownGroup","removeByPluginName","removeByEvType","createClient","creationConfig","builder","createSender","createDefaultConfig","createConfigManager","userConfigNormalizer","initConfigNormalizer","validateInitConfig","handlers","preStartQueue","reservedNames","getBuilder","getSender","getPreStartQueue","onChange","onReady","build","preReport","processed","preBuild","built","_err","ContextPlugin","withCommandArray","captureContext","applyArgsWithContext","newClient","newClient1","methodPath","cachedCommands","capturedContext","nextKey","IntegrationPlugin","runAfterSetup","nameList","applyIntegrations","integrations","integration","integrationName","SubjectSpacer","getSubjectKeyWithoutVersion","subjectKey","SubjectPlugin","globalSubjectMap","subjectMap","filterMap","setFilter","subjectKeyWithoutVersion","filterKey","initPrivateSubject","privateSubject","getDefaultNavigator","getDefaultNetworkInformation","mozConnection","webkitConnection","captureCurrentContext","syncReportWithCapturedContext","inject","addListenerToDocument","invokeCallbackOnce","invoke","onPageUnload","invokeCbOnce","onPageNextShow","onVisibilityChange","isSupportEncrypt","btoa","encodeToBase64","encodeURI","decodeWithBase64","base64","decodeURI","getStorageWithDecoding","ret","setStorageWithEncoding","DEFAULT_STORAGE_EXPIRES","formatStorageExpires","storageExpires","getViewId","joinWithSeparator","getNetworkType","netInfo","effectiveType","InjectNetworkTypePlugin","network_type","onchange","getBeaconTransport","getResponseText","onabort","getXhrTransport","createBrowserSender","originSend","beaconTransport_1","REPORT_DOMAIN","PLUGINS_LOAD_PREFIX","SDK_VERSION","SDK_NAME","SETTINGS_PATH","BATCH_REPORT_PATH","STORAGE_PREFIX","DEFAULT_IGNORE_PATHS","DEFAULT_SAMPLE_GRANULARITY","DEFAULT_SAMPLE_CONFIG","sample_rate","include_users","sample_granularity","DEFAULT_SENDER_SIZE","normalizeInitConfig","normalizeUserConfig","parseServerConfig","serverConfig","sample","quota_rate","apdex","conditional_sample_rules","heatmap","serverTimestamp","getReportUrl","getSettingsUrl","getDefaultSessionId","toObservableArray","observers","vs","getStorageKey","bid","glueCodeForStorageSecurity","getDefaultUserIdAndDeviceId","randomIdInfo","userId","deviceId","setStorageUserIdAndDeviceId","configHolder","__SLARDAR__REPALCE__HOLDER__","createBrowserConfigManager","userConfig","parsedServerConfig","updateConfig","useLocalConfig","handleServerConfig","getServerConfig","newConfig","mergeSampleConfig","browserBuilder","common","getPluginFromRegistry","register","addEnvToSendEvent","sdk_name","InjectEnvPlugin","buildSelfErrorEvent","DEFAULT_OBSERVE_ERROR_RATE","ObserveErrorPlugin","rate","MAX_RTT","TimeCalibrationPlugin","hasCalibrated","getTime","serverTime","endTime","potential_rtt","diff_1","sdk_offset","addConfigToReportEvent","release","env","InjectConfigPlugin","InjectQueryPlugin","storageInfo","pluginBundle","pluginPathPrefix","ajax","breadcrumb","pageview","jsError","resource","resourceError","tti","fmp","blankScreen","createMinimalBrowserClient","createMinimalBrowserClient2","commandClient","others","import_minimal","require_minimal","formatUrl","startsWith","ISlardar","_ISlardar","opt","accountApiSlardar","setContext","webid","setEnv","sdkVersion","slardarGlobalName","container","dot","ua","regex","logRequestResponse","login","getSlardar","$SECURE_MONITOR","clearSlardar","isNativeFunction","checkIsInCdp","_async_to_generator","_window","_document","conditions","perm","chrome","runtime","sendMessage","getComputedStyle","__pwInitScripts","__playwright__binding__","_selenium","__webdriver_evaluate","__selenium_evaluate","__webdriver_script_function","__webdriver_script_func","__webdriver_script_fn","__fxdriver_evaluate","__driver_unwrapped","__webdriver_unwrapped","__driver_evaluate","__selenium_unwrapped","__fxdriver_unwrapped","callSelenium","_Selenium_IDE_Recorder","Buffer","_phantom","__nightmare","callPhantom","__phantomas","spawn","devicePixelRatio","_state","lastCheckTimestamp","isBot","isDevToolOpen","botDetect","botd","widthThreshold","heightThreshold","_getSlardar","$SECURE_REGION","$SECURE_VERSION","logFullPath","param","ticket","ts_sign","isBotDetect","serverData","clientData","reqHeaders","publicKey","logid","logPerformance","sign_type","store_type","process_request_duration","process_response_duration","sign_data_duration","init_pair_key_duration","rest_request_duration","signTimeout","signCache","hasSetTimeout","setSignTimeout","getCacheSignString","localTicket","sign_data","signStr","nowTime","setCacheSignString","signEffectiveTime","signCacheConfig","createTime","ignoreDuplicateOf","parseHeaders","parsed","headerArr","element","isPublishKeySign","tsSign","checkCertIsNewVersion","cert","processSignData","urlRewriteRules","req_content","timeStamp","urlObj","ele","origin_path","rewrite_path","reg","reportError","processStorageStatusData","supportedMethods","getHooksConfig","secureConfig","signType","initType","needProxy","toLocaleLowerCase","providerConfig","consumerConfig","proxyURL","providerPathList","consumerPathList","processRequestConfig","requestConfig","proxyConfig","hooksResult","__async","crypt","startTimes","scene","certType","namespace","provider","_initPairKeyTS","useCacheSign","keysInfo","getKeysInfoWithOrigin","match_md5_iframe","match_md5_local","checkSignData","ec_publicKey","ec_csr","sign","b64Cert","dataFrom","b64PubKey","b64Csr","dataLost","cryptStatus","getCookieCryptStatus","_signDataTS","signWithKeysInfo","reportLog","certHeader","__spreadProps","__spreadValues","signVersion","endTimes","storageStatus","getStorageStatus","isConnection","retryCount","reportEvent","action","pubKey","isPubKeySign","isPubKeyInit","csr","server","crossStatus","getIframeStatus","initMatch","lost","isNewCert","extras","is_pubkey_ts_sign","is_new_cert","processRequestHeader","verify","updateData","items","requestWithClientData","needUpdateUrls","setKeysAndValues","ticketGuardVersion","ticketGuardIterationVersion","requestWithCsr","requestWithCert","reqData","iterVersion","processResponseConfig","_f","_g","_h","_j","_k","_l","_m","_n","_p","_q","_r","_s","ts_sign_data","verify_result","b642str","tickets","setSignValueAsync","setSignValue","isPubkeyTssign","storeType","cryptoSDK","parseFetchHeader","IS_FETCH_API_SUPPORTED","IS_REQUEST_API_SUPPORTED","IS_HEADERS_API_SUPPORTED","SecureProxy","monkeyPatchXMLHttpRequest","secure","secureOpenArgs","nativeXMLHttpRequestOpen","that","sendArgs","baseurl","hooksConfig","nativeXMLHttpRequestSend","reqExtras","onreadystatechangeHandler","existOriginGetResponseHeader","headerObj","originStateChange","onreadystatechange","ifExistOriginCall","nativeXMLHttpRequestSetRequestHeader","monkeyPatchFetch","input","nativeFetch","fetchHeader","setType","setUpdateDataWhenVerifySuccess","update","setLogin"],"ignoreList":[],"sources":["../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/node_modules/tslib/tslib.es6.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-template/esm/utils/misc.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-template/esm/utils/is.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-template/esm/utils/object-array.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-template/esm/utils/string.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-template/esm/utils/hook-object.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-template/esm/utils/number.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-template/esm/utils/time.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-template/esm/utils/observable.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-template/esm/utils/destroy.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-template/esm/plugins/subject.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/utils/date.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/utils/defaults.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/utils/url.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/collector/client.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/utils/misc.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/collector/http.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/collector/perf.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/constants/index.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/monitors/http/trace.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/monitors/http/util.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/monitors/http/fetch.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/plugins/monitors/fetch.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/integrations/esm/fetch.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/monitors/http/xhr.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/plugins/monitors/ajax.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/integrations/esm/ajax.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/plugins/custom.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/integrations/esm/custom.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/utils/registry.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/monitors/js-error/util.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/collector/async_error.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/collector/error.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/monitors/js-error/dedupe.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/monitors/js-error/index.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/sdk-web/esm/plugins/monitors/js-error.js","../../../../node_modules/.pnpm/@slardar+integrations@2.10.0/node_modules/@slardar/integrations/esm/jsError.js","../../../../node_modules/.pnpm/@byted+tiktok-zti-call@0.1.2/node_modules/@byted/tiktok-zti-call/dist/es/index.js","../../../tiktok-zti-monitor/src/slardar/index.ts","../../../../node_modules/.pnpm/@dp+byted-tea-sdk-oversea@5.2.4/node_modules/@dp/byted-tea-sdk-oversea/es/index.min.js","../../../tiktok-zti-utils/src/index.ts","../../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs","../../../../node_modules/.pnpm/@fingerprintjs+botd@1.9.1/node_modules/@fingerprintjs/botd/dist/botd.esm.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/node_modules/tslib/tslib.es6.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/batch-sender.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/types.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/misc.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/is.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/object-array.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/string.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/context.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/hook-object.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/logger.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/number.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/processor.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/uuid.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/time.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/observable.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/utils/destroy.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/client.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/plugins/context.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/plugins/command-array.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/plugins/integration.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-template/esm/plugins/subject.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/utils/date.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/utils/defaults.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/utils/url.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/utils/registry.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/utils/capture.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/utils/misc.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/utils/encryption.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/utils/storage.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/constants/index.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/monitors/js-error/util.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/monitors/pageview/util.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/plugins/inject-network-type.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/transports/beacon.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/transports/xhr.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/sdk-web/esm/sender.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/constants.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/normalize.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/util.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/browser-config.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/builder.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/loader.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/plugins/inject-env.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/plugins/observe-error.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/plugins/time-calibration.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/plugins/inject-config.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/plugins/inject-query.js","../../../../node_modules/.pnpm/@slardar+web@1.12.4/node_modules/@slardar/web/esm/minimal.js","../../../tiktok-zti-monitor/src/utils/index.ts","../../../tiktok-zti-monitor/src/utils/checkIsInCdp.ts","../../../tiktok-zti-monitor/src/tea/log/index.ts","../../src/cache/index.ts","../../src/utils/index.ts","../../src/hooks/index.ts","../../package.json","../../src/index.tsx"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export var noop = function () { return ({}); };\nexport function id(v) {\n    return v;\n}\n//# sourceMappingURL=misc.js.map","// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isObject(o) {\n    return typeof o === 'object' && o !== null;\n}\nexport function isUndefined(o) {\n    return o === undefined;\n}\nexport function isInstanceOf(wat, base) {\n    try {\n        return wat instanceof base;\n    }\n    catch (_e) {\n        return false;\n    }\n}\nvar objProto = Object.prototype;\n// https://stackoverflow.com/a/5878101\nexport function isPlainObject(o) {\n    if (isObject(o)) {\n        if (typeof Object.getPrototypeOf === 'function') {\n            var proto = Object.getPrototypeOf(o);\n            return proto === objProto || proto === null;\n        }\n        // cannot test, requires ES3\n        /* istanbul ignore next */\n        return objProto.toString.call(o) === '[object Object]';\n    }\n    return false;\n}\nexport function isArray(o) {\n    return objProto.toString.call(o) === '[object Array]';\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isFunction(o) {\n    return typeof o === 'function';\n}\nexport function isBoolean(o) {\n    return typeof o === 'boolean';\n}\nexport function isNumber(o) {\n    return typeof o === 'number';\n}\nexport function isString(o) {\n    return typeof o === 'string';\n}\nexport function isEqual(a, b) {\n    // special\n    if (isNumber(a) && isNaN(a)) {\n        return isNumber(b) && isNaN(b);\n    }\n    // same primitive or same object\n    if (a === b) {\n        return true;\n    }\n    if (isObject(a)) {\n        if (isPlainObject(a)) {\n            return isPlainObject(b) && isEqualPlainObject(a, b);\n        }\n        else if (isArray(a)) {\n            return isArray(b) && isEqualArray(a, b);\n            //TODO: handle TypedArray, Map, Set, ArrayLike\n        }\n        else {\n            // different object\n            return false;\n        }\n    }\n    // different primitive\n    return false;\n}\nexport function isEqualPlainObject(a, b) {\n    for (var k in a) {\n        if (!isEqual(a[k], b[k])) {\n            return false;\n        }\n    }\n    return true;\n}\nexport function isEqualArray(a, b) {\n    if (a.length !== b.length) {\n        return false;\n    }\n    return a.every(function (v, i) { return isEqual(v, b[i]); });\n}\nexport function isError(wat) {\n    switch (Object.prototype.toString.call(wat)) {\n        case '[object Error]':\n            return true;\n        case '[object Exception]':\n            /* istanbul ignore next */\n            return true;\n        case '[object DOMError]':\n            return true;\n        case '[object DOMException]':\n            /* istanbul ignore next */\n            return true;\n        default:\n            /* istanbul ignore next */\n            return wat instanceof Error;\n    }\n}\nexport function isEvent(wat) {\n    return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\nexport function isErrorEvent(what) {\n    return Object.prototype.toString.call(what) === '[object ErrorEvent]';\n}\nexport function isPromiseRejectionEvent(what) {\n    return Object.prototype.toString.call(what) === '[object PromiseRejectionEvent]';\n}\n//# sourceMappingURL=is.js.map","import { __assign, __read } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport { isArray, isFunction, isObject, isPlainObject } from './is';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function omit(object) {\n    var keys = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        keys[_i - 1] = arguments[_i];\n    }\n    if (isObject(object)) {\n        var res_1 = {};\n        objectForIn(object, function (k, v) {\n            if (!arrayIncludes(keys, k)) {\n                res_1[k] = v;\n            }\n        });\n        return res_1;\n    }\n    return object;\n}\nexport function hasKey(object, key) {\n    return Object.prototype.hasOwnProperty.call(object, key);\n}\nexport function objectForIn(object, callback) {\n    if (isObject(object)) {\n        for (var i in object) {\n            if (hasKey(object, i)) {\n                callback.call(null, i, object[i]);\n            }\n        }\n    }\n}\nexport function filterObjectValueBy(obj, p) {\n    if (!isObject(obj)) {\n        return obj;\n    }\n    if (!isFunction(p)) {\n        return obj;\n    }\n    var res = {};\n    objectForIn(obj, function (key, value) {\n        if (p(value)) {\n            res[key] = value;\n        }\n    });\n    return res;\n}\n// 把source对象中的内容深度赋给target, 数组覆盖\nexport function mergeDeepCopyArray() {\n    var source = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        source[_i] = arguments[_i];\n    }\n    var result = {};\n    var k = 0;\n    while (k < source.length) {\n        result = _mergeDeepCopyArray(result, source[k++]);\n    }\n    return result;\n}\n// 把source对象中的内容深度赋给target, 数组合并\nexport function mergeDeepConcatArray() {\n    var source = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        source[_i] = arguments[_i];\n    }\n    var result = {};\n    var k = 0;\n    while (k < source.length) {\n        result = _mergeDeepMergeArray(result, source[k++]);\n    }\n    return result;\n}\nfunction _mergeDeepCopyArray(target, source) {\n    var result = __assign({}, target);\n    for (var key in source) {\n        if (hasKey(source, key) && source[key] !== undefined) {\n            if (isObject(source[key]) && isPlainObject(source[key])) {\n                result[key] = _mergeDeepCopyArray(isObject(target[key]) ? target[key] : {}, source[key]);\n            }\n            else if (isArray(source[key])) {\n                result[key] = cloneArray(source[key]);\n            }\n            else {\n                result[key] = source[key];\n            }\n        }\n    }\n    return result;\n}\n// 递归赋值\nfunction _mergeDeepMergeArray(target, source) {\n    var result = __assign({}, target);\n    for (var key in source) {\n        if (hasKey(source, key) && source[key] !== undefined) {\n            if (isObject(source[key]) && isPlainObject(source[key])) {\n                result[key] = _mergeDeepMergeArray(isObject(target[key]) ? target[key] : {}, source[key]);\n            }\n            else if (isArray(source[key]) && isArray(target[key])) {\n                result[key] = _mergeDeepArray(target[key], source[key]);\n            }\n            else {\n                result[key] = source[key];\n            }\n        }\n    }\n    return result;\n}\nfunction _mergeDeepArray(target, source) {\n    var _target = isArray(target) ? target : [];\n    var _source = isArray(source) ? source : [];\n    return Array.prototype.concat.call(_target, _source).map(function (v) {\n        if (v instanceof RegExp) {\n            return v;\n        }\n        else if (isObject(v) && isPlainObject(v)) {\n            return _mergeDeepMergeArray({}, v);\n        }\n        else if (isArray(v)) {\n            return _mergeDeepArray([], v);\n        }\n        else {\n            return v;\n        }\n    });\n}\nexport function cloneArray(array) {\n    return array.slice();\n}\n// 检查数组中是否有元素\nexport function arrayIncludes(array, value) {\n    if (!isArray(array)) {\n        return false;\n    }\n    if (array.length === 0) {\n        return false;\n    }\n    var k = 0;\n    while (k < array.length) {\n        if (array[k] === value) {\n            return true;\n        }\n        k++;\n    }\n    return false;\n}\nexport var arrayRemove = function (arr, e) {\n    if (!isArray(arr)) {\n        return arr;\n    }\n    var i = arr.indexOf(e);\n    if (i >= 0) {\n        var arr_ = arr.slice();\n        arr_.splice(i, 1);\n        return arr_;\n    }\n    return arr;\n};\n/**\n * 按路径访问对象属性\n * @param target 待访问对象\n * @param property 访问属性路径\n * @param { (target: any, property: string): any } visitor 访问器\n */\nexport var safeVisit = function (target, path, visitor) {\n    var _a, _b;\n    var paths = path.split('.');\n    var _c = __read(paths), method = _c[0], rest = _c.slice(1);\n    while (target && rest.length > 0) {\n        target = target[method];\n        _a = rest, _b = __read(_a), method = _b[0], rest = _b.slice(1);\n    }\n    if (!target) {\n        return undefined;\n    }\n    return visitor(target, method);\n};\nexport var safeSet = function (target, path, value) {\n    safeVisit(target, path, function (obj, property) {\n        try {\n            obj[property] = value;\n        }\n        catch (e) {\n            // ignore\n        }\n    });\n};\n/**\n *  按路径调用函数\n * @param target 待调用对象,如 `client`\n * @param methods 待调用方法路径,可能是一级路径 `client.start`, 或者是多级命令 `client.context.set`\n * @param args 调用参数\n */\nexport var safeCall = function (target, method, args) {\n    return safeVisit(target, method, function (obj, property) {\n        if (obj && property in obj && isFunction(obj[property])) {\n            try {\n                return obj[property].apply(obj, args);\n            }\n            catch (err) {\n                // ignore\n                return undefined;\n            }\n        }\n    });\n};\n/**\n *  按路径调用函数或获取值\n * @param target 待调用对象,如 `client`\n * @param methods 待调用方法路径或属性路径\n * @param args 调用参数\n */\nexport var safeCallOrGet = function (target, method, args) {\n    return safeVisit(target, method, function (obj, property) {\n        if (obj && property in obj) {\n            // call\n            if ((args && args.length) || isFunction(obj[property])) {\n                try {\n                    return obj[property].apply(obj, args);\n                }\n                catch (err) {\n                    // ignore\n                    return undefined;\n                }\n            }\n            else {\n                // get\n                return obj[property];\n            }\n        }\n    });\n};\nexport var applyRecord = function () {\n    var record = {};\n    var set = function (key, val) { return (record[key] = val); };\n    var del = function (key) { return delete record[key]; };\n    return [record, set, del];\n};\nexport var pick = function (obj, keys) {\n    if (!obj || !isObject(obj))\n        return obj;\n    return keys.reduce(function (prev, cur) {\n        prev[cur] = obj[cur];\n        return prev;\n    }, {});\n};\n//# sourceMappingURL=object-array.js.map","import { isArray, isString, isObject } from './is';\nexport var camelToKebab = function (str) {\n    return str.replace(/([a-z])([A-Z])/g, function (_, a, b) { return a + \"-\" + b.toLowerCase(); });\n};\nexport function getRegexp(ignore) {\n    if (!isArray(ignore)) {\n        return null;\n    }\n    return ignore.length ? joinRegExp(ignore) : null;\n}\nexport function joinRegExp(patterns) {\n    var sources = [];\n    var len = patterns.length;\n    for (var i = 0; i < len; i++) {\n        var pattern = patterns[i];\n        if (isString(pattern)) {\n            sources.push(pattern.replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1'));\n        }\n        else if (pattern && pattern.source) {\n            sources.push(pattern.source);\n        }\n    }\n    return new RegExp(sources.join('|'), 'i');\n}\nexport var checkIfHit = function (rules, url) {\n    var Rgx = getRegexp(rules || []);\n    return !!Rgx && Rgx.test(url);\n};\nexport function safeStringify(a) {\n    try {\n        return isString(a) ? a : JSON.stringify(a);\n    }\n    catch (err) {\n        return '[FAILED_TO_STRINGIFY]:' + String(err);\n    }\n}\nexport function safeJoin(input, delimiter) {\n    if (!isArray(input)) {\n        return '';\n    }\n    var output = [];\n    // eslint-disable-next-line @typescript-eslint/prefer-for-of\n    for (var i = 0; i < input.length; i++) {\n        try {\n            output.push(String(input[i]));\n        }\n        catch (e) {\n            output.push('[value cannot be serialized]');\n        }\n    }\n    return output.join(delimiter);\n}\n/**\n * get query string from map\n * @param  {Record<string | number, string | number>} map\n */\nexport var joinQueryWithMap = function (map) {\n    return isObject(map)\n        ? Object.keys(map)\n            .reduce(function (result, currentKey) {\n            result += \"&\" + currentKey + \"=\" + map[currentKey];\n            return result;\n        }, '')\n            .replace('&', '?')\n        : '';\n};\n//# sourceMappingURL=string.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { isFunction } from './is';\nimport { noop } from './misc';\n// eslint-disable-next-line @typescript-eslint/ban-types\n/**\n * You can feel free to restore when you hook a function.\n * But you ought to restore 「in order」 if you hooked a value reference or a real obj reference.Because we not store the last value referent for now.\n * eg: obj.a = 1;\n * const r_1 = hookObjectProperty(obj, 'a',() =>2)()\n * const r_2 = hookObjectProperty(obj, 'a',() =>3)()\n * r_2() // obj.a === 2\n * r_1() // obj.a === 1\n *\n * @template T\n * @template K\n * @template P\n * @param {T} obj\n * @param {K} key\n * @param {(origin: T[K], ...params: P) => T[K]} hookFunc\n * @param {boolean} isCatchError When an error occurs after calling a hooked function, we want to suppress the errors and try to call the original function by default.\n * @return {*}\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport var hookObjectProperty = function (obj, key, hookFunc, isCatchError) {\n    if (isCatchError === void 0) { isCatchError = true; }\n    return function () {\n        var params = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            params[_i] = arguments[_i];\n        }\n        if (!obj) {\n            return noop;\n        }\n        var origin = obj[key];\n        var hookedUnsafe = hookFunc.apply(void 0, __spreadArray([origin], __read(params), false));\n        var hooked = hookedUnsafe;\n        // 给所有 hook 之后的方法包一层 try catch\n        if (isFunction(hooked) && isCatchError) {\n            hooked = function () {\n                var args = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    args[_i] = arguments[_i];\n                }\n                try {\n                    return hookedUnsafe.apply(this, args);\n                }\n                catch (_a) {\n                    return isFunction(origin) && origin.apply(this, args);\n                }\n            };\n        }\n        obj[key] = hooked;\n        // strict: is break\n        return function (strict) {\n            if (!strict) {\n                hooked === obj[key] ? (obj[key] = origin) : (hookedUnsafe = origin);\n            }\n        };\n    };\n};\n/**\n * 劫持对象方法\n * 必须记得给 hookFunc 劫持的方法包 try catch !\n * 不在本方法里包是为了避免对象原方法被调用两次\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport var hookMethodDangerously = function (obj, key, hookFunc) {\n    return function () {\n        var params = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            params[_i] = arguments[_i];\n        }\n        if (!obj) {\n            return noop;\n        }\n        var origin = obj[key];\n        var hookedUnsafe = hookFunc.apply(void 0, __spreadArray([origin], __read(params), false));\n        var hooked = hookedUnsafe;\n        if (isFunction(hooked)) {\n            hooked = function () {\n                var args = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    args[_i] = arguments[_i];\n                }\n                return hookedUnsafe.apply(this, args);\n            };\n        }\n        obj[key] = hooked;\n        return function () {\n            hooked === obj[key] ? (obj[key] = origin) : (hookedUnsafe = origin);\n        };\n    };\n};\n//# sourceMappingURL=hook-object.js.map","export var isHitBySampleRate = function (sampleRate) {\n    if (Math.random() < Number(sampleRate)) {\n        return true;\n    }\n    return false;\n};\nexport var isHitByRandom = function (random, sampleRate) {\n    if (random < Number(sampleRate)) {\n        return true;\n    }\n    return false;\n};\n//# sourceMappingURL=number.js.map","import { noop } from './misc';\nexport var BUFFER_TIME = 300000; // 5分钟\nexport var applyBufferTimer = function (checkIfNeedCancel, cb, bufferTime) {\n    var tid = 0;\n    if (bufferTime === -1)\n        return noop;\n    return function () {\n        if (checkIfNeedCancel()) {\n            tid && clearTimeout(tid);\n            tid = 0;\n            return;\n        }\n        tid === 0 && (tid = setTimeout(cb, bufferTime));\n    };\n};\n//# sourceMappingURL=time.js.map","import { __read } from \"tslib\";\n/* eslint-disable @typescript-eslint/no-invalid-void-type */\nimport { noop } from './misc';\nimport { arrayRemove } from './object-array';\nimport { runFilters } from './processor';\nimport { applyBufferTimer, BUFFER_TIME } from './time';\nexport var nextLink = function (args, cb) {\n    var nextCbs = [];\n    try {\n        nextCbs = cb.reduce(function (sum, s) {\n            try {\n                var nextCb = s(args);\n                typeof nextCb === 'function' && sum.push(nextCb);\n            }\n            catch (_a) {\n                // do nothing\n            }\n            return sum;\n        }, []);\n    }\n    catch (_a) {\n        // do nothing\n    }\n    return function (nextArgs) { return nextLink(nextArgs, nextCbs); };\n};\nexport var toObservable = function (bufferTime) {\n    if (bufferTime === void 0) { bufferTime = BUFFER_TIME; }\n    var subscribers = [];\n    var __complete = [];\n    var closed = false;\n    var attachCb;\n    // 暂缓的自动销毁机制,比如5min 没有人订阅就自动销毁\n    var setCloseIfNeed = applyBufferTimer(function () { return !!subscribers.length; }, function () {\n        closed = true;\n        attachCb && attachCb[0]();\n        __complete.forEach(function (e) { return e(); });\n        __complete.length = 0;\n        attachCb = undefined;\n    }, bufferTime);\n    var unsubscribe = function (o) {\n        subscribers = arrayRemove(subscribers, o);\n        !closed && setCloseIfNeed();\n    };\n    return {\n        next: function (args) {\n            return nextLink(args, subscribers);\n        },\n        complete: function (cb) {\n            __complete.push(cb);\n        },\n        attach: function (disconnect, onSubscribe) {\n            attachCb = [disconnect, onSubscribe];\n        },\n        subscribe: function (o) {\n            if (closed)\n                throw new Error('Observer is closed');\n            subscribers.push(o);\n            attachCb && attachCb[1] && attachCb[1](o);\n            setCloseIfNeed();\n            return function () { return unsubscribe(o); };\n        },\n        unsubscribe: unsubscribe,\n    };\n};\nexport var createSafeObserver = function (observer, completeCb, bufferTime) {\n    var cur = toObservable(bufferTime);\n    try {\n        observer(cur.next, cur.attach);\n        completeCb && cur.complete(completeCb);\n    }\n    catch (_a) {\n        //\n    }\n    return [cur.subscribe, cur.unsubscribe];\n};\nexport var wrapFilters = function (originObservable, filters) {\n    var _a = __read(originObservable, 1), subscribe = _a[0];\n    var filteredObserver = function (next, tearDown) {\n        // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n        // @ts-ignore\n        var unsubscribe = subscribe(function (o) {\n            var hitFilter = runFilters(filters)(o);\n            return hitFilter ? next(o) : noop;\n        });\n        tearDown(function () {\n            unsubscribe();\n        });\n    };\n    return filteredObserver;\n};\n//# sourceMappingURL=observable.js.map","export function createDestroyAgent() {\n    var destroyed = false;\n    var data = {};\n    var removeTearDownGroup = function (tearDownGroup) {\n        tearDownGroup.length &&\n            tearDownGroup.forEach(function (v) {\n                try {\n                    v();\n                    // eslint-disable-next-line no-empty\n                }\n                catch (_a) { }\n            });\n        tearDownGroup.length = 0;\n    };\n    var removeByPluginName = function (pluginName) {\n        data[pluginName] &&\n            data[pluginName].forEach(function (e) {\n                removeTearDownGroup(e[1]);\n            });\n        data[pluginName] = undefined;\n    };\n    var removeByEvType = function (evType) {\n        Object.keys(data).forEach(function (k) {\n            data[k] &&\n                data[k].forEach(function (e) {\n                    if (e[0] === evType) {\n                        removeTearDownGroup(e[1]);\n                    }\n                });\n        });\n    };\n    return {\n        /**\n         * register tearDownGroup for a single plugin.\n         */\n        set: function (pluginName, evType, tearDownGroup) {\n            if (data[pluginName])\n                data[pluginName].push([evType, tearDownGroup]);\n            else\n                data[pluginName] = [[evType, tearDownGroup]];\n            // auto remove tearDownGroup if destroyed\n            destroyed && removeTearDownGroup(tearDownGroup);\n        },\n        has: function (pluginName) {\n            return !!data[pluginName];\n        },\n        /**\n         * remove tearDownGroup for a single plugin.\n         */\n        remove: removeByPluginName,\n        /**\n         * remove tearDownGroup by event type\n         */\n        removeByEvType: removeByEvType,\n        /**\n         * clear all tearDownGroup\n         */\n        clear: function () {\n            destroyed = true;\n            Object.keys(data).forEach(function (k) {\n                removeByPluginName(k);\n            });\n        },\n    };\n}\n/**\n * 将tearDownGroup 注册到 destroyAgent,destroyAgent会在实例销毁时自动销毁tearDownGroup\n */\nexport var registerTearDownGroup = function (client, pluginName, evType, tearDownGroup) {\n    return client.destroyAgent.set(pluginName, evType, tearDownGroup);\n};\n//# sourceMappingURL=destroy.js.map","import { __read } from \"tslib\";\nimport { createSafeObserver, wrapFilters } from '../utils/observable';\nexport var SubjectSpacer = '_';\nexport var getSubjectKeyWithoutVersion = function (subjectKey) {\n    return subjectKey.split(SubjectSpacer)[0];\n};\nexport function SubjectPlugin(client, globalSubjectMap) {\n    var subjectMap = globalSubjectMap || {};\n    var filterMap = {};\n    // filter key is subject key but without subject spacer and subject version, and it only takes effect on subsequent observers\n    var setFilter = function (subjectKeyWithoutVersion, filter) {\n        if (!filterMap[subjectKeyWithoutVersion])\n            filterMap[subjectKeyWithoutVersion] = [];\n        filterMap[subjectKeyWithoutVersion].push(filter);\n    };\n    var initSubject = function (_a) {\n        var _b = __read(_a, 2), subjectKey = _b[0], observer = _b[1];\n        var filterKey = getSubjectKeyWithoutVersion(subjectKey);\n        var filters = !!filterKey && filterMap[filterKey];\n        if (!subjectMap[subjectKey])\n            subjectMap[subjectKey] = createSafeObserver(observer, function () {\n                subjectMap[subjectKey] = undefined;\n            });\n        if (!filters)\n            return subjectMap[subjectKey];\n        return initPrivateSubject(client, [\n            subjectKey,\n            wrapFilters(subjectMap[subjectKey], filters),\n        ]);\n    };\n    client.provide('setFilter', setFilter);\n    client.provide('initSubject', initSubject);\n    client.provide('getSubject', function (key) { return subjectMap[key]; });\n    client.provide('privateSubject', {});\n}\n/**\n * 由于 Observer 带有自动销毁机制,意味着subject 只支持同步注册并使用\n */\nexport function initSubjectInGlobal(client, args) {\n    return client.initSubject(args);\n}\n/**\n * 此方法不会挂载到全局对象上,同时只支持同步注册并使用\n */\nexport function initPrivateSubject(client, _a, bufferTime) {\n    var _b = __read(_a, 2), subjectKey = _b[0], observer = _b[1];\n    var subjectMap = client.privateSubject || {};\n    if (!subjectMap[subjectKey])\n        subjectMap[subjectKey] = createSafeObserver(observer, function () {\n            subjectMap[subjectKey] = undefined;\n        }, bufferTime);\n    return subjectMap[subjectKey];\n}\n//# sourceMappingURL=subject.js.map","export var now = function () { return Date.now(); };\n//# sourceMappingURL=date.js.map","import { isFunction, isObject } from '@slardar/sdk-template';\nexport function getDefaultBrowser() {\n    if (typeof window === 'object' && isObject(window))\n        return window;\n}\nexport function getDefaultDocument() {\n    if (typeof document === 'object' && isObject(document))\n        return document;\n}\nexport function getDefaultLocation() {\n    return getDefaultBrowser() && window.location;\n}\nexport function getDefaultHistory() {\n    // eslint-disable-next-line compat/compat\n    return getDefaultBrowser() && window.history;\n}\nexport function getDefaultPerformance() {\n    if (getDefaultBrowser() && isObject(window.performance))\n        return window.performance;\n}\nexport function getDefaultPromise() {\n    if (getDefaultBrowser() && 'Promise' in window)\n        return Promise;\n}\nexport function getDefaultXMLHttpRequest() {\n    if (typeof XMLHttpRequest === 'function' && isFunction(XMLHttpRequest))\n        return XMLHttpRequest;\n}\nexport function getDefaultFetch() {\n    try {\n        // eslint-disable-next-line compat/compat\n        new Headers();\n        // eslint-disable-next-line compat/compat\n        new Request('');\n        // eslint-disable-next-line compat/compat\n        new Response();\n        // eslint-disable-next-line compat/compat\n        return window.fetch;\n    }\n    catch (_a) {\n        //\n    }\n}\nexport function getDefaultMutationObserver() {\n    if (getDefaultBrowser() && isFunction(window.MutationObserver))\n        return window.MutationObserver;\n}\nexport function getDefaultPerformanceObserver() {\n    if (getDefaultBrowser() && isFunction(window.PerformanceObserver))\n        return window.PerformanceObserver;\n}\nexport function getDefaultPerformanceEventTiming() {\n    if (getDefaultBrowser() && isFunction(window.PerformanceEventTiming))\n        return window.PerformanceEventTiming;\n}\nexport function getDefaultPerformanceTiming() {\n    var performance = getDefaultPerformance();\n    if (performance && isObject(performance.timing))\n        return performance.timing;\n}\nexport function getDefaultRaf() {\n    if (getDefaultBrowser() && 'requestAnimationFrame' in window) {\n        return window.requestAnimationFrame;\n    }\n}\nexport function getDefaultCaf() {\n    if (getDefaultBrowser() && 'cancelAnimationFrame' in window) {\n        return window.cancelAnimationFrame;\n    }\n}\nexport function getDefaultNavigator() {\n    if (getDefaultBrowser() && 'navigator' in window) {\n        return window.navigator;\n    }\n}\nexport function getDefaultNetworkInformation() {\n    var navigator = getDefaultNavigator();\n    if (navigator) {\n        return navigator.connection || navigator.mozConnection || navigator.webkitConnection;\n    }\n}\nexport function getCurrentScript() {\n    if (!document)\n        return null;\n    if (document.currentScript)\n        return document.currentScript;\n    // IE 8-10 support script readyState\n    // IE 11+ support stack trace\n    try {\n        throw new Error();\n    }\n    catch (err) {\n        // Find the second match for the \"at\" string to get file src url from stack.\n        // Specifically works with the format of stack traces in IE.\n        var i = 0;\n        var stackDetails = /at\\s+(.*)\\s+\\((.*):(\\d*):(\\d*)\\)/i.exec(err.stack);\n        // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n        var scriptLocation = (stackDetails && stackDetails[2]) || false;\n        // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n        var line = (stackDetails && stackDetails[3]) || 0;\n        var currentLocation = document.location.href.replace(document.location.hash, '');\n        var inlineScriptSource = '';\n        var scripts = document.getElementsByTagName('script'); // Live NodeList collection\n        if (scriptLocation === currentLocation) {\n            var pageSource = document.documentElement.outerHTML;\n            var inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n            inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n        }\n        for (; i < scripts.length; i++) {\n            // If ready state is interactive, return the script tag\n            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n            // @ts-ignore\n            if (scripts[i].readyState === 'interactive') {\n                return scripts[i];\n            }\n            // If src matches, return the script tag\n            if (scripts[i].src === scriptLocation) {\n                return scripts[i];\n            }\n            // If inline source matches, return the script tag\n            if (scriptLocation === currentLocation &&\n                scripts[i].innerHTML &&\n                scripts[i].innerHTML.trim() === inlineScriptSource) {\n                return scripts[i];\n            }\n        }\n        // If no match, return null\n        return null;\n    }\n}\n//# sourceMappingURL=defaults.js.map","import { getDefaultBrowser, getDefaultDocument, getDefaultLocation } from './defaults';\nexport function getFullUrl(url) {\n    var document = getDefaultDocument();\n    if (!document || !url)\n        return '';\n    var a = document.createElement('a');\n    a.href = url;\n    return a.href;\n}\nexport function parseUrl(url) {\n    var document = getDefaultDocument();\n    if (!document || !url) {\n        return {\n            url: url,\n            protocol: '',\n            domain: '',\n            query: '',\n            path: '',\n            hash: '',\n        };\n    }\n    var a = document.createElement('a');\n    a.href = url;\n    var path = a.pathname || '/';\n    /* istanbul ignore next */\n    if (path[0] !== '/') {\n        path = '/' + path;\n    }\n    return {\n        url: a.href,\n        protocol: a.protocol.slice(0, -1),\n        domain: a.hostname,\n        query: a.search.substring(1),\n        path: path,\n        hash: a.hash,\n    };\n}\nexport function getLocationUrl() {\n    var location = getDefaultBrowser() && getDefaultLocation();\n    return location ? location.href : '';\n}\n//# sourceMappingURL=url.js.map","import { __assign } from \"tslib\";\nimport { noop } from '@slardar/sdk-template';\nimport { now } from '../utils/date';\nimport { getLocationUrl } from '../utils/url';\nexport var getViewOverrides = function (config) {\n    return {\n        pid: config.pid,\n        view_id: config.viewId,\n        url: getLocationUrl(),\n    };\n};\nexport var getOverrides = function (client) {\n    var clientConfig = client.config();\n    var overrides = getViewOverrides(clientConfig);\n    overrides.context = client.context ? client.context.toString() : {};\n    return overrides;\n};\nexport var reportWithCurrentContext = function (client, timeRequiresAdjustment) {\n    if (timeRequiresAdjustment === void 0) { timeRequiresAdjustment = false; }\n    var overrides = getOverrides(client);\n    timeRequiresAdjustment && (overrides.timestamp = now());\n    return function (ev) {\n        client.report(__assign(__assign({}, ev), { overrides: overrides }));\n    };\n};\nexport var PV_SUBJECT_NAME = 'view_0';\n/**\n * 由于跟当前实例强相关 所以不能挂在global上\n */\nexport var applyPV = function (client) {\n    return function (next, tearDown) {\n        var currentOverrides = getOverrides(client);\n        var handleConfig = function (newConfig) {\n            var _a;\n            if (newConfig.viewId && newConfig.viewId !== ((_a = client.config()) === null || _a === void 0 ? void 0 : _a.viewId)) {\n                next(currentOverrides);\n                currentOverrides = __assign(__assign({}, getOverrides(client)), getViewOverrides(newConfig));\n            }\n        };\n        client.on('beforeConfig', handleConfig);\n        tearDown(function () {\n            client.off('beforeConfig', handleConfig);\n        });\n    };\n};\nexport var FIRST_PV_SUBJECT_NAME = 'f_view_0';\n/**\n * 由于跟当前实例强相关 所以不能挂在global上\n */\nexport var applyFirstPV = function (client) {\n    return function (_, tearDown) {\n        var firstOverrides = getOverrides(client);\n        tearDown(noop, function (subscriber) {\n            firstOverrides && subscriber(firstOverrides);\n        });\n    };\n};\n//# sourceMappingURL=client.js.map","import { __assign, __read } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport { isObject, noop } from '@slardar/sdk-template';\nimport { getDefaultBrowser, getDefaultDocument } from './defaults';\nexport var addListenerToWindow = function (w, type, listener, options) {\n    if (options === void 0) { options = false; }\n    w.addEventListener(type, listener, options);\n    return function () {\n        w.removeEventListener(type, listener, options);\n    };\n};\nexport var addListenerToDocument = function (d, type, listener, options) {\n    if (options === void 0) { options = false; }\n    d.addEventListener(type, listener, options);\n    return function () {\n        d.removeEventListener(type, listener, options);\n    };\n};\nexport function clearTimerWithTearDowns(timer, tearDowns) {\n    timer && tearDowns.push(function () { return clearTimeout(timer); });\n}\nexport function onPageLoad(callback) {\n    var window = getDefaultBrowser();\n    var document = getDefaultDocument();\n    if (!window || !document)\n        return;\n    if (document.readyState === 'complete') {\n        callback();\n        return;\n    }\n    addListenerToWindow(window, 'load', function () {\n        setTimeout(function () {\n            callback();\n        }, 0);\n    }, false);\n}\nexport var invokeCallbackOnce = function (cb) {\n    var hasInvoked = false;\n    var invoke = function (params) {\n        if (hasInvoked)\n            return;\n        hasInvoked = true;\n        cb && cb(params);\n    };\n    return [invoke];\n};\nexport var onPageUnload = function (cb) {\n    var window = getDefaultBrowser();\n    if (!window)\n        return;\n    var _a = __read(invokeCallbackOnce(cb), 1), invokeCbOnce = _a[0];\n    ['unload', 'beforeunload', 'pagehide'].forEach(function (ev) {\n        addListenerToWindow(window, ev, invokeCbOnce, false);\n    });\n};\nexport var onPageNextShow = function (cb) {\n    var document = getDefaultDocument();\n    var window = getDefaultBrowser();\n    if (!document || !window)\n        return;\n    var removeListener = noop;\n    var onVisibilityChange = function () {\n        if (document.visibilityState === 'visible') {\n            cb();\n            removeListener();\n        }\n    };\n    removeListener = addListenerToDocument(document, 'visibilitychange', onVisibilityChange, true);\n};\nexport var loadScript = function (url, callback) {\n    var _a;\n    /* istanbul ignore next */\n    var document = getDefaultDocument();\n    // untestable for now\n    /* istanbul ignore next */\n    if (document) {\n        var script = document.createElement('script');\n        script.src = url;\n        script.crossOrigin = 'anonymous';\n        script.onload = callback;\n        (_a = document.head) === null || _a === void 0 ? void 0 : _a.appendChild(script);\n    }\n};\nexport var getConfig = function (c, defaultConfig) {\n    if (isObject(c)) {\n        return __assign(__assign({}, defaultConfig), c);\n    }\n    else {\n        return c ? defaultConfig : false;\n    }\n};\n//# sourceMappingURL=misc.js.map","import { __read } from \"tslib\";\nimport { hookMethodDangerously } from '@slardar/sdk-template';\nimport { now, getDefaultBrowser } from '../utils';\nexport var XHR_SUBJECT_NAME = 'xhr_0';\nexport var getReportPathRegExp = function () {\n    var SELF_REPORT_PATH_REGEXP = new RegExp('\\\\/monitor_web\\\\/collect|\\\\/monitor_browser\\\\/collect\\\\/batch', 'i');\n    return function (url) { return SELF_REPORT_PATH_REGEXP.test(url); };\n};\nvar hookOpen = function (open) {\n    return function () {\n        var _a;\n        var openOptions = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            openOptions[_i] = arguments[_i];\n        }\n        // @ts-expect-error\n        ;\n        _a = __read(openOptions, 2), this._method = _a[0], this._url = _a[1];\n        return open.apply(this, openOptions);\n    };\n};\nvar hookSetHeader = function (setRequestHeader) {\n    return function () {\n        var setOptions = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            setOptions[_i] = arguments[_i];\n        }\n        this._reqHeaders = this._reqHeaders || {};\n        var _a = __read(setOptions, 2), name = _a[0], value = _a[1];\n        this._reqHeaders[name] = value;\n        return setRequestHeader && setRequestHeader.apply(this, setOptions);\n    };\n};\nvar hookOnreadystatechange = function (xhr, endNext) {\n    return hookMethodDangerously(xhr, 'onreadystatechange', function (origin) {\n        return function () {\n            var ev = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                ev[_i] = arguments[_i];\n            }\n            // @ts-expect-error\n            this.readyState === 4 && endNext(xhr);\n            return origin && origin.apply(this, ev);\n        };\n    });\n};\nvar hookSend = function (send, next) {\n    var hitReportPath = getReportPathRegExp();\n    return function () {\n        var sendOptions = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            sendOptions[_i] = arguments[_i];\n        }\n        this._start = now();\n        this._data = sendOptions === null || sendOptions === void 0 ? void 0 : sendOptions[0];\n        // not trigger the xhr subject if hit the report path\n        if (!hitReportPath(this._url)) {\n            var endNext = next([this._method, this._url, this._start, this]);\n            hookOnreadystatechange(this, endNext)();\n        }\n        return send.apply(this, sendOptions);\n    };\n};\nexport var applyXHR = function (xhr) {\n    return function (next, tearDown) {\n        if (!xhr)\n            return;\n        var tearDownGroup = [];\n        tearDownGroup.push(hookMethodDangerously(xhr, 'open', hookOpen)());\n        tearDownGroup.push(hookMethodDangerously(xhr, 'setRequestHeader', hookSetHeader)());\n        tearDownGroup.push(hookMethodDangerously(xhr, 'send', hookSend)(next));\n        tearDown(function () {\n            tearDownGroup.forEach(function (e) { return e(); });\n        });\n    };\n};\nexport var FETCH_SUBJECT_NAME = 'fetch_0';\nexport var hookFetch = function (_fetch, next) {\n    return function (req, options) {\n        if (options === void 0) { options = {}; }\n        var endNext = next([req, options]);\n        var fetchPromise = _fetch(req, options);\n        fetchPromise.then(function (res) {\n            // @ts-expect-error\n            endNext(res);\n        }, function () {\n            // @ts-expect-error\n            endNext(undefined);\n        });\n        return fetchPromise;\n    };\n};\nexport var observeFetch = function (next, tearDown) {\n    var global = getDefaultBrowser();\n    if (!global || !fetch)\n        return;\n    var tearDownGroup = [];\n    tearDownGroup.push(hookMethodDangerously(global, 'fetch', hookFetch)(next));\n    tearDown(function () {\n        tearDownGroup.forEach(function (e) { return e(); });\n    });\n};\nexport var fetchSubject = [FETCH_SUBJECT_NAME, observeFetch];\n//# sourceMappingURL=http.js.map","import { __read } from \"tslib\";\nimport { isUndefined } from '@slardar/sdk-template';\nimport { getDefaultPerformanceObserver } from '../utils';\nexport var PERFORMANCE_EVENT_TYPE = ['first-input', 'paint', 'navigation']; // used by paintMonitor / fidMonitor / timingMonitor\nexport var RESOURCE_TYPE = ['resource']; // used by resourceMonitor / resourceErrorMonitor / HttpMonitor\nexport var LONGTASK_TYPE = ['longtask']; // used by ttiMonitor / longtaskMonitor / actionMonitor / mpfidMonitor\nexport var applyPerformanceObserver = function (PerformanceObserver, callback, onFail) {\n    var observer = PerformanceObserver &&\n        new PerformanceObserver(function (list, ob) {\n            if (list.getEntries) {\n                list.getEntries().forEach(function (val, i, arr) { return callback(val, i, arr, ob); });\n            }\n            else {\n                onFail && onFail();\n            }\n        });\n    var observe = function (types) {\n        if (!PerformanceObserver || !observer)\n            return onFail && onFail();\n        try {\n            observer.observe({ entryTypes: types });\n        }\n        catch (_a) {\n            return onFail && onFail();\n        }\n    };\n    var bufferedObserver = function (type, durationThreshold) {\n        if (!PerformanceObserver || !observer)\n            return onFail && onFail();\n        try {\n            var options = { type: type, buffered: true };\n            !isUndefined(durationThreshold) && (options.durationThreshold = durationThreshold);\n            observer.observe(options);\n        }\n        catch (_a) {\n            return onFail && onFail();\n        }\n        observer.observe({ type: type, buffered: false });\n    };\n    var disconnect = function () { return observer && observer.disconnect(); };\n    return [observe, bufferedObserver, disconnect];\n};\nexport var observePerf = function (Ob, pipe, types) {\n    var _a = __read(applyPerformanceObserver(Ob, pipe), 3), observe = _a[0], disconnect = _a[2];\n    observe(types);\n    return disconnect;\n};\nexport var observePerfWithBuffer = function (Ob, pipe, type, durationThreshold) {\n    var _a = __read(applyPerformanceObserver(Ob, pipe), 3), bufferedObserver = _a[1], disconnect = _a[2];\n    bufferedObserver(type, durationThreshold);\n    return disconnect;\n};\nexport var LONGTASK_SUBJECT_NAME = 'longtask_0';\nexport var observeLongtask = function (next, tearDown) {\n    var PerformanceObserver = getDefaultPerformanceObserver();\n    if (!PerformanceObserver)\n        return;\n    tearDown(observePerf(PerformanceObserver, next, LONGTASK_TYPE));\n};\nexport var longtaskSubject = [LONGTASK_SUBJECT_NAME, observeLongtask];\nexport var RESOURCE_SUBJECT_NAME = 'resource_0';\nexport var observeResource = function (next, tearDown) {\n    var PerformanceObserver = getDefaultPerformanceObserver();\n    if (!PerformanceObserver)\n        return;\n    tearDown(observePerf(PerformanceObserver, next, RESOURCE_TYPE));\n};\nexport var resourceSubject = [RESOURCE_SUBJECT_NAME, observeResource];\n//# sourceMappingURL=perf.js.map","export var PAGEVIEW_EV_TYPE = 'pageview';\nexport var SESSION_EV_TYPE = 'session';\nexport var JS_ERROR_EV_TYPE = 'js_error';\nexport var HTTP_EV_TYPE = 'http';\nexport var RESOURCE_ERROR_EV_TYPE = 'resource_error';\nexport var RESOURCE_EV_TYPE = 'resource';\nexport var CUSTOM_EV_TYPE = 'custom';\nexport var PERFORMANCE_METRIC_EV_TYPE = 'performance';\nexport var PERFORMANCE_TIMING_EV_TYPE = 'performance_timing';\nexport var LONG_TASK_EV_TYPE = 'performance_longtask';\nexport var BLANK_SCREEN_EV_TYPE = 'blank_screen';\nexport var ACTION_EV_TYPE = 'action';\nexport var HEATMAP_EV_TYPE = 'heatmap';\n//# sourceMappingURL=index.js.map","import { isHitBySampleRate, checkIfHit } from '@slardar/sdk-template';\nimport { getConfig } from '../../utils';\nvar VERSION = '03';\nvar SAMPLED = '01';\nvar TRACEPARENT = 'traceparent';\nvar DEFAULT_TRACE_CONFIG = {\n    sampleRate: 1,\n    origins: [],\n};\nexport var uuid4 = function () {\n    var crypto = window && (window.crypto || window.msCrypto);\n    if (crypto !== void 0 && crypto.getRandomValues) {\n        var arr = new Uint16Array(8);\n        crypto.getRandomValues(arr);\n        var pad = function (num) {\n            var v = num.toString(16);\n            while (v.length < 4) {\n                v = \"0\" + v;\n            }\n            return v;\n        };\n        return pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7]);\n    }\n    return 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'.replace(/[x]/g, function () {\n        var r = (Math.random() * 16) | 0;\n        return r.toString(16);\n    });\n};\nexport var setTraceContext = function (traceConfig) {\n    var config = getConfig(traceConfig, DEFAULT_TRACE_CONFIG);\n    if (!config)\n        return;\n    var sampled = isHitBySampleRate(config.sampleRate);\n    if (!sampled)\n        return;\n    return function (url, cb) {\n        var origins = config.origins;\n        if (origins.length && checkIfHit(origins, url)) {\n            cb(TRACEPARENT, VERSION + \"-\" + uuid4() + \"-\" + uuid4().substring(16) + \"-\" + SAMPLED);\n        }\n    };\n};\nexport var setVolTraceContext = function (traceConfig, tracestate) {\n    var config = getConfig(traceConfig, DEFAULT_TRACE_CONFIG);\n    if (!config)\n        return;\n    var sampled = isHitBySampleRate(config.sampleRate);\n    if (!sampled)\n        return;\n    return function (url, cb) {\n        var origins = config.origins;\n        if (origins.length && checkIfHit(origins, url)) {\n            cb('x-rum-traceparent', \"00-\" + uuid4() + \"-\" + uuid4().substring(16) + \"-\" + SAMPLED);\n            cb('x-rum-tracestate', tracestate);\n        }\n    };\n};\n//# sourceMappingURL=trace.js.map","import { __assign, __read } from \"tslib\";\nimport { applyPerformance } from '../../utils';\nvar headerKeyRe = new RegExp('(cookie|auth|jwt|token|key|ticket|secret|credential|session|password)', 'i');\nvar headerValueRe = new RegExp('(bearer|session)', 'i');\nexport var getGetLatestEntryByName = function (performance) {\n    var _a = __read(applyPerformance(performance), 5), getEntriesByName = _a[4];\n    return function (name) {\n        return getEntriesByName(name).pop();\n    };\n};\nexport var isSensitiveHeader = function (key, value) {\n    if (!key || !value)\n        return true;\n    return headerKeyRe.test(key) || headerValueRe.test(value);\n};\nexport var applySendOnce = function (cb) {\n    var hasInvoked = false;\n    return function (metric) {\n        if (hasInvoked)\n            return;\n        hasInvoked = true;\n        cb(metric);\n    };\n};\n/**\n * Handles the full URL and payload with optional URL extraction.\n *\n * @param {string} fullUrl - The full URL to handle.\n * @param {HttpPayload} payload - The payload object to handle. Will be mutated in function inside.\n * @param {function} extractUrl - (Optional) A function to extract the URL from the full URL.\n */\nexport var handleWithExtractUrl = function (payload, extractUrl) {\n    try {\n        if (extractUrl) {\n            var original_url = payload.request.url;\n            payload.request.url = extractUrl(original_url);\n            payload.extra = __assign(__assign({}, payload.extra), { original_url: original_url });\n            // Since PerformanceResourceTiming.toJSON only works for >= Chrome V45,\n            // back-end will assign payload.response.timing.name to payload.request.url after data reported\n        }\n    }\n    catch (_e) {\n        // do nothing\n    }\n};\n//# sourceMappingURL=util.js.map","import { __assign, __read } from \"tslib\";\nimport { noop, isString, checkIfHit } from '@slardar/sdk-template';\nimport { HTTP_EV_TYPE } from '../../constants';\nimport { now, getFullUrl } from '../../utils';\nimport { isSensitiveHeader, applySendOnce, handleWithExtractUrl } from './util';\nexport var httpGetterWithFetchObserver = function (tearDownGroup, _a, fetchConfig) {\n    var _b = __read(_a, 2), fetchObserver = _b[0], getResourceObserver = _b[1];\n    var setTraceHeader = fetchConfig.setTraceHeader, ignoreUrls = fetchConfig.ignoreUrls, setContextAtReq = fetchConfig.setContextAtReq, extractUrl = fetchConfig.extractUrl;\n    // eslint-disable-next-line compat/compat\n    var Headers = window.Headers;\n    // eslint-disable-next-line compat/compat\n    var Request = window.Request;\n    if (!Request || !Headers)\n        return;\n    tearDownGroup.push(fetchObserver[0](function (_a) {\n        var _b = __read(_a, 2), req = _b[0], options = _b[1];\n        var url = getFullUrl(req instanceof Request ? req.url : req);\n        if (!isHttpURL(url) || checkIfHit(ignoreUrls, url)) {\n            return noop;\n        }\n        setTraceHeader &&\n            setTraceHeader(url, function (key, value) { return addHeader(key, value, req, options, Request, Headers); });\n        var reportWithContext = setContextAtReq();\n        var _start = now();\n        var timing = undefined;\n        var resourceTearDown = getResourceObserver()[0](function (entry) {\n            url === entry.name && !timing && (timing = entry);\n        });\n        return function (res) {\n            var payload = getEventParams(req, options, res, Request, Headers, fetchConfig, _start);\n            var reportFetchData = applySendOnce(function (data) {\n                timing && (data.response.timing = timing);\n                handleWithExtractUrl(data, extractUrl);\n                reportWithContext && reportWithContext({ ev_type: HTTP_EV_TYPE, payload: data });\n                resourceTearDown();\n            });\n            setTimeout(function () {\n                reportFetchData(payload);\n            }, 1000);\n        };\n    }));\n};\nvar isHttpURL = function (url) {\n    if (!isString(url)) {\n        return false;\n    }\n    var _a = __read(url.split(':'), 2), protocol = _a[0], path = _a[1];\n    return !path || protocol === 'http' || protocol === 'https';\n};\nvar isRequest = function (req, Request) {\n    return req instanceof Request;\n};\nvar addHeader = function (key, value, req, options, Request, Headers) {\n    var _a;\n    if (isRequest(req, Request)) {\n        req.headers.set(key, value);\n    }\n    else if (options.headers instanceof Headers) {\n        options.headers.set(key, value);\n    }\n    else {\n        options.headers = __assign(__assign({}, options.headers), (_a = {}, _a[key] = value, _a));\n    }\n};\nexport var getFetchMethod = function (req, options, Request) {\n    var method = (options && options.method) || 'get';\n    if (isRequest(req, Request)) {\n        method = req.method || method;\n    }\n    return method.toLowerCase();\n};\nvar mergeHeaders = function (Headers) {\n    var headers = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        headers[_i - 1] = arguments[_i];\n    }\n    try {\n        return headers.reduce(function (sum, cur) {\n            // eslint-disable-next-line compat/compat\n            new Headers(cur || {}).forEach(function (val, key) { return !isSensitiveHeader(key, val) && (sum[key] = val); });\n            return sum;\n        }, {});\n    }\n    catch (_a) {\n        return {};\n    }\n};\nvar getFetchBody = function (req, options, Request) {\n    if (isRequest(req, Request)) {\n        return req.body;\n    }\n    else {\n        return options === null || options === void 0 ? void 0 : options.body;\n    }\n};\nvar getEventParams = function (req, options, res, Request, Headers, props, _start) {\n    var params = {\n        api: 'fetch',\n        request: {\n            method: getFetchMethod(req, options, Request),\n            timestamp: _start,\n            url: getFullUrl(req instanceof Request ? req.url : req),\n            headers: mergeHeaders(Headers, req.headers, options.headers),\n        },\n        response: {\n            status: (res && res.status) || 0,\n            is_custom_error: false,\n            timestamp: now(),\n        },\n        duration: now() - _start,\n    };\n    var collectBodyOnError = props.collectBodyOnError, extraExtractor = props.extraExtractor;\n    var setRequestBodyIfAllowed = function () {\n        var _a;\n        collectBodyOnError && (params.request.body = (_a = getFetchBody(req, options, Request)) === null || _a === void 0 ? void 0 : _a.toString());\n    };\n    if (res) {\n        try {\n            var resHeaders = mergeHeaders(Headers, res.headers);\n            params.response.headers = resHeaders;\n            try {\n                // only when the content-type includes 'application/json' can convert to JSON.\n                ;\n                (resHeaders['content-type'] || '').indexOf('application/json') !== -1 &&\n                    extraExtractor &&\n                    res\n                        .clone()\n                        .json()\n                        .then(function (o) {\n                        var _a;\n                        var extra = extraExtractor(o, params, (_a = getFetchBody(req, options, Request)) === null || _a === void 0 ? void 0 : _a.toString());\n                        if (extra) {\n                            params.extra = extra;\n                            params.response.is_custom_error = true;\n                            setRequestBodyIfAllowed();\n                        }\n                    })\n                        .catch(noop);\n            }\n            catch (_o) {\n                // do nothing\n            }\n            res.status >= 400 && setRequestBodyIfAllowed();\n        }\n        catch (_a) {\n            // do nothing\n        }\n    }\n    else {\n        setRequestBodyIfAllowed();\n    }\n    return params;\n};\n//# sourceMappingURL=fetch.js.map","import { __assign } from \"tslib\";\nimport { id, initSubjectInGlobal, createSafeObserver, registerTearDownGroup, } from '@slardar/sdk-template';\nimport { reportWithCurrentContext } from '../../collector/client';\nimport { fetchSubject, hookFetch } from '../../collector/http';\nimport { resourceSubject } from '../../collector/perf';\nimport { HTTP_EV_TYPE } from '../../constants';\nimport { httpGetterWithFetchObserver } from '../../monitors/http/fetch';\nimport { setTraceContext, setVolTraceContext } from '../../monitors/http/trace';\nimport { getConfig } from '../../utils';\nimport { getPluginConfig } from './utils';\nexport var FETCH_MONITOR_PLUGIN_NAME = 'fetch';\nvar defaultConfig = {\n    autoWrap: true,\n    setContextAtReq: function () { return id; },\n    ignoreUrls: [],\n    collectBodyOnError: false,\n};\nexport function FetchMonitorBasePlugin(client, c) {\n    var config = getConfig(c, defaultConfig);\n    if (!config) {\n        return;\n    }\n    var tearDownGroup = [];\n    var fetchConfig = __assign(__assign({}, config), { setContextAtReq: function () { return reportWithCurrentContext(client, true); }, setTraceHeader: setTraceContext(config.trace) });\n    var getResourceObserver = function () { return initSubjectInGlobal(client, resourceSubject); };\n    fetchConfig.autoWrap &&\n        httpGetterWithFetchObserver(tearDownGroup, [initSubjectInGlobal(client, fetchSubject), getResourceObserver], fetchConfig);\n    registerTearDownGroup(client, FETCH_MONITOR_PLUGIN_NAME, HTTP_EV_TYPE, tearDownGroup);\n    client.provide('wrapFetch', function (f) {\n        var newFetch = undefined;\n        httpGetterWithFetchObserver(tearDownGroup, [\n            createSafeObserver(function (next) {\n                newFetch = hookFetch(f, next);\n            }),\n            getResourceObserver,\n        ], fetchConfig);\n        return newFetch;\n    });\n}\nexport function FetchMonitorPlugin(client) {\n    client.on('init', function () {\n        var _a;\n        var config = (_a = client.config()) === null || _a === void 0 ? void 0 : _a.plugins[FETCH_MONITOR_PLUGIN_NAME];\n        FetchMonitorBasePlugin(client, config);\n    });\n}\nexport function FetchMonitorVolPlugin(client) {\n    client.on('init', function () {\n        var _a;\n        var config = getPluginConfig(client, FETCH_MONITOR_PLUGIN_NAME, defaultConfig);\n        if (!config) {\n            return;\n        }\n        var tearDownGroup = [];\n        var fetchConfig = __assign(__assign({}, config), { setContextAtReq: function () { return reportWithCurrentContext(client, true); }, setTraceHeader: setVolTraceContext(config.trace, \"app_id=\" + ((_a = client.config()) === null || _a === void 0 ? void 0 : _a.aid) + \",origin=web\") });\n        fetchConfig.autoWrap &&\n            httpGetterWithFetchObserver(tearDownGroup, [initSubjectInGlobal(client, fetchSubject), function () { return initSubjectInGlobal(client, resourceSubject); }], fetchConfig);\n        registerTearDownGroup(client, FETCH_MONITOR_PLUGIN_NAME, HTTP_EV_TYPE, tearDownGroup);\n    });\n}\n//# sourceMappingURL=fetch.js.map","import { FetchMonitorBasePlugin, FETCH_MONITOR_PLUGIN_NAME } from '@slardar/sdk-web';\nexport var FETCH_INTEGRATION_NAME = FETCH_MONITOR_PLUGIN_NAME;\nexport var fetchPlugin = function (config) {\n    if (config === void 0) { config = {}; }\n    return ({\n        name: FETCH_INTEGRATION_NAME,\n        setup: function (client) {\n            FetchMonitorBasePlugin(client, config);\n        },\n    });\n};\n//# sourceMappingURL=fetch.js.map","import { __read } from \"tslib\";\nimport { isString, noop, checkIfHit } from '@slardar/sdk-template';\nimport { HTTP_EV_TYPE } from '../../constants';\nimport { getFullUrl, now } from '../../utils';\nimport { isSensitiveHeader, handleWithExtractUrl } from './util';\nexport var httpGetterWithXhrObserver = function (tearDownGroup, _a, xhrConfig) {\n    var _b = __read(_a, 2), xhrObserver = _b[0], getResourceObserver = _b[1];\n    var setTraceHeader = xhrConfig.setTraceHeader, ignoreUrls = xhrConfig.ignoreUrls, setContextAtReq = xhrConfig.setContextAtReq, extractUrl = xhrConfig.extractUrl;\n    tearDownGroup.push(xhrObserver[0](function (_a) {\n        var _b = __read(_a, 4), _method = _b[0], _url = _b[1], _start = _b[2], xhr = _b[3];\n        if (!_url)\n            return noop;\n        var fullUrl = getFullUrl(_url);\n        if (checkIfHit(ignoreUrls, fullUrl))\n            return noop;\n        setTraceHeader && setTraceHeader(fullUrl, function (key, value) { return xhr.setRequestHeader(key, value); });\n        var reportWithContext = setContextAtReq();\n        var timing = undefined;\n        var resourceTearDown = getResourceObserver()[0](function (entry) {\n            fullUrl === entry.name && !timing && (timing = entry);\n        });\n        return function (xhrAfterReady) {\n            var payload = getEventParams(xhrAfterReady, xhrConfig);\n            setTimeout(function () {\n                timing && (payload.response.timing = timing);\n                handleWithExtractUrl(payload, extractUrl);\n                reportWithContext && reportWithContext({ ev_type: HTTP_EV_TYPE, payload: payload });\n                resourceTearDown();\n            }, 100);\n        };\n    }));\n};\nfunction formatXHRAllResponseHeaders(headers) {\n    if (isString(headers) && headers) {\n        return headers.split('\\r\\n').reduce(function (result, line) {\n            if (isString(line)) {\n                var _a = __read(line.split(': '), 2), name_1 = _a[0], value = _a[1];\n                !isSensitiveHeader(name_1, value) && (result[name_1.toLowerCase()] = value);\n            }\n            return result;\n        }, {});\n    }\n    return {};\n}\nfunction formatRequestHeaders(headers) {\n    return Object.keys(headers).reduce(function (result, name) {\n        !isSensitiveHeader(name, headers[name]) && (result[name.toLowerCase()] = headers[name]);\n        return result;\n    }, {});\n}\nexport var getEventParams = function (xhr, props) {\n    var _method = xhr._method, _reqHeaders = xhr._reqHeaders, _url = xhr._url, _start = xhr._start, _data = xhr._data;\n    var fullUrl = getFullUrl(_url);\n    var params = {\n        api: 'xhr',\n        request: {\n            url: fullUrl,\n            method: (_method || '').toLowerCase(),\n            headers: _reqHeaders && formatRequestHeaders(_reqHeaders),\n            timestamp: _start,\n        },\n        response: {\n            status: xhr.status || 0,\n            is_custom_error: false,\n            timestamp: now(),\n        },\n        duration: now() - _start,\n    };\n    if (typeof xhr.getAllResponseHeaders === 'function') {\n        params.response.headers = formatXHRAllResponseHeaders(xhr.getAllResponseHeaders());\n    }\n    var status = params.response.status;\n    var collectBodyOnError = props.collectBodyOnError, extraExtractor = props.extraExtractor;\n    try {\n        var extra = extraExtractor === null || extraExtractor === void 0 ? void 0 : extraExtractor(xhr.response, params, _data);\n        extra && (params.extra = extra);\n        extra && (params.response.is_custom_error = true);\n        // 非 2xx , 3xx 请求,上传request body\n        if (collectBodyOnError && (extra || status >= 400)) {\n            params.request.body = _data ? \"\" + _data : undefined;\n            params.response.body = xhr.response ? \"\" + xhr.response : undefined;\n        }\n    }\n    catch (_o) {\n        // do nothing\n    }\n    return params;\n};\n//# sourceMappingURL=xhr.js.map","import { __assign } from \"tslib\";\nimport { initSubjectInGlobal, id, createSafeObserver, registerTearDownGroup, } from '@slardar/sdk-template';\nimport { reportWithCurrentContext } from '../../collector/client';\nimport { applyXHR, XHR_SUBJECT_NAME } from '../../collector/http';\nimport { resourceSubject } from '../../collector/perf';\nimport { HTTP_EV_TYPE } from '../../constants';\nimport { setTraceContext, setVolTraceContext } from '../../monitors/http/trace';\nimport { httpGetterWithXhrObserver } from '../../monitors/http/xhr';\nimport { getConfig } from '../../utils';\nimport { getPluginConfig } from './utils';\nexport var AJAX_MONITOR_PLUGIN_NAME = 'ajax';\nvar defaultConfig = {\n    autoWrap: true,\n    setContextAtReq: function () { return id; },\n    ignoreUrls: [],\n    collectBodyOnError: false,\n};\nexport function AjaxMonitorBasePlugin(client, c) {\n    var config = getConfig(c, defaultConfig);\n    if (!config) {\n        return;\n    }\n    var tearDownGroup = [];\n    var xhrConfig = __assign(__assign({}, config), { setContextAtReq: function () { return reportWithCurrentContext(client, true); }, setTraceHeader: setTraceContext(config.trace) });\n    var getResourceSubject = function () { return initSubjectInGlobal(client, resourceSubject); };\n    xhrConfig.autoWrap &&\n        httpGetterWithXhrObserver(tearDownGroup, [\n            initSubjectInGlobal(client, [XHR_SUBJECT_NAME, applyXHR(XMLHttpRequest && XMLHttpRequest.prototype)]),\n            getResourceSubject,\n        ], xhrConfig);\n    registerTearDownGroup(client, AJAX_MONITOR_PLUGIN_NAME, HTTP_EV_TYPE, tearDownGroup);\n    client.provide('wrapXhr', function (Xhr) {\n        function Ctor() {\n            var xhr = new Xhr();\n            httpGetterWithXhrObserver(tearDownGroup, [createSafeObserver(applyXHR(xhr)), getResourceSubject], xhrConfig);\n            return xhr;\n        }\n        Ctor.prototype = new Xhr();\n        ['DONE', 'HEADERS_RECIEVED', 'LOADING', 'OPENED', 'UNSENT'].forEach(function (key) {\n            Ctor[key] = Xhr[key];\n        });\n        return Ctor;\n    });\n}\nexport function AjaxMonitorPlugin(client) {\n    client.on('init', function () {\n        var _a;\n        var config = (_a = client.config()) === null || _a === void 0 ? void 0 : _a.plugins[AJAX_MONITOR_PLUGIN_NAME];\n        AjaxMonitorBasePlugin(client, config);\n    });\n}\nexport function AjaxMonitorVolPlugin(client) {\n    client.on('init', function () {\n        var _a;\n        var config = getPluginConfig(client, AJAX_MONITOR_PLUGIN_NAME, defaultConfig);\n        if (!config) {\n            return;\n        }\n        var tearDownGroup = [];\n        var xhrConfig = __assign(__assign({}, config), { setContextAtReq: function () { return reportWithCurrentContext(client, true); }, setTraceHeader: setVolTraceContext(config.trace, \"app_id=\" + ((_a = client.config()) === null || _a === void 0 ? void 0 : _a.aid) + \",origin=web\") });\n        var getResourceSubject = function () { return initSubjectInGlobal(client, resourceSubject); };\n        xhrConfig.autoWrap &&\n            httpGetterWithXhrObserver(tearDownGroup, [\n                initSubjectInGlobal(client, [XHR_SUBJECT_NAME, applyXHR(XMLHttpRequest && XMLHttpRequest.prototype)]),\n                getResourceSubject,\n            ], xhrConfig);\n        registerTearDownGroup(client, AJAX_MONITOR_PLUGIN_NAME, HTTP_EV_TYPE, tearDownGroup);\n    });\n}\n//# sourceMappingURL=ajax.js.map","import { AJAX_MONITOR_PLUGIN_NAME, AjaxMonitorBasePlugin } from '@slardar/sdk-web';\nexport var AJAX_INTEGRATION_NAME = AJAX_MONITOR_PLUGIN_NAME;\nexport var ajaxPlugin = function (config) {\n    if (config === void 0) { config = {}; }\n    return ({\n        name: AJAX_INTEGRATION_NAME,\n        setup: function (client) {\n            AjaxMonitorBasePlugin(client, config);\n        },\n    });\n};\n//# sourceMappingURL=ajax.js.map","import { isNumber, isObject, isString, safeStringify } from '@slardar/sdk-template';\nimport { CUSTOM_EV_TYPE } from '../constants';\nimport { now } from '../utils';\nvar CUSTOM_EVENT_TYPE = 'event';\nvar CUSTOM_LOG_TYPE = 'log';\nexport var normalizeCustomEventData = function (raw) {\n    if (!raw || !isObject(raw)) {\n        return;\n    }\n    // name is required\n    if (!raw['name'] || !isString(raw['name'])) {\n        return;\n    }\n    var res = {\n        name: raw['name'],\n        type: CUSTOM_EVENT_TYPE,\n    };\n    if ('metrics' in raw && isObject(raw['metrics'])) {\n        var rMetrics = raw['metrics'];\n        var metrics = {};\n        for (var k in rMetrics) {\n            if (isNumber(rMetrics[k])) {\n                metrics[k] = rMetrics[k];\n            }\n        }\n        res.metrics = metrics;\n    }\n    if ('categories' in raw && isObject(raw['categories'])) {\n        var rCategories = raw['categories'];\n        var categories = {};\n        for (var k in rCategories) {\n            categories[k] = safeStringify(rCategories[k]);\n        }\n        res.categories = categories;\n    }\n    return res;\n};\nexport var normalizeCustomLogData = function (raw) {\n    if (!raw || !isObject(raw)) {\n        return;\n    }\n    // content is required\n    if (!raw['content'] || !isString(raw['content'])) {\n        return;\n    }\n    var rContent = raw['content'];\n    var res = {\n        content: safeStringify(rContent),\n        type: CUSTOM_LOG_TYPE,\n        level: 'info',\n    };\n    if ('level' in raw) {\n        res.level = raw['level'];\n    }\n    if ('extra' in raw && isObject(raw['extra'])) {\n        var rExtra = raw['extra'];\n        var metrics = {};\n        var categories = {};\n        for (var k in rExtra) {\n            if (isNumber(rExtra[k])) {\n                metrics[k] = rExtra[k];\n            }\n            else {\n                categories[k] = safeStringify(rExtra[k]);\n            }\n        }\n        res.metrics = metrics;\n        res.categories = categories;\n    }\n    return res;\n};\nexport var CustomPlugin = function (client) {\n    var sendEvent = function (data) {\n        var normalized = normalizeCustomEventData(data);\n        if (normalized) {\n            client.report({\n                ev_type: CUSTOM_EV_TYPE,\n                payload: normalized,\n                extra: {\n                    timestamp: now(),\n                },\n            });\n        }\n    };\n    var sendLog = function (data) {\n        var normalized = normalizeCustomLogData(data);\n        if (normalized) {\n            client.report({\n                ev_type: CUSTOM_EV_TYPE,\n                payload: normalized,\n                extra: {\n                    timestamp: now(),\n                },\n            });\n        }\n    };\n    client.provide('sendEvent', sendEvent);\n    client.provide('sendLog', sendLog);\n};\n//# sourceMappingURL=custom.js.map","import { CustomPlugin } from '@slardar/sdk-web';\nexport var CUSTOM_INTEGRATION_NAME = 'custom';\nexport var customPlugin = function () { return ({\n    name: CUSTOM_INTEGRATION_NAME,\n    setup: function (client) {\n        CustomPlugin(client);\n    },\n}); };\n//# sourceMappingURL=custom.js.map","import { getDefaultBrowser } from './defaults';\n// 获取全局注册表\nexport var getGlobalRegistry = function (global) {\n    if (!global)\n        return;\n    if (!global.__SLARDAR_REGISTRY__) {\n        global.__SLARDAR_REGISTRY__ = {\n            Slardar: {\n                plugins: [],\n                errors: [],\n                subject: {},\n            },\n        };\n    }\n    return global.__SLARDAR_REGISTRY__.Slardar;\n};\nexport var reportSelfError = function () {\n    var errorInfo = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        errorInfo[_i] = arguments[_i];\n    }\n    var registry = getGlobalRegistry(getDefaultBrowser());\n    if (!registry)\n        return;\n    if (!registry.errors) {\n        registry.errors = [];\n    }\n    registry.errors.push(errorInfo);\n};\n//# sourceMappingURL=registry.js.map","import { __assign } from \"tslib\";\nimport { isError, isEvent, isPlainObject, isErrorEvent, isPromiseRejectionEvent, isString, pick, safeStringify, } from '@slardar/sdk-template';\nvar ERROR_FIELDS = ['name', 'message', 'stack', 'filename', 'lineno', 'colno'];\nexport var normalize = function (ex) {\n    var error;\n    if (!isError(ex)) {\n        if (isPlainObject(ex) || isEvent(ex) || isString(ex)) {\n            error = {\n                message: safeStringify(ex),\n            };\n        }\n    }\n    else {\n        error = pick(ex, ERROR_FIELDS);\n    }\n    return error;\n};\nexport var normalizeError = function (event) {\n    return normalize(event.error);\n};\nexport var normalizeException = function (event) {\n    var _a;\n    // dig the object of the rejection out of known event types\n    try {\n        var error = void 0;\n        // PromiseRejectionEvents store the object of the rejection under 'reason'\n        // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n        if ('reason' in event) {\n            error = event.reason;\n        }\n        // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n        // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n        // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n        // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n        // https://github.com/getsentry/sentry-javascript/issues/2380\n        else if ('detail' in event && 'reason' in event.detail) {\n            error = event.detail.reason;\n        }\n        if (error) {\n            var rejectionError = normalize(error);\n            // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n            return __assign(__assign({}, rejectionError), { name: (_a = (rejectionError && rejectionError.name)) !== null && _a !== void 0 ? _a : 'UnhandledRejection' });\n        }\n    }\n    catch (_oO) {\n        // no-empty\n    }\n};\nexport var normalizeUnknownError = function (exception) {\n    if (isErrorEvent(exception)) {\n        return normalizeError(exception);\n    }\n    else if (isPromiseRejectionEvent(exception)) {\n        return normalizeException(exception);\n    }\n    else {\n        return normalize(exception);\n    }\n};\n//# sourceMappingURL=util.js.map","import { __assign, __read, __spreadArray } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/ban-types */\nimport { isFunction, hookObjectProperty } from '@slardar/sdk-template';\nimport { normalize } from '../monitors/js-error/util';\nimport { getDefaultBrowser, getDefaultXMLHttpRequest } from '../utils';\nexport var DEFAULT_EVENT_TARGET = [\n    'EventTarget',\n    'Window',\n    'Node',\n    'ApplicationCache',\n    'ChannelMergerNode',\n    'EventSource',\n    'FileReader',\n    'HTMLUnknownElement',\n    'IDBDatabase',\n    'IDBRequest',\n    'IDBTransaction',\n    'MessagePort',\n    'Notification',\n    'SVGElementInstance',\n    'Screen',\n    'TextTrack',\n    'TextTrackCue',\n    'TextTrackList',\n    'WebSocket',\n    'Worker',\n    'XMLHttpRequest',\n    'XMLHttpRequestEventTarget',\n    'XMLHttpRequestUpload',\n];\nexport var DEFAULT_TIME_FUNCTION = [\n    'setTimeout',\n    'setInterval',\n    'requestAnimationFrame',\n    'requestIdleCallback',\n];\nexport var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\nvar ADD_EVENT_LISTENER = 'addEventListener';\nvar REMOVE_EVENT_LISTENER = 'removeEventListener';\nvar DEFAULT_SOURCE_TYPE = 'capture-global';\nexport var observeAsyncErrorWithSource = function (next, tearDown) {\n    var window = getDefaultBrowser();\n    var xhr = getDefaultXMLHttpRequest();\n    var restoreFns = [];\n    var wrap = function (fn, sourceData) {\n        if (!isFunction(fn))\n            return fn;\n        var source = {\n            type: DEFAULT_SOURCE_TYPE,\n            data: __assign({}, sourceData),\n        };\n        var hookFn = (fn._w_ || (fn._w_ = function () {\n            try {\n                // NOTE: If you are a Slardar user, and you are seeing this stack frame, it\n                //       means the Slardar SDK caught an error invoking your application code. This\n                //       is expected behavior and NOT indicative of a bug with Slardar SDK.\n                return (fn.handleEvent && isFunction(fn.handleEvent) ? fn.handleEvent : fn).apply(this, [].map.call(arguments, function (arg) { return wrap(arg, sourceData); }));\n            }\n            catch (e) {\n                var error = normalize(e);\n                error && next({ source: source, error: error });\n                throw e;\n            }\n        }));\n        hookFn._hook_ = true;\n        return hookFn;\n    };\n    window && restoreFns.push.apply(restoreFns, __spreadArray([], __read(DEFAULT_TIME_FUNCTION.filter(function (timeFunc) { return window[timeFunc]; }).map(function (timeFunc) {\n        return hookObjectProperty(window, timeFunc, function (origin) {\n            return function (handler) {\n                var params = [];\n                for (var _i = 1; _i < arguments.length; _i++) {\n                    params[_i - 1] = arguments[_i];\n                }\n                return (origin && origin.call.apply(origin, __spreadArray([this,\n                    wrap(handler, {\n                        function: timeFunc,\n                    })], __read(params), false)));\n            };\n        }, false)();\n    })), false));\n    xhr &&\n        xhr.prototype &&\n        restoreFns.push(hookObjectProperty(xhr.prototype, 'send', function (origin) {\n            return function () {\n                var _this = this;\n                var params = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    params[_i] = arguments[_i];\n                }\n                // filter 防御一个 xhr 实例被多次 send 导致 wrap 多次的情况\n                xmlHttpRequestProps\n                    .filter(function (prop) { return _this[prop] && !_this[prop]._hook_; })\n                    .forEach(function (prop) {\n                    // never restore xhr instance callback\n                    _this[prop] = wrap(_this[prop], { function: prop });\n                });\n                return origin.apply(this, params);\n            };\n        }, false)());\n    DEFAULT_EVENT_TARGET.forEach(function (target) {\n        var proto = window && window[target] && window[target].prototype;\n        if (!proto || !proto[ADD_EVENT_LISTENER]) {\n            return;\n        }\n        restoreFns.push(hookObjectProperty(proto, ADD_EVENT_LISTENER, function (origin) {\n            return function (evName, fn, options) {\n                try {\n                    var handleEventFn = fn.handleEvent;\n                    if (isFunction(handleEventFn)) {\n                        fn.handleEvent = wrap(handleEventFn, { function: 'handleEvent', target: target });\n                    }\n                }\n                catch (_a) {\n                    //\n                }\n                return origin && origin.call(this, evName, wrap(fn, { function: ADD_EVENT_LISTENER, target: target }), options);\n            };\n        }, false)());\n        restoreFns.push(hookObjectProperty(proto, REMOVE_EVENT_LISTENER, function (origin) {\n            return function (eventName, fn, options) {\n                if (fn === null || fn === void 0 ? void 0 : fn._w_) {\n                    origin.call(this, eventName, fn._w_, options);\n                }\n                return origin.call(this, eventName, fn, options);\n            };\n        }, false)());\n    });\n    tearDown(function () { return restoreFns.forEach(function (fn) { return fn(); }); });\n};\nexport var ASYNC_ERROR_SUBJECT_NAME = 'async_error_0';\nexport var asyncErrorWithSourceSubject = [\n    ASYNC_ERROR_SUBJECT_NAME,\n    observeAsyncErrorWithSource,\n];\n//# sourceMappingURL=async_error.js.map","import { getDefaultBrowser } from '../utils/defaults';\nimport { addListenerToWindow } from '../utils/misc';\nexport var ERROR_SUBJECT_NAME = 'err_0';\nexport var observeError = function (next, tearDown) {\n    var window = getDefaultBrowser();\n    if (!window)\n        return;\n    var removeListener = addListenerToWindow(window, 'error', next, true);\n    tearDown(function () {\n        removeListener();\n    });\n};\nexport var errorSubject = [ERROR_SUBJECT_NAME, observeError];\nexport var PROMISE_REJECTION_SUBJECT_NAME = 'perr_0';\nexport var observePromiseRejection = function (next, tearDown) {\n    var window = getDefaultBrowser();\n    if (!window)\n        return;\n    var removeListener = addListenerToWindow(window, 'unhandledrejection', next, true);\n    tearDown(function () {\n        removeListener();\n    });\n};\nexport var promiseRejectionSubject = [\n    PROMISE_REJECTION_SUBJECT_NAME,\n    observePromiseRejection,\n];\n//# sourceMappingURL=error.js.map","import { reportSelfError } from '../../utils';\nvar isSameErrorString = function (current, previous) {\n    return current && previous && current === previous;\n};\nvar shouldDropEvent = function (currentError, previousError) {\n    if (!currentError || !previousError) {\n        return false;\n    }\n    if (isSameErrorString(currentError.message, previousError.message) &&\n        isSameErrorString(currentError.stack, previousError.stack)) {\n        return true;\n    }\n    return false;\n};\nexport var dedupe = function () {\n    var __previousError;\n    return function (currentError) {\n        // just in case something goes wrong\n        try {\n            if (shouldDropEvent(currentError, __previousError)) {\n                __previousError = currentError;\n                return undefined;\n            }\n        }\n        catch (e) {\n            reportSelfError(e);\n        }\n        __previousError = currentError;\n        return currentError;\n    };\n};\n//# sourceMappingURL=dedupe.js.map","import { __read } from \"tslib\";\nimport { getRegexp } from '@slardar/sdk-template';\nimport { JS_ERROR_EV_TYPE } from '../../constants';\nimport { dedupe } from './dedupe';\nimport { normalizeError, normalizeException, normalizeUnknownError } from './util';\nexport var jsErrorGetterWithContext = function (report, tearDownGroup, _a, config) {\n    var _b = __read(_a, 3), errorObserver = _b[0], promiseRejectionObserver = _b[1], getAsyncErrorWithSourceObserver = _b[2];\n    var ignoreErrors = config.ignoreErrors, onerror = config.onerror, onunhandledrejection = config.onunhandledrejection, dedupeFlag = config.dedupe, captureGlobalAsync = config.captureGlobalAsync;\n    var ignoreRegExp = getRegexp(ignoreErrors);\n    var dedupeFn = dedupe();\n    var reportJsError = function (_a) {\n        var error = _a.error, extra = _a.extra, react = _a.react, source = _a.source;\n        var err = dedupeFlag ? dedupeFn(error) : error;\n        if (!err || !err.message || (ignoreRegExp && ignoreRegExp.test(err.message))) {\n            return;\n        }\n        report({\n            ev_type: JS_ERROR_EV_TYPE,\n            payload: {\n                error: err,\n                breadcrumbs: [],\n                extra: extra,\n                react: react,\n                source: source,\n            },\n        });\n    };\n    onerror &&\n        tearDownGroup.push(errorObserver[0](function (ev) { return reportJsError({ error: normalizeError(ev), source: { type: 'onerror' } }); }));\n    onunhandledrejection &&\n        tearDownGroup.push(promiseRejectionObserver[0](function (ev) {\n            return reportJsError({ error: normalizeException(ev), source: { type: 'onunhandledrejection' } });\n        }));\n    captureGlobalAsync &&\n        tearDownGroup.push(getAsyncErrorWithSourceObserver()[0](function (jsErrorPayload) {\n            reportJsError(jsErrorPayload);\n        }));\n    return function (err, extra, react) {\n        return reportJsError({ error: normalizeUnknownError(err), extra: extra, react: react, source: { type: 'manual' } });\n    };\n};\n//# sourceMappingURL=index.js.map","import { initSubjectInGlobal, registerTearDownGroup } from '@slardar/sdk-template';\nimport { asyncErrorWithSourceSubject } from '../../collector/async_error';\nimport { errorSubject, promiseRejectionSubject } from '../../collector/error';\nimport { JS_ERROR_EV_TYPE } from '../../constants';\nimport { jsErrorGetterWithContext } from '../../monitors/js-error';\nimport { getConfig } from '../../utils';\nexport { normalizeUnknownError } from '../../monitors/js-error/util';\nexport var JS_ERROR_MONITOR_PLUGIN_NAME = 'jsError';\nvar defaultConfig = {\n    ignoreErrors: [],\n    onerror: true,\n    onunhandledrejection: true,\n    captureGlobalAsync: false,\n    dedupe: true,\n};\nexport function JsErrorMonitorBasePlugin(client, c) {\n    // stop precollect listener no matter what is configured\n    window.removeEventListener('error', client.pcErr, true);\n    window.removeEventListener('unhandledrejection', client.pcRej, true);\n    var config = getConfig(c, defaultConfig);\n    if (!config) {\n        return;\n    }\n    var tearDownGroup = [];\n    var reportJsError = jsErrorGetterWithContext(function (ev) {\n        client.getBreadcrumbs && (ev.payload.breadcrumbs = client.getBreadcrumbs());\n        client.report(ev);\n    }, tearDownGroup, [\n        initSubjectInGlobal(client, errorSubject),\n        initSubjectInGlobal(client, promiseRejectionSubject),\n        function () { return initSubjectInGlobal(client, asyncErrorWithSourceSubject); },\n    ], config);\n    registerTearDownGroup(client, JS_ERROR_MONITOR_PLUGIN_NAME, JS_ERROR_EV_TYPE, tearDownGroup);\n    client.provide('captureException', reportJsError);\n}\nexport function JsErrorMonitorPlugin(client) {\n    client.on('init', function () {\n        var _a;\n        var config = (_a = client.config()) === null || _a === void 0 ? void 0 : _a.plugins[JS_ERROR_MONITOR_PLUGIN_NAME];\n        JsErrorMonitorBasePlugin(client, config);\n    });\n}\n//# sourceMappingURL=js-error.js.map","import { JS_ERROR_MONITOR_PLUGIN_NAME, JsErrorMonitorBasePlugin } from '@slardar/sdk-web';\nexport var JS_ERROR_INTEGRATION_NAME = JS_ERROR_MONITOR_PLUGIN_NAME;\nexport var jsErrorPlugin = function (config) {\n    if (config === void 0) { config = {}; }\n    return ({\n        name: JS_ERROR_INTEGRATION_NAME,\n        setup: function (client) {\n            JsErrorMonitorBasePlugin(client, config);\n        },\n    });\n};\n//# sourceMappingURL=jsError.js.map","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n  __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n  return value;\n};\n\n// src/thunk.ts\nvar CallThunk = class {\n  constructor() {\n    // 存储 Thunk 的计算结果\n    __publicField(this, \"callMap\");\n    this.callMap = {};\n  }\n  /**\n   * 定义 thunk\n   * @param thunkName - thunk 的名称\n   * @param fn - thunk 的计算函数\n   * @example\n   * ```typescript\n   * // 如果是全局定义\n   * import call from '@byted/tiktok-zti-call';\n   * decale global {\n   *   interface CallThunkMap {\n   *      alert: (param: string) => boolean\n   *   }\n   * }\n   * call.define('alert', () => {\n   *    return (param) => {\n   *       return true;\n   *    }\n   * });\n   *\n   * // 如果是自定义\n   * import {CallThunk} from '@byted/tiktok-zti-call';\n   * const call = new CallThunk<{alert: () => boolean}>();\n   * call.define('alert', () => {\n   *    return (param: string) => {\n   *      return true;\n   *    };\n   * })\n   *\n   *\n   * // 使用\n   * call.thunk('alert')('string');\n   * ```\n   */\n  define(thunkName, fn) {\n    this.callMap[thunkName] = fn();\n  }\n  /**\n   * 获取 thunk 函数\n   * @param thunkName - thunk 的名称\n   * @returns 返回指定的 thunk 函数,如果不存在返回一个空函数并输出警告信息\n   */\n  thunk(thunkName) {\n    const { callMap } = this;\n    const fn = callMap[thunkName];\n    if (typeof fn === \"function\") {\n      return fn;\n    }\n    return () => {\n      if (typeof console !== \"undefined\" && typeof console.warn === \"function\") {\n        console.warn(`The \\`${String(thunkName)}\\` is a noop thunk.`);\n      }\n    };\n  }\n};\nvar thunk_default = CallThunk;\n\n// src/event.ts\nvar CallEvent = class {\n  constructor() {\n    // eventMap 属性,键为事件名,对应值为该事件的所有回调函数(数组形式)\n    __publicField(this, \"eventMap\");\n    this.eventMap = {};\n  }\n  // on 方法,为指定事件添加回调函数\n  on(eventName, handle) {\n    const { eventMap } = this;\n    if (eventMap[eventName]) {\n      eventMap[eventName].push(handle);\n    } else {\n      eventMap[eventName] = [handle];\n    }\n  }\n  // off 方法,为指定事件移除指定或所有回调函数\n  off(eventName, handle) {\n    const { eventMap } = this;\n    if (eventMap[eventName]) {\n      const array = eventMap[eventName];\n      for (let i = array.length; i >= 0; i--) {\n        if (!handle || array[i] === handle) {\n          array.splice(i, 1);\n        }\n      }\n    }\n  }\n  // emit 方法,触发指定事件,执行其所有回调函数\n  emit(eventName, args) {\n    const { eventMap } = this;\n    const obj = eventMap[eventName];\n    if (obj) {\n      [...obj].forEach((fn) => {\n        fn(args);\n      });\n    }\n  }\n  // has 方法,判断是否存在指定事件及其回调函数\n  has(eventName, handle) {\n    const { eventMap } = this;\n    if (eventMap[eventName]) {\n      if (typeof handle === \"function\") {\n        return eventMap[eventName].indexOf(handle) !== -1;\n      }\n      return true;\n    }\n    return false;\n  }\n};\nvar event_default = CallEvent;\n\n// src/lib.ts\nvar globalObject = typeof globalThis !== \"undefined\" ? globalThis : typeof global !== \"undefined\" ? global : typeof window !== \"undefined\" ? window : typeof self !== \"undefined\" ? self : {};\n\n// src/index.ts\nvar gWindow = globalObject;\nif (!gWindow.$$CallThunkInstance) {\n  gWindow.$$CallThunkInstance = ((callThunk) => {\n    callThunk.channel = new event_default();\n    return callThunk;\n  })(new thunk_default());\n}\nvar src_default = gWindow.$$CallThunkInstance;\nvar call = gWindow.$$CallThunkInstance;\nexport {\n  CallEvent,\n  CallThunk,\n  call,\n  src_default as default,\n  gWindow\n};\n","/* eslint-disable no-nested-ternary */\n/* eslint-disable complexity */\n/* eslint-disable @typescript-eslint/member-ordering */\n/* eslint-disable @typescript-eslint/explicit-member-accessibility */\n\n// https://bytedance.larkoffice.com/wiki/wikcndzNH5w6ilZNNmmYzI6yCjg\nimport { createMinimalBrowserClient } from '@slardar/web/esm/minimal';\nimport { fetchPlugin } from '@slardar/integrations/dist/fetch';\nimport { ajaxPlugin } from '@slardar/integrations/dist/ajax';\nimport { customPlugin } from '@slardar/integrations/dist/custom';\nimport { jsErrorPlugin } from '@slardar/integrations/dist/jsError';\nimport { formatUrl } from '../utils';\nimport { ZTIRegion } from '@byted/tiktok-zti-types';\n\nclass ISlardar {\n  static _instance: ISlardar | null;\n\n  public accountApiSlardar: ReturnType<typeof createMinimalBrowserClient> | undefined = undefined;\n\n  static getSlardar(opt?: { sdkVersion: string; slardarGlobalName?: string; region: ZTIRegion }) {\n    if (!this._instance) {\n      if (!opt) {\n        throw new Error('init slardar need region params');\n      } else {\n        this._instance = new ISlardar(opt);\n        (window as any).$SECURE_MONITOR = this._instance;\n      }\n    }\n    return this._instance;\n  }\n\n  static clearSlardar() {\n    this._instance = null;\n  }\n\n  constructor(opt: { sdkVersion: string; slardarGlobalName?: string; region: ZTIRegion }) {\n    const { sdkVersion, slardarGlobalName } = opt;\n    // update context\n    if (!ISlardar._instance) {\n      this.accountApiSlardar = createMinimalBrowserClient();\n      this.accountApiSlardar('init', {\n        domain:\n          opt.region === 'oci'\n            ? 'https://mon16-normal-useast5.tiktokv.us'\n            : opt.region === 'eu'\n            ? 'https://mon-i18n.tiktokv.com'\n            : 'https://mon.tiktokv.com',\n        pluginPathPrefix:\n          opt.region === 'oci'\n            ? 'https://lf16-cdn-tos.tiktokcdn-us.com/obj/static-tx/slardar/fe/sdk-web/plugins'\n            : 'https://sf16-website-login.neutral.ttwstatic.com/obj/tiktok_web_login_static/slardar/fe/sdk-web/plugins',\n        bid: 'ucenter_tiktok_zti_sdk',\n        pid: window?.location?.host,\n        env: 'online',\n        integrations: [\n          fetchPlugin({\n            // 是否默认hook 全局上的xhr\n            autoWrap: false,\n            ignoreUrls: [/^((?!\\/passport\\/).)*$/],\n            // 请求错误 (response.statusCode >= 400) 时是否收集 request.body 与 response.body\n            collectBodyOnError: true\n          }),\n          ajaxPlugin({\n            // 是否默认hook 全局上的xhr\n            autoWrap: false,\n            ignoreUrls: [/^((?!\\/passport\\/).)*$/],\n            // 请求错误 (response.statusCode >= 400) 时是否收集 request.body 与 response.body\n            collectBodyOnError: true\n          }),\n          jsErrorPlugin({\n            onerror: false,\n            onunhandledrejection: false,\n            dedupe: false,\n            captureGlobalAsync: false\n          }),\n          customPlugin()\n        ]\n        // plugins: {\n        //   tti: false,\n        //   fmp: false,\n        //   performance: false,\n        //   resource: false,\n        //   resourceError: false,\n        //   pageview: false,\n        //   jsError: {\n        //     onerror: false,\n        //     onunhandledrejection: false,\n        //     dedupe: false,\n        //     captureGlobalAsync: false\n        //   },\n        //   breadcrumb: {\n        //     // 是否劫持 dom.click 与 dom.keypress 事件\n        //     dom: false\n        //   },\n        //   ajax: {\n        //     // 是否默认hook 全局上的xhr\n        //     autoWrap: false,\n        //     ignoreUrls: [/^((?!\\/passport\\/).)*$/],\n        //     // 请求错误 (response.statusCode >= 400) 时是否收集 request.body 与 response.body\n        //     collectBodyOnError: true\n        //   },\n        //   fetch: {\n        //     // 是否默认hook 全局上的xhr\n        //     autoWrap: false,\n        //     ignoreUrls: [/^((?!\\/passport\\/).)*$/],\n        //     // 请求错误 (response.statusCode >= 400) 时是否收集 request.body 与 response.body\n        //     collectBodyOnError: true\n        //   },\n        //   blankScreen: {\n        //     autoDetect: false, // 是否自动检测\n        //     screenshot: false // 是否在判断为白屏的时候截屏上报\n        //   }\n        // }\n      });\n      this.accountApiSlardar('start');\n      const container = this.checkEnv();\n      this.accountApiSlardar('context.set', 'container', container);\n      this.accountApiSlardar('context.set', 'sdkversion', sdkVersion);\n      // 2023年04月18日16:50:15 下线\n      // this.accountApiSlardar('sendEvent', {\n      //   name: 'secure_sdk_web',\n      // });\n      ISlardar._instance = this;\n    }\n    return ISlardar._instance;\n  }\n\n  setContext = (obj: { [x: string]: any }) => {\n    if (!this.accountApiSlardar) {\n      return;\n    }\n    // eslint-disable-next-line guard-for-in\n    for (const x in obj) {\n      this.accountApiSlardar('context.set', x, obj[x]);\n    }\n  };\n\n  setWebId = (webid: string) => {\n    if (!ISlardar?._instance?.accountApiSlardar) {\n      return;\n    }\n    ISlardar?._instance?.accountApiSlardar('config', { userId: webid });\n  };\n\n  setEnv = (env: string) => {\n    if (!ISlardar?._instance?.accountApiSlardar) {\n      return;\n    }\n    ISlardar?._instance?.accountApiSlardar('config', { env });\n  };\n\n  // 自定义打点\n  dot(params: any) {\n    if (!ISlardar?._instance?.accountApiSlardar) {\n      return;\n    }\n    try {\n      ISlardar?._instance?.accountApiSlardar('sendEvent', params);\n    } catch (error) {\n      console.log(error);\n    }\n  }\n\n  // 自定义日志\n  log(params: any) {\n    if (!ISlardar?._instance?.accountApiSlardar) {\n      return;\n    }\n    try {\n      ISlardar?._instance?.accountApiSlardar('sendLog', params);\n    } catch (error) {\n      console.log(error);\n    }\n  }\n\n  // 抛出错误\n  throw(params: any) {\n    if (!ISlardar?._instance?.accountApiSlardar) {\n      return;\n    }\n    try {\n      const { err, extra } = params;\n      ISlardar?._instance?.accountApiSlardar('captureException', err, extra);\n    } catch (error) {\n      console.log(error);\n    }\n  }\n\n  checkEnv() {\n    const ua = window?.navigator.userAgent;\n    const regex = /TTElectron/;\n    if (regex.test(ua)) {\n      return 'electron';\n    }\n    return 'web';\n  }\n\n  logRequestResponse(ctx: any, login: string) {\n    try {\n      let path = '';\n      try {\n        path = formatUrl(ctx?.config?.url);\n      } catch (error) {}\n      // const logid = ctx?.headers?.['x-tt-logid'] || '';\n      // const ticketGuardVersion = ctx?.reqHeaders?.['tt-ticket-guard-version'] || '-99';\n      // const ticketGuardIterationVersion = ctx?.reqHeaders?.['tt-ticket-guard-iteration-version'] || '-99';\n      // const requestWithCsr = ctx?.reqHeaders?.['tt-ticket-guard-client-csr'] ? '1' : '0';\n      // const requestWithCert = ctx?.reqHeaders?.['tt-ticket-guard-client-cert'] ? 1 : '0';\n      // const requestWithClientData = ctx?.reqHeaders?.['tt-ticket-guard-client-data'] ? '1' : '0';\n      // const verifyResponse = ctx?.headers?.['tt-ticket-guard-result'] || '-99';\n      // const cookieStatus = ctx?.cookieStatus || '0';\n      // const signVersion = ctx?.signVersion || '0';\n      // const cookieCrypt = ctx?.cookieCrypt || '0';\n      // const loginStatus = login;\n      // const dataFrom = ctx?.dataFrom || '-99';\n      // const crossStatus = ctx?.crossStatus || '-99';\n      // const matchLocal = ctx?.match_md5_local || '-99';\n      // const matchIframe = ctx?.match_md5_iframe || '-99';\n      // const isConnection = ctx?.isConnection || '-99';\n      // const retryCount = ctx?.retryCount || '-99';\n      // const lost = ctx?.lost || '0';\n      // const initMatch = ctx?.initMatch || '0';\n      // this.dot({\n      //   name: 'excute_response_verify_result',\n      //   metrics: { count: 1 },\n      //   categories: {\n      //     status: ctx?.headers?.['tt-ticket-guard-result'] ? 'fail' : 'success',\n      //     login: loginStatus,\n      //     csr: requestWithCsr,\n      //     cert: requestWithCert,\n      //     server: requestWithClientData,\n      //     verify: verifyResponse,\n      //     version: ticketGuardVersion,\n      //     signVersion,\n      //     cookieStatus,\n      //     path: path || '',\n      //     cookieCrypt,\n      //     dataFrom,\n      //     crossStatus,\n      //     matchLocal,\n      //     matchIframe,\n      //     isConnection,\n      //     retryCount,\n      //     lost,\n      //     initMatch,\n      //   },\n      // });\n      // this.log({\n      //   extra: {\n      //     logid,\n      //     login: loginStatus,\n      //     csr: requestWithCsr,\n      //     cert: requestWithCert,\n      //     server: requestWithClientData,\n      //     verify: verifyResponse,\n      //     version: ticketGuardVersion,\n      //     iterVersion: ticketGuardIterationVersion,\n      //     path: path || '',\n      //     cookieCrypt,\n      //     dataFrom,\n      //     crossStatus,\n      //     matchLocal,\n      //     matchIframe,\n      //     retryCount,\n      //     isConnection,\n      //   },\n      //   content: 'log reponse verify result',\n      //   level: 'info',\n      // });\n    } catch (error) {}\n  }\n}\n\nexport const getSlardar = (opt?: { sdkVersion: string; slardarGlobalName?: string; region: ZTIRegion }) => {\n  try {\n    if ((window as any).$SECURE_MONITOR) {\n      return (window as any).$SECURE_MONITOR;\n    }\n    const instance = ISlardar.getSlardar(opt);\n    if (instance) {\n      return instance;\n    } else {\n      return opt ? new ISlardar(opt) : null;\n    }\n  } catch (e) {\n    return null;\n  }\n};\n\nexport default ISlardar;\n","var e=function(){return(e=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function t(e,t){var i=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,o,r=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(i=r.return)&&i.call(r)}finally{if(o)throw o.error}}return s}function i(){for(var e=[],i=0;i<arguments.length;i++)e=e.concat(t(arguments[i]));return e}var n,o=function(){function e(){this._hooks={},this._cache=[],this._hooksCache={}}return e.prototype.on=function(e,t){e&&t&&\"function\"==typeof t&&(this._hooks[e]||(this._hooks[e]=[]),this._hooks[e].push(t))},e.prototype.once=function(e,t){var i=this;if(e&&t&&\"function\"==typeof t){this.on(e,(function n(o){t(o),i.off(e,n)}))}},e.prototype.off=function(e,t){if(e&&this._hooks[e]&&this._hooks[e].length)if(t){var i=this._hooks[e].indexOf(t);-1!==i&&this._hooks[e].splice(i,1)}else this._hooks[e]=[]},e.prototype.emit=function(e,t,i){if(i){if(!e)return;-1!==this._cache.indexOf(i)?this._emit(e,t):(this._hooksCache.hasOwnProperty(i)||(this._hooksCache[i]={}),this._hooksCache[i].hasOwnProperty(e)||(this._hooksCache[i][e]=[]),this._hooksCache[i][e].push(t))}else this._emit(e,t)},e.prototype._emit=function(e,t){e&&this._hooks[e]&&this._hooks[e].length&&i(this._hooks[e]).forEach((function(e){try{e(t)}catch(e){}}))},e.prototype.set=function(e){e&&-1===this._cache.indexOf(e)&&this._cache.push(e)},e}(),r=function(e){return null!=e&&\"[object Object]\"==Object.prototype.toString.call(e)},s=function(e){return Array.isArray(e)},a=(n=+Date.now()+Number((\"\"+Math.random()).slice(2,8)),function(){return n+=1}),c=function(e){return function(e,t,i){if(\"string\"==typeof e&&\"number\"==typeof t&&\"number\"==typeof i){var n,o=[];i=i<=25?i:i%25;var r=String.fromCharCode(i+97);n=e.split(r);for(var s=0;s<n.length;s++){var a=parseInt(n[s],i);a=1*a^t;var c=String.fromCharCode(a);o.push(c)}return o.join(\"\")}}(e,64,25)},l=function(e){!!navigator.userAgent.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/)?window.addEventListener(\"pagehide\",e,!1):window.addEventListener(\"beforeunload\",e,!1)},h=function(){var e=0;return[\"hidden\",\"msHidden\",\"webkitHidden\"].forEach((function(t){void 0!==document[t]&&(e=1)})),e},u=function(e){var t=document.createElement(\"a\");return t.href=e,t},p=function(e){var t={};try{var i=u(e).search;(i=i.slice(1)).split(\"&\").forEach((function(e){var i,n,o=e.split(\"=\");o.length&&(i=o[0],n=o[1]);try{t[i]=decodeURIComponent(void 0===n?\"\":n)}catch(e){t[i]=n}}))}catch(e){}return t};var d=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e,t){var i;i=function(){function e(){for(var e=0,t={};e<arguments.length;e++){var i=arguments[e];for(var n in i)t[n]=i[n]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function i(n){function o(){}function r(t,i,r){if(\"undefined\"!=typeof document){\"number\"==typeof(r=e({path:\"/\"},o.defaults,r)).expires&&(r.expires=new Date(1*new Date+864e5*r.expires)),r.expires=r.expires?r.expires.toUTCString():\"\";try{var s=JSON.stringify(i);/^[\\{\\[]/.test(s)&&(i=s)}catch(e){}i=n.write?n.write(i,t):encodeURIComponent(String(i)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\\(\\)]/g,escape);var a=\"\";for(var c in r)r[c]&&(a+=\"; \"+c,!0!==r[c]&&(a+=\"=\"+r[c].split(\";\")[0]));return document.cookie=t+\"=\"+i+a}}function s(e,i){if(\"undefined\"!=typeof document){for(var o={},r=document.cookie?document.cookie.split(\"; \"):[],s=0;s<r.length;s++){var a=r[s].split(\"=\"),c=a.slice(1).join(\"=\");i||'\"'!==c.charAt(0)||(c=c.slice(1,-1));try{var l=t(a[0]);if(c=(n.read||n)(c,l)||t(c),i)try{c=JSON.parse(c)}catch(e){}if(o[l]=c,e===l)break}catch(e){}}return e?o[e]:o}}return o.set=r,o.get=function(e){return s(e,!1)},o.getJSON=function(e){return s(e,!0)},o.remove=function(t,i){r(t,\"\",e(i,{expires:-1}))},o.defaults={},o.withConverter=i,o}((function(){}))},e.exports=i()})),f=function(e,t){try{return d.get(e)}catch(e){return\"\"}},g=function(e,t,i,n){try{var o=n||document.domain,r=+new Date+(i||6048e5);d.set(e,t,{expires:new Date(r),path:\"/\",domain:o})}catch(e){}},m=function(){function e(){this.cache={}}return e.prototype.setItem=function(e,t){this.cache[e]=t},e.prototype.getItem=function(e){return this.cache[e]},e.prototype.removeItem=function(e){this.cache[e]=void 0},e.prototype.getCookie=function(e,t){return f(e)},e.prototype.setCookie=function(e,t,i,n){g(e,t,i,n)},e}();var _,v,y={getItem:function(e){try{var t=localStorage.getItem(e),i=t;try{t&&\"string\"==typeof t&&(i=JSON.parse(t))}catch(e){}return i||{}}catch(e){}return{}},setItem:function(e,t){try{var i=\"string\"==typeof t?t:JSON.stringify(t);localStorage.setItem(e,i)}catch(e){}},removeItem:function(e){try{localStorage.removeItem(e)}catch(e){}},getCookie:function(e,t){return f(e)},setCookie:function(e,t,i,n){g(e,t,i,n)},isSupportLS:function(){try{return localStorage.setItem(\"_ranger-test-key\",\"hi\"),localStorage.getItem(\"_ranger-test-key\"),localStorage.removeItem(\"_ranger-test-key\"),!0}catch(e){return!1}}()},b={getItem:function(e){try{var t=sessionStorage.getItem(e),i=t;try{t&&\"string\"==typeof t&&(i=JSON.parse(t))}catch(e){}return i||{}}catch(e){}return{}},setItem:function(e,t){try{var i=\"string\"==typeof t?t:JSON.stringify(t);sessionStorage.setItem(e,i)}catch(e){}},removeItem:function(e){try{sessionStorage.removeItem(e)}catch(e){}},getCookie:function(e,t){return f(e)},setCookie:function(e,t,i,n){g(e,t,i,n)},isSupportSession:function(){try{return sessionStorage.setItem(\"_ranger-test-key\",\"hi\"),sessionStorage.getItem(\"_ranger-test-key\"),sessionStorage.removeItem(\"_ranger-test-key\"),!0}catch(e){return!1}}()},E=function(){function e(e,t){this._storage=t&&\"session\"===t?b:!e&&y.isSupportLS?y:new m}return e.prototype.getItem=function(e){return this._storage.getItem(e)},e.prototype.setItem=function(e,t){this._storage.setItem(e,t)},e.prototype.getCookie=function(e,t){return this._storage.getCookie(e,t)},e.prototype.setCookie=function(e,t,i,n){this._storage.setCookie(e,t,i,n)},e.prototype.removeItem=function(e){this._storage.removeItem(e)},e}(),S=function(){function e(e,t,i){this.appid=e,this.domain=t,this.userAgent=window.navigator.userAgent,this.appVersion=window.navigator.appVersion,this.cookie_expire=i}return e.prototype.init=function(){var e=window.navigator.userAgent,t=window.navigator.language,i=document.referrer,n=i?u(i).hostname:\"\",o=p(window.location.href),r=/Mobile|htc|mini|Android|iP(ad|od|hone)/.test(this.appVersion)?\"wap\":\"web\";this.utm=function(e,t,i,n){var o=new E(!1,\"session\"),r=e?\"_$utm_from_url_\"+e:\"_$utm_from_url\",s={},a=[\"tr_shareuser\",\"tr_admaster\",\"tr_param1\",\"tr_param2\",\"tr_param3\",\"tr_param4\",\"$utm_from_url\"],c={ad_id:Number(t.ad_id)||void 0,campaign_id:Number(t.campaign_id)||void 0,creative_id:Number(t.creative_id)||void 0,utm_source:t.utm_source,utm_medium:t.utm_medium,utm_campaign:t.utm_campaign,utm_term:t.utm_term,utm_content:t.utm_content,tr_shareuser:t.tr_shareuser,tr_admaster:t.tr_admaster,tr_param1:t.tr_param1,tr_param2:t.tr_param2,tr_param3:t.tr_param3,tr_param4:t.tr_param4};try{var l=!1;for(var h in c)c[h]&&(-1!==a.indexOf(h)?(s.hasOwnProperty(\"tracer_data\")||(s.tracer_data={}),s.tracer_data[h]=c[h]):s[h]=c[h],l=!0);l&&o.setItem(r,\"1\"),o.getItem(r)&&(s.hasOwnProperty(\"tracer_data\")||(s.tracer_data={}),s.tracer_data.$utm_from_url=1)}catch(e){return c}return s}(this.appid,o,this.domain,this.cookie_expire);var s=this.browser(),a=this.os();return{browser:s.browser,browser_version:s.browser_version,platform:r,os_name:a.os_name,os_version:a.os_version,userAgent:e,screen_width:window.screen&&window.screen.width,screen_height:window.screen&&window.screen.height,device_model:this.getDeviceModel(a.os_name),language:t,referrer:i,referrer_host:n,utm:this.utm,latest_data:this.last(i,n)}},e.prototype.last=function(e,t){var i=\"\",n=\"\",o=\"\",r=location.hostname,s=!1;if(e&&t&&r!==t){i=e,n=t,s=!0;var a=p(e);a.keyword&&(o=a.keyword)}return{$latest_referrer:i,$latest_referrer_host:n,$latest_search_keyword:o,isLast:s}},e.prototype.browser=function(){var e,t,i=\"\",n=\"\"+parseFloat(this.appVersion),o=this.userAgent;return-1!==o.indexOf(\"Edge\")||-1!==o.indexOf(\"Edg\")?(i=\"Microsoft Edge\",-1!==o.indexOf(\"Edge\")?(e=o.indexOf(\"Edge\"),n=o.substring(e+5)):(e=o.indexOf(\"Edg\"),n=o.substring(e+4))):-1!==(e=o.indexOf(\"MSIE\"))?(i=\"Microsoft Internet Explorer\",n=o.substring(e+5)):-1!==(e=o.indexOf(\"Lark\"))?(i=\"Lark\",n=o.substring(e+5,e+11)):-1!==o.indexOf(\"Chrome\")?-1!==(e=o.indexOf(\"TTWebView\"))?(i=\"TTWebView\",n=o.substring(e+10,e+23)):(-1!==(e=o.indexOf(\"Chrome\"))||-1!==(e=o.indexOf(\"Chrome\")))&&(i=\"Chrome\",n=o.substring(e+7)):-1!==o.indexOf(\"Safari\")?-1!==(e=o.indexOf(\"Safari\"))&&(i=\"Safari\",n=o.substring(e+7),-1!==(e=o.indexOf(\"Version\"))&&(n=o.substring(e+8))):-1!==(e=o.indexOf(\"Firefox\"))&&(i=\"Firefox\",n=o.substring(e+8)),-1!==(t=n.indexOf(\";\"))&&(n=n.substring(0,t)),-1!==(t=n.indexOf(\" \"))&&(n=n.substring(0,t)),-1!==(t=n.indexOf(\")\"))&&(n=n.substring(0,t)),{browser:i,browser_version:n}},e.prototype.os=function(){for(var e=\"\",t=\"\",i=[{s:\"Windows 10\",r:/(Windows 10.0|Windows NT 10.0|Windows NT 10.1)/},{s:\"Windows 8.1\",r:/(Windows 8.1|Windows NT 6.3)/},{s:\"Windows 8\",r:/(Windows 8|Windows NT 6.2)/},{s:\"Windows 7\",r:/(Windows 7|Windows NT 6.1)/},{s:\"Android\",r:/Android/},{s:\"iOS\",r:/(iPhone|iPad|iPod)/},{s:\"Mac OS X\",r:/Mac OS X/},{s:\"Mac OS\",r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:\"ChromeOS\",r:/CrOS/},{s:\"Linux\",r:/(Linux|X11)/},{s:\"Sun OS\",r:/SunOS/}],n=0;n<i.length;n++){var o=i[n];if(o.r.test(this.userAgent)){\"Mac OS X\"===(e=o.s)&&this.isNewIpad()&&(e=\"iOS\");break}}var r=function(e,t){var i=e.exec(t);return i&&i[1]?i[1]:\"\"},s=function(e,t){var i=RegExp(\"(?:^|[^A-Z0-9-_]|[^A-Z0-9-]_|sprd-)(?:\"+e+\")\",\"i\").exec(t);return i?i.slice(1)[0]:\"\"};/Windows/.test(e)&&(t=r(/Windows (.*)/,e),e=\"windows\");var a,c;switch(e){case\"Mac OS X\":t=s(\"Mac[ +]OS[ +]X(?:[ /](?:Version )?(\\\\d+(?:[_\\\\.]\\\\d+)+))?\",this.userAgent),e=\"mac\";break;case\"Android\":a=this.userAgent,(c=r(/Android ([\\.\\_\\d]+)/,a))||(c=r(/Android\\/([\\.\\_\\d]+)/,a)),t=c,e=\"android\";break;case\"iOS\":t=this.isNewIpad()?s(\"Mac[ +]OS[ +]X(?:[ /](?:Version )?(\\\\d+(?:[_\\\\.]\\\\d+)+))?\",this.userAgent):(t=/OS (\\d+)_(\\d+)_?(\\d+)?/.exec(this.appVersion))?t[1]+\".\"+t[2]+\".\"+(0|t[3]):\"\",e=\"ios\";break;case\"chromeOS\":var l=this.userAgent.indexOf(\"x86_64\");t=this.userAgent.substring(l+7,l+16)}return{os_name:e,os_version:t}},e.prototype.getDeviceModel=function(e){var t=\"\";try{if(\"android\"===e)navigator.userAgent.split(\";\").forEach((function(e){e.indexOf(\"Build/\")>-1&&(t=e.slice(0,e.indexOf(\"Build/\")))}));else if(\"ios\"===e||\"mac\"===e||\"windows\"===e)if(this.isNewIpad())t=\"iPad\";else{var i=navigator.userAgent.replace(\"Mozilla/5.0 (\",\"\"),n=i.indexOf(\";\");t=i.slice(0,n)}}catch(e){return t.trim()}return t.trim()},e.prototype.isNewIpad=function(){return void 0!==this.userAgent&&\"MacIntel\"===navigator.platform&&\"number\"==typeof navigator.maxTouchPoints&&navigator.maxTouchPoints>1},e}(),w={sg:\"1fz22z22z1nz21z4mz4bz4bz21z1ez18z1jz1gz49z1kz1az21z4az19z27z22z1cz1mz24z1cz20z21z1cz18z4az1az1mz1k\",va:\"1fz22z22z1nz21z4mz4bz4bz1kz18z1jz1gz24z18z49z1kz1az21z4az19z27z22z1cz1mz24z1cz20z21z1cz18z4az1az1mz1k\"},k={va:\"1fz22z22z1nz21z4mz4bz4bz22z1mz19z1jz1mz1ez4az1gz22z1mz19z21z1lz21z21z1bz1iz4az1az1mz1k\",sg:\"1fz22z22z1nz21z4mz4bz4bz22z1mz19z1jz1mz1ez4az22z1mz19z21z1lz21z21z1bz1iz4az1az1mz1k\",in:\"1fz22z22z1nz21z4mz4bz4bz22z1mz19z1jz1mz1ez4az1gz22z1mz19z21z1lz21z21z1bz1iz4az1az1mz1k\"},A={sg:\"1fz22z22z1nz21z4mz4bz4bz1kz1az21z49z21z1ez4az22z1gz1iz22z1mz1iz24z4az1az1mz1k\",va:\"1fz22z22z1nz21z4mz4bz4bz1kz1az21z49z24z18z4az22z1gz1iz22z1mz1iz24z4az1az1mz1k\",in:\"1fz22z22z1nz21z4mz4bz4bz1kz1az21z49z24z18z49z23z21z1cz18z21z22z4ez18z4az22z1gz1iz22z1mz1iz24z4az1az1mz1k\",ie2:\"1fz22z22z1nz21z4mz4bz4bz1kz1az21z49z1gz1cz4ez4az22z1gz1iz22z1mz1iz25z4az1cz23\"},T={sg:\"1fz22z22z1nz21z4mz4bz4bz1kz1az21z4az22z1gz1iz22z1mz1iz25z4az23z21\",va:\"1fz22z22z1nz21z4mz4bz4bz1kz1az21z4az22z1gz1iz22z1mz1iz24z4az23z21\",ie:\"1fz22z22z1nz21z4mz4bz4bz1kz1az21z49z1gz1cz4az22z1gz1iz22z1mz1iz25z4az1cz23\",ie2:\"1fz22z22z1nz21z4mz4bz4bz1kz1az21z49z1gz1cz4ez4az22z1gz1iz22z1mz1iz25z4az1cz23\"};!function(e){e.Init=\"init\",e.Config=\"config\",e.Start=\"start\",e.Ready=\"ready\",e.TokenComplete=\"token-complete\",e.TokenStorage=\"token-storage\",e.TokenFetch=\"token-fetch\",e.TokenError=\"token-error\",e.ConfigUuid=\"config-uuid\",e.ConfigWebId=\"config-webid\",e.ConfigDomain=\"config-domain\",e.CustomWebId=\"custom-webid\",e.TokenChange=\"token-change\",e.TokenReset=\"token-reset\",e.ConfigTransform=\"config-transform\",e.EnvTransform=\"env-transform\",e.SessionReset=\"session-reset\",e.SessionResetTime=\"session-reset-time\",e.Event=\"event\",e.Events=\"events\",e.EventNow=\"event-now\",e.CleanEvents=\"clean-events\",e.BeconEvent=\"becon-event\",e.SubmitBefore=\"submit-before\",e.SubmitScuess=\"submit-scuess\",e.SubmitAfter=\"submit-after\",e.SubmitError=\"submit-error\",e.SubmitVerify=\"submit-verify\",e.DestoryInstance=\"destory-instance\",e.Stay=\"stay\",e.ResetStay=\"reset-stay\",e.StayReady=\"stay-ready\",e.SetStay=\"set-stay\",e.RouteChange=\"route-change\",e.RouteReady=\"route-ready\",e.Ab=\"ab\",e.AbVar=\"ab-var\",e.AbAllVars=\"ab-all-vars\",e.AbConfig=\"ab-config\",e.AbExternalVersion=\"ab-external-version\",e.AbVersionChangeOn=\"ab-version-change-on\",e.AbVersionChangeOff=\"ab-version-change-off\",e.AbOpenLayer=\"ab-open-layer\",e.AbCloseLayer=\"ab-close-layer\",e.AbReady=\"ab-ready\",e.AbComplete=\"ab-complete\",e.AbTimeout=\"ab-timeout\",e.Profile=\"profile\",e.ProfileSet=\"profile-set\",e.ProfileSetOnce=\"profile-set-once\",e.ProfileUnset=\"profile-unset\",e.ProfileIncrement=\"profile-increment\",e.ProfileAppend=\"profile-append\",e.ProfileClear=\"profile-clear\",e.Autotrack=\"autotrack\",e.AutotrackReady=\"autotrack-ready\",e.CepReady=\"cep-ready\",e.TracerReady=\"tracer-ready\",e.sessionRecord=\"session-record\",e.SessionRecordStart=\"session-record-start\",e.SessionRecordPause=\"session-record-pause\",e.SessionRecordEnd=\"session-record-end\",e.SessionRecordReport=\"session-record-report\",e.VisualCollectReady=\"visual-collect-ready\",e.VisualApiReady=\"visual-api-ready\",e.VisualApiUpdate=\"visual-api-update\"}(_||(_={})),function(e){e.DEBUGGER_MESSAGE=\"debugger-message\",e.DEBUGGER_MESSAGE_SDK=\"debugger-message-sdk\",e.DEBUGGER_MESSAGE_FETCH=\"debugger-message-fetch\",e.DEBUGGER_MESSAGE_FETCH_RESULT=\"debugger-message-fetch-result\",e.DEBUGGER_MESSAGE_EVENT=\"debugger-message-event\",e.DEVTOOL_WEB_READY=\"devtool-web-ready\"}(v||(v={}));var z,D=_,G=void 0,M=(new Date).getTimezoneOffset(),C=parseInt(\"\"+-M/60,10),R=60*M,x=function(){function t(e,t){this.is_first_time=!0,this.configPersist=!1,this.initConfig=t,this.collect=e;var i=new S(t.app_id,t.cookie_domain||\"\",t.cookie_expire||6048e5).init(),n=\"__tea_cache_first_\"+t.app_id;this.configKey=\"__tea_cache_config_\"+t.app_id,this.sessionStorage=new E(!1,\"session\"),this.localStorage=new E(!1,\"local\"),this.channelUrl=\"tcpy\"===t.channel_type||\"ttp\"===t.channel_type?{WEBID_URL:\"/v1/user/webid\",TOB_URL:\"\",REPORT_URL:\"/v1/list\"}:{WEBID_URL:\"/webid\",TOB_URL:\"/tobid\",REPORT_URL:\"/list\"},t.configPersist&&(this.configPersist=!0,this.storage=1===t.configPersist?this.sessionStorage:this.localStorage);var o=this.localStorage.getItem(n);o&&1==o?this.is_first_time=!1:(this.is_first_time=!0,this.localStorage.setItem(n,\"1\")),this.envInfo={user:{user_unique_id:G,user_type:G,user_id:G,user_is_auth:G,user_is_login:G,device_id:G,web_id:G,ip_addr_id:G,user_unique_id_type:G},header:{app_id:G,app_name:G,app_install_id:G,install_id:G,app_package:G,app_channel:G,app_version:G,ab_version:G,os_name:i.os_name,os_version:i.os_version,device_model:i.device_model,ab_client:G,traffic_type:G,client_ip:G,device_brand:G,os_api:G,access:G,language:i.language,region:G,app_language:G,app_region:G,creative_id:i.utm.creative_id,ad_id:i.utm.ad_id,campaign_id:i.utm.campaign_id,log_type:G,rnd:G,platform:i.platform,sdk_version:\"5.2.4_oversea\",sdk_lib:\"js\",province:G,city:G,timezone:C,tz_offset:R,tz_name:G,sim_region:G,carrier:G,resolution:i.screen_width+\"x\"+i.screen_height,browser:i.browser,browser_version:i.browser_version,referrer:i.referrer,referrer_host:i.referrer_host,width:i.screen_width,height:i.screen_height,screen_width:i.screen_width,screen_height:i.screen_height,utm_term:i.utm.utm_term,utm_content:i.utm.utm_content,utm_source:i.utm.utm_source,utm_medium:i.utm.utm_medium,utm_campaign:i.utm.utm_campaign,tracer_data:JSON.stringify(i.utm.tracer_data),custom:{}}},this.ab_version=\"\",this.ab_uuid_cache={},this.evtParams={},this.reportErrorCallback=function(){},this.isLast=!1,this.setCustom(i),this.initDomain(),this.initABData()}return t.prototype.initDomain=function(e){var t=this.initConfig.channel_domain;if(t)this.domain=t;else{var i=e||this.initConfig.channel,n=this.initConfig&&this.initConfig.channel_type?\"tcpy\"===this.initConfig.channel_type?A[i]:T[i]:w[i];n||(console.warn(\"current channel: \"+i+\" is not exist, use va instead, please check!!!!\"),n=w.sg),this.domain=c(n)}},t.prototype.setDomain=function(e){this.customDomain=!0,this.domain=e},t.prototype.getDomain=function(e){return this.customDomain||e&&this.initDomain(e),this.domain},t.prototype.initABData=function(){var e,t=\"__tea_sdk_ab_version_\"+this.initConfig.app_id;e=this.localStorage.getItem(t),this.setAbCache(e)},t.prototype.setAbCache=function(e){this.ab_cache=e},t.prototype.getAbCache=function(){return this.ab_cache},t.prototype.clearAbCache=function(){this.ab_cache={},this.ab_version=\"\"},t.prototype.setAbVersion=function(e){this.ab_version=e},t.prototype.getAbVersion=function(){return this.ab_version},t.prototype.setAbUuidCache=function(e,t){var i=t||this.envInfo.user.user_unique_id;this.ab_uuid_cache[\"\"+i]||(this.ab_uuid_cache[\"\"+i]=[]),-1===this.ab_uuid_cache[\"\"+i].indexOf(e)&&this.ab_uuid_cache[\"\"+i].push(e)},t.prototype.getAbUuidCache=function(e){return this.ab_uuid_cache[\"\"+e]},t.prototype.getUrl=function(e){var t=\"\";switch(e){case\"event\":t=this.channelUrl.REPORT_URL;break;case\"webid\":t=this.channelUrl.WEBID_URL;break;case\"tobid\":t=this.channelUrl.TOB_URL}var i=\"\";return this.initConfig.caller&&(i=\"?sdk_version=5.2.4_oversea&sdk_name=web&app_id=\"+this.initConfig.app_id+\"&caller=\"+this.initConfig.caller),\"\"+this.getDomain()+t+i},t.prototype.setCustom=function(e){if(e&&e.latest_data&&e.latest_data.isLast)for(var t in delete e.latest_data.isLast,this.isLast=!0,e.latest_data)this.envInfo.header.custom[t]=e.latest_data[t]},t.prototype.setAppid=function(e){this.envInfo.header.app_id=e},t.prototype.set=function(t){var i=this;Object.keys(t).forEach((function(n){if(void 0!==t[n]&&null!==t[n]||i.delete(n),\"traffic_type\"===n&&i.isLast&&(i.envInfo.header.custom.$latest_traffic_source_type=t[n]),\"evtParams\"===n)i.evtParams=e(e({},i.evtParams||{}),t.evtParams||{});else if(\"_staging_flag\"===n)i.evtParams=e(e({},i.evtParams||{}),{_staging_flag:t._staging_flag});else if(\"reportErrorCallback\"===n&&\"function\"==typeof t[n])i.reportErrorCallback=t[n];else{var o=\"\",r=\"\";if(n.indexOf(\".\")>-1){var s=n.split(\".\");o=s[0],r=s[1]}o?\"user\"===o||\"header\"===o?i.envInfo[o][r]=t[n]:i.envInfo.header.custom[r]=t[n]:Object.hasOwnProperty.call(i.envInfo.user,n)?[\"user_type\",\"ip_addr_id\"].indexOf(n)>-1?i.envInfo.user[n]=t[n]?Number(t[n]):t[n]:[\"user_id\",\"web_id\",\"user_unique_id\",\"user_unique_id_type\"].indexOf(n)>-1?i.envInfo.user[n]=t[n]?String(t[n]):t[n]:[\"user_is_auth\",\"user_is_login\"].indexOf(n)>-1?i.envInfo.user[n]=Boolean(t[n]):\"device_id\"===n&&(i.envInfo.user[n]=t[n]):Object.hasOwnProperty.call(i.envInfo.header,n)?i.envInfo.header[n]=t[n]:i.envInfo.header.custom[n]=t[n]}}))},t.prototype.get=function(e){try{return e?\"evtParams\"===e?this.evtParams:\"reportErrorCallback\"===e?this[e]:Object.hasOwnProperty.call(this.envInfo.user,e)?this.envInfo.user[e]:Object.hasOwnProperty.call(this.envInfo.header,e)?this.envInfo.header[e]:JSON.parse(JSON.stringify(this.envInfo[e])):JSON.parse(JSON.stringify(this.envInfo))}catch(e){console.log(\"get config stringify error \"),this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message})}},t.prototype.setStore=function(e){try{if(!this.configPersist)return;var t=this.storage.getItem(this.configKey)||{};if(t&&Object.keys(e).length){var i=Object.assign(e,t);this.storage.setItem(this.configKey,i)}}catch(e){console.log(\"setStore error\"),this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message})}},t.prototype.getStore=function(){try{if(!this.configPersist)return null;var e=this.storage.getItem(this.configKey)||{};return e&&Object.keys(e).length?e:null}catch(e){return this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message}),null}},t.prototype.delete=function(e){try{if(!this.configPersist)return;var t=this.storage.getItem(this.configKey)||{};t&&Object.hasOwnProperty.call(t,e)&&(delete t[e],this.storage.setItem(this.configKey,t))}catch(e){this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message}),console.log(\"delete error\")}},t}(),O=function(){function e(e,t){this.isLog=t||!1,this.name=e||\"\"}return e.prototype.info=function(e){this.isLog&&console.log(\"%c %s\",\"color: yellow; background-color: black;\",\"[Tea instance: \"+this.name+\"] \"+e)},e.prototype.warn=function(e){this.isLog&&console.warn(\"%c %s\",\"color: #4D1B00; background-color: #FF7D00;\",\"[Tea instance: \"+this.name+\"] \"+e)},e.prototype.error=function(e){this.isLog&&console.error(\"%c %s\",\"color: #FFF; background-color: #F53F3F;\",\"[Tea instance: \"+this.name+\"] \"+e)},e.prototype.throw=function(e){throw this.error(this.name),new Error(e)},e}(),I=function(){function e(){this.spiderBot=[\"Baiduspider\",\"googlebot\",\"360Spider\",\"haosouspider\",\"YoudaoBot\",\"Yisouspider\",\"Googlebot\",\"Headless\",\"Applebot\",\"Bingbot\",\"PetalBot\"]}return e.prototype.checkSpider=function(e){if(!e.enable_spider)return!1;var t=window.navigator.userAgent;if(!t)return!0;var i=!1;return this.spiderBot.forEach((function(e){-1!==t.indexOf(e)&&(i=!0)})),i},e}(),B=function(){function e(e,t){this.collect=e,this.native=t}var t=e.prototype;return t.bridgeInject=function(){try{return!!this.native&&(AppLogBridge?(console.log(\"AppLogBridge is injected\"),!0):(console.log(\"AppLogBridge is not inject\"),!1))}catch(e){return console.log(\"AppLogBridge is not inject\"),!1}},t.bridgeReady=function(){var e=this;return new Promise((function(t,i){try{e.bridgeInject()?AppLogBridge.hasStarted((function(e){console.log(\"AppLogBridge is started? : \"+e),e?t(!0):i(!1)})):i(!1)}catch(e){console.log(\"AppLogBridge, error:\"+JSON.stringify(e.stack)),i(!1)}}))},t.setNativeAppId=function(e){try{AppLogBridge.setNativeAppId(JSON.stringify(e)),console.log(\"change bridge appid, event report with appid: \"+e)}catch(e){console.error(\"setNativeAppId error\")}},t.setConfig=function(e){var t=this;try{Object.keys(e).forEach((function(i){\"user_unique_id\"===i?t.setUserUniqueId(e[i]):e[i]?t.addHeaderInfo(i,e[i]):t.removeHeaderInfo(i)}))}catch(e){console.error(\"setConfig error\")}},t.setUserUniqueId=function(e){try{AppLogBridge.setUserUniqueId(e)}catch(e){console.error(\"setUserUniqueId error\")}},t.addHeaderInfo=function(e,t){try{AppLogBridge.addHeaderInfo(e,t)}catch(e){console.error(\"addHeaderInfo error\")}},t.setHeaderInfo=function(e){try{AppLogBridge.setHeaderInfo(JSON.stringify(e))}catch(e){console.error(\"setHeaderInfo error\")}},t.removeHeaderInfo=function(e){try{AppLogBridge.removeHeaderInfo(e)}catch(e){console.error(\"removeHeaderInfo error\")}},t.reportPv=function(e){this.onEventV3(\"predefine_pageview\",e)},t.onEventV3=function(e,t){try{AppLogBridge.onEventV3(e,t),this.collect.emit(DebuggerMesssge.DEBUGGER_MESSAGE,{type:DebuggerMesssge.DEBUGGER_MESSAGE_EVENT,info:\"bridge埋点上报\",time:Date.now(),data:[{events:[{event:e,params:t}]}],code:200,status:\"success\"})}catch(e){console.error(\"onEventV3 error\")}},t.profileSet=function(e){try{AppLogBridge.profileSet(e)}catch(e){console.error(\"profileSet error\")}},t.profileSetOnce=function(e){try{AppLogBridge.profileSetOnce(e)}catch(e){console.error(\"profileSetOnce error\")}},t.profileIncrement=function(e){try{AppLogBridge.profileIncrement(e)}catch(e){console.error(\"profileIncrement error\")}},t.profileUnset=function(e){try{AppLogBridge.profileUnset(e)}catch(e){console.error(\"profileUnset error\")}},t.profileAppend=function(e){try{AppLogBridge.profileAppend(e)}catch(e){console.error(\"profileAppend error\")}},e}(),N=function(){function t(){this.eventLimit=50,this.enable_ttwebid=!1,this.eventCache=[],this.beconEventCache=[]}return t.prototype.apply=function(e,t){var i=this;this.collect=e,this.config=t,this.configManager=e.configManager,this.cacheStorgae=new E(!0),this.localStorage=new E(!1),this.maxReport=t.max_report||10,this.reportTime=t.reportTime||30,this.timeout=t.timeout||1e5,this.enable_ttwebid=t.enable_ttwebid,this.reportUrl=t.report_url||this.configManager.getUrl(\"event\"),this.eventKey=\"__tea_cache_events_\"+this.configManager.get(\"app_id\"),this.beconKey=\"__tea_cache_events_becon_\"+this.configManager.get(\"app_id\"),this.abKey=\"__tea_sdk_ab_version_\"+this.configManager.get(\"app_id\"),this.refer_key=\"__tea_cache_refer_\"+this.configManager.get(\"app_id\"),this.collect.on(D.Ready,(function(){i.reportAll(!1)})),this.collect.on(D.ConfigDomain,(function(){i.reportUrl=i.configManager.getUrl(\"event\")})),this.collect.on(D.Event,(function(e){i.event(e)})),this.collect.on(D.BeconEvent,(function(e){i.beconEvent(e)})),this.collect.on(D.CleanEvents,(function(){i.reportAll(!1)})),this.linster()},t.prototype.linster=function(){var e=this;window.addEventListener(\"unload\",(function(){e.reportAll(!0)}),!1),l((function(){e.reportAll(!0)})),document.addEventListener(\"visibilitychange\",(function(){\"hidden\"===document.visibilityState&&e.reportAll(!0)}),!1)},t.prototype.reportAll=function(e){this.report(e),this.reportBecon()},t.prototype.event=function(e){var t=this;try{var n=i(e,this.cacheStorgae.getItem(this.eventKey)||[]);if(this.cacheStorgae.setItem(this.eventKey,n),this.reportTimeout&&clearTimeout(this.reportTimeout),n.length>=this.maxReport)this.report(!1);else{var o=this.reportTime;this.reportTimeout=setTimeout((function(){t.report(!1),t.reportTimeout=null}),o)}}catch(e){this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message})}},t.prototype.beconEvent=function(e){var t=i(e,this.cacheStorgae.getItem(this.beconKey)||[]);this.cacheStorgae.setItem(this.beconKey,t),this.collect.destroy||this.collect.sdkStop||this.collect.tokenManager.getReady()&&this.collect.sdkReady&&(this.cacheStorgae.removeItem(this.beconKey),this.send(this.split(this.merge(t)),!0))},t.prototype.reportBecon=function(){if(!this.collect.destroy&&!this.collect.sdkStop&&this.collect.tokenManager.getReady()&&this.collect.sdkReady){var e=this.cacheStorgae.getItem(this.beconKey)||[];e&&e.length&&(this.cacheStorgae.removeItem(this.beconKey),this.send(this.split(this.merge(e)),!0))}},t.prototype.report=function(e){if(!this.collect.destroy&&!this.collect.sdkStop&&this.collect.tokenManager.getReady()&&this.collect.sdkReady){var t=this.cacheStorgae.getItem(this.eventKey)||[];t.length&&(this.cacheStorgae.removeItem(this.eventKey),this.sliceEvent(t,e))}},t.prototype.sliceEvent=function(e,t){if(e.length>this.eventLimit)for(var i=0;i<e.length;i+=this.eventLimit){var n;n=e.slice(i,i+this.eventLimit);var o=this.split(this.merge(n));this.send(o,t)}else{o=this.split(this.merge(e));this.send(o,t)}},t.prototype.handleRefer=function(){var e=\"\";try{if(this.config.spa||this.config.autotrack){var t=this.localStorage.getItem(this.refer_key)||{};e=t.routeChange?t.refer_key:this.configManager.get(\"referrer\")}else e=this.configManager.get(\"referrer\")}catch(t){e=document.referrer}return e},t.prototype.merge=function(t,i){var n=this,o=this.configManager.get(),r=o.header,s=o.user;r.custom=JSON.stringify(r.custom),r.referrer=this.handleRefer();var a=this.configManager.get(\"evtParams\"),c=this.configManager.get(\"user_unique_id_type\"),l=t.map((function(t){try{Object.keys(a).length&&!i&&(t.params=e(e({},a),t.params)),c&&(t.params.$user_unique_id_type=c);var o=n.configManager.getAbCache(),r=s[n.config.ab_user_mode]||s.user_unique_id,l=n.configManager.getAbUuidCache(r);if(o&&o.uuid&&o.uuid===r){var h=n.configManager.getAbVersion();if(n.config.enable_ab_uuid){if(l&&l.length){var u=l.join(\",\");h&&h.includes(u)&&(t.ab_sdk_version=h)}}else h&&(t.ab_sdk_version=h)}return t.session_id=n.collect.sessionManager.getSessionId(),t.params=JSON.stringify(t.params),t}catch(e){return n.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message}),t}})),h=JSON.parse(JSON.stringify({events:l,user:s,header:r}));h.local_time=Math.floor(Date.now()/1e3),h.user_unique_type=this.config.enable_ttwebid?this.config.user_unique_type:void 0,h.verbose=1;var u=[];return u.push(h),u},t.prototype.split=function(e){return e=e.map((function(e){var t=[];return t.push(e),t}))},t.prototype.send=function(e,t){var i=this;e.length&&(this.config.disable_track_event||e.forEach((function(e){try{var n=JSON.parse(JSON.stringify(e));i.config.filter&&((n=i.config.filter(n))||console.warn(\"filter must return data !!\")),i.collect.eventFilter&&n&&((n=i.collect.eventFilter(n))||console.warn(\"filterEvent api must return data !!\"));var o=n||e,r=JSON.parse(JSON.stringify(o));if(!o.length)return;var s=!0;if(o.forEach((function(e){e.events.length||(s=!1)})),!s)return;i.collect.emit(D.SubmitBefore,o),i.collect.emit(D.SubmitVerify,o),i.collect.requestManager.useRequest({url:i.reportUrl,data:o,success:function(e,t){e&&0!==e.e?(i.collect.emit(D.SubmitError,{type:\"f_data\",eventData:t,errorCode:e.e,response:e}),i.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_EVENT,info:\"埋点上报失败\",time:Date.now(),data:r,code:e.e,failType:\"数据异常失败\",status:\"fail\"})):(i.collect.emit(D.SubmitScuess,{eventData:t,res:e}),i.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_EVENT,info:\"埋点上报成功\",time:Date.now(),data:r,code:200,status:\"success\"}))},fail:function(e,t){i.configManager.get(\"reportErrorCallback\")(e,t),i.collect.emit(D.SubmitError,{type:\"f_net\",eventData:e,errorCode:t}),i.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_EVENT,info:\"埋点上报网络异常\",time:Date.now(),data:r,code:t,failType:\"网络异常失败\",status:\"fail\"})},timeout:i.timeout,useBeacon:!i.config.disable_sendbeacon&&t,withCredentials:i.enable_ttwebid}),i.collect.emit(D.SubmitAfter,o)}catch(e){console.warn(\"something error, \"+JSON.stringify(e.stack)),i.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message})}})))},t}(),U=function(){return function e(t){return t?(t^16*Math.random()>>t/4).toString(10):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e)}().replace(/-/g,\"\").slice(0,19)},L=function(){function e(){this.cacheToken={},this.enableCookie=!1,this.enable_ttwebid=!1,this.enableCustomWebid=!1}return e.prototype.apply=function(e,t){var i=this;this.collect=e,this.config=t,this.configManager=this.collect.configManager,this.storage=new E(!1),this.tokenKey=\"__tea_cache_tokens_\"+t.app_id,this.enable_ttwebid=t.enable_ttwebid,this.enableCustomWebid=t.enable_custom_webid,this.collect.on(D.ConfigUuid,(function(e){i.setUuid(e)})),this.collect.on(D.ConfigWebId,(function(e){i.setWebId(e)})),this.enableCookie=t.cross_subdomain,this.expiresTime=t.cookie_expire||6048e5,this.cookieDomain=t.cookie_domain||\"\",this.checkStorage()},e.prototype.checkStorage=function(){var e=this;this.cacheToken=this.storage.getItem(this.tokenKey)||{},this.tokenType=this.cacheToken&&this.cacheToken._type_?this.cacheToken._type_:\"default\",\"custom\"!==this.tokenType||this.enableCustomWebid?this.enableCustomWebid?this.collect.on(D.CustomWebId,(function(){e.tokenReady=!0,e.collect.emit(D.TokenComplete)})):this.checkEnv()||(this.enable_ttwebid?this.completeTtWid(this.cacheToken):this.check()):this.remoteWebid()},e.prototype.check=function(){this.cacheToken&&this.cacheToken.web_id?this.complete(this.cacheToken):this.config.disable_webid?this.complete({web_id:U(),user_unique_id:this.configManager.get(\"user_unique_id\")||U()}):this.remoteWebid()},e.prototype.checkEnv=function(){var e=window.navigator.userAgent;if(-1!==e.indexOf(\"miniProgram\")||-1!==e.indexOf(\"MiniProgram\")){var t=p(window.location.href);return!(!t||!t.Web_ID)&&(this.complete({web_id:\"\"+t.Web_ID,user_unique_id:this.configManager.get(\"user_unique_id\")||\"\"+t.Web_ID}),!0)}return!1},e.prototype.remoteWebid=function(){var e=this,t=this.configManager.getUrl(\"webid\"),i={app_key:this.config.app_key,app_id:this.config.app_id,url:location.href,user_agent:window.navigator.userAgent,referer:document.referrer,user_unique_id:\"\"};this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 发起WEBID请求\",logType:\"fetch\",level:\"info\",time:Date.now(),data:i});var n=U();this.collect.requestManager.useRequest({url:t,data:i,success:function(t){var i;t&&0===t.e?(i=t.web_id,e.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"WEBID请求成功\",logType:\"fetch\",level:\"info\",time:Date.now(),data:t})):(i=n,e.collect.configManager.set({localWebId:n}),e.collect.emit(D.TokenError),e.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"WEBID请求返回值异常\",logType:\"fetch\",level:\"warn\",time:Date.now(),data:t}),e.collect.logger.warn(\"appid: \"+e.config.app_id+\" get webid error, use local webid~\")),e.complete({web_id:e.configManager.get(\"web_id\")||i,user_unique_id:e.configManager.get(\"user_unique_id\")||i})},fail:function(){e.complete({web_id:e.configManager.get(\"web_id\")||n,user_unique_id:e.configManager.get(\"user_unique_id\")||n}),e.collect.configManager.set({localWebId:n}),e.collect.emit(D.TokenError),e.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"WEBID请求网络异常\",logType:\"fetch\",level:\"error\",time:Date.now(),data:null}),e.collect.logger.warn(\"appid: \"+e.config.app_id+\", get webid error, use local webid~\")},timeout:3e5})},e.prototype.complete=function(e){var t=e.web_id,i=e.user_unique_id;e.timestamp=Date.now(),this.collect.configManager.set({web_id:t,user_unique_id:i}),this.setStorage(e),this.tokenReady=!0,this.collect.emit(D.TokenComplete)},e.prototype.completeTtWid=function(e){var t=e.user_unique_id||\"\",i=this.configManager.get(\"user_unique_id\");(i||t)&&this.configManager.set({user_unique_id:i||t}),this.setStorage(e),this.tokenReady=!0,this.collect.emit(D.TokenComplete)},e.prototype.setUuid=function(e){if(e&&-1===[\"null\",\"undefined\",\"Null\",\"None\"].indexOf(e)){var t=String(e),i=this.configManager.get(\"user_unique_id\"),n=this.cacheToken&&this.cacheToken.user_unique_id;if(t===i&&t===n)return;this.configManager.set({user_unique_id:t}),this.cacheToken||(this.cacheToken={}),this.cacheToken.user_unique_id=t,this.cacheToken.timestamp=Date.now(),this.setStorage(this.cacheToken),this.collect.emit(D.TokenChange,\"uuid\"),this.collect.emit(D.SessionReset)}else this.clearUuid()},e.prototype.clearUuid=function(){this.config.enable_ttwebid||this.configManager.get(\"web_id\")&&(this.configManager.set({user_unique_id:this.configManager.get(\"web_id\")}),this.cacheToken&&this.cacheToken.web_id&&(this.cacheToken.user_unique_id=this.cacheToken.web_id,this.cacheToken.timestamp=Date.now(),this.setStorage(this.cacheToken)),this.collect.emit(D.TokenReset))},e.prototype.setWebId=function(e){if(e&&!this.config.enable_ttwebid){this.cacheToken&&this.cacheToken.web_id?this.cacheToken.web_id!==e&&(this.cacheToken.user_unique_id=this.cacheToken.web_id===this.cacheToken.user_unique_id?e:this.cacheToken.user_unique_id,this.cacheToken.web_id=e):(this.cacheToken={},this.cacheToken.web_id=e,this.cacheToken.user_unique_id=e),this.cacheToken.timestamp=Date.now();var t=this.configManager.get(\"web_id\"),i=this.configManager.get(\"user_unique_id\");i&&i!==t||(this.configManager.set({user_unique_id:e}),this.collect.emit(D.TokenChange,\"uuid\")),t!==e&&(this.configManager.set({web_id:e}),this.collect.emit(D.TokenChange,\"webid\")),this.setStorage(this.cacheToken)}},e.prototype.setStorage=function(e){e._type_=this.enableCustomWebid?\"custom\":\"default\",delete e[\"diss\".split(\"\").reverse().join(\"\")],this.storage.setItem(this.tokenKey,e),this.cacheToken=e},e.prototype.getReady=function(){return this.tokenReady},e.prototype.getTobId=function(){var e=this;return new Promise((function(t){\"tcpy\"!==e.config.channel_type&&\"ttp\"!==e.config.channel_type?e.collect.requestManager.useRequest({url:e.configManager.getUrl(\"tobid\"),data:{app_id:e.config.app_id,user_unique_id:e.configManager.get(\"user_unique_id\"),web_id:e.configManager.get(\"web_id\"),user_unique_id_type:e.configManager.get(\"user_unique_id_type\")},success:function(e){e&&0===e.e?t(e.tobid):t(\"\")},fail:function(){t(\"\")},time:3e4,withCredentials:e.enable_ttwebid}):t(\"\")}))},e}(),P=function(){return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)}))},V=function(){function e(){}return e.prototype.apply=function(e,t){var i=this;this.collect=e,this.storage=new E(!1,\"session\"),this.sessionKey=\"__tea_session_id_\"+t.app_id,this.expireTime=t.expireTime||18e5,this.disableSession=t.disable_session,this.disableSessionTimeCheck=t.disable_session_check,this.disableSession||(this.setSessionId(),this.collect.on(D.SessionReset,(function(e){i.resetSessionId(e)})),this.collect.on(D.SessionResetTime,(function(){i.updateSessionIdTime()})))},e.prototype.updateSessionIdTime=function(){var e=this.storage.getItem(this.sessionKey);if(e&&e.sessionId){var t=e.timestamp;Date.now()-t>this.expireTime?e={sessionId:P(),timestamp:Date.now()}:e.timestamp=Date.now(),this.storage.setItem(this.sessionKey,e),this.resetExpTime()}},e.prototype.setSessionId=function(){var e=this,t=this.storage.getItem(this.sessionKey);t&&t.sessionId?t.timestamp=Date.now():t={sessionId:P(),timestamp:Date.now()},this.storage.setItem(this.sessionKey,t),this.disableSessionTimeCheck||(this.sessionExp=setInterval((function(){e.checkEXp()}),this.expireTime))},e.prototype.getSessionId=function(){var e=this.storage.getItem(this.sessionKey);return this.disableSession?\"\":e&&e.sessionId?e.sessionId:\"\"},e.prototype.resetExpTime=function(){var e=this;this.sessionExp&&(clearInterval(this.sessionExp),this.sessionExp=setInterval((function(){e.checkEXp()}),this.expireTime))},e.prototype.resetSessionId=function(e){var t={sessionId:e||P(),timestamp:Date.now()};this.storage.setItem(this.sessionKey,t)},e.prototype.checkEXp=function(){var e=this.storage.getItem(this.sessionKey);e&&e.sessionId&&(Date.now()-e.timestamp+30>=this.expireTime&&(e={sessionId:P(),timestamp:Date.now()},this.storage.setItem(this.sessionKey,e)))},e}(),j=function(){function e(e,t){this.collector=e,this.config=t,this.requestType=t.request_type||\"xhr\",this.supportBeacon=!(!window.navigator||!window.navigator.sendBeacon),this.errorCode={NO_URL:4001,IMG_ON:4e3,IMG_CATCH:4002,BEACON_FALSE:4003,XHR_ON:500,RESPONSE:5001,TIMEOUT:5005},this.customHeader=t.custom_request_header||{}}return e.prototype.useFetch=function(e){var t=e.url,i=e.data,n=e.method,o=e.success,r=e.fail,s={\"Content-Type\":\"application/json; charset=utf-8\"};if(Object.keys(this.customHeader).length)for(var a in this.customHeader)s[a]=this.customHeader[a];window.fetch?fetch(t,{method:n||\"POST\",headers:s,body:JSON.stringify(i)}).then((function(e){return e.json()})).then((function(e){o&&o(e)})).catch((function(e){r&&r(i,e)})):(this.requestType=\"xhr\",console.log(\"your brwoser not support fetch, use xhr\"),this.useRequest({url:t,data:i,method:n,success:o,fail:r}))},e.prototype.useBeacon=function(e){var t=e.url,i=e.data,n=e.success,o=e.fail;window.navigator.sendBeacon(t,JSON.stringify(i))?n&&n():o&&o(i,this.errorCode.BEACON_FALSE)},e.prototype.useRequest=function(e){var t=this,i=e.url,n=e.data,o=e.method,r=e.success,s=e.fail,a=e.timeout,c=e.useBeacon,l=e.withCredentials,h=e.app_key,u=e.forceXhr;if(c&&this.supportBeacon)this.useBeacon({url:i,data:n,method:o,success:r,fail:s});else if(\"fetch\"!==this.requestType||u)try{var p=new XMLHttpRequest,d=o||\"POST\";if(p.open(d,\"\"+i,!0),p.setRequestHeader(\"Content-Type\",\"application/json; charset=utf-8\"),h&&p.setRequestHeader(\"X-MCS-AppKey\",\"\"+h),Object.keys(this.customHeader).length)for(var f in this.customHeader)p.setRequestHeader(f,this.customHeader[f]);l&&(p.withCredentials=!0),a&&(p.timeout=a,p.ontimeout=function(){s&&s(n,t.errorCode.TIMEOUT)}),p.onload=function(){if(r){var e=null;if(p.responseText){try{e=JSON.parse(p.responseText)}catch(t){e={}}r(e,n)}}},p.onerror=function(){p.abort(),s&&s(n,t.errorCode.XHR_ON)},p.send(JSON.stringify(n))}catch(e){}else this.useFetch({url:i,data:n,method:o,success:r,fail:s})},e}(),q=function(){function e(e,t){if(this.devToolReady=!1,this.devToolOrigin=\"*\",this.sendAlready=!1,t.enable_debug){this.collect=e,this.config=t,this.app_id=t.app_id;var i=e.adapters.storage;this.cacheStorgae=new i(!1,\"session\"),this.filterEvent=[\"__bav_page\",\"__bav_beat\",\"__bav_page_statistics\",\"__bav_click\",\"__bav_page_exposure\",\"bav2b_page\",\"bav2b_beat\",\"bav2b_page_statistics\",\"bav2b_click\",\"bav2b_page_exposure\",\"_be_active\",\"predefine_pageview\",\"__profile_set\",\"__profile_set_once\",\"__profile_increment\",\"__profile_unset\",\"__profile_append\",\"predefine_page_alive\",\"predefine_page_close\",\"abtest_exposure\"],this.load()}}return e.prototype.loadScript=function(e){try{var t=document.createElement(\"script\");t.src=e,t.onerror=function(){console.log(\"load DevTool render fail\")},t.onload=function(){console.log(\"load DevTool render success\")},document.getElementsByTagName(\"body\")[0].appendChild(t)}catch(e){console.log(\"devTool load fail, \"+e.message)}},e.prototype.parseUrl=function(){var e={};try{var t=window.location.href.split(\"?\")[1].split(\"&\");t.length&&t.forEach((function(t){var i=t.split(\"=\");e[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}))}catch(e){}return e},e.prototype.load=function(){try{var e=this.parseUrl();if(e.open_devtool_web&&e.app_id){if(parseInt(e.app_id)!==this.app_id)return}else if(!this.getStorage())return;this.loadBaseInfo(),this.loadHook(),this.setStorage(),this.addLintener(),this.loadDebuggerModule(),this.loadDevTool()}catch(e){console.log(\"debug fail, \"+e.message)}},e.prototype.getStorage=function(){var e=this.cacheStorgae.getItem(\"__applog_devtool_web\");return e&&parseInt(e)===this.app_id},e.prototype.setStorage=function(){this.cacheStorgae.setItem(\"__applog_devtool_web\",this.app_id)},e.prototype.loadDevTool=function(){this.loadScript(\"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/devtool/debug-web.js\")},e.prototype.loadBaseInfo=function(){var e=this;this.info=[{title:\"基本信息\",type:1,infoName:{app_id:this.config.app_id,channel:this.config.channel,\"上报域名\":this.collect.configManager.getDomain(),\"SDK版本\":\"5.2.4_oversea\",\"SDK引入方式\":\"npm\"}},{title:\"用户信息\",type:2,infoName:{uuid:this.collect.configManager.get(\"user\").user_unique_id||\"\",web_id:this.collect.configManager.get(\"user\").web_id||\"\",ssid:\"点击获取SSID\"}},{title:\"公共参数信息\",type:2,infoName:{\"浏览器\":this.collect.configManager.get(\"browser\"),\"浏览器版本\":this.collect.configManager.get(\"browser_version\"),\"平台\":this.collect.configManager.get(\"platform\"),\"设备型号\":this.collect.configManager.get(\"device_model\"),\"操作系统\":this.collect.configManager.get(\"os_name\"),\"操作系统版本\":this.collect.configManager.get(\"os_version\"),\"屏幕分辨率\":this.collect.configManager.get(\"os_version\"),\"来源\":this.collect.configManager.get(\"referrer\"),\"自定义信息\":\"\"}},{title:\"配置信息\",type:3,infoName:{\"全埋点\":!!this.config.autotrack,\"停留时长\":!!this.config.enable_stay_duration}},{title:\"A/B配置信息\",type:4,infoName:{\"A/B实验\":!!this.config.enable_ab_test}},{title:\"客户端信息\",type:3,infoName:{\"打通开关\":!!this.config.Native}}],this.log=[],this.event=[],this.collect.on(D.Ready,(function(){e.info[1].infoName.uuid=e.collect.configManager.get(\"user\").user_unique_id,e.info[1].infoName.web_id=e.collect.configManager.get(\"user\").web_id,e.info[2].infoName[\"自定义信息\"]=JSON.stringify(e.collect.configManager.get(\"custom\")),e.config.enable_ab_test&&(e.info[4].infoName[\"已曝光VID\"]=e.collect.configManager.getAbVersion(),e.info[4].infoName[\"A/B域名\"]=e.config.ab_channel_domain||c(k[e.config.channel]),e.info[4].infoName[\"全部配置\"]=e.collect.configManager.getAbData()),e.config.Native&&(e.info[5].infoName[\"是否打通\"]=!!e.collect.bridgeReport)}))},e.prototype.loadHook=function(){var e=this;this.collect.on(v.DEBUGGER_MESSAGE,(function(t){switch(t.type){case v.DEBUGGER_MESSAGE_SDK:var i={time:t.time,type:t.logType||\"sdk\",level:t.level,name:t.info,show:!0,levelShow:!0,needDesc:!!t.data};return t.data&&(i.desc={content:JSON.stringify(t.data)}),e.updateLog(i),t.secType&&\"AB\"===t.secType?(e.info[4].infoName[\"已曝光VID\"]=e.collect.configManager.getAbVersion(),e.info[4].infoName[\"全部配置\"]=e.collect.configManager.getAbData()):\"USER\"===t.secType&&(e.info[1].infoName.uuid=e.collect.configManager.get(\"user\").user_unique_id,e.info[1].infoName.web_id=e.collect.configManager.get(\"user\").web_id),void e.updateInfo();case v.DEBUGGER_MESSAGE_EVENT:if(t.data&&t.data.length){var n=t.data[0],o=n.events;if(!o.length)return;o.forEach((function(i){i.checkShow=!0,i.searchShow=!0,i.success=t.status,i.type=-1!==e.filterEvent.indexOf(i.event)?\"sdk\":\"cus\",i.type=e.collect.bridgeReport?\"bridge\":i.type,i.info=\"\",\"fail\"===t.status&&(i.info={message:\"code: \"+t.code+\", msg: \"+t.failType})})),e.updateEvent(n)}return}}))},e.prototype.addLintener=function(){var e=this;window.addEventListener(\"message\",(function(t){if(t.origin===location.origin){if(t&&t.data&&\"devtool:web:ready\"===t.data.type){if(e.devToolOrigin=t.origin,e.devToolReady=!0,e.sendAlready)return;console.log(\"inittttt\"),e.sendData(\"devtool:web:init\",{info:e.info,log:e.log,event:e.event}),e.sendAlready=!0}t&&t.data&&\"devtool:web:ssid\"===t.data.type&&e.collect.getToken((function(t){e.info[1].infoName.ssid=t.tobid,e.updateInfo()}))}}))},e.prototype.sendData=function(e,t){try{var i={type:e,payload:t};(window.opener||window.parent).postMessage(i,this.devToolOrigin)}catch(e){}},e.prototype.updateInfo=function(){this.devToolReady&&this.sendData(\"devtool:web:info\",this.info)},e.prototype.updateLog=function(e){this.devToolReady?this.sendData(\"devtool:web:log\",e):this.log.push(e)},e.prototype.updateEvent=function(e){this.devToolReady?this.sendData(\"devtool:web:event\",e):this.event.push(e)},e.prototype.loadDebuggerModule=function(){var e=document.head||document.getElementsByTagName(\"head\")[0],t=document.createElement(\"style\");t.appendChild(document.createTextNode(\"#debugger-applog-web {\\n      position: absolute;\\n      width: 90px;\\n      height: 30px;\\n      background: #23c243;\\n      border-radius: 6px;\\n      color: #fff;\\n      font-size: 12px;\\n      bottom: 5%;\\n      right: 10%;\\n      text-align: center;\\n      line-height: 30px;\\n      cursor: pointer;\\n      z-index:100;\\n    }\")),e.appendChild(t);var i=document.createElement(\"div\");i.innerHTML='<div id=\"debugger-applog-web\" class=\"debugger-applog-web\">AppLog调试</div>';var n=document.createElement(\"div\");n.innerHTML='<div id=\"debugger-container\" class=\"debugger-container\"></div>',document.getElementsByTagName(\"body\")[0].appendChild(i),document.getElementsByTagName(\"body\")[0].appendChild(n),document.getElementById(\"debugger-applog-web\").addEventListener(\"click\",(function(){(window.opener||window.parent).postMessage({type:\"devtool:web:open-draw\"},location.origin)}))},e}(),K={autotrack:{src:{sg:\"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/autotrack.js\",va:\"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/autotrack.js\"},object:\"LogAutoTrack\"},ab:{src:{sg:\"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/ab.js\",va:\"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/ab.js\"},object:\"LogAb\"},stay:{src:{sg:\"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/stay.js\",va:\"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/stay.js\"},object:\"LogStay\"},route:{src:{sg:\"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/route.js\",va:\"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/route.js\"},object:\"LogRoute\"},tracer:{src:{sg:\"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/tracer.js\",va:\"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/tracer.js\"},object:\"LogTracer\"},retry:{src:{sg:\"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/retry.js\",va:\"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/retry.js\"},object:\"LogRetry\"},visual:{src:{sg:\"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/visual.js\",va:\"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/visual.js\"},object:\"LogVisual\"}},H=[\"ab\",\"autotrack\",\"Stay\",\"store\",\"et\",\"profile\",\"cep\",\"heartbeat\",\"monitor\",\"route\",\"tracer\"],J=function(){function t(e){this.disableAutoPageView=!1,this.bridgeReport=!1,this.staging=!1,this.pluginInstances=[],this.sended=!1,this.started=!1,this.destroy=!1,this.sdkReady=!1,this.adapters={},this.loadType=\"base\",this.sdkStop=!1,this.name=e,this.hook=new o,this.remotePlugin=new Map,this.Types=D,this.adapters.storage=E,this.loadType=\"full\"}return t.usePlugin=function(e,i,n){if(i){for(var o=!1,r=0,s=t.plugins.length;r<s;r++){if(t.plugins[r].name===i){t.plugins[r].plugin=e,t.plugins[r].options=n||{},o=!0;break}}o||t.plugins.push({name:i,plugin:e,options:n})}else t.plugins.push({plugin:e})},t.prototype.usePlugin=function(e,t,i){e&&(\"full\"===this.loadType&&H.includes(e)?console.info(\"your sdk version has \"+e+\" already ~\"):t?\"string\"==typeof t?this.remotePlugin.get(e)||this.remotePlugin.set(e,{src:t,call:i}):this.remotePlugin.get(e)||this.remotePlugin.set(e,{instance:t}):this.remotePlugin.get(e)||this.remotePlugin.set(e,\"sdk\"))},t.prototype.init=function(e){var i,n,o=this;try{i=JSON.parse(JSON.stringify(e))}catch(t){i=e}if(this.logger=new O(this.name,i.log),this.inited)this.logger.warn(\"[instance: \"+this.name+\"], every instance's api: init,  can be call only one time!\");else if(i&&r(i))if(i.app_id&&(\"number\"==typeof(n=i.app_id)&&!isNaN(n)))if(!i.app_key||function(e){return\"string\"==typeof e}(i.app_key)){var s=[\"sg\",\"va\",\"in\",\"ie\",\"ie2\"];i.channel_domain||-1!==s.indexOf(i.channel)||(this.logger.warn(\"your channel: \"+i.channel+\" is not exist. channel must be one of \"+s.join(\",\")+\", use sg instead, please check!!!\"),i.channel=\"sg\"),this.spider=new I,this.spider.checkSpider(i)?this.logger.warn(\"The current environment may be a spider, can not report!\"):(this.appBridge=new B(this,i.enable_native),this.requestManager=new j(this,i),this.bridgeReport=this.appBridge.bridgeInject(),this.configManager=new x(this,i),this.debugger=new q(this,i),this.initConfig=i,this.emit(D.Init),this.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 执行INIT\",data:i,level:\"info\",time:Date.now()}),i.disable_auto_pv&&(this.disableAutoPageView=!0),this.bridgeReport||(this.configManager.setAppid(i.app_id),this.eventManager=new N,this.tokenManager=new L,this.sessionManager=new V,Promise.all([new Promise((function(e){o.once(D.TokenComplete,(function(){e(!0)}))})),new Promise((function(e){o.once(D.Start,(function(){e(!0)}))}))]).then((function(){try{t.plugins.reduce((function(e,t){var i=t.plugin,n=t.options,r=Object.assign(o.initConfig,n),s=new i;return s.apply(o,r),e.push(s),e}),o.pluginInstances)}catch(e){console.warn(\"load plugin error, \"+e.message),o.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message})}o.sdkReady=!0,o.emit(D.Ready),o.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 初始化完成\",time:Date.now(),level:\"info\",data:o.configManager.get(\"user\")}),o.logger.info(\"appid: \"+i.app_id+\", userInfo:\"+JSON.stringify(o.configManager.get(\"user\"))),o.logger.info(\"appid: \"+i.app_id+\", sdk is ready, version is 5.2.4_oversea, you can report now !!!\"),i.disable_auto_pv&&(o.disableAutoPageView=!0);try{(\"full\"===o.loadType&&i.enable_ab_test||i.autotrack)&&(window.opener||window.parent).postMessage(\"[tea-sdk]ready\",\"*\")}catch(e){o.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message})}o.pageView(),o.on(D.TokenChange,(function(e){\"webid\"===e&&o.pageView(),o.logger.info(\"appid: \"+i.app_id+\" token change, new userInfo:\"+JSON.stringify(o.configManager.get(\"user\"))),o.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 设置了用户信息\",time:Date.now(),secType:\"USER\",level:\"info\",data:o.configManager.get(\"user\")})})),o.on(D.TokenReset,(function(){o.logger.info(\"appid: \"+i.app_id+\" token reset, new userInfo:\"+JSON.stringify(o.configManager.get(\"user\"))),o.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 重置了用户信息\",time:Date.now(),secType:\"USER\",level:\"info\",data:o.configManager.get(\"user\")})})),o.on(D.RouteChange,(function(e){e.init||i.disable_route_report||o.pageView()}))})),this.tokenManager.apply(this,i),this.eventManager.apply(this,i),this.sessionManager.apply(this,i)),this.inited=!0)}else this.logger.warn(\"app_key param is error, must be string, please check!\");else this.logger.warn(\"app_id param is error, must be number, please check!\");else this.logger.warn(\"init params error,please check\")},t.prototype.config=function(t){if(this.inited)if(t&&r(t)){var i;try{i=JSON.parse(JSON.stringify(i))}catch(e){i=t}if(this.bridgeReport)this.appBridge.setConfig(i);else{i._staging_flag&&1===i._staging_flag&&(this.staging=!0),i.disable_auto_pv&&(this.disableAutoPageView=!0,delete i.disable_auto_pv);var n=e({},i);if(this.initConfig&&this.initConfig.configPersist){var o=this.configManager.getStore();o&&(n=Object.assign(o,i)),this.configManager.setStore(i)}n.web_id,n.user_unique_id;var s=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&(i[n[o]]=e[n[o]])}return i}(n,[\"web_id\",\"user_unique_id\"]);n.hasOwnProperty(\"web_id\")&&this.emit(D.ConfigWebId,n.web_id),n.hasOwnProperty(\"user_unique_id\")&&this.emit(D.ConfigUuid,n.user_unique_id),this.configManager.set(s),this.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 执行CONFIG\",level:\"info\",time:Date.now(),data:n})}}else console.warn(\"config params is error, please check\");else console.warn(\"config must be use after function init\")},t.prototype.setDomain=function(e){this.configManager&&this.configManager.setDomain(e),this.emit(D.ConfigDomain)},t.prototype.getConfig=function(e){return this.configManager.get(e)},t.prototype.send=function(){this.start()},t.prototype.start=function(){this.inited&&!this.sended&&(this.sended=!0,this.emit(D.Start),this.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 执行START\",level:\"info\",time:Date.now()}),this.bridgeReport&&(this.pageView(),this.emit(D.Ready)))},t.prototype.event=function(e,t){var i=this;try{var n=[];if(Array.isArray(e))e.forEach((function(e){var t=i.processEvent(e[0],e[1]||{});t&&n.push(t)}));else{var o=this.processEvent(e,t);if(!o)return;n.push(o)}this.bridgeReport?n.forEach((function(e){var t=e.event,n=e.params;i.appBridge.onEventV3(t,JSON.stringify(n))})):n.length&&(this.emit(D.Event,n),this.emit(D.SessionResetTime))}catch(e){this.logger.warn(\"something error, please check\"),this.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message})}},t.prototype.beconEvent=function(e,t){if(Array.isArray(e))this.logger.warn(\"beconEvent not support batch report, please check\");else{var i=[],n=this.processEvent(e,t||{});n&&(i.push(n),i.length&&(this.emit(D.BeconEvent,i),this.emit(D.SessionResetTime)))}},t.prototype.beaconEvent=function(e,t){this.beconEvent(e,t)},t.prototype.processEvent=function(e,t){void 0===t&&(t={});try{if(!e)return console.warn(\"eventName is null, please check\"),null;var i=e;/^event\\./.test(e)&&(i=e.slice(6));var n=t;\"object\"!=typeof n&&(n={}),n.profile?delete n.profile:n.event_index=a();var o=void 0;return n.local_ms?(o=n.local_ms,delete n.local_ms):o=+new Date,{event:i,params:n,local_time_ms:o,is_bav:this.initConfig&&this.initConfig.autotrack?1:0}}catch(i){return this.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:i.message}),{event:e,params:t}}},t.prototype.filterEvent=function(e){this.eventFilter=e},t.prototype.on=function(e,t){this.hook.on(e,t)},t.prototype.once=function(e,t){this.hook.once(e,t)},t.prototype.off=function(e,t){this.hook.off(e,t)},t.prototype.emit=function(e,t,i){this.hook.emit(e,t,i)},t.prototype.set=function(e){this.hook.set(e)},t.prototype.stop=function(){this.sdkStop=!0},t.prototype.reStart=function(){this.sdkStop=!1},t.prototype.pageView=function(){this.disableAutoPageView||this.predefinePageView()},t.prototype.predefinePageView=function(t){if(void 0===t&&(t={}),this.inited){var i={title:document.title||location.pathname,url:location.href,url_path:location.pathname,time:Date.now(),referrer:window.document.referrer,$is_first_time:\"\"+(this.configManager&&this.configManager.is_first_time||!1)},n=e(e({},i),t);this.event(\"predefine_pageview\",n)}else console.warn(\"predefinePageView should call after init\")},t.prototype.clearEventCache=function(){this.emit(D.CleanEvents)},t.prototype.setWebId=function(e){this.config({web_id:\"\"+e})},t.prototype.setNativeAppId=function(e){this.bridgeReport&&this.appBridge.setNativeAppId(e)},t.prototype.getSessionId=function(){return P()},t.prototype.setSessionId=function(e){this.emit(D.SessionReset,e)},t.prototype.resetStayDuration=function(e,t,i){this.emit(D.ResetStay,{url_path:e,title:t,url:i},D.Stay)},t.prototype.resetStayParams=function(e,t,i){void 0===e&&(e=\"\"),void 0===t&&(t=\"\"),void 0===i&&(i=\"\"),this.emit(D.SetStay,{url_path:e,title:t,url:i},D.Stay)},t.prototype.getToken=function(t,i){var n=this;if(this.inited){var o=!1,r=function(i){if(!o){o=!0;var r=n.configManager.get().user;return i&&(r.tobid=i,r[\"diss\".split(\"\").reverse().join(\"\")]=i),t(e({},r))}},s=function(){n.tokenManager.getTobId().then((function(e){r(e)}))};this.sdkReady?s():(i&&setTimeout((function(){r()}),i),this.on(D.Ready,(function(){s()})))}else console.warn(\"predefinePageView should call after init\")},t.prototype.profileSet=function(e){this.bridgeReport?this.appBridge.profileSet(JSON.stringify(e)):this.emit(D.ProfileSet,e,D.Profile),this.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 执行profileSet\",level:\"info\",time:Date.now(),data:e})},t.prototype.profileSetOnce=function(e){this.bridgeReport?this.appBridge.profileSetOnce(JSON.stringify(e)):this.emit(D.ProfileSetOnce,e,D.Profile),this.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 执行profileSetOnce\",level:\"info\",time:Date.now(),data:e})},t.prototype.profileIncrement=function(e){this.bridgeReport?this.appBridge.profileIncrement(JSON.stringify(e)):this.emit(D.ProfileIncrement,e,D.Profile),this.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 执行profileIncrement\",level:\"info\",time:Date.now(),data:e})},t.prototype.profileUnset=function(e){this.bridgeReport?this.appBridge.profileUnset(e):this.emit(D.ProfileUnset,e,D.Profile),this.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 执行profileUnset\",level:\"info\",time:Date.now(),data:e})},t.prototype.profileAppend=function(e){this.bridgeReport?this.appBridge.profileAppend(JSON.stringify(e)):this.emit(D.ProfileAppend,e,D.Profile),this.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 执行profileAppend\",level:\"info\",time:Date.now(),data:e})},t.prototype.setExternalAbVersion=function(e){this.emit(D.AbExternalVersion,\"string\"==typeof e&&e?(\"\"+e).trim():null,D.Ab)},t.prototype.getVar=function(e,t,i,n){this.emit(D.AbVar,{name:e,defaultValue:t,callback:i,uuid:n},D.Ab)},t.prototype.getABconfig=function(e,t){this.emit(D.AbConfig,{params:e,callback:t},D.Ab)},t.prototype.getAbSdkVersion=function(){return this.configManager.getAbVersion()},t.prototype.onAbSdkVersionChange=function(e){var t=this;return this.emit(D.AbVersionChangeOn,e,D.Ab),function(){t.emit(D.AbVersionChangeOff,e,D.Ab)}},t.prototype.offAbSdkVersionChange=function(e){this.emit(D.AbVersionChangeOff,e,D.Ab)},t.prototype.openOverlayer=function(){this.emit(D.AbOpenLayer,\"\",D.Ab)},t.prototype.closeOverlayer=function(){this.emit(D.AbCloseLayer,\"\",D.Ab)},t.prototype.getAllVars=function(e){this.emit(D.AbAllVars,e,D.Ab)},t.prototype.destoryInstace=function(){this.destroy||(this.destroy=!0,this.off(D.TokenComplete),this.emit(D.DestoryInstance))},t.prototype.destroyInstance=function(){this.destroy||(this.destroy=!0,this.off(D.TokenComplete),this.emit(D.DestoryInstance))},t.plugins=[],t}(),W=\"__rangers_ab_style__\";!function(e){e[e.Var=0]=\"Var\",e[e.All=1]=\"All\"}(z||(z={}));var F=function(){function t(){this.fetchStatus=\"no\",this.refreshFetchStatus=\"no\",this.versions=[],this.extVersions=[],this.mulilinkVersions=[],this.enable_multilink=!1,this.enable_ab_visual=!1,this.editMode=!1,this.callbacks=[],this.data={},this.changeListener=new Map,this.readyStatus=!1,this.exposureCache=[]}return t.prototype.apply=function(e,t){var i=this;if(this.collect=e,this.config=t,this.config.enable_ab_test){var n=t.enable_multilink,o=t.ab_channel_domain,r=t.enable_ab_visual,s=t.ab_cross,a=t.ab_cookie_domain,l=t.ab_timeout,h=k[t.channel||\"sg\"]||k.sg,u=o||c(h),p=e.adapters.storage;this.cacheStorgae=new p(!1),this.timeout=l||3e3,this.enable_multilink=n,this.enable_ab_visual=r,this.abKey=\"__tea_sdk_ab_version_\"+t.app_id,this.ab_cross=s,this.ab_cookie_domain=a||\"\",this.fetchUrl=u+\"/service/2/abtest_config/\",this.reportUrl=this.collect.configManager.getUrl(\"event\"),this.exposureLimit=t.exposure_limit||20,this.ab_batch_time=t.ab_batch_time||500,this.ab_user_mode=t.ab_user_mode||\"user_unique_id\";var d=this.collect.Types;this.types=d,this.collect.on(d.TokenChange,(function(e){\"uuid\"===e&&i.readyStatus&&(i.clearCache(),i.fetchAB())})),this.collect.on(d.AbVar,(function(e){var t=e.name,n=e.defaultValue,o=e.callback;i.getVar(t,n,o)})),this.collect.on(d.AbAllVars,(function(e){i.getAllVars(e)})),this.collect.on(d.AbConfig,(function(e){var t=e.params,n=e.callback;i.getABconfig(t,n)})),this.collect.on(d.AbExternalVersion,(function(e){i.setExternalAbVersion(e)})),this.collect.on(d.AbOpenLayer,(function(){i.openOverlayer()})),this.collect.on(d.AbCloseLayer,(function(){i.closeOverlayer()})),this.collect.on(d.AbVersionChangeOn,(function(e){i.changeListener.set(e,e)})),this.collect.on(d.AbVersionChangeOff,(function(e){i.changeListener.get(e)&&i.changeListener.delete(e)})),this.loadMode(),(this.enable_ab_visual||this.enable_multilink)&&this.openOverlayer(this.config.multilink_timeout_ms||500),this.checkLocal(),this.ready(\"ab\"),this.readyStatus||(this.fetchAB(),this.readyStatus=!0),this.collect.emit(d.AbReady)}},t.prototype.ready=function(e){var t=this;if(this.collect.set(e),this.collect.hook._hooksCache.hasOwnProperty(e)){var i=this.collect.hook._hooksCache[e];if(!Object.keys(i).length)return;var n=function(e){i[e].length&&i[e].forEach((function(i){t.collect.hook.emit(e,i)}))};for(var o in i)n(o)}},t.prototype.loadMode=function(){var e=function(){try{var e=JSON.parse(atob(window.name));return e||void 0}catch(e){return}}(),t=\"\";if(e){var i=e.scenario,n=e.href;i?(this.editMode=!0,t=i):!n||-1===n.indexOf(\"datatester\")&&-1===n.indexOf(\"visual-editor\")||(this.editMode=!0,t=\"visual-editor\")}this.enable_ab_visual&&\"visual-editor\"===t&&this.collect.destoryInstace()},t.prototype.checkLocal=function(){var e=this.getABCache(),t=e.ab_version,i=e.ab_ext_version,n=e.ab_version_multilink,o=(e.data,this.checkFromUrl());o?this.mulilinkVersions.push(o):this.mulilinkVersions=n||[],this.extVersions=i||[],this.versions=t||[];var r=this.versions.concat(this.extVersions);this.enable_multilink&&(r=r.concat(this.mulilinkVersions))},t.prototype.checkFromUrl=function(){var e=p(window.location.href);return e&&e.vid?e.vid:\"\"},t.prototype.updateVersions=function(){var e=this.extVersions.length?this.versions.concat(this.extVersions):this.versions;this.enable_multilink&&(e=e.concat(this.mulilinkVersions)),this.configVersions(e.join(\",\")),this.updateABCache(),this.changeListener.size>0&&this.changeListener.forEach((function(t){\"function\"==typeof t&&t(e)}))},t.prototype.configVersions=function(e){this.collect.configManager.setAbVersion(e)},t.prototype.getVar=function(e,t,i,n){if(!e)throw new Error(\"variable must not be empty\");if(void 0===t)throw new Error(\"variable no default value\");if(\"function\"!=typeof i)throw new Error(\"callback must be a function\");var o={name:e,defaultValue:t,callback:i,type:z.Var};\"complete\"===this.fetchStatus&&\"complete\"===this.refreshFetchStatus?this.getRealVar(o,e,n):this.callbacks.push(o)},t.prototype.setAbUuid=function(e,t){this.collect.configManager.setAbUuidCache(e,t)},t.prototype.getRealVar=function(e,t,i){var n=e.name,o=e.defaultValue,s=e.callback,a=this.data;if(a){if(r(a[n])){var c=a[n].vid;return\"$ab_url\"===t?this.mulilinkVersions.includes(c)||this.mulilinkVersions.push(c):this.versions.includes(c)||this.versions.push(c),this.setAbUuid(c,i),this.updateVersions(),this.fechEvent(c,t,o),s(a[n].val),void this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,secType:\"AB\",info:\"SDK 曝光了实验\"+n,level:\"info\",time:Date.now(),data:a[n]})}this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,secType:\"AB\",info:\"SDK 调用getVar\",level:\"info\",time:Date.now(),data:o}),s(o)}else s(o)},t.prototype.getAllVars=function(e){if(\"function\"!=typeof e)throw new Error(\"callback must be a function\");var t={callback:e,type:z.All};\"complete\"===this.fetchStatus&&\"complete\"===this.refreshFetchStatus?this.getRealAllVars(t):this.callbacks.push(t)},t.prototype.getRealAllVars=function(e){(0,e.callback)(this.data?JSON.parse(JSON.stringify(this.data)):{}),this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,secType:\"AB\",info:\"SDK 调用getAllVars\",level:\"info\",time:Date.now(),data:this.data})},t.prototype.fechEvent=function(e,t,i){try{if(this.config.disable_track_event)return;if(!e)return;var n=this.collect.configManager.get(),o=n.header,r=n.user,s=this.getABCache(),a=r[this.ab_user_mode]||r.user_unique_id;if(s&&s.uuid&&s.uuid!==a)return;var c={event:\"abtest_exposure\",ab_sdk_version:\"\"+e,params:JSON.stringify({app_id:this.config.appId,ab_url:\"$ab_url\"===t?i:window.location.href,data:this.data}),local_time_ms:Date.now()};o.custom=JSON.stringify(o.custom);var l={events:[c],user:r,header:o};this.reportExposure(l,t)}catch(e){this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message})}},t.prototype.reportExposure=function(e,t){var i=this;this.exposureCache.push(e),this.reportTimeout&&clearTimeout(this.reportTimeout),this.exposureCache.length>=this.exposureLimit?this.report(t):this.reportTimeout=setTimeout((function(){i.report(t),clearTimeout(i.reportTimeout)}),this.ab_batch_time)},t.prototype.report=function(e){var t=this;this.collect.requestManager.useRequest({url:this.reportUrl,data:this.exposureCache,timeout:2e4,useBeacon:\"$ab_url\"===e}),this.exposureCache.forEach((function(e){t.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_EVENT,info:\"埋点上报成功\",time:Date.now(),data:[e],code:200,status:\"success\"})})),this.exposureCache=[]},t.prototype.setExternalAbVersion=function(e){this.extVersions=[e],this.updateVersions()},t.prototype.getABconfig=function(e,t){var i=Object.keys(e);i&&i.length&&this.collect.configManager.set(e),this.fetchAB(t)},t.prototype.get=function(e){return this.cacheStorgae.getItem(e)},t.prototype.set=function(e,t){this.cacheStorgae.setItem(e,t),this.collect.configManager.setAbCache(t),this.collect.event(\"abtest_cache\",{env_uuid:this.collect.configManager.get(\"user\").user_unique_id||\"\",cache:JSON.stringify(t)})},t.prototype.getABCache=function(e){var t={ab_version:[],ab_ext_version:[],ab_version_multilink:[],data:null,timestamp:+new Date,uuid:\"\"};return t=this.get(this.abKey)||t,e?t[e]:t},t.prototype.updateABCache=function(){var e=this.getABCache();e.ab_version_multilink=this.mulilinkVersions,e.ab_ext_version=this.extVersions,e.ab_version=this.versions,e.timestamp=Date.now(),this.set(this.abKey,e)},t.prototype.setAbCache=function(e){var t=this.getABCache();t.data=this.data,t.uuid=e,t.timestamp=Date.now(),this.set(this.abKey,t)},t.prototype.clearCache=function(){this.refreshFetchStatus=\"ing\",this.data={},this.extVersions=[],this.mulilinkVersions=[],this.versions=[],this.collect.configManager.clearAbCache()},t.prototype.openOverlayer=function(e){var t=this;if(function(){if(!document.getElementById(W)){var e=\"body { opacity: 0 !important; }\",t=document.head||document.getElementsByTagName(\"head\")[0],i=document.createElement(\"style\");i.id=W,i.type=\"text/css\",i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e)),t.appendChild(i)}}(),e)var i=setTimeout((function(){t.closeOverlayer(),clearTimeout(i)}),e)},t.prototype.closeOverlayer=function(){var e;(e=document.getElementById(W))&&e.parentElement.removeChild(e)},t.prototype.fetchComplete=function(e,t){var i=this;try{if(e&&\"[object Object]\"==Object.prototype.toString.call(e)){this.data=e,this.setAbCache(t);var n=[];Object.keys(e).forEach((function(t){var i=e[t].vid;i&&n.push(i)})),this.versions=this.versions.filter((function(e){return n.includes(e)}));var o=e.$ab_url,r=e.$ab_modification;if(r&&r.val&&this.enable_ab_visual){if(this.collect.destroy)return}else if(o&&this.enable_multilink){this.mulilinkVersions=this.mulilinkVersions.filter((function(e){return n.includes(e)}));var s=o.val,a=o.vid;s&&a&&this.getVar(\"$ab_url\",s,(function(){i.editMode||(s!==window.location.href?setTimeout((function(){if(!i.collect.destroy){var e=\"\"+s;e=-1===e.indexOf(\"http\")?\"https://\"+e:e,u(e).host!==location.host?e=e+\"&vid=\"+a:window.history.replaceState(\"\",\"\",e),window.location.href=e}}),100):i.closeOverlayer())}))}this.updateVersions()}else this.closeOverlayer();this.callbacks.forEach((function(e){return i[e.type===z.Var?\"getRealVar\":\"getRealAllVars\"](e,\"\")})),this.callbacks=[]}catch(e){}},t.prototype.fetchAB=function(t){var i=this,n=this.collect.configManager.get(),o={header:e(e(e({aid:this.config.app_id},n.user||{}),n.header||{}),{ab_sdk_version:this.collect.configManager.getAbVersion(),ab_url:window.location.href})},r=n.user[this.ab_user_mode]||n.user.user_unique_id;this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 发起AB实验请求\",level:\"info\",logType:\"fetch\",time:Date.now(),data:o}),this.collect.requestManager.useRequest({url:this.fetchUrl,data:o,success:function(e){i.fetchStatus=\"complete\",i.refreshFetchStatus=\"complete\";var n=e.data;\"success\"===e.message?(i.fetchComplete(n,r),t&&t(n)):(i.fetchComplete(null,r),t&&t(null)),i.collect.emit(i.types.AbComplete,n),i.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,secType:\"AB\",info:\"AB实验请求成功\",level:\"info\",logType:\"fetch\",time:Date.now(),data:n})},fail:function(){i.fetchStatus=\"complete\",i.refreshFetchStatus=\"complete\",i.fetchComplete(null,r),i.collect.emit(i.types.AbTimeout),t&&t(null),i.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,secType:\"AB\",info:\"AB实验请求网络异常\",level:\"error\",logType:\"fetch\",time:Date.now()})},timeout:this.timeout})},t.prototype.filterUrl=function(e){try{var t=\"\";-1!==e.indexOf(\"&multilink=true\")?t=\"&multilink=true[\\0-ÿ]*\":-1!==e.indexOf(\"?multilink=true\")&&(t=\"\\\\?multilink=true[\\0-ÿ]*\");var i=new RegExp(t,\"g\");e=e.replace(i,\"\")}catch(e){}return e},t}(),X=function(){function e(){}return e.prototype.apply=function(e,t){var i=this;if(t.event_verify_url)if(\"string\"==typeof t.event_verify_url){if(this.url=t.event_verify_url+\"/v1/list_test\",this.url){var n=e.Types;e.on(n.SubmitBefore,(function(t){e.requestManager.useBeacon({url:i.url,data:t})}))}}else console.log(\"please use correct et_test url\")},e}(),$=function(){function t(e,t){this.maxDuration=432e5,this.aliveDTime=6e4,this.options={aliveName:\"predefine_page_alive\",params:{}},this.focusState=!0,this.collect=e,this.config=t,this.pageStartTime=Date.now(),this.sessionStartTime=this.pageStartTime,this.timerHandler=null,r(t.enable_stay_duration)&&(this.options=Object.assign(this.options,t.enable_stay_duration)),this.hard=this.options.mode&&\"hard\"===this.options.mode,this.focusState=document.hasFocus()}return t.prototype.setParams=function(e,t,i){this.set_path=e,this.set_url=i,this.set_title=t},t.prototype.enable=function(e,t,i){this.url_path=e,this.url=i,this.title=t,this.disableCallback=this.enablePageAlive(),this.hard&&(this.removeMode=this.hardMode())},t.prototype.disable=function(){this.disableCallback(),this.pageStartTime=Date.now()},t.prototype.sendEvent=function(t,i){void 0===i&&(i=!1);var n=i?this.aliveDTime:Date.now()-this.sessionStartTime;n<0||n>this.aliveDTime||Date.now()-this.pageStartTime>this.maxDuration||i&&\"hidden\"===document.visibilityState||this.hard&&!this.focusState||(this.collect.beconEvent(this.options.aliveName,e({url_path:this.getParams(\"url_path\"),title:this.getParams(\"title\"),url:this.getParams(\"url\"),duration:n,is_support_visibility_change:h(),startTime:this.sessionStartTime,hidden:document.visibilityState,leave:t,mode:this.hard?\"hard\":\"normal\",focusState:this.focusState},this.options.params)),this.sessionStartTime=Date.now())},t.prototype.getParams=function(e){switch(e){case\"url_path\":return this.set_path||this.url_path||location.pathname;case\"title\":return this.set_title||this.title||document.title||location.pathname;case\"url\":return this.set_url||this.url||location.href}},t.prototype.setUpTimer=function(){var e=this;return this.timerHandler&&clearInterval(this.timerHandler),setInterval((function(){Date.now()-e.sessionStartTime>e.aliveDTime&&e.sendEvent(!1,!0)}),1e3)},t.prototype.visibilitychange=function(){\"hidden\"===document.visibilityState?this.timerHandler&&(clearInterval(this.timerHandler),this.sendEvent(!1)):\"visible\"===document.visibilityState&&(this.sessionStartTime=Date.now(),this.timerHandler=this.setUpTimer())},t.prototype.beforeunload=function(){document.hidden||this.sendEvent(!0)},t.prototype.enablePageAlive=function(){var e=this;this.timerHandler=this.setUpTimer();var t=this.visibilitychange.bind(this),i=this.beforeunload.bind(this);return document.addEventListener(\"visibilitychange\",t),l(i),function(){e.beforeunload(),document.removeEventListener(\"visibilitychange\",t),window.removeEventListener(\"beforeunload\",i),window.removeEventListener(\"pagehide\",i)}},t.prototype.hardMode=function(){var e=this,t=function(){e.timerHandler&&(clearInterval(e.timerHandler),e.sendEvent(!1)),e.focusState=!1},i=function(){e.focusState=!0,e.sessionStartTime=Date.now(),e.timerHandler=e.setUpTimer()};return window.addEventListener(\"blur\",t),window.addEventListener(\"focus\",i),function(){window.removeEventListener(\"blur\",t),window.removeEventListener(\"focus\",i)}},t}(),Y=function(){function t(e,t){var i=this;this.maxDuration=432e5,this.aliveDTime=6e4,this.options={closeName:\"predefine_page_close\",params:{}},this.focusState=!0,this.visibilitychange=function(){\"hidden\"===document.visibilityState?i.activeEndTime=Date.now():\"visible\"===document.visibilityState&&(i.activeEndTime&&(i.totalTime+=i.activeEndTime-i.activeStartTime,i.activeTimes+=1),i.activeEndTime=void 0,i.activeStartTime=Date.now())},this.beforeunload=function(){if(i.totalTime+=(i.activeEndTime||Date.now())-i.activeStartTime,i.config.autotrack){try{window.sessionStorage.setItem(\"_tea_cache_duration\",JSON.stringify({duration:i.totalTime,page_title:document.title||location.pathname}))}catch(e){}}i.sendEventPageClose()},this.collect=e,this.config=t,this.maxDuration=t.maxDuration||864e5,this.pageStartTime=Date.now(),r(t.enable_stay_duration)&&(this.options=Object.assign(this.options,t.enable_stay_duration)),this.hard=this.options.mode&&\"hard\"===this.options.mode,this.focusState=document.hasFocus(),this.resetData()}return t.prototype.setParams=function(e,t,i){this.set_path=e,this.set_url=i,this.set_title=t},t.prototype.resetParams=function(e,t,i){this.url_path=e,this.url=i,this.title=t},t.prototype.enable=function(e,t,i){this.url_path=e,this.url=i,this.title=t,this.disableCallback=this.enablePageClose(),this.hard&&(this.removeMode=this.hardMode())},t.prototype.disable=function(){this.disableCallback()},t.prototype.resetData=function(){this.activeStartTime=void 0===this.activeStartTime?this.pageStartTime:Date.now(),this.activeEndTime=void 0,this.activeTimes=1,this.totalTime=0,this.resetParams(location.pathname,document.title,location.href)},t.prototype.sendEventPageClose=function(){var t=Date.now()-this.pageStartTime;this.totalTime<0||t<0||this.totalTime>=this.maxDuration||this.hard&&!this.focusState||(this.collect.beconEvent(this.options.closeName,e({url_path:this.getParams(\"url_path\"),title:this.getParams(\"title\"),url:this.getParams(\"url\"),active_times:this.activeTimes,duration:this.totalTime,total_duration:t,is_support_visibility_change:h(),mode:this.hard?\"hard\":\"normal\",focusState:this.focusState},this.options.params)),this.pageStartTime=Date.now(),this.resetData())},t.prototype.getParams=function(e){switch(e){case\"url_path\":return this.set_path||this.url_path||location.pathname;case\"title\":return this.set_title||this.title||document.title||location.pathname;case\"url\":return this.set_url||this.url||location.href}},t.prototype.enablePageClose=function(){var e=this,t=this.visibilitychange.bind(this),i=this.beforeunload.bind(this);return document.addEventListener(\"visibilitychange\",t),l(i),function(){e.beforeunload(),document.removeEventListener(\"visibilitychange\",t),window.removeEventListener(\"beforeunload\",i),window.removeEventListener(\"pagehide\",i)}},t.prototype.hardMode=function(){var e=this,t=function(){e.focusState=!1},i=function(){e.focusState=!0};return window.addEventListener(\"blur\",t),window.addEventListener(\"focus\",i),function(){window.removeEventListener(\"blur\",t),window.removeEventListener(\"focus\",i)}},t}(),Z=function(){function e(){}return e.prototype.apply=function(e,t){var i=this;if(this.collect=e,this.config=t,this.config.enable_stay_duration){this.title=document.title||location.pathname,this.url=location.href,this.url_path=location.pathname,this.pageAlive=new $(e,t),this.pageClose=new Y(e,t);var n=this.collect.Types;this.collect.on(n.ResetStay,(function(e){var t=e.url_path,n=e.title,o=e.url;i.resetStayDuration(t,n,o)})),this.collect.on(n.RouteChange,(function(e){e.init||t.disable_route_report||i.resetStayDuration()})),this.collect.on(n.SetStay,(function(e){var t=e.url_path,n=e.title,o=e.url;i.setStayParmas(t,n,o)})),this.enable(this.url_path,this.title,this.url),this.ready(n.Stay),this.collect.emit(n.StayReady)}},e.prototype.ready=function(e){var t=this;if(this.collect.set(e),this.collect.hook._hooksCache.hasOwnProperty(e)){var i=this.collect.hook._hooksCache[e];if(!Object.keys(i).length)return;var n=function(e){i[e].length&&i[e].forEach((function(i){t.collect.hook.emit(e,i)}))};for(var o in i)n(o)}},e.prototype.enable=function(e,t,i){this.pageAlive.enable(e,t,i),this.pageClose.enable(e,t,i)},e.prototype.disable=function(){this.pageAlive.disable(),this.pageClose.disable()},e.prototype.setStayParmas=function(e,t,i){void 0===e&&(e=\"\"),void 0===t&&(t=\"\"),void 0===i&&(i=\"\"),this.pageAlive.setParams(e,t,i),this.pageClose.setParams(e,t,i),this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 执行 resetStayParams\",level:\"info\",time:Date.now(),data:{url_path:e,title:t,url:i}})},e.prototype.reset=function(e,t,i){this.disable(),this.enable(e,t,i)},e.prototype.resetStayDuration=function(e,t,i){this.reset(e,t,i),this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"SDK 执行 resetStayDuration\",level:\"info\",time:Date.now(),data:{url_path:e,title:t,url:i}})},e}(),Q=function(){function e(){var e=this;this.setInterval=function(){e.clearIntervalFunc=function(e,t){void 0===e&&(e=function(){}),void 0===t&&(t=1e3);var i,n=Date.now()+t;return i=window.setTimeout((function o(){var r=Date.now()-n;e(),n+=t,i=window.setTimeout(o,Math.max(0,t-r))}),t),function(){window.clearTimeout(i)}}((function(){e.isSessionhasEvent&&e.endCurrentSession()}),e.sessionInterval)},this.clearInterval=function(){e.clearIntervalFunc&&e.clearIntervalFunc()}}return e.prototype.apply=function(e,t){var i=this;if(this.collect=e,!t.disable_heartbeat){this.sessionInterval=6e4,this.startTime=0,this.lastTime=0,this.setInterval();var n=this.collect.Types;this.collect.on(n.SessionReset,(function(){i.process()}))}},e.prototype.endCurrentSession=function(){this.collect.event(\"_be_active\",{start_time:this.startTime,end_time:this.lastTime,url:window.location.href,referrer:window.document.referrer,title:document.title||location.pathname}),this.isSessionhasEvent=!1,this.startTime=0},e.prototype.process=function(){this.isSessionhasEvent||(this.isSessionhasEvent=!0,this.startTime=+new Date);var e=this.lastTime||+new Date;this.lastTime=+new Date,this.lastTime-e>this.sessionInterval&&(this.clearInterval(),this.endCurrentSession(),this.setInterval())},e}(),ee=function(){function e(){}return e.prototype.apply=function(e,t){var i=this;if(this.collect=e,this.config=t,!this.config.channel_domain&&!t.disable_track_event&&!t.disable_sdk_monitor){this.url=e.configManager.getUrl(\"event\");var n=this.collect.Types;this.collect.on(n.Ready,(function(){i.sdkOnload()})),this.collect.on(n.SubmitError,(function(e){var t=e.type,n=e.eventData,o=e.errorCode;\"f_data\"===t&&i.sdkError(n,o)}))}},e.prototype.sdkOnload=function(){var e=this;try{var t=this.collect.configManager.get(),i=t.header,n=t.user,o=i.app_id,r=i.app_name,s=i.sdk_version,a=n.web_id,c={events:[{event:\"onload\",params:JSON.stringify({app_id:o,app_name:r||\"\",sdk_version:s,sdk_type:\"npm\",sdk_config:this.config,sdk_desc:\"TOC_OVERSEA\"}),local_time_ms:Date.now()}],user:{user_unique_id:a},header:{}};setTimeout((function(){e.collect.requestManager.useRequest({url:e.url,data:[c],timeout:3e4,app_key:\"566f58151b0ed37e\",forceXhr:!0})}),16)}catch(e){}},e.prototype.sdkError=function(e,t){var i=this;try{var n=e[0],o=n.user,r=n.header,s=[];e.forEach((function(e){e.events.forEach((function(e){s.push(e)}))}));var a={events:s.map((function(e){return{event:\"on_error\",params:JSON.stringify({error_code:t,app_id:r.app_id,app_name:r.app_name||\"\",error_event:e.event,sdk_version:r.sdk_version,local_time_ms:e.local_time_ms,tea_event_index:Date.now(),params:e.params,header:JSON.stringify(r),user:JSON.stringify(o)}),local_time_ms:Date.now()}})),user:{user_unique_id:o.user_unique_id},header:{}};setTimeout((function(){i.collect.requestManager.useRequest({url:i.url,data:[a],timeout:3e4,app_key:\"566f58151b0ed37e\",forceXhr:!0})}),16)}catch(e){}},e}();function te(e,t){if(void 0===t&&(t=\"list\"),!e)return!1;if(t&&\"list\"===t){if([\"LI\",\"TR\",\"DL\"].includes(e.nodeName))return!0;if(e.dataset&&e.dataset.hasOwnProperty(\"teaIdx\"))return!0;if(e.hasAttribute&&e.hasAttribute(\"data-tea-idx\"))return!0}else{if([\"A\",\"BUTTON\"].includes(e.nodeName))return!0;if(e.dataset&&e.dataset.hasOwnProperty(\"teaContainer\"))return!0;if(e.hasAttribute&&e.hasAttribute(\"data-tea-container\"))return!0}return!1}function ie(e){for(var t=e;t&&!te(t,\"container\");){if(\"HTML\"===t.nodeName||\"BODY\"===t.nodeName)return e;t=t.parentElement}return t||e}function ne(e){var t=\"\";return 3===e.nodeType?t=e.textContent.trim():e.dataset&&e.dataset.hasOwnProperty(\"teaTitle\")||e.hasAttribute(\"ata-tea-title\")?t=e.getAttribute(\"data-tea-title\"):e.hasAttribute(\"title\")?t=e.getAttribute(\"title\"):\"INPUT\"===e.nodeName&&[\"button\",\"submit\"].includes(e.getAttribute(\"type\"))?t=e.getAttribute(\"value\"):\"IMG\"===e.nodeName&&e.getAttribute(\"alt\")&&(t=e.getAttribute(\"alt\")),t.slice(0,200)}var oe=function(e,t){return e.hasAttribute?e.hasAttribute(t):e.attributes?!(!e.attributes[t]||!e.attributes[t].specified):void 0},re=function(e,t){if(\"string\"==typeof t)return oe(e,t);if(s(t)){for(var i=!1,n=0;n<t.length;n++){if(oe(e,t[n])){i=!0;break}}return i}};var se=function(){function t(t,i,n){var o=this;this.statistics=!1,this.pageView=!1,this.clickEvent=function(e){(function(e,t){if(1!==e.nodeType)return!1;if(!t.svg&&function(e){if(\"svg\"===e.tagName.toLowerCase())return!0;for(var t=e.parentElement,i=!1;t;)\"svg\"===t.tagName.toLowerCase()?(t=null,i=!0):t=t.parentElement;return i}(e))return!1;if([\"HTML\",\"BODY\"].includes(e.tagName.toUpperCase()))return!1;var i=e;return\"none\"!==i.style.display&&(!!te(i,\"container\")||!(!function(e){if(e.children.length){var t=e.children;return![].slice.call(t).some((function(e){return e.children.length>0}))}return!0}(i)&&!t.svg))})(e.target,o.options)&&o.eventHandel({eventType:\"dom\",eventName:\"click\"},e)},this.changeEvent=function(e){o.eventHandel({eventType:\"dom\",eventName:\"change\"},e)},this.submitEvent=function(e){o.eventHandel({eventType:\"dom\",eventName:\"submit\"},e)},this.getPageViewEvent=function(t,i){i&&\"pushState\"===i&&o.eventHandel({eventType:\"dom\",eventName:\"beat\"},e({beat_type:0},t)),o.eventHandel({eventType:\"dom\",eventName:\"page_view\"},t)},this.getPageLoadEvent=function(e){o.eventHandel({eventType:\"dom\",eventName:\"page_statistics\"},{lcp:e})},this.config=n.getConfig().eventConfig,this.collect=i,this.options=t,this.beatTime=t.beat}return t.prototype.init=function(e){this.eventHandel=e;var t=this.config.mode;this.addListener(t)},t.prototype.addListener=function(e){var t=this;if(\"proxy-capturing\"===e){if(this.config.click&&window.document.addEventListener(\"click\",this.clickEvent,!0),this.config.change&&window.document.addEventListener(\"change\",this.changeEvent,!0),this.config.submit&&window.document.addEventListener(\"submit\",this.submitEvent,!0),this.config.pv){this.collect.on(\"route-change\",(function(e){var i=e.config,n=e.name;t.getPageViewEvent(i,n),t.pageView=!0}));var i=setTimeout((function(){t.pageView||(t.getPageViewEvent(t.getDefaultConfig()),t.pageView=!0,clearTimeout(i))}),2e3)}if(this.config.beat){try{\"complete\"===document.readyState?this.beatEvent(this.beatTime):window.addEventListener(\"load\",(function(){t.beatEvent(t.beatTime)}));var n=0,o=null;window.addEventListener(\"scroll\",(function(){clearTimeout(o),o=setTimeout(r,500),n=document.documentElement.scrollTop||document.body.scrollTop}));var r=function(){(document.documentElement.scrollTop||document.body.scrollTop)==n&&t.eventHandel({eventType:\"dom\",eventName:\"beat\"},{beat_type:1})}}catch(e){}try{var s=window.performance&&window.performance.getEntriesByType(\"paint\");if(s&&s.length)new PerformanceObserver((function(e){var i=e.getEntries(),n=i[i.length-1],o=n.renderTime||n.loadTime;t.statistics||(t.getPageLoadEvent(o),t.statistics=!0)})).observe({entryTypes:[\"largest-contentful-paint\"]}),setTimeout((function(){t.statistics||(t.getPageLoadEvent(s[0].startTime||0),t.statistics=!0)}),2e3);else this.getPageLoadEvent(0)}catch(e){this.getPageLoadEvent(0)}}}},t.prototype.removeListener=function(){window.document.removeEventListener(\"click\",this.clickEvent,!0),window.document.removeEventListener(\"change\",this.changeEvent,!0),window.document.removeEventListener(\"submit\",this.submitEvent,!0)},t.prototype.beatEvent=function(e){var t=this;try{var i;this.eventHandel({eventType:\"dom\",eventName:\"beat\"},{beat_type:3}),this.beatTime&&(i=setInterval((function(){t.eventHandel({eventType:\"dom\",eventName:\"beat\"},{beat_type:2})}),e)),l((function(){t.eventHandel({eventType:\"dom\",eventName:\"beat\",eventSend:\"becon\"},{beat_type:0}),t.beatTime&&clearInterval(i)}))}catch(e){}},t.prototype.getDefaultConfig=function(){return{is_html:1,url:location.href,referrer:document.referrer,page_key:location.href,refer_page_key:document.referrer,page_title:document.title||location.pathname,page_manual_key:\"\",refer_page_manual_key:\"\",refer_page_title:\"\",page_path:location.pathname,page_host:location.host}},t}(),ae={eventConfig:{mode:\"proxy-capturing\",submit:!1,click:!0,change:!1,pv:!0,beat:!0,hashTag:!1,impr:!1},scoutConfig:{mode:\"xpath\"}},ce=function(){function e(e,t){this.config=e,this.config.eventConfig=Object.assign(this.config.eventConfig,t)}return e.prototype.getConfig=function(){return this.config},e.prototype.setConfig=function(e){return this.config=e},e}();function le(e){for(var t=[];null!==e.parentElement;)t.push(e),e=e.parentElement;var i=[],n=[];return t.forEach((function(e){var t=function(e){if(null===e)return{str:\"\",index:0};var t=0,i=e.parentElement;if(i)for(var n=i.children,o=0;o<n.length&&n[o]!==e;o++)n[o].nodeName===e.nodeName&&t++;return{str:[e.nodeName.toLowerCase(),te(e,\"list\")?\"[]\":\"\"].join(\"\"),index:t}}(e),o=t.str,r=t.index;i.unshift(o),n.unshift(r)})),{element_path:\"/\"+i.join(\"/\"),positions:n}}function he(e,t,i,n){var o={},r=function(e){if(e){var t=e.getBoundingClientRect(),i=t.width,n=t.height;return{left:t.left,top:t.top,element_width:i,element_height:n}}}(t),a=function(e,t){void 0===e&&(e={}),void 0===t&&(t={});var i=e.clientX,n=e.clientY,o=t.left,r=t.top,s=i-o>=0?i-o:0,a=n-r>=0?n-r:0;return{touch_x:Math.floor(s),touch_y:Math.floor(a)}}(e,r),c=r.element_width,l=r.element_height,h=a.touch_x,u=a.touch_y,p=le(t),d=p.element_path,f=p.positions,g=function(e){var t=ie(e),i=[];return function e(t){var n=ne(t);if(n&&-1===i.indexOf(n)&&i.push(n),t.childNodes.length>0)for(var o=t.childNodes,r=0;r<o.length;r++)8!==o[r].nodeType&&e(o[r])}(t),i}(t),m=window.performance.timing.navigationStart,_=Date.now()-m,v=f.map((function(e){return\"\"+e})),y=null;if(window.TEAVisualEditor&&window.TEAVisualEditor.getOriginXpath&&(y=window.TEAVisualEditor.getOriginXpath({xpath:d,positions:v})),o.element_path=y&&y.xpath||d,o.positions=y&&y.positions||v,n&&!n.text&&(o.texts=g,o.element_title=function(e){var t=ie(e),i=\"\";return function e(t){var n=ne(t);if(n&&(i+=n),t.childNodes.length>0)for(var o=t.childNodes,r=0;r<o.length;r++)3===o[r].nodeType&&e(o[r])}(t),i}(t)),o.element_id=t.getAttribute(\"id\")||\"\",o.element_class_name=t.getAttribute(\"class\")||\"\",o.element_type=t.nodeType,o.element_width=Math.floor(c),o.element_height=Math.floor(l),o.touch_x=h,o.touch_y=u,o.page_manual_key=\"\",o.elememt_manual_key=\"\",o.since_page_start_ms=_,o.page_start_ms=m,o.page_path=location.pathname,o.page_host=location.host,i.track_attr&&function(e,t){return!!re(e,t)}(t,i.track_attr)){var b=function(e,t){var i={};if(\"string\"==typeof t)oe(e,t)&&(i.attrs=e.getAttribute(t));else if(s(t))for(var n=0;n<t.length;n++){oe(e,t[n])&&(i[t[n]]=e.getAttribute(t[n]))}return i}(t,i.track_attr);for(var E in b)o[E]=b[E]}var S=ie(t);return\"A\"===S.tagName&&(o.href=S.getAttribute(\"href\")),\"IMG\"===t.tagName&&(o.src=t.getAttribute(\"src\")),o}var ue,pe=function(t,i,n,o,r){return e(e({event:t},he(i,n,o,r)),{is_html:1,page_key:window.location.href,page_title:document.title})},de=function(){function t(e,t){this.ignore={text:!0},this.initConfig=e,this.options=t,this.eventName=t&&\"tea\"===t.custom?{click:\"__bav_click\",page:\"__bav_page\",beat:\"__bav_beat\",static:\"__bav_page_statistics\",exposure:\"__bav_page_exposure\"}:{click:\"bav2b_click\",page:\"bav2b_page\",beat:\"bav2b_beat\",static:\"bav2b_page_statistics\",exposure:\"bav2b_exposure\"},t&&!0===t.text&&(this.ignore.text=!1),t&&t.exposure&&t.exposure.eventName&&(this.eventName.exposure=t.exposure.eventName)}return t.prototype.handleEvent=function(t,i){try{if(function(e){for(var t=e;t&&t.parentNode;){if(t.hasAttribute(\"data-tea-ignore\"))return!0;if(\"HTML\"===t.nodeName||\"body\"===t.nodeName)return!1;t=t.parentNode}return!1}(t.target))return null;var n=\"bav2b_click\";switch(i){case\"click\":return n=this.eventName.click,pe(n,t,t.target,this.options,this.ignore);case\"exposure\":return n=this.eventName.exposure,pe(n,t,t.target,this.options,this.ignore);case\"change\":return e(e({},pe(n=\"bav2b_change\",t,t.target,this.options)),function(e,t){try{if(\"bav2b_change\"===e)return t.hasAttribute(\"data-tea-track\")?{value:t.value}:{}}catch(e){return{}}}(n,t.target));case\"submit\":return pe(n=\"bav2b_submit\",t,t.target,this.options)}}catch(e){return console.error(e),null}},t.prototype.handleViewEvent=function(e){e.event=this.eventName.page,e.page_title=document.title,e.page_total_width=window.innerWidth,e.page_total_height=window.innerHeight;try{var t=window.sessionStorage.getItem(\"_tea_cache_duration\");if(t){var i=JSON.parse(t);e.refer_page_duration_ms=i?i.duration:\"\"}e.scroll_width=document.documentElement.scrollLeft?document.documentElement.scrollLeft+window.innerWidth:window.innerWidth,e.scroll_height=document.documentElement.scrollTop?document.documentElement.scrollTop+window.innerHeight:window.innerHeight,e.page_start_ms=window.performance.timing.navigationStart}catch(e){console.log(\"page event error \"+JSON.stringify(e))}return e},t.prototype.handleStatisticsEvent=function(e){var t={};t.event=this.eventName.static,t.is_html=1,t.page_key=location.href,t.refer_page_key=document.referrer||\"\",t.page_title=document.title,t.page_manual_key=this.initConfig.autotrack.page_manual_key||\"\",t.refer_page_manual_key=\"\";try{var i=e.lcp,n=window.performance.timing,o=n.loadEventEnd-n.navigationStart;t.page_init_cost_ms=parseInt(i||(o>0?o:0)),t.page_start_ms=n.navigationStart}catch(e){console.log(\"page_statistics event error \"+JSON.stringify(e))}return t},t.prototype.handleBeadtEvent=function(e){e.event=this.eventName.beat,e.page_key=window.location.href,e.is_html=1,e.page_title=document.title,e.page_manual_key=this.initConfig.autotrack.page_manual_key||\"\";try{e.page_viewport_width=window.innerWidth,e.page_viewport_height=window.innerHeight,e.page_total_width=document.documentElement.scrollWidth,e.page_total_height=document.documentElement.scrollHeight,e.scroll_width=document.documentElement.scrollLeft+window.innerWidth,e.scroll_height=document.documentElement.scrollTop+window.innerHeight,e.since_page_start_ms=Date.now()-window.performance.timing.navigationStart,e.page_start_ms=window.performance.timing.navigationStart}catch(e){console.log(\"beat event error \"+JSON.stringify(e))}return e},t}(),fe=function(){function e(e){this.collect=e,this.eventNameList=[\"report_click_event\",\"report_change_event\",\"report_submit_event\",\"report_exposure_event\",\"report_page_view_event\",\"report_page_statistics_event\",\"report_beat_event\"]}return e.prototype.send=function(e,t){var i=e.eventSend,n=t.event;delete t.event,i&&\"becon\"===i?this.collect.beconEvent(n,t):this.collect.event(n,t)},e.prototype.get=function(e,t){var i=Object.assign({headers:{\"content-type\":\"application/json\"},method:\"GET\"},t);fetch(e,i)},e.prototype.post=function(e,t){var i=Object.assign({headers:{\"content-type\":\"application/json\"},method:\"POST\"},t);fetch(e,i)},e}(),ge=function(){function e(e){this._instance=null,this._intersection=e,this.init()}return e.prototype.init=function(){var e=this;this._instance=new MutationObserver((function(t){t.forEach((function(t){\"attributes\"===t.type&&e.attributeChangeObserve(t),\"childList\"===t.type&&e.modifyNodeObserve(t)}))})),this._instance.observe(document.body,{childList:!0,attributes:!0,subtree:!0,attributeOldValue:!1})},e.prototype.attributeChangeObserve=function(e){e.target.hasAttribute(\"data-exposure\")?this.exposureAdd(e,\"mutation\"):this.exposureRemove(e)},e.prototype.modifyNodeObserve=function(e){var t=this;Array.prototype.forEach.call(e.addedNodes,(function(e){1===e.nodeType&&e.hasAttribute(\"data-exposure\")&&t.exposureAdd(e,\"intersect\"),t.mapChild(e,t.exposureAdd)})),Array.prototype.forEach.call(e.removedNodes,(function(e){1===e.nodeType&&e.hasAttribute(\"data-exposure\")&&t.exposureRemove(e),t.mapChild(e,t.exposureRemove)}))},e.prototype.mapChild=function(e,t){var i=this;1===e.nodeType&&e.children.length&&Array.prototype.forEach.call(e.children,(function(e){1===e.nodeType&&e.hasAttribute(\"data-exposure\")&&t(e),i.mapChild(e,t)}))},e.prototype.exposureAdd=function(e,t){this._intersection.exposureAdd(e,t)},e.prototype.exposureRemove=function(e){this._intersection.exposureRemove(e)},e._exposure_observer=null,e}(),me=function(){function e(t,i){this.count=1,this.instance=this.buildObserver(),this.observeMap=e._observer_map,t.autotrack.exposure.ratio?this.Ratio=t.autotrack.exposure.ratio:0===t.autotrack.exposure.ratio?this.Ratio=0:this.Ratio=.5,this.EventHandle=i}return e.prototype.buildObserver=function(){var t=this;if(!e._observer_instance)return IntersectionObserver&&(e._observer_instance=new IntersectionObserver((function(e){e.forEach((function(e){t.observeMap.get(e.target._observeId)&&t.exposureEvent(e)}))}),{threshold:[.01,.25,.5,.75,1]})),e._observer_instance},e.prototype.exposureAdd=function(e,t){var i=e;\"mutation\"===t&&(i=e.target);var n=i._observeId;if(n||this.observeMap.has(n)){if(!1===i.visible){var o=i.getBoundingClientRect(),r=o.top,s=o.left,a=o.right,c=o.bottom;r>=0&&c<=window.innerHeight&&s>=0&&a<=window.innerWidth&&(i.visible=!0,this.EventHandle({eventType:\"dom\",eventName:\"exposure\"},e))}}else i._observeId=this.count,i.visible=!1,this.observeMap.set(this.count,i),this.observe(i),this.count++},e.prototype.exposureRemove=function(e){this.observeMap.has(e._observeId)&&(this.observeMap.delete(e._observeId),this.unobserve(e))},e.prototype.exposureEvent=function(e){if(e.intersectionRatio>=this.Ratio&&e.isIntersecting){if(\"0\"===e.target.style.opacity||\"hidden\"===e.target.style.visibility)return;if(!0===e.target.visible)return;e.target.visible=!0,this.EventHandle({eventType:\"dom\",eventName:\"exposure\"},e)}else e.target.visible=!1},e.prototype.observe=function(e){this.instance.observe(e)},e.prototype.unobserve=function(e){this.instance.unobserve(e)},e._observer_instance=null,e._observer_map=new Map,e}(),_e=function(){function e(e,t){e.autotrack&&e.autotrack.exposure&&(this._intersection=new me(e,t),this._observer=new ge(this._intersection),this.initObserver())}return e.prototype.initObserver=function(){var e=this;Array.prototype.forEach.call(document.querySelectorAll(\"[data-exposure]\"),(function(t){e._intersection.exposureAdd(t,\"intersect\")}))},e}(),ve={hashTag:!1,impr:!1},ye=function(){function e(){}return e.prototype.apply=function(e,t){if(this.autoTrackStart=!1,this.collect=e,this.config=t,t.autotrack){var i=e.Types;t.autotrack&&t.autotrack.collect_url&&!t.autotrack.collect_url()||(this.ready(i.Autotrack),this.collect.emit(i.AutotrackReady))}},e.prototype.ready=function(e){this.collect.set(e);var t=this.config.autotrack;t=\"object\"==typeof t?t:{},t=Object.assign(ve,t),this.destroyed=!1,this.options=t,this.Config=new ce(ae,this.options),this.Exposure=new _e(this.config,this.handle.bind(this)),this.Listener=new se(t,this.collect,this.Config),this.EventHandle=new de(this.config,t),this.Request=new fe(this.collect),this.autoTrackStart=!0,this.init()},e.prototype.init=function(){this.Listener.init(this.handle.bind(this)),\"base\"===this.collect.loadType&&(window.opener||window.parent).postMessage(\"[tea-sdk]ready\",\"*\")},e.prototype.handle=function(e,t){\"dom\"===e.eventType&&this.handleDom(e,t)},e.prototype.handleDom=function(e,t){try{var i=e.eventName;if(\"click\"===i||\"exposure\"===i||\"change\"===i||\"submit\"===i){var n=this.EventHandle.handleEvent(t,i);null!==n&&this.Request.send({eventType:\"custom\",eventName:\"report_\"+i+\"_event\",extra:{methods:\"GET\"}},n)}else if(\"page_view\"===i||\"page_statistics\"===i){var o=void 0;o=\"page_view\"===i?this.EventHandle.handleViewEvent(t):this.EventHandle.handleStatisticsEvent(t),this.Request.send({eventType:\"custom\",eventName:\"report_${eventName}_event\",extra:{methods:\"GET\"}},o)}else if(\"beat\"===i){var r=this.EventHandle.handleBeadtEvent(t),s=e.eventSend;this.Request.send({eventType:\"custom\",eventName:\"report_${eventName}_event\",extra:{methods:\"GET\"},eventSend:s},r)}}catch(e){console.log(\"handel dom event error \"+JSON.stringify(e))}},e.prototype.destroy=function(){if(!this.autoTrackStart)return console.warn(\"engine is undefined, make sure you have called autoTrack.start()\");this.autoTrackStart=!1,this.Listener.removeListener()},e}();!function(e){e.Net=\"net\",e.FailNet=\"f_net\",e.FailData=\"f_data\"}(ue||(ue={}));var be={pv:[\"predefine_pageview\"],sdk:[\"_be_active\",\"predefine_page_alive\",\"predefine_page_close\",\"__profile_set\",\"__profile_set_once\",\"__profile_increment\",\"__profile_unset\",\"__profile_append\"],autotrack:[\"bav2b_click\",\"bav2b_page\",\"bav2b_beat\",\"bav2b_page_statistics\",\"__bav_click\",\"__bav_page\",\"__bav_beat\",\"__bav_page_statistics\"]},Ee=function(){function e(){}return e.prototype.apply=function(e,t){var i=this;if(this.ready=t.app_id&&t.enable_tracer&&!t.disable_track_event,this.ready){this.limit={pv:1,sdk:3,autotrack:3,log:3},this.errorCode={f_net:0,f_data:0},this.tracerCache=new Map,this.collect=e,this.appid=t.app_id,this.reportUrl=e.configManager.getUrl(\"event\");var n=this.collect.Types;e.adapters.fetch;this.collect.on(n.Event,(function(e){s(e)?e.forEach((function(e){i.addCount(\"log\")})):i.addCount(\"log\")})),this.collect.on(n.SubmitError,(function(e){var t=e.type,n=e.eventDate,o=e.errorCode,r=e.response;i.addErrorCount(n,t,o,r)})),this.listener(),this.collect.emit(n.TracerReady)}},e.prototype.addCount=function(e,t,i){void 0===t&&(t=\"net\"),void 0===i&&(i=1);try{this.tracerCache||(this.tracerCache=new Map);var n=void 0;if(this.tracerCache.has(e)){if((o=this.tracerCache.get(e)).has(t))n=o.get(t).params.count,n++,o.set(t,this.processTracer(n,e,t));else n=i,o.set(t,this.processTracer(i,e,t))}else{var o=new Map;n=i,o.set(t,this.processTracer(i,e,t)),this.tracerCache.set(e,o)}\"net\"===t&&n>=this.limit[e]&&this.report(!1)}catch(e){console.log(e)}},e.prototype.addErrorCount=function(e,t,i,n){var o=this;try{if(e&&e.length){var r=e[0].events;r&&r.length&&(\"f_data\"===t?(n&&n.hasOwnProperty(\"sc\")?this.addCount(\"log\",t,r.length-n.sc):this.addCount(\"log\",t,r.length),this.errorCode[t]=i):r.forEach((function(e){var n=\"log\";for(var r in be)if(-1!==be[r].indexOf(e.event)){n=r;break}o.addCount(n,t,1),o.errorCode[t]=i})))}}catch(e){}},e.prototype.report=function(e){if(this.tracerCache){var t=[];this.tracerCache.forEach((function(e){console.log(e),e.forEach((function(e){t.push(e)}))})),t&&t.length&&this.sendTracer(t,e)}},e.prototype.sendTracer=function(e,t){try{var i=this.collect.eventManager.merge(e);this.collect.requestManager.useRequest({url:this.reportUrl,data:i,useBeacon:t}),this.tracerCache=null}catch(e){}},e.prototype.processTracer=function(e,t,i){try{var n={count:e,state:i,key:t,params_for_special:\"applog_trace\",aid:this.appid,platform:\"web\",_staging_flag:1,sdk_version:\"5.2.4_oversea\"};\"f_net\"!==i&&\"f_data\"!==i||(n.errorCode=this.errorCode[i]);var o=this.collect.processEvent(\"applog_trace\",n);if(o&&o.event)return delete o.is_bav,o}catch(e){console.warn(\"something error\")}},e.prototype.listener=function(){var e=this;document.addEventListener(\"visibilitychange\",(function(){\"hidden\"===document.visibilityState&&e.leavePage()})),l((function(){e.leavePage()}))},e.prototype.leavePage=function(){this.report(!0)},e}(),Se=\"undefined\"!=typeof window?(window.LogPluginObject||(window.LogPluginObject={}),window.LogPluginObject):null,we=function(){function e(){}return e.prototype.apply=function(e,t){this._plugin={},this.config=t,this.collect=e,this.channel=t.channel||\"cn\",this.loadExtend()},e.prototype.loadExtend=function(){var e=this;try{this.collect.remotePlugin.forEach((function(t,i){if(\"sdk\"===t)if(K.hasOwnProperty(i)){var n=K[i].object,o=\"\"+K[i].src[e.channel];e.exist(i,n,o)}else console.warn(\"your \"+i+\" is not exist,please check plugin name\");else\"object\"==typeof t&&(t.src?e.exist(i,t.call,t.src):e.process(i,t.instance,\"INSTANCE\"))}))}catch(e){this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message}),console.log(\"load extend error\")}},e.prototype.exist=function(e,t,i){var n=this;Se[t]?(this.process(e,Se[t]),console.log(\"已有\"+e+\"插件,避免重复加载~\")):this.loadPlugin(e,i,(function(){n.process(e,Se[t]),console.log(\" %c %s %s %s\",\"color: yellow; background-color: black;\",\"–\",\"load plugin:\"+e+\" success\",\"-\")}),(function(){console.log(\" %c %s %s %s\",\"color: red; background-color: yellow;\",\"–\",\"load plugin:\"+e+\" error\",\"-\")}))},e.prototype.process=function(e,t,i){try{if(i){var n=new t;n.apply&&n.apply(this.collect,this.config),console.log(\"excude \"+e+\" success\")}else t&&t(this.collect,this.config)}catch(t){this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:t.message}),console.log(\"excude \"+e+\" error, message:\"+t.message)}},e.prototype.loadPlugin=function(e,t,i,n){var o=this;try{var r=document.createElement(\"script\");r.src=t,this._plugin[e]||(this._plugin[e]=[]),this._plugin[e].push(i),r.onerror=function(){n(t)},r.onload=function(){o._plugin[e].forEach((function(e){e()}))},document.getElementsByTagName(\"head\")[0].appendChild(r)}catch(e){this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message})}},e}(),ke=function(){function e(){this.autotrack=!1,this.spa=!1,this.cache={},this.allowHash=!1}return e.prototype.apply=function(e,t){if(t.spa||t.autotrack){var i=e.Types;this.collect=e,this.config=t,this.appid=t.app_id,this.allowHash=t.allow_hash,this.fncArray=new Map,this.setKey(),this.setLocation(),this.hack(),this.init(),this.listener(),e.emit(i.RouteReady)}},e.prototype.setKey=function(){var e=this.collect.adapters.storage;this.storage=new e(!1),this.cache_key=\"__tea_cache_refer_\"+this.appid,this.cache={refer_key:\"\",refer_title:document.title||location.pathname,refer_manual_key:\"\",routeChange:!1},this.config.autotrack&&\"object\"==typeof this.config.autotrack&&this.config.autotrack.page_manual_key&&(this.cache.refer_manual_key=this.config.autotrack.page_manual_key),this.storage.setItem(this.cache_key,this.cache)},e.prototype.hack=function(){var e=this,t=window.history.pushState;history.pushState=function(n){for(var o=[],r=1;r<arguments.length;r++)o[r-1]=arguments[r];\"function\"==typeof history.onpushstate&&history.onpushstate({state:n});var s=t.call.apply(t,i([history,n],o));if(e.collect.sdkStop||e.collect.destroy)return s;if(!(e.lastLocation===location.href||e.config.disable_spa_query&&e.pathEquel())){var a=e.getPopStateChangeEventData();return e.setReferCache(e.lastLocation),e.lastLocation=location.href,e.sendPv(a,\"pushState\"),s}};var n=history.replaceState;history.replaceState=function(t){for(var o=[],r=1;r<arguments.length;r++)o[r-1]=arguments[r];\"function\"==typeof history.onreplacestate&&history.onreplacestate({state:t});var s=n.call.apply(n,i([history,t],o));if(e.collect.sdkStop||e.collect.destroy)return s;if(!(e.lastLocation===location.href||e.config.disable_spa_query&&e.pathEquel())){var a=e.getPopStateChangeEventData();return e.setReferCache(e.lastLocation),e.lastLocation=location.href,e.sendPv(a),s}}},e.prototype.setLocation=function(){\"undefined\"!=typeof window&&(this.lastLocation=window.location.href)},e.prototype.getLocation=function(){return this.lastLocation},e.prototype.pathEquel=function(){try{return new URL(this.lastLocation).origin+new URL(this.lastLocation).pathname===new URL(location.href).origin+new URL(location.href).pathname}catch(e){return!1}},e.prototype.init=function(){var e=this.getPopStateChangeEventData();this.collect.emit(\"route-change\",{config:e,init:!0})},e.prototype.listener=function(){var e=this;window.addEventListener(\"hashchange\",(function(t){if(!e.collect.sdkStop&&!e.collect.destroy&&e.lastLocation!==window.location.href&&(!e.config.disable_spa_query||!e.pathEquel())&&e.allowHash){e.setReferCache(e.lastLocation),e.lastLocation=window.location.href;var i=e.getPopStateChangeEventData();e.sendPv(i)}})),window.addEventListener(\"popstate\",(function(t){if(!e.collect.sdkStop&&!e.collect.destroy&&!(e.lastLocation===window.location.href||e.config.disable_spa_query&&e.pathEquel())){e.setReferCache(e.lastLocation),e.lastLocation=window.location.href;var i=e.getPopStateChangeEventData();e.sendPv(i)}}))},e.prototype.getPopStateChangeEventData=function(){var e=this.pageConfig();return e.is_back=0,e},e.prototype.pageConfig=function(){try{var e=this.storage.getItem(this.cache_key)||{},t=!1,i=this.storage.getItem(\"__tea_cache_first_\"+this.appid);return t=!i||1!=i,{is_html:1,url:location.href,referrer:this.handleRefer(),page_key:location.href,refer_page_key:this.handleRefer(),page_title:document.title||location.pathname,page_manual_key:this.config.autotrack&&this.config.autotrack.page_manual_key||\"\",refer_page_manual_key:e&&e.refer_manual_key||\"\",refer_page_title:e&&e.refer_title||\"\",page_path:location.pathname,page_host:location.host,is_first_time:\"\"+t}}catch(e){return this.collect.emit(v.DEBUGGER_MESSAGE,{type:v.DEBUGGER_MESSAGE_SDK,info:\"发生了异常\",level:\"error\",time:Date.now(),data:e.message}),{}}},e.prototype.sendPv=function(e,t){this.collect.emit(\"route-change\",{config:e,init:!1})},e.prototype.handleRefer=function(){var e=\"\";try{var t=this.storage.getItem()||{};e=t.routeChange?t.refer_key:this.collect.configManager.get(\"referrer\")}catch(t){e=document.referrer}return e},e.prototype.setReferCache=function(e){var t=this.storage.getItem(this.cache_key)||{};t.refer_key=e,t.routeChange=!0,this.storage.setItem(this.cache_key,t)},e}();J.usePlugin(we,\"extend\"),J.usePlugin(Ee,\"tracer\"),J.usePlugin(F,\"ab\"),J.usePlugin(Z,\"stay\"),J.usePlugin(ye,\"autotrack\"),J.usePlugin(X,\"et\"),J.usePlugin(Q,\"heartbeat\"),J.usePlugin(ee,\"monitor\"),J.usePlugin(ke,\"route\"),J.usePlugin(Ee,\"tracer\");var Ae=new J(\"default\"),Te=J;export default Ae;export{Te as Collector};\n","// import WebStorage from '@byted/tiktok-zti-cache';\n\nexport const setAllCookie = (\n  key: string,\n  value: string,\n  path: string,\n  domain?: string,\n  maxAge?: number,\n  secure?: boolean\n) => {\n  if (!key || /^(?:expires|max\\-age|path|domain|secure)$/i.test(key)) {\n    return false;\n  }\n  document.cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)}${\n    maxAge ? `; max-age=${maxAge}` : ''\n  }${domain ? `; domain=${domain}` : ''}${path ? `; path=${path}` : ''}${secure ? '; secure' : ''}`;\n  return true;\n};\n\n/**\n * 设置当前cookie\n * @param cname 需要设置cookie的name\n * @param cvalue 设置的值\n */\nexport const setCookie = (cname: string, cvalue: string) => {\n  setAllCookie(cname, cvalue, '/', undefined, 5184000);\n};\n\n/**\n * 获取cookie里面的值\n * @param cname 当前cookie name\n * @returns string\n */\nexport const getCookie = (key: string) => {\n  const value =\n    decodeURIComponent(\n      document.cookie.replace(\n        new RegExp(\n          `(?:(?:^|.*;)\\\\s*${encodeURIComponent(key).replace(/[-.+*]/g, '\\\\$&')}\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$`\n        ),\n        '$1'\n      )\n    ) || null;\n  return value;\n};\n\n/**\n * 获取当前浏览器环境支持情况\n * @returns {\n *   isSupportLocalstorage: boolean,\n *   isSupportIndexdb: boolean,\n *   isSupportWebsql: boolean\n * }\n */\n// export const getStorageSupport = () => {\n//   return WebStorage.support();\n// };\n\n/**\n *  判断electron客户端 或 客户端\n *  @return 'electron' | 'web'\n *  */\nexport const checkEnv = () => {\n  const ua = window?.navigator.userAgent;\n  const regex = /TTElectron/;\n  if (regex.test(ua)) {\n    return 'electron';\n  }\n  return 'web';\n};\n\nexport const debug = (message?: any, ...optionalParams: any[]) => {\n  let flag = (window as any).__zti_debug__ || process.env.NODE_ENV === 'development';\n  if (!flag && localStorage) {\n    const item = localStorage.getItem('__zti_debug__');\n    flag = Boolean(item);\n  }\n  if (flag) {\n    console.log(message, ...optionalParams);\n  }\n};\n\nexport { version as __version__ } from '../package.json';\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n  extendStatics = Object.setPrototypeOf ||\n      ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n      function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n  return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n  if (typeof b !== \"function\" && b !== null)\n      throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n  extendStatics(d, b);\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n  __assign = Object.assign || function __assign(t) {\n      for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n      }\n      return t;\n  }\n  return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n  var t = {};\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n      t[p] = s[p];\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n      for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n              t[p[i]] = s[p[i]];\n      }\n  return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n  if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n  return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n  return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n  function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n  var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n  var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n  var _, done = false;\n  for (var i = decorators.length - 1; i >= 0; i--) {\n      var context = {};\n      for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n      for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n      context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n      var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n      if (kind === \"accessor\") {\n          if (result === void 0) continue;\n          if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n          if (_ = accept(result.get)) descriptor.get = _;\n          if (_ = accept(result.set)) descriptor.set = _;\n          if (_ = accept(result.init)) initializers.unshift(_);\n      }\n      else if (_ = accept(result)) {\n          if (kind === \"field\") initializers.unshift(_);\n          else descriptor[key] = _;\n      }\n  }\n  if (target) Object.defineProperty(target, contextIn.name, descriptor);\n  done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n  var useValue = arguments.length > 2;\n  for (var i = 0; i < initializers.length; i++) {\n      value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n  }\n  return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n  return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n  if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n  return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n  if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n  return new (P || (P = Promise))(function (resolve, reject) {\n      function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n      function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n      function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n      step((generator = generator.apply(thisArg, _arguments || [])).next());\n  });\n}\n\nexport function __generator(thisArg, body) {\n  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n  return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n  function verb(n) { return function (v) { return step([n, v]); }; }\n  function step(op) {\n      if (f) throw new TypeError(\"Generator is already executing.\");\n      while (g && (g = 0, op[0] && (_ = 0)), _) try {\n          if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n          if (y = 0, t) op = [op[0] & 2, t.value];\n          switch (op[0]) {\n              case 0: case 1: t = op; break;\n              case 4: _.label++; return { value: op[1], done: false };\n              case 5: _.label++; y = op[1]; op = [0]; continue;\n              case 7: op = _.ops.pop(); _.trys.pop(); continue;\n              default:\n                  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                  if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                  if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                  if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                  if (t[2]) _.ops.pop();\n                  _.trys.pop(); continue;\n          }\n          op = body.call(thisArg, _);\n      } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n      if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n  }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  var desc = Object.getOwnPropertyDescriptor(m, k);\n  if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n  }\n  Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n  for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n  var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n  if (m) return m.call(o);\n  if (o && typeof o.length === \"number\") return {\n      next: function () {\n          if (o && i >= o.length) o = void 0;\n          return { value: o && o[i++], done: !o };\n      }\n  };\n  throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n  var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n  if (!m) return o;\n  var i = m.call(o), r, ar = [], e;\n  try {\n      while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n  }\n  catch (error) { e = { error: error }; }\n  finally {\n      try {\n          if (r && !r.done && (m = i[\"return\"])) m.call(i);\n      }\n      finally { if (e) throw e.error; }\n  }\n  return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n  for (var ar = [], i = 0; i < arguments.length; i++)\n      ar = ar.concat(__read(arguments[i]));\n  return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n  for (var r = Array(s), k = 0, i = 0; i < il; i++)\n      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n          r[k] = a[j];\n  return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n      if (ar || !(i in from)) {\n          if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n          ar[i] = from[i];\n      }\n  }\n  return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n  return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var g = generator.apply(thisArg, _arguments || []), i, q = [];\n  return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n  function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n  function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n  function fulfill(value) { resume(\"next\", value); }\n  function reject(value) { resume(\"throw\", value); }\n  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n  var i, p;\n  return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n  function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var m = o[Symbol.asyncIterator], i;\n  return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n  if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n  return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n  Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n  o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n  ownKeys = Object.getOwnPropertyNames || function (o) {\n    var ar = [];\n    for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n    return ar;\n  };\n  return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n  if (mod && mod.__esModule) return mod;\n  var result = {};\n  if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n  __setModuleDefault(result, mod);\n  return result;\n}\n\nexport function __importDefault(mod) {\n  return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n  return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n  if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n  return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n  if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n  return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n  if (value !== null && value !== void 0) {\n    if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n    var dispose, inner;\n    if (async) {\n      if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n      dispose = value[Symbol.asyncDispose];\n    }\n    if (dispose === void 0) {\n      if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n      dispose = value[Symbol.dispose];\n      if (async) inner = dispose;\n    }\n    if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n    if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n    env.stack.push({ value: value, dispose: dispose, async: async });\n  }\n  else if (async) {\n    env.stack.push({ async: true });\n  }\n  return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n  var e = new Error(message);\n  return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n  function fail(e) {\n    env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n    env.hasError = true;\n  }\n  var r, s = 0;\n  function next() {\n    while (r = env.stack.pop()) {\n      try {\n        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n        if (r.dispose) {\n          var result = r.dispose.call(r.value);\n          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n        }\n        else s |= 1;\n      }\n      catch (e) {\n        fail(e);\n      }\n    }\n    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n    if (env.hasError) throw env.error;\n  }\n  return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n  if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n      return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n          return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n      });\n  }\n  return path;\n}\n\nexport default {\n  __extends,\n  __assign,\n  __rest,\n  __decorate,\n  __param,\n  __esDecorate,\n  __runInitializers,\n  __propKey,\n  __setFunctionName,\n  __metadata,\n  __awaiter,\n  __generator,\n  __createBinding,\n  __exportStar,\n  __values,\n  __read,\n  __spread,\n  __spreadArrays,\n  __spreadArray,\n  __await,\n  __asyncGenerator,\n  __asyncDelegator,\n  __asyncValues,\n  __makeTemplateObject,\n  __importStar,\n  __importDefault,\n  __classPrivateFieldGet,\n  __classPrivateFieldSet,\n  __classPrivateFieldIn,\n  __addDisposableResource,\n  __disposeResources,\n  __rewriteRelativeImportExtension,\n};\n","/**\n * Fingerprint BotD v1.9.1 - Copyright (c) FingerprintJS, Inc, 2024 (https://fingerprint.com)\n * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.\n */\n\nimport { __extends, __awaiter, __generator, __spreadArray } from 'tslib';\n\nvar version = \"1.9.1\";\n\n/**\n * Enum for types of bots.\n * Specific types of bots come first, followed by automation technologies.\n *\n * @readonly\n * @enum {string}\n */\nvar BotKind = {\n    // Object is used instead of Typescript enum to avoid emitting IIFE which might be affected by further tree-shaking.\n    // See example of compiled enums https://stackoverflow.com/q/47363996)\n    Awesomium: 'awesomium',\n    Cef: 'cef',\n    CefSharp: 'cefsharp',\n    CoachJS: 'coachjs',\n    Electron: 'electron',\n    FMiner: 'fminer',\n    Geb: 'geb',\n    NightmareJS: 'nightmarejs',\n    Phantomas: 'phantomas',\n    PhantomJS: 'phantomjs',\n    Rhino: 'rhino',\n    Selenium: 'selenium',\n    Sequentum: 'sequentum',\n    SlimerJS: 'slimerjs',\n    WebDriverIO: 'webdriverio',\n    WebDriver: 'webdriver',\n    HeadlessChrome: 'headless_chrome',\n    Unknown: 'unknown',\n};\n/**\n * Bot detection error.\n */\nvar BotdError = /** @class */ (function (_super) {\n    __extends(BotdError, _super);\n    /**\n     * Creates a new BotdError.\n     *\n     * @class\n     */\n    function BotdError(state, message) {\n        var _this = _super.call(this, message) || this;\n        _this.state = state;\n        _this.name = 'BotdError';\n        Object.setPrototypeOf(_this, BotdError.prototype);\n        return _this;\n    }\n    return BotdError;\n}(Error));\n\nfunction detect(components, detectors) {\n    var detections = {};\n    var finalDetection = {\n        bot: false,\n    };\n    for (var detectorName in detectors) {\n        var detector = detectors[detectorName];\n        var detectorRes = detector(components);\n        var detection = { bot: false };\n        if (typeof detectorRes === 'string') {\n            detection = { bot: true, botKind: detectorRes };\n        }\n        else if (detectorRes) {\n            detection = { bot: true, botKind: BotKind.Unknown };\n        }\n        detections[detectorName] = detection;\n        if (detection.bot) {\n            finalDetection = detection;\n        }\n    }\n    return [detections, finalDetection];\n}\nfunction collect(sources) {\n    return __awaiter(this, void 0, void 0, function () {\n        var components, sourcesKeys;\n        var _this = this;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    components = {};\n                    sourcesKeys = Object.keys(sources);\n                    return [4 /*yield*/, Promise.all(sourcesKeys.map(function (sourceKey) { return __awaiter(_this, void 0, void 0, function () {\n                            var res, _a, _b, error_1;\n                            var _c;\n                            return __generator(this, function (_d) {\n                                switch (_d.label) {\n                                    case 0:\n                                        res = sources[sourceKey];\n                                        _d.label = 1;\n                                    case 1:\n                                        _d.trys.push([1, 3, , 4]);\n                                        _a = components;\n                                        _b = sourceKey;\n                                        _c = {};\n                                        return [4 /*yield*/, res()];\n                                    case 2:\n                                        _a[_b] = (_c.value = _d.sent(),\n                                            _c.state = 0 /* State.Success */,\n                                            _c);\n                                        return [3 /*break*/, 4];\n                                    case 3:\n                                        error_1 = _d.sent();\n                                        if (error_1 instanceof BotdError) {\n                                            components[sourceKey] = {\n                                                state: error_1.state,\n                                                error: \"\".concat(error_1.name, \": \").concat(error_1.message),\n                                            };\n                                        }\n                                        else {\n                                            components[sourceKey] = {\n                                                state: -3 /* State.UnexpectedBehaviour */,\n                                                error: error_1 instanceof Error ? \"\".concat(error_1.name, \": \").concat(error_1.message) : String(error_1),\n                                            };\n                                        }\n                                        return [3 /*break*/, 4];\n                                    case 4: return [2 /*return*/];\n                                }\n                            });\n                        }); }))];\n                case 1:\n                    _a.sent();\n                    return [2 /*return*/, components];\n            }\n        });\n    });\n}\n\nfunction detectAppVersion(_a) {\n    var appVersion = _a.appVersion;\n    if (appVersion.state !== 0 /* State.Success */)\n        return false;\n    if (/headless/i.test(appVersion.value))\n        return BotKind.HeadlessChrome;\n    if (/electron/i.test(appVersion.value))\n        return BotKind.Electron;\n    if (/slimerjs/i.test(appVersion.value))\n        return BotKind.SlimerJS;\n}\n\nfunction arrayIncludes(arr, value) {\n    return arr.indexOf(value) !== -1;\n}\nfunction strIncludes(str, value) {\n    return str.indexOf(value) !== -1;\n}\nfunction arrayFind(array, callback) {\n    if ('find' in array)\n        return array.find(callback);\n    for (var i = 0; i < array.length; i++) {\n        if (callback(array[i], i, array))\n            return array[i];\n    }\n    return undefined;\n}\n\nfunction getObjectProps(obj) {\n    return Object.getOwnPropertyNames(obj);\n}\nfunction includes(arr) {\n    var keys = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        keys[_i - 1] = arguments[_i];\n    }\n    var _loop_1 = function (key) {\n        if (typeof key === 'string') {\n            if (arrayIncludes(arr, key))\n                return { value: true };\n        }\n        else {\n            var match = arrayFind(arr, function (value) { return key.test(value); });\n            if (match != null)\n                return { value: true };\n        }\n    };\n    for (var _a = 0, keys_1 = keys; _a < keys_1.length; _a++) {\n        var key = keys_1[_a];\n        var state_1 = _loop_1(key);\n        if (typeof state_1 === \"object\")\n            return state_1.value;\n    }\n    return false;\n}\nfunction countTruthy(values) {\n    return values.reduce(function (sum, value) { return sum + (value ? 1 : 0); }, 0);\n}\n\nfunction detectDocumentAttributes(_a) {\n    var documentElementKeys = _a.documentElementKeys;\n    if (documentElementKeys.state !== 0 /* State.Success */)\n        return false;\n    if (includes(documentElementKeys.value, 'selenium', 'webdriver', 'driver')) {\n        return BotKind.Selenium;\n    }\n}\n\nfunction detectErrorTrace(_a) {\n    var errorTrace = _a.errorTrace;\n    if (errorTrace.state !== 0 /* State.Success */)\n        return false;\n    if (/PhantomJS/i.test(errorTrace.value))\n        return BotKind.PhantomJS;\n}\n\nfunction detectEvalLengthInconsistency(_a) {\n    var evalLength = _a.evalLength, browserKind = _a.browserKind, browserEngineKind = _a.browserEngineKind;\n    if (evalLength.state !== 0 /* State.Success */ ||\n        browserKind.state !== 0 /* State.Success */ ||\n        browserEngineKind.state !== 0 /* State.Success */)\n        return;\n    var length = evalLength.value;\n    if (browserEngineKind.value === \"unknown\" /* BrowserEngineKind.Unknown */)\n        return false;\n    return ((length === 37 && !arrayIncludes([\"webkit\" /* BrowserEngineKind.Webkit */, \"gecko\" /* BrowserEngineKind.Gecko */], browserEngineKind.value)) ||\n        (length === 39 && !arrayIncludes([\"internet_explorer\" /* BrowserKind.IE */], browserKind.value)) ||\n        (length === 33 && !arrayIncludes([\"chromium\" /* BrowserEngineKind.Chromium */], browserEngineKind.value)));\n}\n\nfunction detectFunctionBind(_a) {\n    var functionBind = _a.functionBind;\n    if (functionBind.state === -2 /* State.NotFunction */)\n        return BotKind.PhantomJS;\n}\n\nfunction detectLanguagesLengthInconsistency(_a) {\n    var languages = _a.languages;\n    if (languages.state === 0 /* State.Success */ && languages.value.length === 0) {\n        return BotKind.HeadlessChrome;\n    }\n}\n\nfunction detectMimeTypesConsistent(_a) {\n    var mimeTypesConsistent = _a.mimeTypesConsistent;\n    if (mimeTypesConsistent.state === 0 /* State.Success */ && !mimeTypesConsistent.value) {\n        return BotKind.Unknown;\n    }\n}\n\nfunction detectNotificationPermissions(_a) {\n    var notificationPermissions = _a.notificationPermissions, browserKind = _a.browserKind;\n    if (browserKind.state !== 0 /* State.Success */ || browserKind.value !== \"chrome\" /* BrowserKind.Chrome */)\n        return false;\n    if (notificationPermissions.state === 0 /* State.Success */ && notificationPermissions.value) {\n        return BotKind.HeadlessChrome;\n    }\n}\n\nfunction detectPluginsArray(_a) {\n    var pluginsArray = _a.pluginsArray;\n    if (pluginsArray.state === 0 /* State.Success */ && !pluginsArray.value)\n        return BotKind.HeadlessChrome;\n}\n\nfunction detectPluginsLengthInconsistency(_a) {\n    var pluginsLength = _a.pluginsLength, android = _a.android, browserKind = _a.browserKind, browserEngineKind = _a.browserEngineKind;\n    if (pluginsLength.state !== 0 /* State.Success */ ||\n        android.state !== 0 /* State.Success */ ||\n        browserKind.state !== 0 /* State.Success */ ||\n        browserEngineKind.state !== 0 /* State.Success */)\n        return;\n    if (browserKind.value !== \"chrome\" /* BrowserKind.Chrome */ ||\n        android.value ||\n        browserEngineKind.value !== \"chromium\" /* BrowserEngineKind.Chromium */)\n        return;\n    if (pluginsLength.value === 0)\n        return BotKind.HeadlessChrome;\n}\n\nfunction detectProcess(_a) {\n    var _b;\n    var process = _a.process;\n    if (process.state !== 0 /* State.Success */)\n        return false;\n    if (process.value.type === 'renderer' || ((_b = process.value.versions) === null || _b === void 0 ? void 0 : _b.electron) != null)\n        return BotKind.Electron;\n}\n\nfunction detectProductSub(_a) {\n    var productSub = _a.productSub, browserKind = _a.browserKind;\n    if (productSub.state !== 0 /* State.Success */ || browserKind.state !== 0 /* State.Success */)\n        return false;\n    if ((browserKind.value === \"chrome\" /* BrowserKind.Chrome */ ||\n        browserKind.value === \"safari\" /* BrowserKind.Safari */ ||\n        browserKind.value === \"opera\" /* BrowserKind.Opera */ ||\n        browserKind.value === \"wechat\" /* BrowserKind.WeChat */) &&\n        productSub.value !== '20030107')\n        return BotKind.Unknown;\n}\n\nfunction detectUserAgent(_a) {\n    var userAgent = _a.userAgent;\n    if (userAgent.state !== 0 /* State.Success */)\n        return false;\n    if (/PhantomJS/i.test(userAgent.value))\n        return BotKind.PhantomJS;\n    if (/Headless/i.test(userAgent.value))\n        return BotKind.HeadlessChrome;\n    if (/Electron/i.test(userAgent.value))\n        return BotKind.Electron;\n    if (/slimerjs/i.test(userAgent.value))\n        return BotKind.SlimerJS;\n}\n\nfunction detectWebDriver(_a) {\n    var webDriver = _a.webDriver;\n    if (webDriver.state === 0 /* State.Success */ && webDriver.value)\n        return BotKind.HeadlessChrome;\n}\n\nfunction detectWebGL(_a) {\n    var webGL = _a.webGL;\n    if (webGL.state === 0 /* State.Success */) {\n        var _b = webGL.value, vendor = _b.vendor, renderer = _b.renderer;\n        if (vendor == 'Brian Paul' && renderer == 'Mesa OffScreen') {\n            return BotKind.HeadlessChrome;\n        }\n    }\n}\n\nfunction detectWindowExternal(_a) {\n    var windowExternal = _a.windowExternal;\n    if (windowExternal.state !== 0 /* State.Success */)\n        return false;\n    if (/Sequentum/i.test(windowExternal.value))\n        return BotKind.Sequentum;\n}\n\nfunction detectWindowSize(_a) {\n    var windowSize = _a.windowSize, documentFocus = _a.documentFocus;\n    if (windowSize.state !== 0 /* State.Success */ || documentFocus.state !== 0 /* State.Success */)\n        return false;\n    var _b = windowSize.value, outerWidth = _b.outerWidth, outerHeight = _b.outerHeight;\n    // When a page is opened in a new tab without focusing it right away, the window outer size is 0x0\n    if (!documentFocus.value)\n        return;\n    if (outerWidth === 0 && outerHeight === 0)\n        return BotKind.HeadlessChrome;\n}\n\nfunction detectDistinctiveProperties(_a) {\n    var distinctiveProps = _a.distinctiveProps;\n    if (distinctiveProps.state !== 0 /* State.Success */)\n        return false;\n    var value = distinctiveProps.value;\n    var bot;\n    for (bot in value)\n        if (value[bot])\n            return bot;\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nvar detectors = {\n    detectAppVersion: detectAppVersion,\n    detectDocumentAttributes: detectDocumentAttributes,\n    detectErrorTrace: detectErrorTrace,\n    detectEvalLengthInconsistency: detectEvalLengthInconsistency,\n    detectFunctionBind: detectFunctionBind,\n    detectLanguagesLengthInconsistency: detectLanguagesLengthInconsistency,\n    detectNotificationPermissions: detectNotificationPermissions,\n    detectPluginsArray: detectPluginsArray,\n    detectPluginsLengthInconsistency: detectPluginsLengthInconsistency,\n    detectProcess: detectProcess,\n    detectUserAgent: detectUserAgent,\n    detectWebDriver: detectWebDriver,\n    detectWebGL: detectWebGL,\n    detectWindowExternal: detectWindowExternal,\n    detectWindowSize: detectWindowSize,\n    detectMimeTypesConsistent: detectMimeTypesConsistent,\n    detectProductSub: detectProductSub,\n    detectDistinctiveProperties: detectDistinctiveProperties,\n};\n\nfunction getAppVersion() {\n    var appVersion = navigator.appVersion;\n    if (appVersion == undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'navigator.appVersion is undefined');\n    }\n    return appVersion;\n}\n\nfunction getDocumentElementKeys() {\n    if (document.documentElement === undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'document.documentElement is undefined');\n    }\n    var documentElement = document.documentElement;\n    if (typeof documentElement.getAttributeNames !== 'function') {\n        throw new BotdError(-2 /* State.NotFunction */, 'document.documentElement.getAttributeNames is not a function');\n    }\n    return documentElement.getAttributeNames();\n}\n\nfunction getErrorTrace() {\n    try {\n        // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n        // @ts-ignore\n        null[0]();\n    }\n    catch (error) {\n        if (error instanceof Error && error['stack'] != null) {\n            return error.stack.toString();\n        }\n    }\n    throw new BotdError(-3 /* State.UnexpectedBehaviour */, 'errorTrace signal unexpected behaviour');\n}\n\nfunction getEvalLength() {\n    return eval.toString().length;\n}\n\nfunction getFunctionBind() {\n    if (Function.prototype.bind === undefined) {\n        throw new BotdError(-2 /* State.NotFunction */, 'Function.prototype.bind is undefined');\n    }\n    return Function.prototype.bind.toString();\n}\n\nfunction getBrowserEngineKind() {\n    var _a, _b;\n    // Based on research in October 2020. Tested to detect Chromium 42-86.\n    var w = window;\n    var n = navigator;\n    if (countTruthy([\n        'webkitPersistentStorage' in n,\n        'webkitTemporaryStorage' in n,\n        n.vendor.indexOf('Google') === 0,\n        'webkitResolveLocalFileSystemURL' in w,\n        'BatteryManager' in w,\n        'webkitMediaStream' in w,\n        'webkitSpeechGrammar' in w,\n    ]) >= 5) {\n        return \"chromium\" /* BrowserEngineKind.Chromium */;\n    }\n    if (countTruthy([\n        'ApplePayError' in w,\n        'CSSPrimitiveValue' in w,\n        'Counter' in w,\n        n.vendor.indexOf('Apple') === 0,\n        'getStorageUpdates' in n,\n        'WebKitMediaKeys' in w,\n    ]) >= 4) {\n        return \"webkit\" /* BrowserEngineKind.Webkit */;\n    }\n    if (countTruthy([\n        'buildID' in navigator,\n        'MozAppearance' in ((_b = (_a = document.documentElement) === null || _a === void 0 ? void 0 : _a.style) !== null && _b !== void 0 ? _b : {}),\n        'onmozfullscreenchange' in w,\n        'mozInnerScreenX' in w,\n        'CSSMozDocumentRule' in w,\n        'CanvasCaptureMediaStream' in w,\n    ]) >= 4) {\n        return \"gecko\" /* BrowserEngineKind.Gecko */;\n    }\n    return \"unknown\" /* BrowserEngineKind.Unknown */;\n}\nfunction getBrowserKind() {\n    var _a;\n    var userAgent = (_a = navigator.userAgent) === null || _a === void 0 ? void 0 : _a.toLowerCase();\n    if (strIncludes(userAgent, 'edg/')) {\n        return \"edge\" /* BrowserKind.Edge */;\n    }\n    else if (strIncludes(userAgent, 'trident') || strIncludes(userAgent, 'msie')) {\n        return \"internet_explorer\" /* BrowserKind.IE */;\n    }\n    else if (strIncludes(userAgent, 'wechat')) {\n        return \"wechat\" /* BrowserKind.WeChat */;\n    }\n    else if (strIncludes(userAgent, 'firefox')) {\n        return \"firefox\" /* BrowserKind.Firefox */;\n    }\n    else if (strIncludes(userAgent, 'opera') || strIncludes(userAgent, 'opr')) {\n        return \"opera\" /* BrowserKind.Opera */;\n    }\n    else if (strIncludes(userAgent, 'chrome')) {\n        return \"chrome\" /* BrowserKind.Chrome */;\n    }\n    else if (strIncludes(userAgent, 'safari')) {\n        return \"safari\" /* BrowserKind.Safari */;\n    }\n    else {\n        return \"unknown\" /* BrowserKind.Unknown */;\n    }\n}\n// Source: https://github.com/fingerprintjs/fingerprintjs/blob/master/src/utils/browser.ts#L223\nfunction isAndroid() {\n    var browserEngineKind = getBrowserEngineKind();\n    var isItChromium = browserEngineKind === \"chromium\" /* BrowserEngineKind.Chromium */;\n    var isItGecko = browserEngineKind === \"gecko\" /* BrowserEngineKind.Gecko */;\n    // Only 2 browser engines are presented on Android.\n    // Actually, there is also Android 4.1 browser, but it's not worth detecting it at the moment.\n    if (!isItChromium && !isItGecko)\n        return false;\n    var w = window;\n    // Chrome removes all words \"Android\" from `navigator` when desktop version is requested\n    // Firefox keeps \"Android\" in `navigator.appVersion` when desktop version is requested\n    return (countTruthy([\n        'onorientationchange' in w,\n        'orientation' in w,\n        isItChromium && !('SharedWorker' in w),\n        isItGecko && /android/i.test(navigator.appVersion),\n    ]) >= 2);\n}\nfunction getDocumentFocus() {\n    if (document.hasFocus === undefined) {\n        return false;\n    }\n    return document.hasFocus();\n}\nfunction isChromium86OrNewer() {\n    // Checked in Chrome 85 vs Chrome 86 both on desktop and Android\n    var w = window;\n    return (countTruthy([\n        !('MediaSettingsRange' in w),\n        'RTCEncodedAudioFrame' in w,\n        '' + w.Intl === '[object Intl]',\n        '' + w.Reflect === '[object Reflect]',\n    ]) >= 3);\n}\n\nfunction getLanguages() {\n    var n = navigator;\n    var result = [];\n    var language = n.language || n.userLanguage || n.browserLanguage || n.systemLanguage;\n    if (language !== undefined) {\n        result.push([language]);\n    }\n    if (Array.isArray(n.languages)) {\n        var browserEngine = getBrowserEngineKind();\n        // Starting from Chromium 86, there is only a single value in `navigator.language` in Incognito mode:\n        // the value of `navigator.language`. Therefore, the value is ignored in this browser.\n        if (!(browserEngine === \"chromium\" /* BrowserEngineKind.Chromium */ && isChromium86OrNewer())) {\n            result.push(n.languages);\n        }\n    }\n    else if (typeof n.languages === 'string') {\n        var languages = n.languages;\n        if (languages) {\n            result.push(languages.split(','));\n        }\n    }\n    return result;\n}\n\nfunction areMimeTypesConsistent() {\n    if (navigator.mimeTypes === undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'navigator.mimeTypes is undefined');\n    }\n    var mimeTypes = navigator.mimeTypes;\n    var isConsistent = Object.getPrototypeOf(mimeTypes) === MimeTypeArray.prototype;\n    for (var i = 0; i < mimeTypes.length; i++) {\n        isConsistent && (isConsistent = Object.getPrototypeOf(mimeTypes[i]) === MimeType.prototype);\n    }\n    return isConsistent;\n}\n\nfunction getNotificationPermissions() {\n    return __awaiter(this, void 0, void 0, function () {\n        var permissions, permissionStatus;\n        return __generator(this, function (_a) {\n            switch (_a.label) {\n                case 0:\n                    if (window.Notification === undefined) {\n                        throw new BotdError(-1 /* State.Undefined */, 'window.Notification is undefined');\n                    }\n                    if (navigator.permissions === undefined) {\n                        throw new BotdError(-1 /* State.Undefined */, 'navigator.permissions is undefined');\n                    }\n                    permissions = navigator.permissions;\n                    if (typeof permissions.query !== 'function') {\n                        throw new BotdError(-2 /* State.NotFunction */, 'navigator.permissions.query is not a function');\n                    }\n                    _a.label = 1;\n                case 1:\n                    _a.trys.push([1, 3, , 4]);\n                    return [4 /*yield*/, permissions.query({ name: 'notifications' })];\n                case 2:\n                    permissionStatus = _a.sent();\n                    return [2 /*return*/, window.Notification.permission === 'denied' && permissionStatus.state === 'prompt'];\n                case 3:\n                    _a.sent();\n                    throw new BotdError(-3 /* State.UnexpectedBehaviour */, 'notificationPermissions signal unexpected behaviour');\n                case 4: return [2 /*return*/];\n            }\n        });\n    });\n}\n\nfunction getPluginsArray() {\n    if (navigator.plugins === undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'navigator.plugins is undefined');\n    }\n    if (window.PluginArray === undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'window.PluginArray is undefined');\n    }\n    return navigator.plugins instanceof PluginArray;\n}\n\nfunction getPluginsLength() {\n    if (navigator.plugins === undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'navigator.plugins is undefined');\n    }\n    if (navigator.plugins.length === undefined) {\n        throw new BotdError(-3 /* State.UnexpectedBehaviour */, 'navigator.plugins.length is undefined');\n    }\n    return navigator.plugins.length;\n}\n\nfunction getProcess() {\n    var process = window.process;\n    var errorPrefix = 'window.process is';\n    if (process === undefined) {\n        throw new BotdError(-1 /* State.Undefined */, \"\".concat(errorPrefix, \" undefined\"));\n    }\n    if (process && typeof process !== 'object') {\n        throw new BotdError(-3 /* State.UnexpectedBehaviour */, \"\".concat(errorPrefix, \" not an object\"));\n    }\n    return process;\n}\n\nfunction getProductSub() {\n    var productSub = navigator.productSub;\n    if (productSub === undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'navigator.productSub is undefined');\n    }\n    return productSub;\n}\n\nfunction getRTT() {\n    if (navigator.connection === undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'navigator.connection is undefined');\n    }\n    if (navigator.connection.rtt === undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'navigator.connection.rtt is undefined');\n    }\n    return navigator.connection.rtt;\n}\n\nfunction getUserAgent() {\n    return navigator.userAgent;\n}\n\nfunction getWebDriver() {\n    if (navigator.webdriver == undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'navigator.webdriver is undefined');\n    }\n    return navigator.webdriver;\n}\n\nfunction getWebGL() {\n    var canvasElement = document.createElement('canvas');\n    if (typeof canvasElement.getContext !== 'function') {\n        throw new BotdError(-2 /* State.NotFunction */, 'HTMLCanvasElement.getContext is not a function');\n    }\n    var webGLContext = canvasElement.getContext('webgl');\n    if (webGLContext === null) {\n        throw new BotdError(-4 /* State.Null */, 'WebGLRenderingContext is null');\n    }\n    if (typeof webGLContext.getParameter !== 'function') {\n        throw new BotdError(-2 /* State.NotFunction */, 'WebGLRenderingContext.getParameter is not a function');\n    }\n    var vendor = webGLContext.getParameter(webGLContext.VENDOR);\n    var renderer = webGLContext.getParameter(webGLContext.RENDERER);\n    return { vendor: vendor, renderer: renderer };\n}\n\nfunction getWindowExternal() {\n    if (window.external === undefined) {\n        throw new BotdError(-1 /* State.Undefined */, 'window.external is undefined');\n    }\n    var external = window.external;\n    if (typeof external.toString !== 'function') {\n        throw new BotdError(-2 /* State.NotFunction */, 'window.external.toString is not a function');\n    }\n    return external.toString();\n}\n\nfunction getWindowSize() {\n    return {\n        outerWidth: window.outerWidth,\n        outerHeight: window.outerHeight,\n        innerWidth: window.innerWidth,\n        innerHeight: window.innerHeight,\n    };\n}\n\nfunction checkDistinctiveProperties() {\n    var _a;\n    // The order in the following list matters, because specific types of bots come first, followed by automation technologies.\n    var distinctivePropsList = (_a = {},\n        _a[BotKind.Awesomium] = {\n            window: ['awesomium'],\n        },\n        _a[BotKind.Cef] = {\n            window: ['RunPerfTest'],\n        },\n        _a[BotKind.CefSharp] = {\n            window: ['CefSharp'],\n        },\n        _a[BotKind.CoachJS] = {\n            window: ['emit'],\n        },\n        _a[BotKind.FMiner] = {\n            window: ['fmget_targets'],\n        },\n        _a[BotKind.Geb] = {\n            window: ['geb'],\n        },\n        _a[BotKind.NightmareJS] = {\n            window: ['__nightmare', 'nightmare'],\n        },\n        _a[BotKind.Phantomas] = {\n            window: ['__phantomas'],\n        },\n        _a[BotKind.PhantomJS] = {\n            window: ['callPhantom', '_phantom'],\n        },\n        _a[BotKind.Rhino] = {\n            window: ['spawn'],\n        },\n        _a[BotKind.Selenium] = {\n            window: ['_Selenium_IDE_Recorder', '_selenium', 'calledSelenium', /^([a-z]){3}_.*_(Array|Promise|Symbol)$/],\n            document: ['__selenium_evaluate', 'selenium-evaluate', '__selenium_unwrapped'],\n        },\n        _a[BotKind.WebDriverIO] = {\n            window: ['wdioElectron'],\n        },\n        _a[BotKind.WebDriver] = {\n            window: [\n                'webdriver',\n                '__webdriverFunc',\n                '__lastWatirAlert',\n                '__lastWatirConfirm',\n                '__lastWatirPrompt',\n                '_WEBDRIVER_ELEM_CACHE',\n                'ChromeDriverw',\n            ],\n            document: [\n                '__webdriver_script_fn',\n                '__driver_evaluate',\n                '__webdriver_evaluate',\n                '__fxdriver_evaluate',\n                '__driver_unwrapped',\n                '__webdriver_unwrapped',\n                '__fxdriver_unwrapped',\n                '__webdriver_script_fn',\n                '__webdriver_script_func',\n                '__webdriver_script_function',\n                '$cdc_asdjflasutopfhvcZLmcf',\n                '$cdc_asdjflasutopfhvcZLmcfl_',\n                '$chrome_asyncScriptInfo',\n                '__$webdriverAsyncExecutor',\n            ],\n        },\n        _a[BotKind.HeadlessChrome] = {\n            window: ['domAutomation', 'domAutomationController'],\n        },\n        _a);\n    var botName;\n    var result = {};\n    var windowProps = getObjectProps(window);\n    var documentProps = [];\n    if (window.document !== undefined)\n        documentProps = getObjectProps(window.document);\n    for (botName in distinctivePropsList) {\n        var props = distinctivePropsList[botName];\n        if (props !== undefined) {\n            var windowContains = props.window === undefined ? false : includes.apply(void 0, __spreadArray([windowProps], props.window, false));\n            var documentContains = props.document === undefined || !documentProps.length ? false : includes.apply(void 0, __spreadArray([documentProps], props.document, false));\n            result[botName] = windowContains || documentContains;\n        }\n    }\n    return result;\n}\n\nvar sources = {\n    android: isAndroid,\n    browserKind: getBrowserKind,\n    browserEngineKind: getBrowserEngineKind,\n    documentFocus: getDocumentFocus,\n    userAgent: getUserAgent,\n    appVersion: getAppVersion,\n    rtt: getRTT,\n    windowSize: getWindowSize,\n    pluginsLength: getPluginsLength,\n    pluginsArray: getPluginsArray,\n    errorTrace: getErrorTrace,\n    productSub: getProductSub,\n    windowExternal: getWindowExternal,\n    mimeTypesConsistent: areMimeTypesConsistent,\n    evalLength: getEvalLength,\n    webGL: getWebGL,\n    webDriver: getWebDriver,\n    languages: getLanguages,\n    notificationPermissions: getNotificationPermissions,\n    documentElementKeys: getDocumentElementKeys,\n    functionBind: getFunctionBind,\n    process: getProcess,\n    distinctiveProps: checkDistinctiveProperties,\n};\n\n/**\n * Class representing a bot detector.\n *\n * @class\n * @implements {BotDetectorInterface}\n */\nvar BotDetector = /** @class */ (function () {\n    function BotDetector() {\n        this.components = undefined;\n        this.detections = undefined;\n    }\n    BotDetector.prototype.getComponents = function () {\n        return this.components;\n    };\n    BotDetector.prototype.getDetections = function () {\n        return this.detections;\n    };\n    /**\n     * @inheritdoc\n     */\n    BotDetector.prototype.detect = function () {\n        if (this.components === undefined) {\n            throw new Error(\"BotDetector.detect can't be called before BotDetector.collect\");\n        }\n        var _a = detect(this.components, detectors), detections = _a[0], finalDetection = _a[1];\n        this.detections = detections;\n        return finalDetection;\n    };\n    /**\n     * @inheritdoc\n     */\n    BotDetector.prototype.collect = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var _a;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        _a = this;\n                        return [4 /*yield*/, collect(sources)];\n                    case 1:\n                        _a.components = _b.sent();\n                        return [2 /*return*/, this.components];\n                }\n            });\n        });\n    };\n    return BotDetector;\n}());\n\n/**\n * Sends an unpersonalized AJAX request to collect installation statistics\n */\nfunction monitor() {\n    // The FingerprintJS CDN (https://github.com/fingerprintjs/cdn) replaces `window.__fpjs_d_m` with `true`\n    if (window.__fpjs_d_m || Math.random() >= 0.001) {\n        return;\n    }\n    try {\n        var request = new XMLHttpRequest();\n        request.open('get', \"https://m1.openfpcdn.io/botd/v\".concat(version, \"/npm-monitoring\"), true);\n        request.send();\n    }\n    catch (error) {\n        // console.error is ok here because it's an unexpected error handler\n        // eslint-disable-next-line no-console\n        console.error(error);\n    }\n}\nfunction load(_a) {\n    var _b = _a === void 0 ? {} : _a, _c = _b.monitoring, monitoring = _c === void 0 ? true : _c;\n    return __awaiter(this, void 0, void 0, function () {\n        var detector;\n        return __generator(this, function (_d) {\n            switch (_d.label) {\n                case 0:\n                    if (monitoring) {\n                        monitor();\n                    }\n                    detector = new BotDetector();\n                    return [4 /*yield*/, detector.collect()];\n                case 1:\n                    _d.sent();\n                    return [2 /*return*/, detector];\n            }\n        });\n    });\n}\nvar index = { load: load };\n\nexport { BotKind, BotdError, collect, index as default, detect, detectors, load, sources };\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","var DEFAULT_SIZE = 10;\nvar DEFAULT_WAIT = 1000;\nexport var stringifyBatch = function (list) {\n    return JSON.stringify({\n        ev_type: 'batch',\n        list: list,\n    });\n};\nexport function createBatchSender(config) {\n    var transport = config.transport;\n    var endpoint = config.endpoint, _a = config.size, size = _a === void 0 ? DEFAULT_SIZE : _a, _b = config.wait, wait = _b === void 0 ? DEFAULT_WAIT : _b;\n    var batch = [];\n    var tid = 0;\n    var fail;\n    var sender = {\n        getSize: function () {\n            return size;\n        },\n        getWait: function () {\n            return wait;\n        },\n        setSize: function (v) {\n            size = v;\n        },\n        setWait: function (v) {\n            wait = v;\n        },\n        getEndpoint: function () {\n            return endpoint;\n        },\n        setEndpoint: function (v) {\n            endpoint = v;\n        },\n        send: function (e) {\n            batch.push(e);\n            if (batch.length >= size) {\n                sendBatch.call(this);\n            }\n            clearTimeout(tid);\n            tid = setTimeout(sendBatch.bind(this), wait);\n        },\n        flush: function () {\n            clearTimeout(tid);\n            sendBatch.call(this);\n        },\n        getBatchData: function () {\n            return batch.length ? stringifyBatch(batch) : '';\n        },\n        clear: function () {\n            clearTimeout(tid);\n            batch = [];\n        },\n        fail: function (cb) {\n            fail = cb;\n        },\n    };\n    function sendBatch() {\n        if (!batch.length) {\n            return;\n        }\n        var data = this.getBatchData();\n        transport.post({\n            url: endpoint,\n            data: data,\n            fail: function (err) {\n                fail && fail(err, data);\n            },\n        });\n        batch = [];\n    }\n    return sender;\n}\n//# sourceMappingURL=batch-sender.js.map","export var EVENTS = [\n    'init',\n    'start',\n    'config',\n    'beforeDestroy',\n    'provide',\n    'beforeReport',\n    'report',\n    'beforeBuild',\n    'build',\n    'beforeSend',\n    'send',\n    'beforeConfig',\n];\n//# sourceMappingURL=types.js.map","export var noop = function () { return ({}); };\nexport function id(v) {\n    return v;\n}\n//# sourceMappingURL=misc.js.map","// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isObject(o) {\n    return typeof o === 'object' && o !== null;\n}\nexport function isUndefined(o) {\n    return o === undefined;\n}\nexport function isInstanceOf(wat, base) {\n    try {\n        return wat instanceof base;\n    }\n    catch (_e) {\n        return false;\n    }\n}\nvar objProto = Object.prototype;\n// https://stackoverflow.com/a/5878101\nexport function isPlainObject(o) {\n    if (isObject(o)) {\n        if (typeof Object.getPrototypeOf === 'function') {\n            var proto = Object.getPrototypeOf(o);\n            return proto === objProto || proto === null;\n        }\n        // cannot test, requires ES3\n        /* istanbul ignore next */\n        return objProto.toString.call(o) === '[object Object]';\n    }\n    return false;\n}\nexport function isArray(o) {\n    return objProto.toString.call(o) === '[object Array]';\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isFunction(o) {\n    return typeof o === 'function';\n}\nexport function isBoolean(o) {\n    return typeof o === 'boolean';\n}\nexport function isNumber(o) {\n    return typeof o === 'number';\n}\nexport function isString(o) {\n    return typeof o === 'string';\n}\nexport function isEqual(a, b) {\n    // special\n    if (isNumber(a) && isNaN(a)) {\n        return isNumber(b) && isNaN(b);\n    }\n    // same primitive or same object\n    if (a === b) {\n        return true;\n    }\n    if (isObject(a)) {\n        if (isPlainObject(a)) {\n            return isPlainObject(b) && isEqualPlainObject(a, b);\n        }\n        else if (isArray(a)) {\n            return isArray(b) && isEqualArray(a, b);\n            //TODO: handle TypedArray, Map, Set, ArrayLike\n        }\n        else {\n            // different object\n            return false;\n        }\n    }\n    // different primitive\n    return false;\n}\nexport function isEqualPlainObject(a, b) {\n    for (var k in a) {\n        if (!isEqual(a[k], b[k])) {\n            return false;\n        }\n    }\n    return true;\n}\nexport function isEqualArray(a, b) {\n    if (a.length !== b.length) {\n        return false;\n    }\n    return a.every(function (v, i) { return isEqual(v, b[i]); });\n}\nexport function isError(wat) {\n    switch (Object.prototype.toString.call(wat)) {\n        case '[object Error]':\n            return true;\n        case '[object Exception]':\n            /* istanbul ignore next */\n            return true;\n        case '[object DOMError]':\n            return true;\n        case '[object DOMException]':\n            /* istanbul ignore next */\n            return true;\n        default:\n            /* istanbul ignore next */\n            return wat instanceof Error;\n    }\n}\nexport function isEvent(wat) {\n    return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\nexport function isErrorEvent(what) {\n    return Object.prototype.toString.call(what) === '[object ErrorEvent]';\n}\nexport function isPromiseRejectionEvent(what) {\n    return Object.prototype.toString.call(what) === '[object PromiseRejectionEvent]';\n}\n//# sourceMappingURL=is.js.map","import { __assign, __read } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport { isArray, isFunction, isObject, isPlainObject } from './is';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function omit(object) {\n    var keys = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        keys[_i - 1] = arguments[_i];\n    }\n    if (isObject(object)) {\n        var res_1 = {};\n        objectForIn(object, function (k, v) {\n            if (!arrayIncludes(keys, k)) {\n                res_1[k] = v;\n            }\n        });\n        return res_1;\n    }\n    return object;\n}\nexport function hasKey(object, key) {\n    return Object.prototype.hasOwnProperty.call(object, key);\n}\nexport function objectForIn(object, callback) {\n    if (isObject(object)) {\n        for (var i in object) {\n            if (hasKey(object, i)) {\n                callback.call(null, i, object[i]);\n            }\n        }\n    }\n}\nexport function filterObjectValueBy(obj, p) {\n    if (!isObject(obj)) {\n        return obj;\n    }\n    if (!isFunction(p)) {\n        return obj;\n    }\n    var res = {};\n    objectForIn(obj, function (key, value) {\n        if (p(value)) {\n            res[key] = value;\n        }\n    });\n    return res;\n}\n// 把source对象中的内容深度赋给target, 数组覆盖\nexport function mergeDeepCopyArray() {\n    var source = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        source[_i] = arguments[_i];\n    }\n    var result = {};\n    var k = 0;\n    while (k < source.length) {\n        result = _mergeDeepCopyArray(result, source[k++]);\n    }\n    return result;\n}\n// 把source对象中的内容深度赋给target, 数组合并\nexport function mergeDeepConcatArray() {\n    var source = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        source[_i] = arguments[_i];\n    }\n    var result = {};\n    var k = 0;\n    while (k < source.length) {\n        result = _mergeDeepMergeArray(result, source[k++]);\n    }\n    return result;\n}\nfunction _mergeDeepCopyArray(target, source) {\n    var result = __assign({}, target);\n    for (var key in source) {\n        if (hasKey(source, key) && source[key] !== undefined) {\n            if (isObject(source[key]) && isPlainObject(source[key])) {\n                result[key] = _mergeDeepCopyArray(isObject(target[key]) ? target[key] : {}, source[key]);\n            }\n            else if (isArray(source[key])) {\n                result[key] = cloneArray(source[key]);\n            }\n            else {\n                result[key] = source[key];\n            }\n        }\n    }\n    return result;\n}\n// 递归赋值\nfunction _mergeDeepMergeArray(target, source) {\n    var result = __assign({}, target);\n    for (var key in source) {\n        if (hasKey(source, key) && source[key] !== undefined) {\n            if (isObject(source[key]) && isPlainObject(source[key])) {\n                result[key] = _mergeDeepMergeArray(isObject(target[key]) ? target[key] : {}, source[key]);\n            }\n            else if (isArray(source[key]) && isArray(target[key])) {\n                result[key] = _mergeDeepArray(target[key], source[key]);\n            }\n            else {\n                result[key] = source[key];\n            }\n        }\n    }\n    return result;\n}\nfunction _mergeDeepArray(target, source) {\n    var _target = isArray(target) ? target : [];\n    var _source = isArray(source) ? source : [];\n    return Array.prototype.concat.call(_target, _source).map(function (v) {\n        if (v instanceof RegExp) {\n            return v;\n        }\n        else if (isObject(v) && isPlainObject(v)) {\n            return _mergeDeepMergeArray({}, v);\n        }\n        else if (isArray(v)) {\n            return _mergeDeepArray([], v);\n        }\n        else {\n            return v;\n        }\n    });\n}\nexport function cloneArray(array) {\n    return array.slice();\n}\n// 检查数组中是否有元素\nexport function arrayIncludes(array, value) {\n    if (!isArray(array)) {\n        return false;\n    }\n    if (array.length === 0) {\n        return false;\n    }\n    var k = 0;\n    while (k < array.length) {\n        if (array[k] === value) {\n            return true;\n        }\n        k++;\n    }\n    return false;\n}\nexport var arrayRemove = function (arr, e) {\n    if (!isArray(arr)) {\n        return arr;\n    }\n    var i = arr.indexOf(e);\n    if (i >= 0) {\n        var arr_ = arr.slice();\n        arr_.splice(i, 1);\n        return arr_;\n    }\n    return arr;\n};\n/**\n * 按路径访问对象属性\n * @param target 待访问对象\n * @param property 访问属性路径\n * @param { (target: any, property: string): any } visitor 访问器\n */\nexport var safeVisit = function (target, path, visitor) {\n    var _a, _b;\n    var paths = path.split('.');\n    var _c = __read(paths), method = _c[0], rest = _c.slice(1);\n    while (target && rest.length > 0) {\n        target = target[method];\n        _a = rest, _b = __read(_a), method = _b[0], rest = _b.slice(1);\n    }\n    if (!target) {\n        return undefined;\n    }\n    return visitor(target, method);\n};\nexport var safeSet = function (target, path, value) {\n    safeVisit(target, path, function (obj, property) {\n        try {\n            obj[property] = value;\n        }\n        catch (e) {\n            // ignore\n        }\n    });\n};\n/**\n *  按路径调用函数\n * @param target 待调用对象,如 `client`\n * @param methods 待调用方法路径,可能是一级路径 `client.start`, 或者是多级命令 `client.context.set`\n * @param args 调用参数\n */\nexport var safeCall = function (target, method, args) {\n    return safeVisit(target, method, function (obj, property) {\n        if (obj && property in obj && isFunction(obj[property])) {\n            try {\n                return obj[property].apply(obj, args);\n            }\n            catch (err) {\n                // ignore\n                return undefined;\n            }\n        }\n    });\n};\n/**\n *  按路径调用函数或获取值\n * @param target 待调用对象,如 `client`\n * @param methods 待调用方法路径或属性路径\n * @param args 调用参数\n */\nexport var safeCallOrGet = function (target, method, args) {\n    return safeVisit(target, method, function (obj, property) {\n        if (obj && property in obj) {\n            // call\n            if ((args && args.length) || isFunction(obj[property])) {\n                try {\n                    return obj[property].apply(obj, args);\n                }\n                catch (err) {\n                    // ignore\n                    return undefined;\n                }\n            }\n            else {\n                // get\n                return obj[property];\n            }\n        }\n    });\n};\nexport var applyRecord = function () {\n    var record = {};\n    var set = function (key, val) { return (record[key] = val); };\n    var del = function (key) { return delete record[key]; };\n    return [record, set, del];\n};\nexport var pick = function (obj, keys) {\n    if (!obj || !isObject(obj))\n        return obj;\n    return keys.reduce(function (prev, cur) {\n        prev[cur] = obj[cur];\n        return prev;\n    }, {});\n};\n//# sourceMappingURL=object-array.js.map","import { isArray, isString, isObject } from './is';\nexport var camelToKebab = function (str) {\n    return str.replace(/([a-z])([A-Z])/g, function (_, a, b) { return a + \"-\" + b.toLowerCase(); });\n};\nexport function getRegexp(ignore) {\n    if (!isArray(ignore)) {\n        return null;\n    }\n    return ignore.length ? joinRegExp(ignore) : null;\n}\nexport function joinRegExp(patterns) {\n    var sources = [];\n    var len = patterns.length;\n    for (var i = 0; i < len; i++) {\n        var pattern = patterns[i];\n        if (isString(pattern)) {\n            sources.push(pattern.replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1'));\n        }\n        else if (pattern && pattern.source) {\n            sources.push(pattern.source);\n        }\n    }\n    return new RegExp(sources.join('|'), 'i');\n}\nexport var checkIfHit = function (rules, url) {\n    var Rgx = getRegexp(rules || []);\n    return !!Rgx && Rgx.test(url);\n};\nexport function safeStringify(a) {\n    try {\n        return isString(a) ? a : JSON.stringify(a);\n    }\n    catch (err) {\n        return '[FAILED_TO_STRINGIFY]:' + String(err);\n    }\n}\nexport function safeJoin(input, delimiter) {\n    if (!isArray(input)) {\n        return '';\n    }\n    var output = [];\n    // eslint-disable-next-line @typescript-eslint/prefer-for-of\n    for (var i = 0; i < input.length; i++) {\n        try {\n            output.push(String(input[i]));\n        }\n        catch (e) {\n            output.push('[value cannot be serialized]');\n        }\n    }\n    return output.join(delimiter);\n}\n/**\n * get query string from map\n * @param  {Record<string | number, string | number>} map\n */\nexport var joinQueryWithMap = function (map) {\n    return isObject(map)\n        ? Object.keys(map)\n            .reduce(function (result, currentKey) {\n            result += \"&\" + currentKey + \"=\" + map[currentKey];\n            return result;\n        }, '')\n            .replace('&', '?')\n        : '';\n};\n//# sourceMappingURL=string.js.map","import { __assign } from \"tslib\";\nimport { safeStringify } from './string';\nexport function createContextAgent() {\n    var context = {};\n    var stringified = {};\n    var contextAgent = {\n        set: function (k, v) {\n            context[k] = v;\n            stringified[k] = safeStringify(v);\n            return contextAgent;\n        },\n        merge: function (ctx) {\n            context = __assign(__assign({}, context), ctx);\n            Object.keys(ctx).forEach(function (key) {\n                stringified[key] = safeStringify(ctx[key]);\n            });\n            return contextAgent;\n        },\n        delete: function (k) {\n            delete context[k];\n            delete stringified[k];\n            return contextAgent;\n        },\n        clear: function () {\n            context = {};\n            stringified = {};\n            return contextAgent;\n        },\n        get: function (k) {\n            return stringified[k];\n        },\n        toString: function () {\n            return __assign({}, stringified);\n        },\n    };\n    return contextAgent;\n}\n//# sourceMappingURL=context.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { isFunction } from './is';\nimport { noop } from './misc';\n// eslint-disable-next-line @typescript-eslint/ban-types\n/**\n * You can feel free to restore when you hook a function.\n * But you ought to restore 「in order」 if you hooked a value reference or a real obj reference.Because we not store the last value referent for now.\n * eg: obj.a = 1;\n * const r_1 = hookObjectProperty(obj, 'a',() =>2)()\n * const r_2 = hookObjectProperty(obj, 'a',() =>3)()\n * r_2() // obj.a === 2\n * r_1() // obj.a === 1\n *\n * @template T\n * @template K\n * @template P\n * @param {T} obj\n * @param {K} key\n * @param {(origin: T[K], ...params: P) => T[K]} hookFunc\n * @param {boolean} isCatchError When an error occurs after calling a hooked function, we want to suppress the errors and try to call the original function by default.\n * @return {*}\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport var hookObjectProperty = function (obj, key, hookFunc, isCatchError) {\n    if (isCatchError === void 0) { isCatchError = true; }\n    return function () {\n        var params = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            params[_i] = arguments[_i];\n        }\n        if (!obj) {\n            return noop;\n        }\n        var origin = obj[key];\n        var hookedUnsafe = hookFunc.apply(void 0, __spreadArray([origin], __read(params), false));\n        var hooked = hookedUnsafe;\n        // 给所有 hook 之后的方法包一层 try catch\n        if (isFunction(hooked) && isCatchError) {\n            hooked = function () {\n                var args = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    args[_i] = arguments[_i];\n                }\n                try {\n                    return hookedUnsafe.apply(this, args);\n                }\n                catch (_a) {\n                    return isFunction(origin) && origin.apply(this, args);\n                }\n            };\n        }\n        obj[key] = hooked;\n        // strict: is break\n        return function (strict) {\n            if (!strict) {\n                hooked === obj[key] ? (obj[key] = origin) : (hookedUnsafe = origin);\n            }\n        };\n    };\n};\n/**\n * 劫持对象方法\n * 必须记得给 hookFunc 劫持的方法包 try catch !\n * 不在本方法里包是为了避免对象原方法被调用两次\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport var hookMethodDangerously = function (obj, key, hookFunc) {\n    return function () {\n        var params = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            params[_i] = arguments[_i];\n        }\n        if (!obj) {\n            return noop;\n        }\n        var origin = obj[key];\n        var hookedUnsafe = hookFunc.apply(void 0, __spreadArray([origin], __read(params), false));\n        var hooked = hookedUnsafe;\n        if (isFunction(hooked)) {\n            hooked = function () {\n                var args = [];\n                for (var _i = 0; _i < arguments.length; _i++) {\n                    args[_i] = arguments[_i];\n                }\n                return hookedUnsafe.apply(this, args);\n            };\n        }\n        obj[key] = hooked;\n        return function () {\n            hooked === obj[key] ? (obj[key] = origin) : (hookedUnsafe = origin);\n        };\n    };\n};\n//# sourceMappingURL=hook-object.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var getPrintString = function () {\n    // @ts-expect-error\n    if (''.padStart) {\n        return function (str, prefixLength) {\n            if (prefixLength === void 0) { prefixLength = 8; }\n            return str.padStart(prefixLength, ' ');\n        };\n    }\n    return function (str) { return str; };\n};\nvar printString = getPrintString();\nexport var createLogger = function (prefix, prefixLen) {\n    if (prefixLen === void 0) { prefixLen = 20; }\n    var count = 0;\n    return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        // eslint-disable-next-line no-console\n        console.log.apply(console, __spreadArray([printString(prefix, prefixLen), Date.now(), printString(\"\" + count++)], __read(args), false));\n    };\n};\nvar count = 0;\nexport var log = function () {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n    }\n    // eslint-disable-next-line no-console\n    console.log.apply(console, __spreadArray(['[SDK]', Date.now(), printString(\"\" + count++)], __read(args), false));\n};\nvar errCount = 0;\nexport var error = function () {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n    }\n    // eslint-disable-next-line no-console\n    console.error.apply(console, __spreadArray(['[SDK]', Date.now(), printString(\"\" + errCount++)], __read(args), false));\n};\nvar warnCount = 0;\nexport var warn = function () {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n    }\n    // eslint-disable-next-line no-console\n    console.warn.apply(console, __spreadArray(['[SDK]', Date.now(), printString(\"\" + warnCount++)], __read(args), false));\n};\n//# sourceMappingURL=logger.js.map","export var isHitBySampleRate = function (sampleRate) {\n    if (Math.random() < Number(sampleRate)) {\n        return true;\n    }\n    return false;\n};\nexport var isHitByRandom = function (random, sampleRate) {\n    if (random < Number(sampleRate)) {\n        return true;\n    }\n    return false;\n};\n//# sourceMappingURL=number.js.map","import { error } from './logger';\nexport var runProcessors = function (fns) {\n    return function (e) {\n        var r = e;\n        for (var i = 0; i < fns.length; i++) {\n            if (r) {\n                try {\n                    r = fns[i](r);\n                }\n                catch (err) {\n                    error(err);\n                }\n            }\n            else {\n                break;\n            }\n        }\n        return r;\n    };\n};\nexport var runFilters = function (fns) {\n    return function (e) {\n        var r = true;\n        for (var i = 0; i < fns.length; i++) {\n            if (r) {\n                try {\n                    r = fns[i](e);\n                }\n                catch (err) {\n                    error(err);\n                }\n            }\n            else {\n                break;\n            }\n        }\n        return r;\n    };\n};\n//# sourceMappingURL=processor.js.map","/**\n * 生成uuid\n * stolen from https://github.com/kelektiv/node-uuid#readme uuid/v4\n *\n * @returns\n */\nfunction mathRNG() {\n    var rnds = new Array(16);\n    var r = 0;\n    for (var i = 0; i < 16; i++) {\n        if ((i & 0x03) === 0) {\n            r = Math.random() * 0x100000000;\n        }\n        rnds[i] = (r >>> ((i & 0x03) << 3)) & 0xff;\n    }\n    return rnds;\n}\nfunction bytesToUuid(buf) {\n    var byteToHex = [];\n    for (var index = 0; index < 256; ++index) {\n        byteToHex[index] = (index + 0x100).toString(16).substr(1);\n    }\n    var i = 0;\n    var bth = byteToHex;\n    // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n    return [\n        bth[buf[i++]],\n        bth[buf[i++]],\n        bth[buf[i++]],\n        bth[buf[i++]],\n        '-',\n        bth[buf[i++]],\n        bth[buf[i++]],\n        '-',\n        bth[buf[i++]],\n        bth[buf[i++]],\n        '-',\n        bth[buf[i++]],\n        bth[buf[i++]],\n        '-',\n        bth[buf[i++]],\n        bth[buf[i++]],\n        bth[buf[i++]],\n        bth[buf[i++]],\n        bth[buf[i++]],\n        bth[buf[i++]],\n    ].join('');\n}\nfunction uuid() {\n    var rnds = mathRNG();\n    // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n    rnds[6] = (rnds[6] & 0x0f) | 0x40;\n    rnds[8] = (rnds[8] & 0x3f) | 0x80;\n    return bytesToUuid(rnds);\n}\nexport { uuid };\n//# sourceMappingURL=uuid.js.map","import { noop } from './misc';\nexport var BUFFER_TIME = 300000; // 5分钟\nexport var applyBufferTimer = function (checkIfNeedCancel, cb, bufferTime) {\n    var tid = 0;\n    if (bufferTime === -1)\n        return noop;\n    return function () {\n        if (checkIfNeedCancel()) {\n            tid && clearTimeout(tid);\n            tid = 0;\n            return;\n        }\n        tid === 0 && (tid = setTimeout(cb, bufferTime));\n    };\n};\n//# sourceMappingURL=time.js.map","import { __read } from \"tslib\";\n/* eslint-disable @typescript-eslint/no-invalid-void-type */\nimport { noop } from './misc';\nimport { arrayRemove } from './object-array';\nimport { runFilters } from './processor';\nimport { applyBufferTimer, BUFFER_TIME } from './time';\nexport var nextLink = function (args, cb) {\n    var nextCbs = [];\n    try {\n        nextCbs = cb.reduce(function (sum, s) {\n            try {\n                var nextCb = s(args);\n                typeof nextCb === 'function' && sum.push(nextCb);\n            }\n            catch (_a) {\n                // do nothing\n            }\n            return sum;\n        }, []);\n    }\n    catch (_a) {\n        // do nothing\n    }\n    return function (nextArgs) { return nextLink(nextArgs, nextCbs); };\n};\nexport var toObservable = function (bufferTime) {\n    if (bufferTime === void 0) { bufferTime = BUFFER_TIME; }\n    var subscribers = [];\n    var __complete = [];\n    var closed = false;\n    var attachCb;\n    // 暂缓的自动销毁机制,比如5min 没有人订阅就自动销毁\n    var setCloseIfNeed = applyBufferTimer(function () { return !!subscribers.length; }, function () {\n        closed = true;\n        attachCb && attachCb[0]();\n        __complete.forEach(function (e) { return e(); });\n        __complete.length = 0;\n        attachCb = undefined;\n    }, bufferTime);\n    var unsubscribe = function (o) {\n        subscribers = arrayRemove(subscribers, o);\n        !closed && setCloseIfNeed();\n    };\n    return {\n        next: function (args) {\n            return nextLink(args, subscribers);\n        },\n        complete: function (cb) {\n            __complete.push(cb);\n        },\n        attach: function (disconnect, onSubscribe) {\n            attachCb = [disconnect, onSubscribe];\n        },\n        subscribe: function (o) {\n            if (closed)\n                throw new Error('Observer is closed');\n            subscribers.push(o);\n            attachCb && attachCb[1] && attachCb[1](o);\n            setCloseIfNeed();\n            return function () { return unsubscribe(o); };\n        },\n        unsubscribe: unsubscribe,\n    };\n};\nexport var createSafeObserver = function (observer, completeCb, bufferTime) {\n    var cur = toObservable(bufferTime);\n    try {\n        observer(cur.next, cur.attach);\n        completeCb && cur.complete(completeCb);\n    }\n    catch (_a) {\n        //\n    }\n    return [cur.subscribe, cur.unsubscribe];\n};\nexport var wrapFilters = function (originObservable, filters) {\n    var _a = __read(originObservable, 1), subscribe = _a[0];\n    var filteredObserver = function (next, tearDown) {\n        // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n        // @ts-ignore\n        var unsubscribe = subscribe(function (o) {\n            var hitFilter = runFilters(filters)(o);\n            return hitFilter ? next(o) : noop;\n        });\n        tearDown(function () {\n            unsubscribe();\n        });\n    };\n    return filteredObserver;\n};\n//# sourceMappingURL=observable.js.map","export function createDestroyAgent() {\n    var destroyed = false;\n    var data = {};\n    var removeTearDownGroup = function (tearDownGroup) {\n        tearDownGroup.length &&\n            tearDownGroup.forEach(function (v) {\n                try {\n                    v();\n                    // eslint-disable-next-line no-empty\n                }\n                catch (_a) { }\n            });\n        tearDownGroup.length = 0;\n    };\n    var removeByPluginName = function (pluginName) {\n        data[pluginName] &&\n            data[pluginName].forEach(function (e) {\n                removeTearDownGroup(e[1]);\n            });\n        data[pluginName] = undefined;\n    };\n    var removeByEvType = function (evType) {\n        Object.keys(data).forEach(function (k) {\n            data[k] &&\n                data[k].forEach(function (e) {\n                    if (e[0] === evType) {\n                        removeTearDownGroup(e[1]);\n                    }\n                });\n        });\n    };\n    return {\n        /**\n         * register tearDownGroup for a single plugin.\n         */\n        set: function (pluginName, evType, tearDownGroup) {\n            if (data[pluginName])\n                data[pluginName].push([evType, tearDownGroup]);\n            else\n                data[pluginName] = [[evType, tearDownGroup]];\n            // auto remove tearDownGroup if destroyed\n            destroyed && removeTearDownGroup(tearDownGroup);\n        },\n        has: function (pluginName) {\n            return !!data[pluginName];\n        },\n        /**\n         * remove tearDownGroup for a single plugin.\n         */\n        remove: removeByPluginName,\n        /**\n         * remove tearDownGroup by event type\n         */\n        removeByEvType: removeByEvType,\n        /**\n         * clear all tearDownGroup\n         */\n        clear: function () {\n            destroyed = true;\n            Object.keys(data).forEach(function (k) {\n                removeByPluginName(k);\n            });\n        },\n    };\n}\n/**\n * 将tearDownGroup 注册到 destroyAgent,destroyAgent会在实例销毁时自动销毁tearDownGroup\n */\nexport var registerTearDownGroup = function (client, pluginName, evType, tearDownGroup) {\n    return client.destroyAgent.set(pluginName, evType, tearDownGroup);\n};\n//# sourceMappingURL=destroy.js.map","import { __read, __spreadArray } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport { EVENTS, } from './types';\nimport { arrayIncludes, arrayRemove, isObject, log, runProcessors, warn, createDestroyAgent } from './utils';\nexport function createClient(creationConfig) {\n    var builder = creationConfig.builder, createSender = creationConfig.createSender, createDefaultConfig = creationConfig.createDefaultConfig, createConfigManager = creationConfig.createConfigManager, userConfigNormalizer = creationConfig.userConfigNormalizer, initConfigNormalizer = creationConfig.initConfigNormalizer, validateInitConfig = creationConfig.validateInitConfig;\n    var sender;\n    var configManager;\n    var handlers = {};\n    EVENTS.forEach(function (e) { return (handlers[e] = []); });\n    var inited = false;\n    var started = false;\n    var destroyed = false;\n    // 缓存 start 之前 build 的事件\n    var preStartQueue = [];\n    // 禁止通过 provide 挂载的字段名\n    var reservedNames = [];\n    var destroyAgent = createDestroyAgent();\n    var client = {\n        getBuilder: function () { return builder; },\n        getSender: function () { return sender; },\n        getPreStartQueue: function () { return preStartQueue; },\n        init: function (c) {\n            if (inited) {\n                warn('already inited');\n                return;\n            }\n            if (c && isObject(c) && validateInitConfig(c)) {\n                var defaultConfig = createDefaultConfig(c);\n                if (!defaultConfig) {\n                    throw new Error('defaultConfig missing');\n                }\n                var initConfig = initConfigNormalizer(c);\n                configManager = createConfigManager(defaultConfig);\n                configManager.setConfig(initConfig);\n                configManager.onChange(function () {\n                    handle('config');\n                });\n                sender = createSender(configManager.getConfig());\n                if (!sender) {\n                    throw new Error('sender missing');\n                }\n                inited = true;\n                handle('init', true);\n            }\n            else {\n                throw new Error('invalid InitConfig, init failed');\n            }\n        },\n        set: function (c) {\n            if (!inited) {\n                return;\n            }\n            if (c && isObject(c)) {\n                handle('beforeConfig', false, c);\n                configManager === null || configManager === void 0 ? void 0 : configManager.setConfig(c);\n            }\n        },\n        config: function (c) {\n            if (!inited) {\n                return;\n            }\n            if (c && isObject(c)) {\n                handle('beforeConfig', false, c);\n                configManager === null || configManager === void 0 ? void 0 : configManager.setConfig(userConfigNormalizer(c));\n            }\n            return configManager === null || configManager === void 0 ? void 0 : configManager.getConfig();\n        },\n        provide: function (name, value) {\n            if (arrayIncludes(reservedNames, name)) {\n                warn(\"cannot provide \" + name + \", reserved\");\n                return;\n            }\n            client[name] = value;\n            handle('provide', false, name);\n        },\n        start: function () {\n            var _this = this;\n            if (!inited) {\n                return;\n            }\n            if (started) {\n                return;\n            }\n            configManager === null || configManager === void 0 ? void 0 : configManager.onReady(function () {\n                started = true;\n                handle('start', true);\n                preStartQueue.forEach(function (e) { return _this.build(e); });\n                preStartQueue.length = 0;\n            });\n        },\n        report: function (data) {\n            if (!data) {\n                return;\n            }\n            var preReport = runProcessors(handlers['beforeReport'])(data);\n            if (!preReport) {\n                return;\n            }\n            var processed = runProcessors(handlers['report'])(preReport);\n            if (!processed) {\n                return;\n            }\n            if (started) {\n                this.build(processed);\n            }\n            else {\n                preStartQueue.push(processed);\n            }\n        },\n        build: function (data) {\n            if (!started) {\n                return;\n            }\n            var preBuild = runProcessors(handlers['beforeBuild'])(data);\n            if (!preBuild) {\n                return;\n            }\n            var built = builder.build(preBuild);\n            if (!built) {\n                return;\n            }\n            var processed = runProcessors(handlers['build'])(built);\n            if (!processed) {\n                return;\n            }\n            this.send(processed);\n        },\n        send: function (data) {\n            if (!started) {\n                return;\n            }\n            var processed = runProcessors(handlers['beforeSend'])(data);\n            if (processed) {\n                sender.send(processed);\n                handle('send', false, processed);\n            }\n        },\n        destroy: function () {\n            destroyAgent.clear();\n            destroyed = true;\n            preStartQueue.length = 0;\n            handle('beforeDestroy', true);\n        },\n        on: function (ev, handler) {\n            if ((ev === 'init' && inited) || (ev === 'start' && started) || (ev === 'beforeDestroy' && destroyed)) {\n                try {\n                    ;\n                    handler();\n                }\n                catch (_err) {\n                    // ignore\n                }\n            }\n            else if (handlers[ev]) {\n                handlers[ev].push(handler);\n            }\n        },\n        off: function (ev, handler) {\n            if (handlers[ev])\n                handlers[ev] = arrayRemove(handlers[ev], handler);\n        },\n        destroyAgent: destroyAgent,\n    };\n    reservedNames = Object.keys(client);\n    return client;\n    function handle(ev, once) {\n        if (once === void 0) { once = false; }\n        var args = [];\n        for (var _i = 2; _i < arguments.length; _i++) {\n            args[_i - 2] = arguments[_i];\n        }\n        handlers[ev].forEach(function (f) {\n            try {\n                f.apply(void 0, __spreadArray([], __read(args), false));\n            }\n            catch (_err) {\n                // ignore\n            }\n        });\n        if (once) {\n            handlers[ev].length = 0;\n        }\n    }\n}\n//# sourceMappingURL=client.js.map","import { createContextAgent } from '../utils';\nexport var ContextPlugin = function (client) {\n    var contextAgent = createContextAgent();\n    client.provide('context', contextAgent);\n    client.on('report', function (ev) {\n        if (!ev.extra) {\n            ev.extra = {};\n        }\n        ev.extra.context = contextAgent.toString();\n        return ev;\n    });\n};\n//# sourceMappingURL=context.js.map","/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport { __read, __spreadArray } from \"tslib\";\nimport { hookObjectProperty, log, safeCall } from '../utils';\nexport var withCommandArray = function (client, captureContext, applyArgsWithContext) {\n    // 缓存需要异步插件来消费的命令\n    var cache = {};\n    var newClient = function () {\n        var _a;\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        var methodPath = args[0];\n        if (!methodPath)\n            return;\n        var method = methodPath.split('.')[0];\n        // 捕获上下文,等异步插件加载后传入\n        if (!(method in newClient)) {\n            var cachedCommands = cache[method] || [];\n            // 区分预收集来的上下文与普通上下文\n            var capturedContext = (_a = captureContext === null || captureContext === void 0 ? void 0 : captureContext(client)) !== null && _a !== void 0 ? _a : {};\n            cachedCommands.push(__spreadArray([capturedContext], __read(args), false));\n            cache[method] = cachedCommands;\n            return;\n        }\n        return safeCall(newClient, methodPath, [].slice.call(args, 1));\n    };\n    hookObjectProperty(client, 'provide', function (origin) {\n        return function (name, value) {\n            newClient[name] = value;\n            origin.call(client, name, value);\n        };\n    })();\n    for (var nextKey in client) {\n        // Avoid bugs when hasOwnProperty is shadowed\n        if (Object.prototype.hasOwnProperty.call(client, nextKey)) {\n            newClient[nextKey] = client[nextKey];\n        }\n    }\n    client.on('provide', function (name) {\n        if (cache[name]) {\n            cache[name].forEach(function (cachedCommands) {\n                var _a = __read(cachedCommands), capturedContext = _a[0], args = _a.slice(1);\n                applyArgsWithContext === null || applyArgsWithContext === void 0 ? void 0 : applyArgsWithContext(client, capturedContext, args);\n            });\n            cache[name] = null;\n        }\n    });\n    return newClient;\n};\n//# sourceMappingURL=command-array.js.map","import { arrayIncludes, arrayRemove } from '../utils';\nexport function IntegrationPlugin(client, runAfterSetup) {\n    client.on('init', function () {\n        var nameList = [];\n        var applyIntegrations = function (integrations) {\n            integrations.forEach(function (integration) {\n                var integrationName = integration.name;\n                if (!arrayIncludes(nameList, integrationName)) {\n                    nameList.push(integrationName);\n                    integration.setup(client);\n                    runAfterSetup && runAfterSetup(integrationName, integration.setup);\n                    client.destroyAgent.set(integrationName, integrationName, [\n                        function () {\n                            nameList = arrayRemove(nameList, integrationName);\n                            integration.tearDown && integration.tearDown();\n                        },\n                    ]);\n                }\n            });\n        };\n        client.provide('applyIntegrations', applyIntegrations);\n        var config = client.config();\n        if (config && config.integrations) {\n            applyIntegrations(config.integrations);\n        }\n    });\n}\n//# sourceMappingURL=integration.js.map","import { __read } from \"tslib\";\nimport { createSafeObserver, wrapFilters } from '../utils/observable';\nexport var SubjectSpacer = '_';\nexport var getSubjectKeyWithoutVersion = function (subjectKey) {\n    return subjectKey.split(SubjectSpacer)[0];\n};\nexport function SubjectPlugin(client, globalSubjectMap) {\n    var subjectMap = globalSubjectMap || {};\n    var filterMap = {};\n    // filter key is subject key but without subject spacer and subject version, and it only takes effect on subsequent observers\n    var setFilter = function (subjectKeyWithoutVersion, filter) {\n        if (!filterMap[subjectKeyWithoutVersion])\n            filterMap[subjectKeyWithoutVersion] = [];\n        filterMap[subjectKeyWithoutVersion].push(filter);\n    };\n    var initSubject = function (_a) {\n        var _b = __read(_a, 2), subjectKey = _b[0], observer = _b[1];\n        var filterKey = getSubjectKeyWithoutVersion(subjectKey);\n        var filters = !!filterKey && filterMap[filterKey];\n        if (!subjectMap[subjectKey])\n            subjectMap[subjectKey] = createSafeObserver(observer, function () {\n                subjectMap[subjectKey] = undefined;\n            });\n        if (!filters)\n            return subjectMap[subjectKey];\n        return initPrivateSubject(client, [\n            subjectKey,\n            wrapFilters(subjectMap[subjectKey], filters),\n        ]);\n    };\n    client.provide('setFilter', setFilter);\n    client.provide('initSubject', initSubject);\n    client.provide('getSubject', function (key) { return subjectMap[key]; });\n    client.provide('privateSubject', {});\n}\n/**\n * 由于 Observer 带有自动销毁机制,意味着subject 只支持同步注册并使用\n */\nexport function initSubjectInGlobal(client, args) {\n    return client.initSubject(args);\n}\n/**\n * 此方法不会挂载到全局对象上,同时只支持同步注册并使用\n */\nexport function initPrivateSubject(client, _a, bufferTime) {\n    var _b = __read(_a, 2), subjectKey = _b[0], observer = _b[1];\n    var subjectMap = client.privateSubject || {};\n    if (!subjectMap[subjectKey])\n        subjectMap[subjectKey] = createSafeObserver(observer, function () {\n            subjectMap[subjectKey] = undefined;\n        }, bufferTime);\n    return subjectMap[subjectKey];\n}\n//# sourceMappingURL=subject.js.map","export var now = function () { return Date.now(); };\n//# sourceMappingURL=date.js.map","import { isFunction, isObject } from '@slardar/sdk-template';\nexport function getDefaultBrowser() {\n    if (typeof window === 'object' && isObject(window))\n        return window;\n}\nexport function getDefaultDocument() {\n    if (typeof document === 'object' && isObject(document))\n        return document;\n}\nexport function getDefaultLocation() {\n    return getDefaultBrowser() && window.location;\n}\nexport function getDefaultHistory() {\n    // eslint-disable-next-line compat/compat\n    return getDefaultBrowser() && window.history;\n}\nexport function getDefaultPerformance() {\n    if (getDefaultBrowser() && isObject(window.performance))\n        return window.performance;\n}\nexport function getDefaultPromise() {\n    if (getDefaultBrowser() && 'Promise' in window)\n        return Promise;\n}\nexport function getDefaultXMLHttpRequest() {\n    if (typeof XMLHttpRequest === 'function' && isFunction(XMLHttpRequest))\n        return XMLHttpRequest;\n}\nexport function getDefaultFetch() {\n    try {\n        // eslint-disable-next-line compat/compat\n        new Headers();\n        // eslint-disable-next-line compat/compat\n        new Request('');\n        // eslint-disable-next-line compat/compat\n        new Response();\n        // eslint-disable-next-line compat/compat\n        return window.fetch;\n    }\n    catch (_a) {\n        //\n    }\n}\nexport function getDefaultMutationObserver() {\n    if (getDefaultBrowser() && isFunction(window.MutationObserver))\n        return window.MutationObserver;\n}\nexport function getDefaultPerformanceObserver() {\n    if (getDefaultBrowser() && isFunction(window.PerformanceObserver))\n        return window.PerformanceObserver;\n}\nexport function getDefaultPerformanceEventTiming() {\n    if (getDefaultBrowser() && isFunction(window.PerformanceEventTiming))\n        return window.PerformanceEventTiming;\n}\nexport function getDefaultPerformanceTiming() {\n    var performance = getDefaultPerformance();\n    if (performance && isObject(performance.timing))\n        return performance.timing;\n}\nexport function getDefaultRaf() {\n    if (getDefaultBrowser() && 'requestAnimationFrame' in window) {\n        return window.requestAnimationFrame;\n    }\n}\nexport function getDefaultCaf() {\n    if (getDefaultBrowser() && 'cancelAnimationFrame' in window) {\n        return window.cancelAnimationFrame;\n    }\n}\nexport function getDefaultNavigator() {\n    if (getDefaultBrowser() && 'navigator' in window) {\n        return window.navigator;\n    }\n}\nexport function getDefaultNetworkInformation() {\n    var navigator = getDefaultNavigator();\n    if (navigator) {\n        return navigator.connection || navigator.mozConnection || navigator.webkitConnection;\n    }\n}\nexport function getCurrentScript() {\n    if (!document)\n        return null;\n    if (document.currentScript)\n        return document.currentScript;\n    // IE 8-10 support script readyState\n    // IE 11+ support stack trace\n    try {\n        throw new Error();\n    }\n    catch (err) {\n        // Find the second match for the \"at\" string to get file src url from stack.\n        // Specifically works with the format of stack traces in IE.\n        var i = 0;\n        var stackDetails = /at\\s+(.*)\\s+\\((.*):(\\d*):(\\d*)\\)/i.exec(err.stack);\n        // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n        var scriptLocation = (stackDetails && stackDetails[2]) || false;\n        // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n        var line = (stackDetails && stackDetails[3]) || 0;\n        var currentLocation = document.location.href.replace(document.location.hash, '');\n        var inlineScriptSource = '';\n        var scripts = document.getElementsByTagName('script'); // Live NodeList collection\n        if (scriptLocation === currentLocation) {\n            var pageSource = document.documentElement.outerHTML;\n            var inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n            inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n        }\n        for (; i < scripts.length; i++) {\n            // If ready state is interactive, return the script tag\n            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n            // @ts-ignore\n            if (scripts[i].readyState === 'interactive') {\n                return scripts[i];\n            }\n            // If src matches, return the script tag\n            if (scripts[i].src === scriptLocation) {\n                return scripts[i];\n            }\n            // If inline source matches, return the script tag\n            if (scriptLocation === currentLocation &&\n                scripts[i].innerHTML &&\n                scripts[i].innerHTML.trim() === inlineScriptSource) {\n                return scripts[i];\n            }\n        }\n        // If no match, return null\n        return null;\n    }\n}\n//# sourceMappingURL=defaults.js.map","import { getDefaultBrowser, getDefaultDocument, getDefaultLocation } from './defaults';\nexport function getFullUrl(url) {\n    var document = getDefaultDocument();\n    if (!document || !url)\n        return '';\n    var a = document.createElement('a');\n    a.href = url;\n    return a.href;\n}\nexport function parseUrl(url) {\n    var document = getDefaultDocument();\n    if (!document || !url) {\n        return {\n            url: url,\n            protocol: '',\n            domain: '',\n            query: '',\n            path: '',\n            hash: '',\n        };\n    }\n    var a = document.createElement('a');\n    a.href = url;\n    var path = a.pathname || '/';\n    /* istanbul ignore next */\n    if (path[0] !== '/') {\n        path = '/' + path;\n    }\n    return {\n        url: a.href,\n        protocol: a.protocol.slice(0, -1),\n        domain: a.hostname,\n        query: a.search.substring(1),\n        path: path,\n        hash: a.hash,\n    };\n}\nexport function getLocationUrl() {\n    var location = getDefaultBrowser() && getDefaultLocation();\n    return location ? location.href : '';\n}\n//# sourceMappingURL=url.js.map","import { getDefaultBrowser } from './defaults';\n// 获取全局注册表\nexport var getGlobalRegistry = function (global) {\n    if (!global)\n        return;\n    if (!global.__SLARDAR_REGISTRY__) {\n        global.__SLARDAR_REGISTRY__ = {\n            Slardar: {\n                plugins: [],\n                errors: [],\n                subject: {},\n            },\n        };\n    }\n    return global.__SLARDAR_REGISTRY__.Slardar;\n};\nexport var reportSelfError = function () {\n    var errorInfo = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        errorInfo[_i] = arguments[_i];\n    }\n    var registry = getGlobalRegistry(getDefaultBrowser());\n    if (!registry)\n        return;\n    if (!registry.errors) {\n        registry.errors = [];\n    }\n    registry.errors.push(errorInfo);\n};\n//# sourceMappingURL=registry.js.map","import { now } from './date';\nimport { getLocationUrl } from './url';\nexport var captureCurrentContext = function (client) {\n    var capturedContext = {\n        url: getLocationUrl(),\n        timestamp: now(),\n    };\n    var config = client.config();\n    if (config === null || config === void 0 ? void 0 : config.pid) {\n        capturedContext.pid = config.pid;\n    }\n    if (client === null || client === void 0 ? void 0 : client['context']) {\n        capturedContext.context = client['context'].toString();\n    }\n    return capturedContext;\n};\n// only works for sync report\n// async report won't trigger 'report' immediately, es.g. sri\nexport var syncReportWithCapturedContext = function (client, ctx) {\n    return function (fn) {\n        var inject = function (ev) {\n            ev.overrides = ctx;\n            return ev;\n        };\n        client.on('report', inject);\n        fn();\n        client.off('report', inject);\n    };\n};\n//# sourceMappingURL=capture.js.map","import { __assign, __read } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport { isObject, noop } from '@slardar/sdk-template';\nimport { getDefaultBrowser, getDefaultDocument } from './defaults';\nexport var addListenerToWindow = function (w, type, listener, options) {\n    if (options === void 0) { options = false; }\n    w.addEventListener(type, listener, options);\n    return function () {\n        w.removeEventListener(type, listener, options);\n    };\n};\nexport var addListenerToDocument = function (d, type, listener, options) {\n    if (options === void 0) { options = false; }\n    d.addEventListener(type, listener, options);\n    return function () {\n        d.removeEventListener(type, listener, options);\n    };\n};\nexport function clearTimerWithTearDowns(timer, tearDowns) {\n    timer && tearDowns.push(function () { return clearTimeout(timer); });\n}\nexport function onPageLoad(callback) {\n    var window = getDefaultBrowser();\n    var document = getDefaultDocument();\n    if (!window || !document)\n        return;\n    if (document.readyState === 'complete') {\n        callback();\n        return;\n    }\n    addListenerToWindow(window, 'load', function () {\n        setTimeout(function () {\n            callback();\n        }, 0);\n    }, false);\n}\nexport var invokeCallbackOnce = function (cb) {\n    var hasInvoked = false;\n    var invoke = function (params) {\n        if (hasInvoked)\n            return;\n        hasInvoked = true;\n        cb && cb(params);\n    };\n    return [invoke];\n};\nexport var onPageUnload = function (cb) {\n    var window = getDefaultBrowser();\n    if (!window)\n        return;\n    var _a = __read(invokeCallbackOnce(cb), 1), invokeCbOnce = _a[0];\n    ['unload', 'beforeunload', 'pagehide'].forEach(function (ev) {\n        addListenerToWindow(window, ev, invokeCbOnce, false);\n    });\n};\nexport var onPageNextShow = function (cb) {\n    var document = getDefaultDocument();\n    var window = getDefaultBrowser();\n    if (!document || !window)\n        return;\n    var removeListener = noop;\n    var onVisibilityChange = function () {\n        if (document.visibilityState === 'visible') {\n            cb();\n            removeListener();\n        }\n    };\n    removeListener = addListenerToDocument(document, 'visibilitychange', onVisibilityChange, true);\n};\nexport var loadScript = function (url, callback) {\n    var _a;\n    /* istanbul ignore next */\n    var document = getDefaultDocument();\n    // untestable for now\n    /* istanbul ignore next */\n    if (document) {\n        var script = document.createElement('script');\n        script.src = url;\n        script.crossOrigin = 'anonymous';\n        script.onload = callback;\n        (_a = document.head) === null || _a === void 0 ? void 0 : _a.appendChild(script);\n    }\n};\nexport var getConfig = function (c, defaultConfig) {\n    if (isObject(c)) {\n        return __assign(__assign({}, defaultConfig), c);\n    }\n    else {\n        return c ? defaultConfig : false;\n    }\n};\n//# sourceMappingURL=misc.js.map","export var isSupportEncrypt = function () { return !!btoa && !!atob; };\nexport function encodeToBase64(content) {\n    if (!isSupportEncrypt())\n        return content;\n    return btoa(encodeURI(content));\n}\nexport function decodeWithBase64(base64) {\n    if (!isSupportEncrypt())\n        return base64;\n    return decodeURI(atob(base64));\n}\n//# sourceMappingURL=encryption.js.map","import { __assign, __rest } from \"tslib\";\nimport { isNumber } from '@slardar/sdk-template';\nimport { now } from './date';\nimport { decodeWithBase64, encodeToBase64 } from './encryption';\nexport var getStorageWithDecoding = function (name) {\n    try {\n        var value = localStorage.getItem(name);\n        var ret = value;\n        if (value && typeof value === 'string') {\n            ret = JSON.parse(decodeWithBase64(value));\n        }\n        // get 时无需刷新 expires,在后续的 configManager 中的 set 会刷新\n        var _a = ret, expires = _a.expires, content = __rest(_a, [\"expires\"]);\n        return expires >= now() ? content : undefined;\n    }\n    catch (_e) {\n        return undefined;\n    }\n};\nexport var setStorageWithEncoding = function (key, value, expires) {\n    if (expires <= 0)\n        return;\n    try {\n        localStorage.setItem(key, encodeToBase64(JSON.stringify(__assign(__assign({}, value), { expires: now() + expires }))));\n    }\n    catch (_o) {\n        // do nothing\n    }\n};\nexport var removeStorageItem = function (key) {\n    try {\n        localStorage.removeItem(key);\n    }\n    catch (_o) {\n        // do nothing\n    }\n};\nexport var DEFAULT_STORAGE_EXPIRES = 90 * 24 * 60 * 60 * 1000;\nexport var formatStorageExpires = function (storageExpires) {\n    if (storageExpires === false)\n        return 0;\n    if (storageExpires === true || storageExpires === undefined || !isNumber(storageExpires))\n        return DEFAULT_STORAGE_EXPIRES;\n    return storageExpires;\n};\n//# sourceMappingURL=storage.js.map","export var PAGEVIEW_EV_TYPE = 'pageview';\nexport var SESSION_EV_TYPE = 'session';\nexport var JS_ERROR_EV_TYPE = 'js_error';\nexport var HTTP_EV_TYPE = 'http';\nexport var RESOURCE_ERROR_EV_TYPE = 'resource_error';\nexport var RESOURCE_EV_TYPE = 'resource';\nexport var CUSTOM_EV_TYPE = 'custom';\nexport var PERFORMANCE_METRIC_EV_TYPE = 'performance';\nexport var PERFORMANCE_TIMING_EV_TYPE = 'performance_timing';\nexport var LONG_TASK_EV_TYPE = 'performance_longtask';\nexport var BLANK_SCREEN_EV_TYPE = 'blank_screen';\nexport var ACTION_EV_TYPE = 'action';\nexport var HEATMAP_EV_TYPE = 'heatmap';\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { isError, isEvent, isPlainObject, isErrorEvent, isPromiseRejectionEvent, isString, pick, safeStringify, } from '@slardar/sdk-template';\nvar ERROR_FIELDS = ['name', 'message', 'stack', 'filename', 'lineno', 'colno'];\nexport var normalize = function (ex) {\n    var error;\n    if (!isError(ex)) {\n        if (isPlainObject(ex) || isEvent(ex) || isString(ex)) {\n            error = {\n                message: safeStringify(ex),\n            };\n        }\n    }\n    else {\n        error = pick(ex, ERROR_FIELDS);\n    }\n    return error;\n};\nexport var normalizeError = function (event) {\n    return normalize(event.error);\n};\nexport var normalizeException = function (event) {\n    var _a;\n    // dig the object of the rejection out of known event types\n    try {\n        var error = void 0;\n        // PromiseRejectionEvents store the object of the rejection under 'reason'\n        // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n        if ('reason' in event) {\n            error = event.reason;\n        }\n        // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n        // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n        // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n        // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n        // https://github.com/getsentry/sentry-javascript/issues/2380\n        else if ('detail' in event && 'reason' in event.detail) {\n            error = event.detail.reason;\n        }\n        if (error) {\n            var rejectionError = normalize(error);\n            // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n            return __assign(__assign({}, rejectionError), { name: (_a = (rejectionError && rejectionError.name)) !== null && _a !== void 0 ? _a : 'UnhandledRejection' });\n        }\n    }\n    catch (_oO) {\n        // no-empty\n    }\n};\nexport var normalizeUnknownError = function (exception) {\n    if (isErrorEvent(exception)) {\n        return normalizeError(exception);\n    }\n    else if (isPromiseRejectionEvent(exception)) {\n        return normalizeException(exception);\n    }\n    else {\n        return normalize(exception);\n    }\n};\n//# sourceMappingURL=util.js.map","import { __read } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport { readyStateIsComplete } from '../../collector/page';\nimport { PERFORMANCE_METRIC_EV_TYPE, PAGEVIEW_EV_TYPE, ACTION_EV_TYPE, HTTP_EV_TYPE, RESOURCE_EV_TYPE, LONG_TASK_EV_TYPE, BLANK_SCREEN_EV_TYPE, JS_ERROR_EV_TYPE, RESOURCE_ERROR_EV_TYPE, } from '../../constants';\nimport { parseUrl, now, getDefaultDocument } from '../../utils';\nexport var getDefaultExtractor = function (routeMode) { return function (url) {\n    var _a;\n    if (routeMode === 'hash') {\n        return ((_a = parseUrl(url).hash) === null || _a === void 0 ? void 0 : _a.replace(/^#/, '')) || '/';\n    }\n    else {\n        return parseUrl(url).path;\n    }\n}; };\nexport var getViewId = function (pid) { return joinWithSeparator(pid, now()); };\nexport var joinWithSeparator = function (a, b) { return a + \"_\" + b; };\nexport var applyOnPidChange = function (cb, initPid, firstOriginPid, onPidUpdate) {\n    // store originalPid from url\n    var originalPid = firstOriginPid;\n    // store finalPid send to server\n    var finalPid = initPid;\n    // set init pid in config\n    onPidUpdate && onPidUpdate(initPid);\n    var onPidChange = function (source, newPid, customPid) {\n        // newPid is extractPid from url, should send pageview if changed, no matter customPid changed\n        if (source !== \"user_set\" /* user_set */ && newPid !== originalPid) {\n            originalPid = newPid;\n            finalPid = customPid !== null && customPid !== void 0 ? customPid : originalPid;\n            onPidUpdate && onPidUpdate(finalPid); // update pid in common\n            cb(source, finalPid);\n            // newPid is by user set, should send pageview if not equal to finalPid\n        }\n        else if (source === \"user_set\" /* user_set */ && newPid !== finalPid) {\n            finalPid = newPid;\n            onPidUpdate && onPidUpdate(finalPid); // update pid in common\n            cb(source, finalPid);\n        }\n    };\n    var sendInit = function () {\n        initPid && cb(\"init\" /* init */, initPid);\n    };\n    return [onPidChange, sendInit];\n};\nexport var applyOnUrlChange = function (cb, initUrl) {\n    var url = initUrl;\n    var onUrlChange = function (source, newUrl) {\n        if (newUrl !== url) {\n            url = newUrl;\n            cb(source, url);\n        }\n    };\n    return [onUrlChange];\n};\nexport var wrapPageview = function (source, pid) { return ({\n    ev_type: PAGEVIEW_EV_TYPE,\n    payload: {\n        pid: pid,\n        source: source,\n    },\n}); };\nexport var applyReportPageview = function (report) {\n    return function (source, pid) {\n        report(wrapPageview(source, pid));\n    };\n};\nexport var isManualMode = function (routeMode) { return routeMode === 'manual'; };\nvar ERROR_WEIGHT = 'error_weight';\nvar DURATION_APDEX = 'duration_apdex';\nvar PREF_APDEX = 'perf_apdex';\nvar ACTION_KEY = 'action';\nexport var getDefaultApdexDetail = function () {\n    var _a;\n    return _a = {\n            error_count: [0, 0, 0, 0],\n            duration_count: [0, 0, 0]\n        },\n        _a[PREF_APDEX] = {},\n        _a;\n};\nexport var getRank = function (apdex, setting) {\n    var total = apdex[0 /* satisfying */] + apdex[1 /* tolerable */] + apdex[2 /* frustrating */];\n    var s_percent = apdex[0 /* satisfying */] / total;\n    var f_percent = apdex[2 /* frustrating */] / total;\n    return f_percent > setting.frustrating_threshold\n        ? 2 /* frustrating */\n        : s_percent > setting.satisfying_threshold || total === 0\n            ? 0 /* satisfying */\n            : 1 /* tolerable */;\n};\nexport var calculateSpentTime = function () {\n    // record spent time\n    var spentTime = 0;\n    var lastShowTimeStamp = undefined;\n    var handleHidden = function (isHidden) {\n        if (isHidden) {\n            if (!lastShowTimeStamp)\n                return;\n            // set spentTime and reset last show timestamp\n            spentTime += now() - lastShowTimeStamp;\n            lastShowTimeStamp = undefined;\n        }\n        else {\n            lastShowTimeStamp = now();\n        }\n    };\n    var getSpentTime = function () {\n        // correct the value of the last spent\n        lastShowTimeStamp && (spentTime += now() - lastShowTimeStamp);\n        var time = spentTime;\n        // reset status\n        spentTime = 0;\n        lastShowTimeStamp = now();\n        return time;\n    };\n    return [handleHidden, getSpentTime];\n};\nexport var applyCalculateWight = function (calculateDuration, calculateError) {\n    return function (ev, apdexSetting) {\n        var payload = ev.payload;\n        switch (ev.ev_type) {\n            case PERFORMANCE_METRIC_EV_TYPE:\n                var name_1 = payload.name;\n                if (payload.isSupport) {\n                    calculateDuration(apdexSetting[PREF_APDEX], name_1, payload.value);\n                }\n                break;\n            case ACTION_EV_TYPE:\n                calculateDuration(apdexSetting[PREF_APDEX], ACTION_KEY, payload.duration || 0);\n                break;\n            case JS_ERROR_EV_TYPE:\n                calculateError(apdexSetting[ERROR_WEIGHT], 0);\n                break;\n            case HTTP_EV_TYPE:\n                if (payload.response.is_custom_error || payload.response.status >= 400) {\n                    calculateError(apdexSetting[ERROR_WEIGHT], 1);\n                }\n                else {\n                    var timing = payload.response.timing;\n                    timing && calculateDuration(apdexSetting[DURATION_APDEX], 0, timing.duration);\n                }\n                break;\n            case RESOURCE_ERROR_EV_TYPE:\n                calculateError(apdexSetting[ERROR_WEIGHT], 2);\n                break;\n            case BLANK_SCREEN_EV_TYPE:\n                calculateError(apdexSetting[ERROR_WEIGHT], 3);\n                break;\n            case RESOURCE_EV_TYPE:\n                calculateDuration(apdexSetting[DURATION_APDEX], 1, payload.duration);\n                break;\n            case LONG_TASK_EV_TYPE:\n                ;\n                payload.longtasks.forEach(function (l) {\n                    calculateDuration(apdexSetting[DURATION_APDEX], 2, l.duration);\n                });\n                break;\n            default:\n                break;\n        }\n    };\n};\nexport var calculateApdex = function () {\n    var apdexWeight;\n    var apdexDetail;\n    var initApdex = function () {\n        apdexWeight = [0, 0, 0];\n        apdexDetail = getDefaultApdexDetail();\n    };\n    // init apdex first\n    initApdex();\n    var calculateDurationWeight = function (weight, nameOrIndex, value) {\n        var rules = weight && weight[nameOrIndex];\n        // make sure all value is valuable\n        if (!rules || value <= 0)\n            return;\n        var level = value < (rules[0 /* satisfying */].threshold || 0)\n            ? 0 /* satisfying */\n            : value > (rules[1 /* tolerable */].threshold || 0)\n                ? 2 /* frustrating */\n                : 1 /* tolerable */;\n        apdexWeight[level] += rules[level].weight;\n        if (typeof nameOrIndex === 'string') {\n            var name_2 = joinWithSeparator(nameOrIndex, level);\n            var value_1 = apdexDetail[PREF_APDEX][name_2];\n            apdexDetail[PREF_APDEX][name_2] = (value_1 || 0) + 1;\n        }\n        else {\n            level === 2 /* frustrating */ && (apdexDetail.duration_count[nameOrIndex] += 1);\n        }\n    };\n    var calculateErrorWeight = function (weight, index) {\n        if (!weight)\n            return;\n        apdexWeight[2 /* frustrating */] += weight[index];\n        apdexDetail.error_count[index] += 1;\n    };\n    var getApdex = function () {\n        return [apdexWeight, apdexDetail];\n    };\n    return [calculateDurationWeight, calculateErrorWeight, getApdex, initApdex];\n};\nexport var calculateSession = function () {\n    var sessionPayload = {\n        // use the current initialized time as start is more appropriate than navigationStart\n        start: now(),\n        end: 0,\n        time_spent: 0,\n        is_bounced: false,\n        entry: '',\n        exit: '',\n        p_count: 0,\n        a_count: 0,\n    };\n    var handleUnload = function (sessionApdexInfo, lastPage) {\n        var _a = __read(sessionApdexInfo, 3), rank = _a[0], apdex = _a[1], apdex_detail = _a[2];\n        sessionPayload.end = now();\n        sessionPayload.time_spent += (lastPage && lastPage.time_spent) || 0;\n        sessionPayload.last_page = lastPage;\n        sessionPayload.p_count += 1;\n        sessionPayload.rank = rank;\n        sessionPayload.apdex = apdex;\n        sessionPayload.apdex_detail = apdex_detail;\n        var d = getDefaultDocument();\n        d && (sessionPayload.is_bounced = !readyStateIsComplete(d));\n    };\n    var handlePageview = function (lastPage, newPid) {\n        sessionPayload.time_spent += lastPage.time_spent;\n        sessionPayload.p_count += 1;\n        sessionPayload.exit = newPid;\n    };\n    var handleAction = function () {\n        sessionPayload.a_count += 1;\n    };\n    var setEntry = function (entry) {\n        sessionPayload.entry = entry;\n        sessionPayload.exit = entry;\n    };\n    var getSessionPayload = function () { return sessionPayload; };\n    return [handleUnload, handlePageview, handleAction, setEntry, getSessionPayload];\n};\n//# sourceMappingURL=util.js.map","import { __assign } from \"tslib\";\nimport { getDefaultNetworkInformation } from '../utils';\nexport function getNetworkType(netInfo) {\n    return (netInfo === null || netInfo === void 0 ? void 0 : netInfo.effectiveType) || (netInfo === null || netInfo === void 0 ? void 0 : netInfo.type) || '';\n}\nexport var InjectNetworkTypePlugin = function (client) {\n    var netInfo = getDefaultNetworkInformation();\n    var network_type = getNetworkType(netInfo);\n    if (netInfo) {\n        netInfo.onchange = function () {\n            network_type = getNetworkType(netInfo);\n        };\n    }\n    client.on('report', function (ev) {\n        return __assign(__assign({}, ev), { extra: __assign(__assign({}, (ev.extra || {})), { network_type: network_type }) });\n    });\n};\n//# sourceMappingURL=inject-network-type.js.map","/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport { noop } from '@slardar/sdk-template';\nimport { getDefaultBrowser } from '../utils';\nexport var getBeaconTransport = function () {\n    var window = getDefaultBrowser();\n    // eslint-disable-next-line compat/compat\n    return window && window.navigator.sendBeacon\n        ? {\n            get: function () { },\n            post: function (url, data) {\n                // eslint-disable-next-line compat/compat\n                window.navigator.sendBeacon(url, data);\n            },\n        }\n        : {\n            get: noop,\n            post: noop,\n        };\n};\n//# sourceMappingURL=beacon.js.map","import { noop } from '@slardar/sdk-template';\nimport { getDefaultXMLHttpRequest } from '../utils';\nvar request = function (method, options, XMLHttpRequest) {\n    var url = options.url, data = options.data, _a = options.success, success = _a === void 0 ? noop : _a, _b = options.fail, fail = _b === void 0 ? noop : _b, _c = options.getResponseText, getResponseText = _c === void 0 ? noop : _c, _d = options.withCredentials, withCredentials = _d === void 0 ? false : _d;\n    var xhr = new XMLHttpRequest();\n    xhr.withCredentials = withCredentials;\n    xhr.open(method, url, true);\n    xhr.setRequestHeader('Content-Type', 'application/json');\n    xhr.onload = function () {\n        getResponseText === null || getResponseText === void 0 ? void 0 : getResponseText(this.responseText);\n        try {\n            if (this.responseText) {\n                var result = JSON.parse(this.responseText);\n                success(result);\n            }\n            else {\n                success({});\n            }\n        }\n        catch (e) {\n            fail(e);\n        }\n    };\n    xhr.onerror = function () {\n        fail(new Error('Network request failed'));\n    };\n    xhr.onabort = function () {\n        /* istanbul ignore next */\n        fail(new Error('Network request aborted'));\n    };\n    xhr.send(data);\n};\nexport var getXhrTransport = function () {\n    var XMLHttpRequest = getDefaultXMLHttpRequest();\n    return XMLHttpRequest\n        ? {\n            useBeacon: true,\n            get: function (options) {\n                request('GET', options, XMLHttpRequest);\n            },\n            post: function (options) {\n                request('POST', options, XMLHttpRequest);\n            },\n        }\n        : {\n            get: noop,\n            post: noop,\n        };\n};\n//# sourceMappingURL=xhr.js.map","import { createBatchSender, stringifyBatch } from '@slardar/sdk-template';\nimport { getBeaconTransport } from './transports';\nimport { onPageUnload, onPageNextShow } from './utils';\n// istanbul ignore not working for export { ... } from statements\n// https://github.com/istanbuljs/nyc/issues/1209\n/* istanbul ignore next */\nexport { createBatchSender } from '@slardar/sdk-template';\n// createSender has side effects(register onClose behavior)\n// so it must be create lazily\nexport function createBrowserSender(config) {\n    var sender = createBatchSender(config);\n    var originSend = sender.send;\n    // send the cached data immediately upon unload\n    onPageUnload(function () {\n        // use sendBeacon if allowed\n        if (config.transport.useBeacon) {\n            var beaconTransport_1 = getBeaconTransport();\n            var data = sender.getBatchData();\n            if (data) {\n                beaconTransport_1.post(sender.getEndpoint(), data);\n                sender.clear();\n            }\n            // some data may still be generated during unload\n            sender.send = function (data) {\n                beaconTransport_1.post(sender.getEndpoint(), stringifyBatch([data]));\n            };\n            // in webview, page can still be resurrected even after the `unload` event has been triggered\n            onPageNextShow(function () {\n                sender.send = originSend;\n            });\n        }\n        else {\n            // if not use sendBeacon, flush the data list by default\n            sender.flush();\n        }\n    });\n    return sender;\n}\n//# sourceMappingURL=sender.js.map","var _a;\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport { parseUrl, getCurrentScript } from '@slardar/sdk-web';\nexport var REPORT_DOMAIN = process.env.SDK_SLARDAR_REPORT_DOMAIN;\nexport var SETTINGS_DOMAIN = REPORT_DOMAIN;\nexport var PLUGINS_LOAD_PREFIX = process.env.SDK_SLARDAR_PLUGINS_PROTOCOL + \"//\" + (process.env.UPLOAD_CDN\n    ? parseUrl(((_a = getCurrentScript()) === null || _a === void 0 ? void 0 : _a.getAttribute('src')) || '').domain || process.env.SDK_SLARDAR_PLUGINS_HOST\n    : process.env.SDK_SLARDAR_PLUGINS_HOST) + process.env.SDK_SLARDAR_PLUGINS_PATH;\nexport var SDK_VERSION = process.env.SDK_SLARDAR_VERSION || '';\nexport var SDK_NAME = 'SDK_SLARDAR_WEB';\nexport var SETTINGS_PATH = '/monitor_web/settings/browser-settings';\nexport var BATCH_REPORT_PATH = process.env.SDK_SLARDAR_REPORT_BATCH_PATH;\nexport var STORAGE_PREFIX = 'SLARDAR';\nexport var USER_ID_COOKIE_NAME = 'MONITOR_WEB_ID';\nexport var DEVICE_ID_COOKIE_NAME = 'MONITOR_DEVICE_ID';\nexport var DEFAULT_IGNORE_PATHS = ['/log/sentry/', BATCH_REPORT_PATH, SETTINGS_PATH];\nexport var DEFAULT_SAMPLE_GRANULARITY = 'session';\nexport var EXTRA_INDEPENDENT_PLUGINS = ['blankScreen', 'action'];\nexport var DEFAULT_SAMPLE_CONFIG = {\n    sample_rate: 1,\n    include_users: [],\n    sample_granularity: DEFAULT_SAMPLE_GRANULARITY,\n    rules: {},\n};\nexport var DEFAULT_SENDER_SIZE = 20;\n//# sourceMappingURL=constants.js.map","import { __assign } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport { isObject } from '@slardar/sdk-template';\nimport { DEFAULT_SAMPLE_GRANULARITY } from './constants';\nexport function normalizeInitConfig(config) {\n    var plugins = config.plugins || {};\n    for (var k in plugins) {\n        if (plugins[k] && !isObject(plugins[k])) {\n            plugins[k] = {};\n        }\n    }\n    return __assign(__assign({}, config), { plugins: plugins });\n}\nexport function validateInitConfig(config) {\n    return isObject(config) && 'bid' in config;\n}\nexport function normalizeUserConfig(config) {\n    return __assign({}, config);\n}\nexport function parseServerConfig(serverConfig) {\n    var _a;\n    if (!serverConfig) {\n        return {};\n    }\n    var sample = serverConfig.sample, plugins = serverConfig.plugins, timestamp = serverConfig.timestamp, _b = serverConfig.quota_rate, quota_rate = _b === void 0 ? 1 : _b, apdex = serverConfig.apdex;\n    if (!sample) {\n        return {};\n    }\n    var sample_rate = sample.sample_rate, _c = sample.sample_granularity, sample_granularity = _c === void 0 ? DEFAULT_SAMPLE_GRANULARITY : _c, include_users = sample.include_users, _d = sample.rules, rules = _d === void 0 ? [] : _d;\n    return {\n        sample: {\n            include_users: include_users,\n            sample_rate: sample_rate * quota_rate,\n            sample_granularity: sample_granularity,\n            rules: rules.reduce(function (prev, cur) {\n                var name = cur.name, enable = cur.enable, sample_rate = cur.sample_rate, conditional_sample_rules = cur.conditional_sample_rules;\n                prev[name] = {\n                    enable: enable,\n                    sample_rate: sample_rate,\n                    conditional_sample_rules: conditional_sample_rules,\n                };\n                return prev;\n            }, {}),\n        },\n        plugins: {\n            heatmap: (_a = plugins === null || plugins === void 0 ? void 0 : plugins.heatmap) !== null && _a !== void 0 ? _a : false,\n        },\n        apdex: apdex,\n        serverTimestamp: timestamp,\n    };\n}\n//# sourceMappingURL=normalize.js.map","/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport { __read, __spreadArray } from \"tslib\";\nimport { uuid } from '@slardar/sdk-template';\nimport { getDefaultBrowser, getDefaultDocument, getStorageWithDecoding, setStorageWithEncoding, getCurrentScript, isSupportEncrypt, formatStorageExpires, } from '@slardar/sdk-web';\nimport { BATCH_REPORT_PATH, SETTINGS_PATH, STORAGE_PREFIX } from './constants';\nexport var getReportUrl = function (domain, path) {\n    if (path === void 0) { path = BATCH_REPORT_PATH; }\n    return \"\" + (domain && domain.indexOf('//') >= 0 ? '' : 'https://') + domain + path;\n};\nexport var getSettingsUrl = function (domain, path) {\n    if (path === void 0) { path = SETTINGS_PATH; }\n    return \"\" + (domain && domain.indexOf('//') >= 0 ? '' : 'https://') + domain + path;\n};\nexport var getDefaultSessionId = function () {\n    return uuid();\n};\nexport var toObservableArray = function (arr) {\n    var observers = [];\n    arr.observe = function (o) {\n        observers.push(o);\n    };\n    arr.push = function () {\n        var _a;\n        var vs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            vs[_i] = arguments[_i];\n        }\n        vs.forEach(function (v) {\n            observers.forEach(function (o) { return o(v); });\n        });\n        return (_a = [].push).call.apply(_a, __spreadArray([arr], __read(vs), false));\n    };\n    return arr;\n};\nexport var getGlobalName = function () {\n    var _a, _b, _c;\n    var window = getDefaultBrowser();\n    var document = getDefaultDocument();\n    if (window && document) {\n        return (((_c = (_b = (_a = getCurrentScript()) === null || _a === void 0 ? void 0 : _a.getAttribute('src')) === null || _b === void 0 ? void 0 : _b.match(/globalName=(.+)$/)) === null || _c === void 0 ? void 0 : _c[1]) || 'Slardar');\n    }\n};\nexport var getGlobalInstance = function () {\n    var window = getDefaultBrowser();\n    var globalName = getGlobalName();\n    if (window && globalName) {\n        return window[globalName];\n    }\n};\nexport var getStorageKey = function (bid) { return STORAGE_PREFIX + bid; };\n/**\n * glue code for storage security. Maybe it could remove in one year later\n * @param key storage key\n * @returns\n */\nexport var glueCodeForStorageSecurity = function (key, expires) {\n    try {\n        var value = localStorage.getItem(key);\n        // btoa(encodeURI('{')) === JTdC\n        // old content:{ userId: '', deviceId: '' }\n        if (!value || !isSupportEncrypt() || value[0] !== '{')\n            return;\n        setStorageWithEncoding(key, JSON.parse(value), expires);\n    }\n    catch (error) {\n        // do nothing\n    }\n};\nexport var getDefaultUserIdAndDeviceId = function (bid, expires) {\n    if (bid === void 0) { bid = ''; }\n    var randomIdInfo = {\n        userId: uuid(),\n        deviceId: uuid(),\n    };\n    // <= 0 时,不移除现 localStorage 数据,只是不取和不存\n    if (expires <= 0)\n        return randomIdInfo;\n    var key = getStorageKey(bid);\n    glueCodeForStorageSecurity(key, expires);\n    return getStorageWithDecoding(key) || randomIdInfo;\n};\nexport var hasSetStorageItem = function (bid) {\n    if (bid === void 0) { bid = ''; }\n    var key = getStorageKey(bid);\n    return !!getStorageWithDecoding(key);\n};\nexport var setStorageUserIdAndDeviceId = function (config) {\n    var bid = config.bid, userId = config.userId, deviceId = config.deviceId, storageExpires = config.storageExpires;\n    var key = getStorageKey(bid);\n    setStorageWithEncoding(key, {\n        userId: userId,\n        deviceId: deviceId,\n    }, formatStorageExpires(storageExpires));\n};\n//# sourceMappingURL=util.js.map","import { __assign, __read, __spreadArray } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport { noop, log, mergeDeepConcatArray } from '@slardar/sdk-template';\nimport { parseServerConfig } from './normalize';\nimport { getSettingsUrl, setStorageUserIdAndDeviceId } from './util';\nexport var configHolder = {\n    get: function () {\n        return this.__SLARDAR__REPALCE__HOLDER__;\n    },\n};\nexport var createBrowserConfigManager = function (defaultConfig) {\n    // the merged config\n    var config = defaultConfig;\n    // save it so we know when initConfig is set\n    var initConfig;\n    // save UserConfig so we can merge with priority\n    var userConfig = {};\n    // save the original server config, from sdk-server or from get_setting response\n    var serverConfig = configHolder.get();\n    // cache the parsed ServerConfig, used in merge\n    var parsedServerConfig;\n    // call when ready to start(with initConfig and serverConfig)\n    var onReady = noop;\n    // call when config changed\n    var onChange = noop;\n    return {\n        getConfig: function () {\n            return config;\n        },\n        setConfig: function (c) {\n            userConfig = __assign(__assign({}, userConfig), (c || {}));\n            updateConfig();\n            if (!initConfig) {\n                log('[configManager] handle initConfig');\n                // handle init\n                initConfig = c;\n                if (config.useLocalConfig || !config.bid) {\n                    // when useLocalConfig is true, ignore serverConfig\n                    log('[configManager] use localConfig');\n                    parsedServerConfig = {};\n                    onReady();\n                }\n                else if (serverConfig) {\n                    // check injected serverConfig\n                    log('[configManager] use injected serverConfig');\n                    handleServerConfig();\n                }\n                else {\n                    // get serverConfig from server\n                    log('[configManager] get serverConfig');\n                    getServerConfig(config.transport, config.domain, config.bid, function (res) {\n                        serverConfig = res;\n                        handleServerConfig();\n                    });\n                }\n            }\n            return config;\n        },\n        onChange: function (fn) {\n            onChange = fn;\n        },\n        onReady: function (fn) {\n            onReady = function () {\n                setStorageUserIdAndDeviceId(config);\n                fn();\n            };\n            if (parsedServerConfig) {\n                onReady();\n            }\n        },\n    };\n    function updateConfig() {\n        // merge priority: UserConfig > ServerConfig > CurrentConfig(including default config)\n        log('[configManager].updateConfig');\n        var newConfig = __assign(__assign(__assign({}, defaultConfig), (parsedServerConfig || {})), userConfig);\n        newConfig.plugins = mergeDeepConcatArray(defaultConfig.plugins, (parsedServerConfig === null || parsedServerConfig === void 0 ? void 0 : parsedServerConfig.plugins) || {}, userConfig.plugins || {});\n        newConfig.sample = mergeSampleConfig(mergeSampleConfig(defaultConfig.sample, parsedServerConfig === null || parsedServerConfig === void 0 ? void 0 : parsedServerConfig.sample), userConfig.sample);\n        config = newConfig;\n        onChange();\n    }\n    function handleServerConfig() {\n        log('[configManager].handleServerConfig');\n        parsedServerConfig = parseServerConfig(serverConfig);\n        updateConfig();\n        onReady();\n    }\n};\nexport function getServerConfig(transport, domain, bid, cb) {\n    transport.get({\n        withCredentials: true,\n        url: getSettingsUrl(domain) + \"?bid=\" + bid + \"&store=1\",\n        success: function (res) {\n            cb(res.data || {});\n        },\n        fail: function () {\n            cb({ sample: { sample_rate: 0.001 } });\n        },\n    });\n}\nexport function mergeSampleConfig(a, b) {\n    if (!a || !b)\n        return a || b;\n    var res = __assign(__assign({}, a), b);\n    res.include_users = __spreadArray(__spreadArray([], __read((a.include_users || [])), false), __read((b.include_users || [])), false);\n    res.rules = __spreadArray(__spreadArray([], __read(Object.keys(a.rules || {})), false), __read(Object.keys(b.rules || {})), false).reduce(function (obj, key) {\n        var _a, _b;\n        if (!(key in obj)) {\n            if (key in (a.rules || {}) && key in (b.rules || {})) {\n                obj[key] = __assign(__assign({}, a.rules[key]), b.rules[key]);\n                obj[key].conditional_sample_rules = __spreadArray(__spreadArray([], __read((a.rules[key].conditional_sample_rules || [])), false), __read((b.rules[key].conditional_sample_rules || [])), false);\n            }\n            else {\n                obj[key] = ((_a = a.rules) === null || _a === void 0 ? void 0 : _a[key]) || ((_b = b.rules) === null || _b === void 0 ? void 0 : _b[key]);\n            }\n        }\n        return obj;\n    }, {});\n    return res;\n}\n//# sourceMappingURL=browser-config.js.map","import { __assign } from \"tslib\";\nexport var browserBuilder = {\n    build: function (e) {\n        return {\n            ev_type: e.ev_type,\n            payload: e.payload,\n            common: __assign(__assign({}, (e.extra || {})), (e.overrides || {})),\n        };\n    },\n};\n//# sourceMappingURL=builder.js.map","import { __assign } from \"tslib\";\n/* eslint-disable no-unused-labels */\nimport { camelToKebab, log, warn } from '@slardar/sdk-template';\nimport { getDefaultBrowser, loadScript, onPageLoad, getGlobalRegistry, reportSelfError, } from '@slardar/sdk-web';\nimport { EXTRA_INDEPENDENT_PLUGINS, SDK_VERSION } from './constants';\nvar isDebug = '';\ndebug: {\n    isDebug = 'debug.';\n}\nexport function loadPluginsOnPageLoad(client, registry, lp) {\n    if (lp === void 0) { lp = loadPlugins; }\n    log('[loader].loadPluginsOnPageLoad');\n    onPageLoad(function () {\n        client.on('init', function () {\n            lp(client, registry);\n        });\n    });\n}\nexport var loadCombinedPlugins = function (combinedPlugins, client, registry, ld) {\n    if (ld === void 0) { ld = loadNow; }\n    var _a = client.config(), plugins = _a.plugins, pluginBundle = _a.pluginBundle;\n    // combined plugins\n    var combinedPluginsToLoad = combinedPlugins.filter(function (name) { return plugins[name] && !client.destroyAgent.has(name); });\n    var applyCombinedPlugins = function () { return combinedPluginsToLoad.forEach(function (name) { return applyPlugin(client, name, registry); }); };\n    combinedPluginsToLoad.every(function (name) { return doesPluginExistInRegistry(name, registry); })\n        ? applyCombinedPlugins()\n        : ld(client, { name: pluginBundle.name }, applyCombinedPlugins);\n};\nexport var loadIndependentPlugins = function (independentPlugins, client, registry, ld) {\n    if (ld === void 0) { ld = loadNow; }\n    var plugins = client.config().plugins;\n    independentPlugins\n        .filter(function (name) { return plugins[name] && !client.destroyAgent.has(name); })\n        .forEach(function (name) {\n        if (doesPluginExistInRegistry(name, registry)) {\n            log('[loader].loadPlugins applyPlugin from Registry', name);\n            applyPlugin(client, name, registry);\n        }\n        else {\n            ld(client, { name: name, config: plugins[name] }, function () { return applyPlugin(client, name, registry); });\n        }\n    });\n};\nvar reloadWithClient = function (client) {\n    return function (pluginName, pluginConfig) {\n        var _a;\n        var pluginBundle = client.config().pluginBundle;\n        client.destroyAgent.has(pluginName) && client.destroyAgent.remove(pluginName);\n        pluginConfig !== undefined && client.set({ plugins: __assign(__assign({}, client.config().plugins), (_a = {}, _a[pluginName] = pluginConfig, _a)) });\n        pluginBundle && ~pluginBundle.plugins.indexOf(pluginName)\n            ? loadCombinedPlugins([pluginName], client)\n            : loadIndependentPlugins([pluginName], client);\n    };\n};\nexport function loadPlugins(client, registry, ld) {\n    if (ld === void 0) { ld = loadNow; }\n    log('[loader].loadPlugins');\n    var pluginBundle = client.config().pluginBundle;\n    var combinedPlugins = pluginBundle ? pluginBundle.plugins : [];\n    loadCombinedPlugins(combinedPlugins, client, registry, ld);\n    loadIndependentPlugins(EXTRA_INDEPENDENT_PLUGINS, client, registry, ld);\n    client.provide('reloadPlugin', reloadWithClient(client));\n}\nexport function loadNow(client, _a, runAfterLoadScript, ls) {\n    var name = _a.name, config = _a.config;\n    if (ls === void 0) { ls = loadScript; }\n    var path = getPluginPath(client, name, config);\n    log('[loader].loadNow loading', name, 'from', path);\n    ls(path, function () {\n        log('[loader].loadNow script path', path, 'loaded');\n        runAfterLoadScript();\n    });\n}\nfunction getPluginPath(client, name, config) {\n    var _a;\n    return (_a = config === null || config === void 0 ? void 0 : config.path) !== null && _a !== void 0 ? _a : client.config().pluginPathPrefix + \"/\" + camelToKebab(name) + \".\" + SDK_VERSION + \".\" + isDebug + \"js\";\n}\nexport function applyPlugin(client, name, registry) {\n    if (registry === void 0) { registry = getGlobalRegistry(getDefaultBrowser()); }\n    log('[loader].applyPlugin', name);\n    if (!registry)\n        return;\n    var plugin = getPluginFromRegistry(registry, name);\n    if (!plugin) {\n        warn('[loader].applyPlugin not found', name);\n        return;\n    }\n    try {\n        // perhaps integration has already set up\n        if (client.destroyAgent.has(name)) {\n            log('[loader].applyPlugin client.destroyAgent has already existed', name);\n            return;\n        }\n        plugin.apply(client);\n        log('[loader].applyPlugin applied', name);\n    }\n    catch (err) {\n        reportSelfError(err);\n        warn('[loader].applyPlugin failed', name, err);\n    }\n}\nexport function getPluginFromRegistry(registry, name) {\n    return registry.plugins.filter(function (l) { return l.name === name && l.version === SDK_VERSION; })[0];\n}\nexport function doesPluginExistInRegistry(name, registry) {\n    if (registry === void 0) { registry = getGlobalRegistry(getDefaultBrowser()); }\n    if (!registry || !registry.plugins)\n        return false;\n    if (getPluginFromRegistry(registry, name))\n        return true;\n    return false;\n}\n/**\n * Registers a plugin by adding it to the global registry.\n *\n * @param {string} name - The name of the plugin to register.\n * @param {PluginApplyFnForVol} apply - The function to apply the plugin.\n * @param {Registry} registry - The registry to add the plugin to.\n * @return {void}\n */\nexport function register(name, apply, registry) {\n    if (registry === void 0) { registry = getGlobalRegistry(getDefaultBrowser()); }\n    if (!registry || !registry.plugins)\n        return;\n    if (getPluginFromRegistry(registry, name)) {\n        return;\n    }\n    registry.plugins.push({\n        name: name,\n        version: SDK_VERSION,\n        apply: apply,\n    });\n}\n//# sourceMappingURL=loader.js.map","import { __assign } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport { getLocationUrl, now } from '@slardar/sdk-web';\nimport { SDK_NAME, SDK_VERSION } from '../constants';\nexport var addEnvToSendEvent = function (ev, config) {\n    // The data needs immediate injection during the reporting process\n    var _a = config || {}, _b = _a.pid, pid = _b === void 0 ? '' : _b, _c = _a.viewId, viewId = _c === void 0 ? '' : _c;\n    var extra = {\n        url: getLocationUrl(),\n        timestamp: now(),\n        sdk_version: SDK_VERSION,\n        sdk_name: SDK_NAME,\n        pid: pid,\n        view_id: viewId,\n    };\n    return __assign(__assign({}, ev), { extra: __assign(__assign({}, extra), (ev.extra || {})) });\n};\nexport var InjectEnvPlugin = function (client) {\n    client.on('report', function (ev) {\n        return addEnvToSendEvent(ev, client.config());\n    });\n};\n//# sourceMappingURL=inject-env.js.map","import { __read } from \"tslib\";\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport { isHitBySampleRate } from '@slardar/sdk-template';\nimport { getGlobalRegistry, getDefaultBrowser, normalizeUnknownError, JS_ERROR_EV_TYPE, } from '@slardar/sdk-web';\nimport { toObservableArray } from '../util';\nexport var buildSelfErrorEvent = function (ev) {\n    var _a = __read(ev, 2), err = _a[0], extra = _a[1];\n    return {\n        ev_type: JS_ERROR_EV_TYPE,\n        payload: {\n            error: normalizeUnknownError(err),\n            breadcrumbs: [],\n            extra: extra || {},\n        },\n        extra: {\n            bid: 'slardar_sdk',\n        },\n    };\n};\nvar DEFAULT_OBSERVE_ERROR_RATE = 0.001;\nexport var ObserveErrorPlugin = function (client, rate) {\n    if (rate === void 0) { rate = DEFAULT_OBSERVE_ERROR_RATE; }\n    var registry = getGlobalRegistry(getDefaultBrowser());\n    // 如果没有获取到注册表 或者已经observe了,则不操作\n    if (!registry)\n        return;\n    if (!registry.errors) {\n        registry.errors = [];\n    }\n    if ('observe' in registry.errors)\n        return;\n    if (!isHitBySampleRate(rate))\n        return;\n    // 挂载observe方法\n    registry.errors = toObservableArray(registry.errors);\n    // 消费已挂载的错误\n    registry.errors.forEach(function (e) {\n        client.report(buildSelfErrorEvent(e));\n    });\n    // 注册observe回调用\n    registry.errors.observe(function (e) {\n        client.report(buildSelfErrorEvent(e));\n    });\n};\n//# sourceMappingURL=observe-error.js.map","import { __assign } from \"tslib\";\nvar MAX_RTT = 700;\n/**\n * This plugin is bound with BrowserConfigManager, so it can't be extract into @sdk/web\n */\nexport var TimeCalibrationPlugin = function (client) {\n    var startTime;\n    var hasCalibrated = false;\n    client.on('init', function () {\n        startTime = new Date().getTime();\n        client.on('config', function () {\n            var _a;\n            var serverTime = (_a = client.config()) === null || _a === void 0 ? void 0 : _a.serverTimestamp;\n            if (isNaN(serverTime) || Number(serverTime) <= 0 || hasCalibrated) {\n                return;\n            }\n            hasCalibrated = true;\n            var endTime = new Date().getTime();\n            var potential_rtt = endTime - startTime;\n            if (potential_rtt < MAX_RTT && serverTime) {\n                var diff_1 = serverTime - (endTime + startTime) / 2;\n                // if diff in [-600000, 0], considered to be caused by cache\n                if (!isNaN(diff_1) && (diff_1 > 0 || diff_1 < -600000)) {\n                    client.on('beforeBuild', function (ev) {\n                        var _a;\n                        return __assign(__assign({}, ev), { extra: __assign(__assign({}, ((_a = ev.extra) !== null && _a !== void 0 ? _a : {})), { sdk_offset: diff_1 !== null && diff_1 !== void 0 ? diff_1 : 0 }) });\n                    });\n                }\n            }\n        });\n    });\n};\n//# sourceMappingURL=time-calibration.js.map","import { __assign } from \"tslib\";\nexport var addConfigToReportEvent = function (ev, config) {\n    var extra = {};\n    extra.bid = config.bid;\n    extra.user_id = config.userId;\n    extra.device_id = config.deviceId;\n    extra.session_id = config.sessionId;\n    extra.release = config.release;\n    extra.env = config.env;\n    return __assign(__assign({}, ev), { extra: __assign(__assign({}, extra), (ev.extra || {})) });\n};\nexport var InjectConfigPlugin = function (client) {\n    client.on('beforeBuild', function (ev) {\n        return addConfigToReportEvent(ev, client.config());\n    });\n};\n//# sourceMappingURL=inject-config.js.map","export var InjectQueryPlugin = function (client) {\n    client.on('start', function () {\n        var bid = client.config().bid;\n        var sender = client.getSender();\n        sender.setEndpoint(sender.getEndpoint() + (\"?biz_id=\" + bid));\n    });\n};\n//# sourceMappingURL=inject-query.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { ContextPlugin, IntegrationPlugin, SubjectPlugin, createClient, withCommandArray, } from '@slardar/sdk-template';\nimport { getXhrTransport, createBrowserSender, InjectNetworkTypePlugin, captureCurrentContext, syncReportWithCapturedContext, getGlobalRegistry, getDefaultBrowser, getViewId, formatStorageExpires, } from '@slardar/sdk-web';\nimport { createBrowserConfigManager } from './browser-config';\nimport { browserBuilder } from './builder';\nimport { DEFAULT_IGNORE_PATHS, DEFAULT_SAMPLE_CONFIG, PLUGINS_LOAD_PREFIX, REPORT_DOMAIN, DEFAULT_SENDER_SIZE, } from './constants';\nimport { register } from './loader';\nimport { normalizeInitConfig, normalizeUserConfig, validateInitConfig } from './normalize';\nimport { InjectEnvPlugin, ObserveErrorPlugin, TimeCalibrationPlugin, InjectConfigPlugin, InjectQueryPlugin, } from './plugins';\nimport { getDefaultSessionId, getReportUrl, getDefaultUserIdAndDeviceId } from './util';\nexport var getDefaultConfig = function (c) {\n    var storageExpires = formatStorageExpires(c.storageExpires);\n    var storageInfo = getDefaultUserIdAndDeviceId(c.bid, storageExpires);\n    return {\n        bid: '',\n        pid: '',\n        viewId: getViewId('_'),\n        userId: storageInfo.userId,\n        deviceId: storageInfo.deviceId,\n        storageExpires: storageExpires,\n        sessionId: getDefaultSessionId(),\n        domain: REPORT_DOMAIN,\n        pluginBundle: {\n            name: 'commonMonitors',\n            plugins: ['breadcrumb', 'jsError', 'performance', 'resourceError', 'resource'],\n        },\n        pluginPathPrefix: PLUGINS_LOAD_PREFIX,\n        plugins: {\n            ajax: { ignoreUrls: DEFAULT_IGNORE_PATHS },\n            fetch: { ignoreUrls: DEFAULT_IGNORE_PATHS },\n            breadcrumb: {},\n            pageview: {},\n            jsError: {},\n            resource: {},\n            resourceError: {},\n            performance: {},\n            tti: {},\n            fmp: {},\n            blankScreen: false,\n            heatmap: false,\n        },\n        release: '',\n        env: 'production',\n        sample: DEFAULT_SAMPLE_CONFIG,\n        transport: getXhrTransport(),\n    };\n};\nexport var createMinimalBrowserClient = function (_a) {\n    var _b = _a === void 0 ? {} : _a, _c = _b.createSender, createSender = _c === void 0 ? function (config) {\n        return createBrowserSender({\n            size: DEFAULT_SENDER_SIZE,\n            endpoint: getReportUrl(config.domain),\n            transport: config.transport,\n        });\n    } : _c, _d = _b.builder, builder = _d === void 0 ? browserBuilder : _d, _e = _b.createDefaultConfig, createDefaultConfig = _e === void 0 ? getDefaultConfig : _e;\n    var client = createClient({\n        validateInitConfig: validateInitConfig,\n        initConfigNormalizer: normalizeInitConfig,\n        userConfigNormalizer: normalizeUserConfig,\n        createSender: createSender,\n        builder: builder,\n        createDefaultConfig: createDefaultConfig,\n        createConfigManager: createBrowserConfigManager,\n    });\n    ObserveErrorPlugin(client);\n    ContextPlugin(client);\n    var subjectMap = getGlobalRegistry(getDefaultBrowser());\n    SubjectPlugin(client, subjectMap && subjectMap.subject);\n    TimeCalibrationPlugin(client);\n    InjectConfigPlugin(client);\n    InjectEnvPlugin(client);\n    InjectNetworkTypePlugin(client);\n    InjectQueryPlugin(client);\n    var commandClient = withCommandArray(client, captureCurrentContext, function (c, ctx, args) {\n        return syncReportWithCapturedContext(c, ctx)(function () {\n            var _a = __read(args), method = _a[0], others = _a.slice(1);\n            client[method].apply(client, __spreadArray([], __read(others), false));\n        });\n    });\n    // add plugin after with command array\n    IntegrationPlugin(commandClient, register);\n    return commandClient;\n};\n//# sourceMappingURL=minimal.js.map","/**\n * 格式化url\n * @param url url路径\n * @returns string 格式化后的path\n */\nexport const formatUrl = (url: string) => {\n  if (!url) {\n    return '';\n  }\n  if (url.startsWith('http')) {\n    const path = new URL(url).pathname;\n    return path;\n  }\n  return url;\n};\n","import { BotKind, load } from '@fingerprintjs/botd';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isNativeFunction(fn: Function): boolean {\n  return /\\{\\s*\\[native code\\]\\s*\\}/.test(String(fn));\n}\n\nconst checkIsInCdp = async () => {\n  try {\n    // ua check\n    if (\n      navigator.userAgent.includes('HeadlessChrome') ||\n      navigator.userAgent.includes('puppeteer') ||\n      navigator.userAgent.includes('PhantomJS')\n    ) {\n      return true;\n    }\n    // webdriver check\n    if (navigator.webdriver) {\n      return true;\n    }\n    // chrome extension check\n    if (window.chrome && window.chrome.runtime && window.chrome.runtime.sendMessage) {\n      return true;\n    }\n    // language check\n    if (!window.navigator.languages || window.navigator.languages.length === 0) {\n      return true;\n    }\n    // style check\n    if (window.getComputedStyle(document.body).display === 'none') {\n      return true;\n    }\n\n    // eslint-disable-next-line no-restricted-syntax\n    for (const prop in window) {\n      if (\n        prop.match(/cdc_[a-z0-9]/gi) ||\n        (prop.includes('Devtools') && prop !== 'webpackChunkmodernjsDevtools') ||\n        prop.startsWith('_cdp')\n      ) {\n        return true;\n      }\n    }\n\n    // playwrite check\n    if (window.__pwInitScripts || window.__playwright__binding__) {\n      return true;\n    }\n    const _window = window as any;\n    const _document = document as any;\n    const conditions = [\n      window.document.documentElement.getAttribute('webdriver'),\n      '__webdriver_script_fn' in document,\n      'webdriver' in window,\n      _window._selenium,\n      _document.__webdriver_evaluate,\n      _document.__selenium_evaluate,\n      _document.__webdriver_script_function,\n      _document.__webdriver_script_func,\n      _document.__webdriver_script_fn,\n      _document.__fxdriver_evaluate,\n      _document.__driver_unwrapped,\n      _document.__webdriver_unwrapped,\n      _document.__driver_evaluate,\n      _document.__selenium_unwrapped,\n      _document.__fxdriver_unwrapped,\n      _window.callSelenium,\n      _window._Selenium_IDE_Recorder,\n      _window.Buffer,\n      _window._phantom,\n      _window.__nightmare,\n      _window.callPhantom,\n      _window.__phantomas,\n      _window.emit,\n      _window.spawn\n    ];\n    // eslint-disable-next-line @typescript-eslint/prefer-for-of\n    for (let i = 0; i < conditions.length; i++) {\n      if (conditions[i]) {\n        return true;\n      }\n    }\n\n    if (!isNativeFunction(console.log)) {\n      return true;\n    }\n\n    // 检测 navigator.plugins.item\n    if (navigator.plugins && navigator.plugins.item) {\n      if (!isNativeFunction(navigator.plugins.item)) {\n        return true;\n      }\n    }\n\n    const ratio = window.devicePixelRatio;\n    // 自定义阈值:若 <0.5 或 >8 则判定可疑\n    if (ratio < 0.5 || ratio > 8) {\n      return true;\n    }\n\n    if (navigator.permissions && navigator.permissions.query) {\n      const perm = await navigator.permissions.query({ name: 'notifications' });\n      if (!['granted', 'denied', 'prompt'].includes(perm.state)) {\n        return true;\n      }\n    }\n  } catch (e) {}\n\n  return false;\n};\nlet lastCheckTimestamp = 0;\nlet isBot = false;\nlet isDevToolOpen = false;\nlet botKind: BotKind | undefined;\n\nexport const botDetect = async () => {\n  if (Date.now() - lastCheckTimestamp > 1000 * 60 * 5) {\n    try {\n      const botd = await load({ monitoring: false });\n      const result = botd.detect();\n      isBot = result.bot;\n      botKind = result.bot ? result.botKind : undefined;\n      if (!isBot) {\n        isBot = await checkIsInCdp();\n      }\n      if (!isBot) {\n        const threshold = 160;\n        const widthThreshold = window.outerWidth - window.innerWidth > threshold;\n        const heightThreshold = window.outerHeight - window.innerHeight > threshold;\n        // eslint-disable-next-line max-depth\n        if (widthThreshold || heightThreshold) {\n          isDevToolOpen = true;\n          isBot = true;\n        }\n      }\n\n      if (!isBot) {\n        const e = new Error();\n        Object.defineProperty(e, 'stack', {\n          get() {\n            if (!isDevToolOpen) {\n              isBot = true;\n              botKind = botKind ? botKind : ('cdp' as any);\n            }\n            isDevToolOpen = true;\n          }\n        });\n        console.log(e);\n      }\n    } catch (e) {\n      isBot = false;\n      botKind = undefined;\n    }\n    lastCheckTimestamp = Date.now();\n  }\n  return { botKind, isBot, isDevToolOpen };\n};\n","import { ResponseConfig } from '@byted/tiktok-zti-types';\nimport { formatUrl } from '../../utils';\nimport { sendBecon, sendLog, EventNameMap } from '../base';\nimport { getSlardar } from '@/slardar';\nimport { debug } from '@byted/tiktok-zti-utils';\nimport { botDetect } from '@/utils/checkIsInCdp';\n\ninterface TypeLogBdTicketGuardConsumerResponse {\n  logid: string;\n  path: string;\n  ticket_guard_version: number;\n  ticket_guard_iteration_version: number;\n  request_with_csr: 0 | 1;\n  request_with_cert: 0 | 1;\n  request_with_client_data: 0 | 1;\n  client_data_content_with_ts_sign?: 0 | 1; // 目前获取不到,暂时不做上报\n  client_data_content_with_req_sign?: 0 | 1; // 目前获取不到,暂时不做上报\n  error_code?: number;\n  login_status?: string;\n  sign_version?: string;\n  cookie_status?: string;\n  data_from?: string;\n  cookie_crypt?: string;\n  iframe_status?: string;\n  match_md5_local?: string;\n  match_md5_iframe?: string;\n  is_pubkey_ts_sign?: string; // 是否为公钥生成ts_sign\n  iframe_connection?: string;\n  iframe_retrycount?: string;\n  lost?: string;\n  init_match?: string;\n  is_new_cert?: string;\n  // 域名\n  hostname?: string;\n  cookie_domain?: string;\n}\n\n// 使用票据接口的repsonse结果\nexport const logBdTicketGuardConsumerResponse = (ctx: any, otherInfo?: any) => {\n  let path = '';\n  try {\n    path = formatUrl(ctx?.config?.url);\n  } catch (error) {}\n  const bdTtErrorCode = ctx?.headers?.['tt-ticket-guard-result'] || '-99';\n  const logid = ctx?.headers?.['x-tt-logid'] || '';\n  const ticketGuardVersion = ctx?.reqHeaders?.['tt-ticket-guard-version'];\n  const ticketGuardIterationVersion = ctx?.reqHeaders?.['tt-ticket-guard-iteration-version'];\n  const requestWithCsr = ctx?.reqHeaders?.['tt-ticket-guard-client-csr'] ? 1 : 0;\n  const requestWithCert = ctx?.reqHeaders?.['tt-ticket-guard-client-cert'] ? 1 : 0;\n  const requestWithClientData = ctx?.reqHeaders?.['tt-ticket-guard-client-data'] ? 1 : 0;\n  const loginStatus = ctx?.loginStatus || '-1';\n  const cookieStatus = ctx?.cookieStatus || '0';\n  const signVersion = ctx?.signVersion || '0';\n  const webDomain = ctx?.webDomain || '3';\n  const dataFrom = otherInfo?.dataFrom || '-99';\n  const crossStatus = otherInfo?.crossStatus || '-99';\n  const cookieCrypt = ctx?.cookieCrypt || '0';\n  const match_md5_local = otherInfo?.match_md5_local || '-99';\n  const match_md5_iframe = otherInfo?.match_md5_iframe || '-99';\n  const is_pubkey_ts_sign = otherInfo.is_pubkey_ts_sign || '1';\n  const iframe_connection = otherInfo?.isConnection || '-99';\n  const iframe_retrycount = otherInfo?.retryCount || '-99';\n  const lost = otherInfo?.lost || '0';\n  const init_match = otherInfo?.initMatch || '0';\n  const is_new_cert = otherInfo?.is_new_cert || '0';\n  const hostname = window?.location?.hostname || '';\n\n  sendLog<TypeLogBdTicketGuardConsumerResponse>(EventNameMap.logWebBdTicketGuardConsumerResponse, {\n    logid,\n    path,\n    ticket_guard_version: ticketGuardVersion,\n    ticket_guard_iteration_version: ticketGuardIterationVersion,\n    request_with_csr: requestWithCsr,\n    request_with_cert: requestWithCert,\n    request_with_client_data: requestWithClientData,\n    error_code: bdTtErrorCode,\n    login_status: loginStatus,\n    sign_version: signVersion,\n    cookie_status: cookieStatus,\n    data_from: dataFrom,\n    cookie_crypt: cookieCrypt,\n    iframe_status: crossStatus,\n    match_md5_local,\n    match_md5_iframe,\n    is_pubkey_ts_sign,\n    iframe_connection,\n    iframe_retrycount,\n    lost,\n    init_match,\n    is_new_cert,\n    hostname,\n    cookie_domain: webDomain\n  });\n\n  // 单独上报失败\n  if (bdTtErrorCode > 0) {\n    sendLog<TypeLogBdTicketGuardConsumerResponse>(EventNameMap.logWebBdTicketGuardConsumerResponseError, {\n      logid,\n      path,\n      ticket_guard_version: ticketGuardVersion,\n      ticket_guard_iteration_version: ticketGuardIterationVersion,\n      request_with_csr: requestWithCsr,\n      request_with_cert: requestWithCert,\n      request_with_client_data: requestWithClientData,\n      error_code: bdTtErrorCode,\n      login_status: loginStatus,\n      sign_version: signVersion,\n      cookie_status: cookieStatus,\n      data_from: dataFrom,\n      cookie_crypt: cookieCrypt,\n      iframe_status: crossStatus,\n      match_md5_local,\n      match_md5_iframe,\n      is_pubkey_ts_sign,\n      iframe_connection,\n      iframe_retrycount,\n      lost,\n      init_match,\n      is_new_cert,\n      hostname,\n      cookie_domain: webDomain\n    });\n  }\n};\n\ninterface TypeLogBdTicketGuardEnv {\n  is_support_localstorage: 1 | 0;\n  is_support_indexdb: 1 | 0;\n  is_support_websql?: 1 | 0;\n}\n\n// 用户设备支持情况\nexport const logBdTicketGuardEnv = (parmas: {\n  isSupportLocalstorage: boolean;\n  isSupportIndexdb: boolean;\n  isSupportWebsql?: boolean;\n}) => {\n  sendLog<TypeLogBdTicketGuardEnv>(EventNameMap.logWebBdTicketGuardEnv, {\n    is_support_localstorage: parmas?.isSupportLocalstorage ? 1 : 0,\n    is_support_indexdb: parmas?.isSupportIndexdb ? 1 : 0\n    // is_support_websql: parmas?.isSupportWebsql ? 1 : 0,\n  });\n};\n\ninterface TypeBdTicketGuardLocalMiss {\n  status: 'new' | 'normal' | 'miss';\n}\n\n// 用户设备local_miss情况\nexport const logBdTicketGuardLocalMiss = (parmas: TypeBdTicketGuardLocalMiss) => {\n  sendLog<TypeBdTicketGuardLocalMiss>(EventNameMap.logWebBdTicketGuardLocalMiss, {\n    status: parmas?.status\n  });\n};\n\ninterface BdTicketGuardIframeStatusBeforeUnload {\n  // iframe状态\n  iframe_status: '0' | '1';\n}\nexport const logBdTicketGuardIframeStatusBeforeUnload = (params: BdTicketGuardIframeStatusBeforeUnload) => {\n  sendBecon(EventNameMap.logWebBdTicketGuardIframeStatusBeforeUnLoad, params);\n};\n\ninterface TypeBdTicketGuardIframeStatus {\n  // iframe状态\n  iframe_status: '0' | '1';\n}\n\nexport const logBdTicketGuardIframeStatus = (parmas: TypeBdTicketGuardIframeStatus) => {\n  sendLog<TypeBdTicketGuardIframeStatus>(EventNameMap.logWebBdTicketGuardIframeStatus, parmas);\n};\n\nconst _getSlardar = () => {\n  if ((window as any).$SECURE_REGION) {\n    return getSlardar({\n      sdkVersion: (window as any).$SECURE_VERSION,\n      region: (window as any).$SECURE_REGION\n    });\n  }\n  return null;\n};\n\nexport const logFullPath = ({\n  response,\n  ticket,\n  ts_sign,\n  type\n}: {\n  response: ResponseConfig;\n  ticket: string;\n  ts_sign: string;\n  type: 'consumer' | 'provider';\n}) => {\n  botDetect().then((res) => {\n    _getSlardar()?.dot?.({\n      name: EventNameMap.logFullPath,\n      categories: {\n        ticket,\n        ts_sign,\n        isBot: res.isBot ? 1 : 0,\n        isBotDetect: res.isBot ? 1 : 0,\n        isDevToolOpen: res.isDevToolOpen ? 1 : 0,\n        botKind: res.botKind,\n        path: formatUrl(response.config.url),\n        method: response.config.method,\n        result: response.headers['tt-ticket-guard-result'],\n        serverData: response.headers['tt-ticket-guard-server-data'],\n        clientData: response.reqHeaders['tt-ticket-guard-client-data'],\n        publicKey: response.reqHeaders['tt-ticket-guard-public-key'],\n        type,\n        logid: response.headers['x-tt-logid']\n      },\n      metrics: {}\n    });\n  });\n};\n\nexport const logPerformance = (params: {\n  init_pair_key_duration: number;\n  sign_data_duration: number;\n  rest_request_duration: number;\n  process_request_duration: number;\n  process_response_duration: number;\n  sign_type: string;\n  store_type: string;\n  path: string;\n  method: string;\n  type: string;\n  result: string;\n}) => {\n  debug('request duration', params);\n\n  _getSlardar()?.dot?.({\n    name: EventNameMap.logPerformance,\n    categories: {\n      type: params.type,\n      sign_type: params.sign_type,\n      store_type: params.store_type,\n      path: params.path,\n      method: params.method,\n      result: params.result\n    },\n    metrics: {\n      process_request_duration: params.process_request_duration,\n      process_response_duration: params.process_response_duration,\n      sign_data_duration: params.sign_data_duration,\n      init_pair_key_duration: params.init_pair_key_duration,\n      rest_request_duration: params.rest_request_duration\n    }\n  });\n};\n\nexport const logGetStorage = (params: { duration: number; key: string; storage_type: string }) => {\n  debug('get storage', params);\n\n  _getSlardar()?.dot?.({\n    name: EventNameMap.logGetStorage,\n    categories: {\n      key: params.key,\n      storage_type: params.storage_type\n    },\n    metrics: {\n      duration: params.duration\n    }\n  });\n};\n\nexport const logSetStorage = (params: { duration: number; key: string; storage_type: string }) => {\n  debug('set storage', params);\n\n  _getSlardar()?.dot?.({\n    name: EventNameMap.logSetStorage,\n    categories: {\n      key: params.key,\n      storage_type: params.storage_type\n    },\n    metrics: {\n      duration: params.duration\n    }\n  });\n};\n\nexport const logGenerateKeys = (params: { duration: number; type: string }) => {\n  debug('generateKeys duration', params.duration, params.type);\n\n  _getSlardar()?.dot?.({\n    name: EventNameMap.logGenerateKeys,\n    categories: {\n      type: params.type\n    },\n    metrics: {\n      duration: params.duration\n    }\n  });\n};\n\nexport const logGenerateCSR = (params: { duration: number; type: string }) => {\n  debug('generateCSR duration', params.duration, params.type);\n\n  _getSlardar()?.dot?.({\n    name: EventNameMap.logGenerateCSR,\n    categories: {\n      type: params.type\n    },\n    metrics: {\n      duration: params.duration\n    }\n  });\n};\n\nexport const logSign = (params: { duration: number; type: string }) => {\n  debug('sign duration', params.duration, params.type);\n  _getSlardar()?.dot?.({\n    name: EventNameMap.logSign,\n    categories: {\n      type: params.type\n    },\n    metrics: {\n      duration: params.duration\n    }\n  });\n};\n\nexport const logStorageFail = (params: {\n  message: string;\n  type?: string;\n  action?: string;\n  category: string;\n}) => {\n  debug('storageFail', params);\n\n  _getSlardar()?.dot?.({\n    name: EventNameMap.logStorageFail,\n    categories: {\n      type: params.type,\n      message: params.message,\n      action: params.action,\n      category: params.category\n    },\n    metrics: {}\n  });\n};\n\nexport const logJsrsasignPerformance = (params: { duration: number; type: string }) => {\n  debug('jsrsasignPerformance duration', params.duration, params.type);\n\n  _getSlardar()?.dot?.({\n    name: EventNameMap.logJsrsasignPerformance,\n    categories: {\n      type: params.type\n    },\n    metrics: {\n      duration: params.duration\n    }\n  });\n};\n","import { SignCacheParams, SignCacheConfig } from '@byted/tiktok-zti-types';\n\nlet signTimeout = 60 * 60 * 1000 * 5; // 缓存五小时时间\nconst signCache: SignCacheParams = {};\nlet hasSetTimeout = false;\n\nexport const setSignTimeout = (time: number) => {\n  if (!hasSetTimeout) {\n    signTimeout = time;\n  }\n  hasSetTimeout = true;\n};\n\nexport const getCacheSignString = (url: string, localTicket: string): string => {\n  try {\n    const sign_data = signCache[url];\n    if (!sign_data) {\n      return '';\n    }\n    const { timeout, signStr, ticket } = sign_data;\n    if (ticket !== localTicket) {\n      return '';\n    }\n    const nowTime = new Date().getTime();\n    if (nowTime >= timeout) {\n      return '';\n    }\n    if (signStr) {\n      return signStr;\n    }\n  } catch (error) {\n    console.log(error);\n  }\n  return '';\n};\n\nexport const setCacheSignString = (url: string, localTicket: string, signStr: string) => {\n  try {\n    const nowTime = new Date().getTime();\n    const signEffectiveTime = nowTime + signTimeout;\n    const signCacheConfig: SignCacheConfig = {\n      timeout: signEffectiveTime,\n      signStr,\n      ticket: localTicket,\n      createTime: nowTime\n    };\n    signCache[url] = signCacheConfig;\n  } catch (error) {\n    console.log(error);\n  }\n};\n","/* eslint-disable camelcase */\n// Parse headers into an object\n\nconst ignoreDuplicateOf = [\n  'age',\n  'authorization',\n  'content-length',\n  'content-type',\n  'etag',\n  'expires',\n  'from',\n  'host',\n  'if-modified-since',\n  'if-unmodified-since',\n  'last-modified',\n  'location',\n  'max-forwards',\n  'proxy-authorization',\n  'referer',\n  'retry-after',\n  'user-agent'\n];\n\ninterface HeaderProps {\n  [ket: string]: any;\n}\n\nexport function parseHeaders(headers: string) {\n  const parsed: HeaderProps = {};\n  let key, val, i;\n\n  if (!headers) {\n    return parsed;\n  }\n\n  const headerArr = headers.split('\\n');\n\n  // trim 是否需要polyfill\n  // function trim(str: string) {\n  //   return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n  // }\n\n  headerArr.forEach((element) => {\n    i = element.indexOf(':');\n    key = element.substr(0, i).trim().toLowerCase();\n    val = element.substr(i + 1).trim();\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        // eslint-disable-next-line prefer-template, @typescript-eslint/restrict-plus-operands\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n\n  return parsed;\n}\n\nexport const formatUrl = (url: string) => {\n  try {\n    if (!url) {\n      return '';\n    }\n    if (url.startsWith('http')) {\n      const path = new URL(url).pathname;\n      return path;\n    }\n  } catch (error) {}\n  return url;\n};\n\n/**\n * 判断是否通过公钥加签,后期需要直接下线\n * @param ts_sign\n * @returns\n */\nexport const isPublishKeySign = (tsSign: string) => {\n  if (tsSign) {\n    return tsSign.startsWith('ts.1');\n  }\n  // 默认处理成是\n  return true;\n};\n\n/**\n * 判断当前证书是老版还是新版\n * @param cert 当前获取的证书\n * @returns boolean\n */\nexport const checkCertIsNewVersion = (cert?: string) => {\n  if (!cert) {\n    return false;\n  }\n  // fix: 不分safari场景下会报错,可能返回的不是string\n  if (typeof cert === 'string' && cert.indexOf('pub.') !== -1) {\n    return true;\n  }\n  return false;\n};\n","import {\n  RequestConfig,\n  ResponseConfig,\n  SecurityConfig,\n  SecuritySDKProps,\n  ProxyHooksResult,\n  EventEmitParams,\n  EventErrorParams,\n  EventLogParams\n} from '@byted/tiktok-zti-types';\nimport { logFullPath, logPerformance } from '@byted/tiktok-zti-monitor';\nimport { setSignTimeout, setCacheSignString, getCacheSignString } from '../cache';\nimport { ProxyConfig } from '../types';\nimport { formatUrl, isPublishKeySign, checkCertIsNewVersion } from '../utils';\nimport { debug } from '@byted/tiktok-zti-utils';\nexport interface EventMap {\n  reportEvent: (args: EventEmitParams) => void;\n  reportError: (args: EventErrorParams) => void;\n  reportLog: (args: EventLogParams) => void;\n}\n\nexport const processSignData = (\n  request: RequestConfig,\n  ticket: string,\n  urlRewriteRules?: string[][],\n  event?: EventMap\n): { req_content: string; sign_data: string; timestamp?: number } => {\n  try {\n    const { url } = request || {};\n    if (!url) {\n      return { req_content: '', sign_data: '' };\n    }\n    const timeStamp = Math.floor(new Date().getTime() / 1000);\n    const urlObj = new URL(url, window.location.href);\n    const { pathname } = urlObj || {};\n    let path = pathname;\n    // ticket={ticket}&path={path}&timestamp={timestamp}\n    if (urlRewriteRules && urlRewriteRules.length > 0) {\n      urlRewriteRules.forEach((ele) => {\n        if (ele instanceof Array && ele.length > 1) {\n          const origin_path = ele[0];\n          const rewrite_path = ele[1];\n          const reg = new RegExp(origin_path);\n          if (url.match(reg)) {\n            path = rewrite_path;\n          }\n        }\n      });\n    }\n    // event?.reportEvent({ action: 'request', op: 'process', status: 'success', ctx: { type: 'sign' } });\n    debug('zti process sign data', {\n      url,\n      ticket,\n      path,\n      timeStamp\n    });\n    return {\n      req_content: 'ticket,path,timestamp',\n      sign_data: `ticket=${ticket}&path=${path}&timestamp=${timeStamp}`,\n      timestamp: timeStamp\n    };\n  } catch (error) {\n    // event?.reportEvent({ action: 'request', op: 'process', status: 'fail', ctx: { type: 'sign' } });\n    event?.reportError({ error, name: 'request process sign data fail' });\n    return { req_content: '', sign_data: '' };\n  }\n};\n\nconst processStorageStatusData = (data: any): string => {\n  if (typeof data === 'number') {\n    return data.toString();\n  }\n  return '-99';\n};\n\nconst supportedMethods = ['get', 'post', 'put', 'delete', 'patch'];\n/**\n * 获取当前请求配置\n * @param xhrConfig request config\n * @returns needProxy & proxyConfig  needProxy表示是否需要代理  proxyConfig 代理配置\n */\nexport const getHooksConfig = (\n  xhrConfig: RequestConfig,\n  secureConfig: SecurityConfig,\n  signType: 'cert' | 'pubKey',\n  initType: 'cert' | 'pubKey'\n): ProxyHooksResult => {\n  try {\n    if (!secureConfig) {\n      return { needProxy: false };\n    }\n    const { url, method } = xhrConfig || {};\n    if (!url) {\n      return { needProxy: false };\n    }\n    if (!supportedMethods.includes(method?.toLocaleLowerCase() ?? '')) {\n      // only support get and post\n      return { needProxy: false };\n    }\n    let needProxy = false;\n    let providerConfig: SecuritySDKProps | undefined, consumerConfig: SecuritySDKProps | undefined, proxyURL;\n    Object.keys(secureConfig).forEach((key) => {\n      const config = secureConfig[key];\n      if (Array.isArray(config)) {\n        config.forEach((element) => {\n          const { providerPathList = [], consumerPathList = [] } = element || {};\n\n          if (providerPathList.length > 0 && !providerConfig) {\n            for (let index = 0; index < providerPathList.length; index++) {\n              const ele = providerPathList[index];\n              const reg = new RegExp(ele);\n              if (url.match(reg)) {\n                needProxy = true;\n                providerConfig = element;\n                proxyURL = ele;\n                break;\n              }\n            }\n          }\n          if (consumerPathList.length > 0 && !consumerConfig) {\n            for (let index = 0; index < consumerPathList.length; index++) {\n              const ele = consumerPathList[index];\n              const reg = new RegExp(ele);\n              if (url.match(reg)) {\n                needProxy = true;\n                consumerConfig = element;\n                proxyURL = ele;\n                break;\n              }\n            }\n          }\n        });\n      }\n    });\n    return { needProxy, providerConfig, consumerConfig, url: proxyURL, signType, initType };\n  } catch (error) {\n    return { needProxy: false };\n  }\n};\n// used for add requestion ticket\nexport const processRequestConfig = async (\n  requestConfig: RequestConfig,\n  proxyConfig: ProxyConfig,\n  hooksResult: ProxyHooksResult,\n  event: EventMap\n): Promise<RequestConfig> => {\n  try {\n    const { headers } = requestConfig || {};\n    const { crypt } = proxyConfig;\n    if (!headers) {\n      return Promise.resolve(requestConfig);\n    }\n    if (typeof headers === 'string') {\n      return Promise.resolve(requestConfig);\n    }\n    // 判断当前startTimes 是否正常\n    const startTimes = Date.now();\n    const {\n      needProxy,\n      consumerConfig,\n      providerConfig,\n      url,\n      signType = 'pubKey',\n      initType = 'pubKey'\n    } = hooksResult;\n    // 存在bug,可能有一些接口即使消费者也是生产者 目前没有这个case暂不解决\n    const {\n      scene = '',\n      certType = 'header',\n      signTimeout,\n      namespace\n    } = consumerConfig || providerConfig || {};\n    const provider = Boolean(providerConfig);\n    if (needProxy && crypt) {\n      const _initPairKeyTS = Date.now();\n\n      let useCacheSign = false;\n      // 从storage获取 ec_privateKey,ec_publicKey,ticket, ts_sign, client_cert,没有则初始化\n      const keysInfo = await crypt?.getKeysInfoWithOrigin({ certType, scene, namespace });\n      const init_pair_key_duration = Date.now() - _initPairKeyTS;\n      let sign_data_duration = 0;\n      // 没有意义,可以删除\n      const { match_md5_iframe, match_md5_local } = await crypt?.checkSignData(keysInfo);\n\n      const { ec_publicKey, ec_csr } = keysInfo?.crypt || {};\n      const { ticket, ts_sign } = keysInfo?.sign || {};\n      const { cert, b64Cert, dataFrom, b64PubKey, b64Csr } = keysInfo || {};\n      let serverData;\n      let dataLost = '0';\n      // 没有意义,可以删除\n      const cryptStatus = crypt?.getCookieCryptStatus();\n      if (!ticket && !ts_sign && cryptStatus) {\n        dataLost = '1';\n      }\n      if (ticket && ec_publicKey && consumerConfig && url) {\n        signTimeout && setSignTimeout(signTimeout);\n        const str = getCacheSignString(url, ticket);\n        if (str) {\n          serverData = str;\n          useCacheSign = true;\n        } else {\n          const _signDataTS = Date.now();\n          // 生成签名\n          const { req_content, sign_data, timestamp } = processSignData(\n            requestConfig,\n            ticket,\n            consumerConfig?.urlRewriteRules || [],\n            event\n          );\n          serverData = await crypt?.signWithKeysInfo({\n            sign_data,\n            req_content,\n            timestamp,\n            certType,\n            scene,\n            keysInfo\n          });\n          sign_data_duration = Date.now() - _signDataTS;\n          // serverData = await crypt?.sign({ sign_data, req_content, timestamp, certType, scene });\n          if (serverData) {\n            setCacheSignString(url, ticket, serverData);\n            event.reportLog({\n              extra: { content: serverData, url, ticket },\n              content: 'set cache data success',\n              level: 'info'\n            });\n          }\n        }\n      }\n      let certHeader: { [key: string]: unknown } = {};\n      // 公钥验签 + 命中实验 ||  当前的证书是cert 如果是新版证书直接走新流程\n\n      // 如果是ticket提供的路径,则需要遵循生成签名逻辑\n      if (provider) {\n        if (initType === 'pubKey') {\n          certHeader = {\n            'tt-ticket-guard-public-key': b64PubKey,\n            'tt-ticket-guard-web-version': 1\n          };\n        } else {\n          // useless\n          certHeader = b64Cert\n            ? {\n                'tt-ticket-guard-client-cert': b64Cert || ''\n              }\n            : { 'tt-ticket-guard-client-csr': b64Csr || '' };\n        }\n      } else {\n        // 签名生成逻辑\n        // 如果是ts.1 开头的sign,或者本地cert已经修改pub.开头的,则必须走公钥验签,否则会有问题\n        if ((isPublishKeySign(ts_sign || '') && signType === 'pubKey') || checkCertIsNewVersion(cert)) {\n          certHeader = {\n            'tt-ticket-guard-public-key': b64PubKey,\n            'tt-ticket-guard-web-version': 1\n          };\n        } else {\n          // useless\n          certHeader = b64Cert\n            ? {\n                'tt-ticket-guard-client-cert': b64Cert || ''\n              }\n            : { 'tt-ticket-guard-client-csr': b64Csr || '' };\n        }\n      }\n\n      requestConfig.headers = {\n        ...requestConfig.headers,\n        ...certHeader,\n        'tt-ticket-guard-version': consumerConfig?.signVersion || providerConfig?.signVersion || 1,\n        'tt-ticket-guard-iteration-version': 0\n      };\n      if (serverData) {\n        requestConfig.headers = {\n          ...requestConfig?.headers,\n          'tt-ticket-guard-client-data': serverData\n        };\n      }\n      const endTimes = Date.now();\n      event.reportLog({\n        extra: { content: JSON.stringify(requestConfig), time: new Date().getTime() },\n        content: 'process request config ',\n        level: 'info'\n      });\n      const storageStatus = crypt?.getStorageStatus();\n      const { isConnection, retryCount, startTime, endTime, loadTime } = storageStatus || {};\n\n      event.reportEvent({\n        action: 'request',\n        op: 'sign',\n        duration: endTimes > startTimes ? endTimes - startTimes : 0,\n        status: 'success',\n        ctx: {\n          cache: useCacheSign ? '1' : '0',\n          path: url || '',\n          cert: cert ? '1' : '0',\n          pubKey: ec_publicKey ? '1' : '0',\n          isPubKeySign: isPublishKeySign(ts_sign || '') ? '1' : '0',\n          isPubKeyInit: initType === 'pubKey' ? '1' : '0',\n          csr: ec_csr ? '1' : '0',\n          version: `${consumerConfig?.signVersion || ''}` || `${providerConfig?.signVersion || ''}` || '1',\n          server: serverData ? '1' : '0',\n          crossStatus: crypt?.getIframeStatus() ? '1' : '0',\n          initMatch: crypt?.initMatch ? '1' : '0',\n          dataFrom: dataFrom || '-99',\n          match_md5_local: match_md5_local || '-99',\n          match_md5_iframe: match_md5_iframe || '-99',\n          lost: dataLost,\n          isNewCert: checkCertIsNewVersion(cert) ? '1' : '0',\n          isConnection: processStorageStatusData(isConnection),\n          retryCount: processStorageStatusData(retryCount)\n        },\n        metrics: { startTime: startTime || 0, endTime: endTime || 0, loadTime: loadTime || 0 }\n      });\n      const process_request_duration = endTimes - startTimes;\n      requestConfig.extras = {\n        ...(keysInfo || {}),\n\n        process_request_duration,\n        init_pair_key_duration,\n        sign_data_duration,\n        rest_request_duration: process_request_duration - init_pair_key_duration - sign_data_duration,\n\n        scene,\n        certType,\n        match_md5_iframe,\n        match_md5_local,\n        is_pubkey_ts_sign: isPublishKeySign(ts_sign || '') ? '1' : '0',\n        // 上报是否新证书模式\n        is_new_cert: checkCertIsNewVersion(cert) ? '1' : '0',\n        lost: dataLost,\n        isPubKeyInit: initType === 'pubKey' ? '1' : '0'\n      };\n    }\n  } catch (error) {\n    event.reportError({ error, name: 'process request config fail' });\n    event.reportLog({\n      content: 'process request config fail',\n      extra: { content: JSON.stringify(requestConfig) }\n    });\n    event.reportEvent({\n      action: 'request',\n      op: 'sign',\n      status: 'fail',\n      ctx: {\n        path: requestConfig?.url || ''\n      }\n    });\n  }\n  return Promise.resolve(requestConfig);\n};\n\n// used for processResponseConfig\nexport const processRequestHeader = (\n  verify: string,\n  keysInfo: { [key: string]: any },\n  response: ResponseConfig,\n  proxyConfig: ProxyConfig,\n  updateData: boolean,\n  login: boolean,\n  event: EventMap\n) => {\n  try {\n    const { crypt } = proxyConfig;\n    const { certType, items = [] } = keysInfo || {};\n    const ctx: { [key: string]: string } = {};\n    const keys: string[] = [];\n    const values: string[] = [];\n    const requestWithClientData = response?.reqHeaders?.['tt-ticket-guard-client-data'] ? '1' : '0';\n    const { url } = response?.config || {};\n    if (certType === 'header') {\n      return {};\n    } else if (certType === 'cookie') {\n      items &&\n        Array.isArray(items) &&\n        items.forEach((ele) => {\n          const { key, value, from, origin } = ele || {};\n          ctx[`${key.replace(/\\//g, '_')}_origin`] = origin || '';\n          ctx[`${key.replace(/\\//g, '_')}_from`] = from || '-99';\n          ctx[`${key.replace(/\\//g, '_')}_status`] = value ? 'success' : 'success_null';\n          if (value) {\n            keys.push(key);\n            values.push(value);\n          }\n        });\n      if (verify === '-99' && updateData && url) {\n        const needUpdateUrls = [\n          '/aweme/v1/web/commit/item/digg',\n          '/aweme/v1/web/commit/follow/user',\n          '/aweme/v1/web/comment/publish',\n          '/web/api/media/aweme/create'\n        ];\n        for (let index = 0; index < needUpdateUrls.length; index++) {\n          const ele = needUpdateUrls[index];\n          const reg = new RegExp(ele);\n          if (url.match(reg)) {\n            keys.length > 0 && crypt.setKeysAndValues(keys, values);\n            break;\n          }\n        }\n      }\n    }\n    const ticketGuardVersion = response?.reqHeaders?.['tt-ticket-guard-version'] || '-99';\n    const ticketGuardIterationVersion = response?.reqHeaders?.['tt-ticket-guard-iteration-version'] || '-99';\n    const requestWithCsr = response?.reqHeaders?.['tt-ticket-guard-client-csr'] ? '1' : '0';\n    const requestWithCert = response?.reqHeaders?.['tt-ticket-guard-client-cert'] ? '1' : '0';\n    const reqData = {\n      csr: requestWithCsr,\n      cert: requestWithCert,\n      server: requestWithClientData,\n      version: ticketGuardVersion,\n      iterVersion: ticketGuardIterationVersion\n    };\n    return { ...reqData, ...ctx };\n  } catch (error) {\n    event.reportError({ error, name: 'process Request Header Error' });\n  }\n  return {};\n};\n\n// receive response, and verify tt-ticket-guard-result\nexport const processResponseConfig = async (\n  response: ResponseConfig,\n  proxyConfig: ProxyConfig,\n  hooksResult: ProxyHooksResult,\n  updateData: boolean,\n  login: boolean,\n  event: EventMap\n) => {\n  try {\n    const { crypt } = proxyConfig;\n    if (!response?.config?.headers) {\n      return response;\n    }\n    if (typeof response?.config?.headers === 'string') {\n      return response;\n    }\n    const { extras = {} } = response?.config || {};\n    const {\n      dataFrom,\n      match_md5_local,\n      match_md5_iframe,\n      is_pubkey_ts_sign,\n      is_new_cert,\n      lost,\n      isPubKeyInit\n    } = extras || {};\n    const storageStatus = crypt?.getStorageStatus();\n    const { isConnection, retryCount, startTime, endTime, loadTime } = storageStatus || {};\n    // 针对被票据sdk处理过的请求,做一次拦截,暴露出去给业务方\n    if (response?.reqHeaders && response?.reqHeaders?.['tt-ticket-guard-version']) {\n      event.reportEvent({\n        action: 'response',\n        op: 'sign',\n        status: 'finish',\n        ctx: {\n          url: formatUrl(response?.config.url) || '',\n          crossStatus: crypt?.getIframeStatus() ? '1' : '0',\n          lost,\n          dataFrom: dataFrom || '-99',\n          match_md5_local,\n          match_md5_iframe,\n          initMatch: crypt?.initMatch ? '1' : '0',\n          isConnection: processStorageStatusData(isConnection),\n          retryCount: processStorageStatusData(retryCount),\n          is_pubkey_ts_sign,\n          is_new_cert,\n          isPubKeyInit\n        },\n        metrics: { startTime: startTime || 0, endTime: endTime || 0, loadTime: loadTime || 0 },\n        extras: response as Record<string, any>\n      });\n    }\n\n    const startTimes = Date.now();\n    const { needProxy, providerConfig, consumerConfig, signType = 'pubKey' } = hooksResult;\n    const { scene, namespace } = providerConfig || {};\n    if (needProxy && crypt) {\n      const ts_sign_data: string = response?.headers?.['tt-ticket-guard-server-data'] || '';\n      const verify_result = response?.headers?.['tt-ticket-guard-result'] || '-99';\n      const sign_data = ts_sign_data && crypt?.b642str(ts_sign_data);\n      // TODO: temp solution\n      const data: any = sign_data && JSON.parse(sign_data).tickets[0];\n      // let data: any = sign_data && JSON.parse(sign_data);\n      const { ticket } = data || {};\n      // 如果有namespace 证明需要重定向 不能走异步\n      if (ticket && scene && namespace) {\n        await crypt?.setSignValueAsync({ sign: data, scene, namespace });\n      } else if (ticket && scene) {\n        crypt?.setSignValue({ sign: data, scene });\n      }\n      const context = processRequestHeader(\n        verify_result,\n        extras,\n        response,\n        proxyConfig,\n        updateData,\n        login,\n        event\n      );\n      const endTimes = Date.now();\n      event.reportEvent({\n        action: 'response',\n        op: 'init',\n        status: 'success',\n        duration: endTimes > startTimes ? endTimes - startTimes : 0,\n        ctx: {\n          url: formatUrl(response?.config.url) || '',\n          crossStatus: crypt?.getIframeStatus() ? '1' : '0',\n          lost,\n          verify: verify_result,\n          dataFrom: dataFrom || '-99',\n          match_md5_local,\n          match_md5_iframe,\n          server: ts_sign_data ? '1' : '0',\n          client: extras?.serverData ? '1' : '0',\n          isConnection: processStorageStatusData(isConnection),\n          retryCount: processStorageStatusData(retryCount),\n          initMatch: crypt?.initMatch ? '1' : '0',\n          isNewCert: is_new_cert,\n          isPubkeyTssign: is_pubkey_ts_sign,\n          isPubKeyInit,\n          ...(context || {})\n        },\n        metrics: { startTime: startTime || 0, endTime: endTime || 0, loadTime: loadTime || 0 }\n      });\n      logFullPath({\n        response,\n        ticket: ticket || response.config.extras?.sign?.ticket,\n        ts_sign: response.config.extras?.sign?.ts_sign ?? '',\n        type: consumerConfig ? 'consumer' : 'provider'\n      });\n      logPerformance({\n        path: response.config.path,\n        method: response.config.method ?? '',\n        process_request_duration: response.config.extras?.process_request_duration,\n\n        init_pair_key_duration: response.config.extras?.init_pair_key_duration,\n        sign_data_duration: response.config.extras?.sign_data_duration,\n        rest_request_duration: response.config.extras?.rest_request_duration,\n\n        process_response_duration: endTimes - startTimes,\n        sign_type: hooksResult.signType || '',\n        store_type: crypt.storeType || '',\n        type: crypt.cryptoSDK?.type ?? '',\n        result: response.headers['tt-ticket-guard-result']\n      });\n    }\n    return response;\n  } catch (error) {\n    event.reportEvent({\n      action: 'response',\n      op: 'init',\n      status: 'fail',\n      ctx: {\n        server: response?.headers?.['tt-ticket-guard-server-data'] ? '1' : '0',\n        client: (response?.config as any)?.serverData ? '1' : '0',\n        url: formatUrl(response?.config.url) || ''\n      }\n    });\n    event.reportError({ error, name: 'get sign data error in response' });\n  }\n  return response;\n};\n\nexport const parseFetchHeader = (response: Response) => {\n  const resHeaders: { [key: string]: any } = {};\n  resHeaders['tt-ticket-guard-server-data'] = response?.headers?.get('tt-ticket-guard-server-data') || '';\n  resHeaders['tt-ticket-guard-result'] = response?.headers?.get('tt-ticket-guard-result') || '';\n  return resHeaders;\n};\n","{\n  \"name\": \"@byted/tiktok-zti-request-hooks\",\n  \"version\": \"0.1.37\",\n  \"unpkg\": true,\n  \"unpkgFiles\": [\n    \"*\"\n  ],\n  \"types\": \"./dist/types/index.d.ts\",\n  \"jsnext:source\": \"./src/index.ts\",\n  \"main\": \"./dist/lib/index.js\",\n  \"module\": \"./dist/es/index.js\",\n  \"scripts\": {\n    \"dev\": \"edenx dev\",\n    \"build\": \"edenx build\",\n    \"build:watch\": \"edenx build -w\",\n    \"new\": \"edenx new\",\n    \"upgrade\": \"edenx upgrade\"\n  },\n  \"dependencies\": {\n    \"@byted/tiktok-zti-utils\": \"workspace:*\",\n    \"@byted/tiktok-zti-monitor\": \"workspace:*\",\n    \"@byted/tiktok-zti-call\": \"0.1.2\",\n    \"@byted/tiktok-zti-crypto\": \"workspace:*\",\n    \"@byted/tiktok-zti-types\": \"workspace:*\"\n  },\n  \"devDependencies\": {\n    \"@byted/eslint-config-eden\": \"^5.0.21\",\n    \"@edenx/module-tools\": \"1.48.4\",\n    \"eslint-plugin-prettier\": \"~4.2.1\",\n    \"rimraf\": \"~3.0.2\",\n    \"typescript\": \"~5.0.4\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\",\n    \"registry\": \"https://bnpm.byted.org/\"\n  }\n}\n","import { SecurityConfig, EventEmitParams, EventErrorParams, EventLogParams } from '@byted/tiktok-zti-types';\nimport { CallEvent } from '@byted/tiktok-zti-call';\nimport { processRequestConfig, processResponseConfig, getHooksConfig, parseFetchHeader } from './hooks';\nimport { ProxyConfig } from './types';\n\nimport { parseHeaders } from './utils';\n\nconst IS_FETCH_API_SUPPORTED = 'fetch' in window;\nconst IS_REQUEST_API_SUPPORTED = 'Request' in window;\nconst IS_HEADERS_API_SUPPORTED = 'Headers' in window;\n\nclass SecureProxy extends CallEvent<{\n  load: EventEmitParams;\n  ready: EventEmitParams;\n  execute: EventEmitParams;\n  error: EventErrorParams;\n  log: EventLogParams;\n}> {\n  params: ProxyConfig;\n\n  config: SecurityConfig = {};\n\n  updateData = false;\n\n  login = false;\n\n  // 默认pubKey\n  signType?: 'cert' | 'pubKey' = 'pubKey';\n  initType?: 'cert' | 'pubKey' = 'pubKey';\n\n  private nativeXMLHttpRequestOpen = window.XMLHttpRequest.prototype.open;\n\n  private nativeXMLHttpRequestSend = window.XMLHttpRequest.prototype.send;\n\n  private nativeXMLHttpRequestSetRequestHeader = window.XMLHttpRequest.prototype.setRequestHeader;\n\n  private nativeFetch: (input: RequestInfo, init?: RequestInit) => Promise<Response> = window.fetch;\n\n  constructor(params: ProxyConfig) {\n    super();\n    this.params = params;\n    this.monkeyPatchXMLHttpRequest();\n    this.monkeyPatchFetch();\n  }\n\n  /**\n   * 设置当前加签 or 生成模式\n   */\n  setType = (params: { initType: 'cert' | 'pubKey'; signType: 'cert' | 'pubKey' }) => {\n    const { initType = 'pubKey', signType = 'pubKey' } = params;\n    this.signType = signType;\n    this.initType = initType;\n  };\n\n  /**\n   * 设置config\n   * @param config cofig\n   */\n  setConfig = (config: SecurityConfig) => {\n    this.config = config;\n  };\n\n  setUpdateDataWhenVerifySuccess = (update: boolean) => {\n    this.updateData = update;\n  };\n\n  setLogin = (login: boolean) => {\n    this.login = login;\n  };\n\n  private monkeyPatchXMLHttpRequest(): any {\n    const secure = this;\n    // const { crypt } = this.params || {};\n\n    XMLHttpRequest.prototype.open = function (): void {\n      // Save open arguments, we use it in `send` method.\n      (this as any).secureOpenArgs = arguments;\n      secure.nativeXMLHttpRequestOpen.apply(this, arguments as any);\n    };\n    XMLHttpRequest.prototype.send = function (): any {\n      const that = this as any;\n      const { secureOpenArgs } = this as any;\n      const sendArgs = arguments;\n      if (!that._reqHeaders) {\n        that._reqHeaders = {};\n      }\n\n      const method = secureOpenArgs[0] || 'GET';\n      const u = new URL(secureOpenArgs[1], window.location.href);\n      const baseurl = u.toString();\n\n      const hooksConfig = getHooksConfig(\n        { method, url: baseurl, headers: {}, path: u.pathname },\n        secure.config,\n        secure.signType || 'pubKey',\n        secure.initType || 'pubKey'\n      );\n\n      const { needProxy } = hooksConfig || {};\n\n      if (!needProxy) {\n        return secure.nativeXMLHttpRequestSend.apply(this, sendArgs as any);\n      }\n\n      // 记录当前请求头信息\n      const reqHeaders: Record<string, string | number> = {};\n\n      let reqExtras: Record<string, any> = {};\n\n      const onreadystatechangeHandler = async (...args: any[]) => {\n        if (this.readyState === 4) {\n          const existOriginGetResponseHeader =\n            'getAllResponseHeaders' in this && typeof this.getAllResponseHeaders === 'function';\n          if (existOriginGetResponseHeader) {\n            if (needProxy) {\n              const headers = this.getAllResponseHeaders();\n              const headerObj = parseHeaders(headers);\n              await processResponseConfig(\n                {\n                  config: { method, url: baseurl, path: u.pathname, headers: {}, extras: reqExtras },\n                  headers: headerObj || {},\n                  reqHeaders\n                },\n                secure.params,\n                hooksConfig,\n                secure.updateData,\n                secure.login,\n                {\n                  reportEvent: secure.reportEvent,\n                  reportError: secure.reportError,\n                  reportLog: secure.reportLog\n                }\n              );\n            }\n          }\n        }\n      };\n\n      const originStateChange = this.onreadystatechange;\n      const ifExistOriginCall = 'onreadystatechange' in this && typeof originStateChange === 'function';\n      if (ifExistOriginCall) {\n        this.onreadystatechange = async (...args) => {\n          if (this.readyState === 4) {\n            const existOriginGetResponseHeader =\n              'getAllResponseHeaders' in this && typeof this.getAllResponseHeaders === 'function';\n            if (existOriginGetResponseHeader) {\n              if (needProxy) {\n                const headers = this.getAllResponseHeaders();\n                const headerObj = parseHeaders(headers);\n                const config = await processResponseConfig(\n                  {\n                    config: { method, url: baseurl, headers: {}, extras: reqExtras, path: u.pathname },\n                    headers: headerObj || {},\n                    reqHeaders\n                  },\n                  secure.params,\n                  hooksConfig,\n                  secure.updateData,\n                  secure.login,\n                  {\n                    reportEvent: secure.reportEvent,\n                    reportError: secure.reportError,\n                    reportLog: secure.reportLog\n                  }\n                );\n              }\n            }\n          }\n          return originStateChange.apply(this, args);\n        };\n      } else {\n        // 如果原先没有定义,加一个\n        this.onreadystatechange = onreadystatechangeHandler;\n      }\n      // Set secure header synchronously and send request immediately if current request is not async.\n      if (secureOpenArgs.length >= 3 && !secureOpenArgs[2]) {\n        return secure.nativeXMLHttpRequestSend.apply(this, sendArgs as any);\n      }\n\n      // Set request and send request asynchronously\n      processRequestConfig?.(\n        {\n          method,\n          url: baseurl,\n          headers: {},\n          path: u.pathname\n        },\n        secure.params,\n        hooksConfig,\n        { reportEvent: secure.reportEvent, reportError: secure.reportError, reportLog: secure.reportLog }\n      ).then((config: any) => {\n        const { headers = {}, extras = {} } = config || {};\n        reqExtras = extras;\n        Object.keys(headers).forEach((ele: string) => {\n          // 缓存本次请求的请求头\n          reqHeaders[ele] = headers[ele];\n          if (that._reqHeaders?.[ele] === undefined) {\n            // SetRequestHeader会append value, 先判断下_reqHeaders是否已有相关header\n            secure.nativeXMLHttpRequestSetRequestHeader.call(this, ele, headers[ele]);\n            that._reqHeaders[ele] = headers[ele];\n          }\n        });\n        return secure.nativeXMLHttpRequestSend.apply(this, sendArgs as any);\n      });\n    };\n  }\n\n  private monkeyPatchFetch(): any {\n    if (!IS_FETCH_API_SUPPORTED) {\n      return;\n    }\n\n    const secure = this;\n    // const { crypt } = this.params || {};\n    // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n    // @ts-ignore\n    window.fetch = function (input: RequestInfo, init?: RequestInit): Promise<Response> {\n      let url: string, method: string;\n      if (IS_REQUEST_API_SUPPORTED && input instanceof Request) {\n        url = input.url;\n        method = input.method;\n      } else {\n        url = input as string;\n        method = init && init.method ? init.method : 'GET';\n      }\n\n      const hooksConfig = getHooksConfig(\n        { method, url, headers: {}, path: url },\n        secure.config,\n        secure.signType || 'pubKey',\n        secure.initType || 'pubKey'\n      );\n\n      const { needProxy } = hooksConfig || {};\n\n      if (!needProxy) {\n        return secure.nativeFetch.apply(this, [input, init]);\n      }\n\n      // const u = new URL(url, window.location.href);\n      return processRequestConfig({ method, url, headers: {}, path: url }, secure.params, hooksConfig, {\n        reportEvent: secure.reportEvent,\n        reportError: secure.reportError,\n        reportLog: secure.reportLog\n      }).then((config: any) => {\n        const { headers, extras = {} } = config || {};\n\n        if (IS_REQUEST_API_SUPPORTED && input instanceof Request) {\n          Object.keys(headers).forEach((ele: string) => {\n            input.headers.set(ele, headers[ele]);\n          });\n        } else {\n          // eslint-disable-next-line no-param-reassign\n          init = init || {};\n          init.headers = init.headers || {};\n\n          if (IS_HEADERS_API_SUPPORTED && init?.headers instanceof Headers) {\n            Object.keys(headers).forEach((ele: string) => {\n              (init?.headers as Headers)?.set?.(ele, headers[ele]);\n            });\n          } else if (init && init.headers && Array.isArray(init.headers)) {\n            Object.keys(headers).forEach((ele: string) => {\n              init && init.headers && Array.isArray(init.headers) && init?.headers?.push([ele, headers[ele]]);\n            });\n          } else {\n            Object.keys(headers).forEach((ele: string) => {\n              // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n              (init!.headers as Record<string, string>)[ele] = headers[ele];\n            });\n          }\n        }\n\n        return secure.nativeFetch.apply(this, [input, init]).then((res) => {\n          const resHeaders: any = {};\n          if (res?.headers) {\n            if (typeof res?.headers?.forEach === 'function') {\n              res?.headers?.forEach?.((ele, key) => {\n                resHeaders[key] = ele;\n              });\n            } else if (typeof res?.headers?.get === 'function') {\n              const fetchHeader = parseFetchHeader(res);\n              Object.keys(fetchHeader).forEach((ele) => {\n                resHeaders[ele] = fetchHeader[ele];\n              });\n            }\n            return processResponseConfig(\n              {\n                config: { method, url, headers: {}, extras, path: url },\n                headers: resHeaders,\n                reqHeaders: headers\n              },\n              secure.params,\n              hooksConfig,\n              secure.updateData,\n              secure.login,\n              {\n                reportEvent: secure.reportEvent,\n                reportError: secure.reportError,\n                reportLog: secure.reportLog\n              }\n            )\n              .then(() => res)\n              .catch((error) => res);\n          }\n          return res;\n        });\n      });\n    };\n  }\n\n  private reportEvent = (args: EventEmitParams) => {\n    this.emit('execute', args);\n  };\n\n  private reportError = (args: EventErrorParams) => {\n    this.emit('error', args);\n  };\n\n  private reportLog = (args: EventLogParams) => {\n    this.emit('log', args);\n  };\n}\n\nexport default SecureProxy;\nexport { version as __version__ } from '../package.json';\n"]}