@tengence/track-sdk-web 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -4
- package/dist/client.d.ts +17 -4
- package/dist/config.d.ts +67 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.mjs +1 -1
- package/dist/interface/index.d.ts +6 -3
- package/dist/tengence-track-sdk@1.2.3.js +1 -0
- package/dist/utils/remoteConfig.d.ts +6 -20
- package/package.json +5 -4
- package/dist/tengence-track-sdk@1.1.10.js +0 -1
- package/dist/tengence-track-sdk@1.1.11.js +0 -1
- package/dist/tengence-track-sdk@1.1.12.js +0 -1
- package/dist/tengence-track-sdk@1.1.13.js +0 -1
- package/dist/tengence-track-sdk@1.1.14.js +0 -1
- package/dist/tengence-track-sdk@1.1.15.js +0 -1
- package/dist/tengence-track-sdk@1.1.16.js +0 -1
- package/dist/tengence-track-sdk@1.1.17.js +0 -1
- package/dist/tengence-track-sdk@1.1.5.js +0 -1
- package/dist/tengence-track-sdk@1.1.6.js +0 -1
- package/dist/tengence-track-sdk@1.1.7.js +0 -1
- package/dist/tengence-track-sdk@1.1.8.js +0 -1
- package/dist/tengence-track-sdk@1.1.9.js +0 -1
- package/dist/tengence-track-sdk@1.2.0.js +0 -1
- package/dist/tengence-track-sdk@1.2.1.js +0 -1
- package/dist/tengence-track-sdk@1.2.2.js +0 -1
- package/dist/utils/md5.d.ts +0 -72
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import { DataType } from "../interface";
|
|
2
|
+
import { RemoteConfigSnapshot } from "../config";
|
|
2
3
|
/**
|
|
3
|
-
* SDK
|
|
4
|
+
* SDK 远程配置拉取/缓存层(采集行为由后端 DI 集成应用/任务配置经 collect 下发)
|
|
4
5
|
*
|
|
5
6
|
* 行业实践对齐(PostHog decide / Firebase Remote Config / 阿里云 Quick Tracking):
|
|
6
7
|
* - SDK 启动异步拉取配置,不阻塞初始化(init 立即返回)
|
|
7
8
|
* - localStorage 缓存 + TTL(默认 5 分钟);失败回退链:新配置 → 缓存 → 默认全类型
|
|
8
|
-
* -
|
|
9
|
+
* - 拉取成功/命中缓存后注入三源合并引擎(config.ts),优先级「使用方显式 > 远程 > 默认」,
|
|
10
|
+
* 本模块只负责取数,不直接决定生效值。
|
|
9
11
|
*/
|
|
10
|
-
export interface RemoteTrackConfig {
|
|
11
|
-
appId?: string;
|
|
12
|
-
dataTypes: DataType[];
|
|
13
|
-
idFieldName: string;
|
|
14
|
-
configVersion?: number;
|
|
15
|
-
updatedAt?: string;
|
|
12
|
+
export interface RemoteTrackConfig extends RemoteConfigSnapshot {
|
|
16
13
|
fetchedAt: number;
|
|
17
14
|
}
|
|
18
15
|
export declare const DEFAULT_DATA_TYPES: DataType[];
|
|
@@ -27,17 +24,6 @@ export declare const loadCachedConfig: () => RemoteTrackConfig | null;
|
|
|
27
24
|
export declare const isConfigFresh: (cfg: RemoteTrackConfig, ttl?: number) => boolean;
|
|
28
25
|
/**
|
|
29
26
|
* 拉取远程配置(GET {configUrl},Bearer 凭证与 push 一致:apiKey 或 accessToken)。
|
|
30
|
-
*
|
|
27
|
+
* 成功:注入合并引擎 + 覆盖缓存并生效;失败:保留缓存/默认配置,静默回退(console.warn)。
|
|
31
28
|
*/
|
|
32
29
|
export declare const fetchRemoteConfig: (configUrl: string, credential?: string, timeoutMs?: number) => Promise<RemoteTrackConfig | null>;
|
|
33
|
-
/** 当前生效的远程配置(无则为 null → 全类型放行) */
|
|
34
|
-
export declare const getRemoteConfig: () => RemoteTrackConfig | null;
|
|
35
|
-
/** 设置生效配置(init 时同步应用缓存) */
|
|
36
|
-
export declare const setRemoteConfig: (cfg: RemoteTrackConfig | null) => void;
|
|
37
|
-
/**
|
|
38
|
-
* 数据类型是否允许采集/上报(线上配置优先):
|
|
39
|
-
* - 无远程配置 → 放行(不阻塞采集)
|
|
40
|
-
* - 事件未标注 data_type → 放行(不误伤)
|
|
41
|
-
* - 已标注且未被勾选 → 丢弃
|
|
42
|
-
*/
|
|
43
|
-
export declare const isDataTypeEnabled: (dataType?: string) => boolean;
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tengence/track-sdk-web",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "tengence web client track sdk",
|
|
5
5
|
"main": "dist/index.mjs",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
7
|
-
"unpkg": "dist/tengence-track-sdk@1.
|
|
7
|
+
"unpkg": "dist/tengence-track-sdk@1.2.3.js",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
10
|
"import": {
|
|
@@ -15,9 +15,10 @@
|
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "rollup --c rollup.config.ts --configPlugin typescript",
|
|
18
|
+
"sync:unpkg": "node scripts/sync-unpkg.mjs",
|
|
18
19
|
"release": "npm publish --access public --registry https://registry.npmjs.org/",
|
|
19
20
|
"deploy": "node scripts/deploy.mjs",
|
|
20
|
-
"publish:all": "npm run build && npm run release && npm run deploy",
|
|
21
|
+
"publish:all": "npm run build && npm run sync:unpkg && npm run release && npm run deploy",
|
|
21
22
|
"test": "vitest run",
|
|
22
23
|
"test:watch": "vitest",
|
|
23
24
|
"test:e2e": "node scripts/smoke-test.mjs",
|
|
@@ -54,4 +55,4 @@
|
|
|
54
55
|
"engines": {
|
|
55
56
|
"node": "20"
|
|
56
57
|
}
|
|
57
|
-
}
|
|
58
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TrackSDK={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n){r&&(e=r);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return c=e.done,e},e:function(e){u=!0,a=e},f:function(){try{c||null==r.return||r.return()}finally{if(u)throw a}}}}function i(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var u=function(e,t){return u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},u(e,t)};var l=function(){return l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},l.apply(this,arguments)};function s(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function c(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}u((r=r.apply(e,t||[])).next())}))}function d(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function p(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var h=function(e){function t(t,n){var r=e.call(this,n||"[TM]: Auth error ".concat(t))||this;return Object.defineProperty(r,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.name="AuthError",r.status=t,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),m=function(e){var t=e.method,n=e.url,r=e.data,o=e.headers,i=void 0===o?{}:o,a=e.withCredentials,c=void 0!==a&&a,u=e.timeoutMs;return new Promise((function(e,o){var a=new XMLHttpRequest;a.open(t,n,!0),u&&(a.timeout=u),Object.keys(i).forEach((function(e){a.setRequestHeader(e,i[e])})),a.withCredentials=!!c,a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.responseText);e(t)}catch(e){o(e)}else{var n=new Error("[TM]: Request failed with status ".concat(a.status));n.status=a.status,o(n)}},a.onerror=function(){o(new Error("[TM]: Network error"))},a.ontimeout=function(){var e=new Error("[TM]: Request timeout");e.timeout=!0,o(e)},"POST"===t&&r?a.send(r):a.send()}))},y=function(e,t,n){if(!n)return fetch(e,t);var r=new AbortController,o=setTimeout((function(){return r.abort()}),n);return fetch(e,l(l({},t),{signal:r.signal})).catch((function(e){if(e&&"AbortError"===e.name){var t=new Error("[TM]: Request timeout");throw t.timeout=!0,t}throw e})).finally((function(){return clearTimeout(o)}))},g=function(e,t,n,r){var o={"Content-Type":"application/json"};n&&(o.Authorization="Bearer ".concat(n));var i=function(){return m({method:"POST",url:e,data:JSON.stringify(t),headers:o,withCredentials:!0,timeoutMs:r})};return"function"!=typeof fetch?i():y(e,{method:"POST",keepalive:!0,credentials:"include",headers:o,body:JSON.stringify(t)},r).then((function(e){if(401===e.status||403===e.status)throw new h(e.status,"[TM]: Auth error ".concat(e.status));if(429===e.status){(r=new Error("[TM]: Request throttled with status 429")).status=429;var t=e.headers.get("Retry-After");if(t){var n=parseInt(t,10);isNaN(n)||(r.retryAfter=1e3*n)}throw r}var r;if(!e.ok)throw(r=new Error("[TM]: Request failed with status ".concat(e.status))).status=e.status,r;return e.json()})).catch((function(e){if(e instanceof h)throw e;if(e&&e.status)throw e;return i()}))},b=new Int32Array(4),w=function(){function e(){Object.defineProperty(this,"_dataLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_bufferLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_state",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array(4)}),Object.defineProperty(this,"_buffer",{enumerable:!0,configurable:!0,writable:!0,value:new ArrayBuffer(68)}),Object.defineProperty(this,"_buffer8",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_buffer32",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}return Object.defineProperty(e,"selfTest",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(!e.selfTested&&(e.selfTested=!0,"5d41402abc4b2a76b9719d911017c592"!==e.hashStr("hello")))throw new Error("Md5 self test failed.")}}),Object.defineProperty(e,"hashStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return void 0===n&&(n=!1),e.selfTest(),this.onePassHasher.start().appendStr(t).end(n)}}),Object.defineProperty(e,"hashAsciiStr",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===t&&(t=!1),this.onePassHasher.start().appendAsciiStr(e).end(t)}}),Object.defineProperty(e,"_hex",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n,r,o,i,a=e.hexChars,c=e.hexOut;for(i=0;i<4;i+=1)for(r=8*i,n=t[i],o=0;o<8;o+=2)c[r+1+o]=a.charAt(15&n),n>>>=4,c[r+0+o]=a.charAt(15&n),n>>>=4;return c.join("")}}),Object.defineProperty(e,"_md5cycle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var n=e[0],r=e[1],o=e[2],i=e[3];r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[0]-680876936|0)<<7|n>>>25)+r|0)&r|~n&o)+t[1]-389564586|0)<<12|i>>>20)+n|0)&n|~i&r)+t[2]+606105819|0)<<17|o>>>15)+i|0)&i|~o&n)+t[3]-1044525330|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[4]-176418897|0)<<7|n>>>25)+r|0)&r|~n&o)+t[5]+1200080426|0)<<12|i>>>20)+n|0)&n|~i&r)+t[6]-1473231341|0)<<17|o>>>15)+i|0)&i|~o&n)+t[7]-45705983|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[8]+1770035416|0)<<7|n>>>25)+r|0)&r|~n&o)+t[9]-1958414417|0)<<12|i>>>20)+n|0)&n|~i&r)+t[10]-42063|0)<<17|o>>>15)+i|0)&i|~o&n)+t[11]-1990404162|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[12]+1804603682|0)<<7|n>>>25)+r|0)&r|~n&o)+t[13]-40341101|0)<<12|i>>>20)+n|0)&n|~i&r)+t[14]-1502002290|0)<<17|o>>>15)+i|0)&i|~o&n)+t[15]+1236535329|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[1]-165796510|0)<<5|n>>>27)+r|0)&o|r&~o)+t[6]-1069501632|0)<<9|i>>>23)+n|0)&r|n&~r)+t[11]+643717713|0)<<14|o>>>18)+i|0)&n|i&~n)+t[0]-373897302|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[5]-701558691|0)<<5|n>>>27)+r|0)&o|r&~o)+t[10]+38016083|0)<<9|i>>>23)+n|0)&r|n&~r)+t[15]-660478335|0)<<14|o>>>18)+i|0)&n|i&~n)+t[4]-405537848|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[9]+568446438|0)<<5|n>>>27)+r|0)&o|r&~o)+t[14]-1019803690|0)<<9|i>>>23)+n|0)&r|n&~r)+t[3]-187363961|0)<<14|o>>>18)+i|0)&n|i&~n)+t[8]+1163531501|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[13]-1444681467|0)<<5|n>>>27)+r|0)&o|r&~o)+t[2]-51403784|0)<<9|i>>>23)+n|0)&r|n&~r)+t[7]+1735328473|0)<<14|o>>>18)+i|0)&n|i&~n)+t[12]-1926607734|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[5]-378558|0)<<4|n>>>28)+r|0)^r^o)+t[8]-2022574463|0)<<11|i>>>21)+n|0)^n^r)+t[11]+1839030562|0)<<16|o>>>16)+i|0)^i^n)+t[14]-35309556|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[1]-1530992060|0)<<4|n>>>28)+r|0)^r^o)+t[4]+1272893353|0)<<11|i>>>21)+n|0)^n^r)+t[7]-155497632|0)<<16|o>>>16)+i|0)^i^n)+t[10]-1094730640|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[13]+681279174|0)<<4|n>>>28)+r|0)^r^o)+t[0]-358537222|0)<<11|i>>>21)+n|0)^n^r)+t[3]-722521979|0)<<16|o>>>16)+i|0)^i^n)+t[6]+76029189|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[9]-640364487|0)<<4|n>>>28)+r|0)^r^o)+t[12]-421815835|0)<<11|i>>>21)+n|0)^n^r)+t[15]+530742520|0)<<16|o>>>16)+i|0)^i^n)+t[2]-995338651|0)<<23|r>>>9)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[0]-198630844|0)<<6|n>>>26)+r|0)|~o))+t[7]+1126891415|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[14]-1416354905|0)<<15|o>>>17)+i|0)|~n))+t[5]-57434055|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[12]+1700485571|0)<<6|n>>>26)+r|0)|~o))+t[3]-1894986606|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[10]-1051523|0)<<15|o>>>17)+i|0)|~n))+t[1]-2054922799|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[8]+1873313359|0)<<6|n>>>26)+r|0)|~o))+t[15]-30611744|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[6]-1560198380|0)<<15|o>>>17)+i|0)|~n))+t[13]+1309151649|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[4]-145523070|0)<<6|n>>>26)+r|0)|~o))+t[11]-1120210379|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[2]+718787259|0)<<15|o>>>17)+i|0)|~n))+t[9]-343485551|0)<<21|r>>>11)+o|0,e[0]=n+e[0]|0,e[1]=r+e[1]|0,e[2]=o+e[2]|0,e[3]=i+e[3]|0}}),Object.defineProperty(e.prototype,"start",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._dataLength=0,this._bufferLength=0,this._state.set(e.stateIdentity),this}}),Object.defineProperty(e.prototype,"appendStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n,r,o=this._buffer8,i=this._buffer32,a=this._bufferLength;for(r=0;r<t.length;r+=1){if((n=t.charCodeAt(r))<128)o[a++]=n;else if(n<2048)o[a++]=192+(n>>>6),o[a++]=63&n|128;else if(n<55296||n>56319)o[a++]=224+(n>>>12),o[a++]=n>>>6&63|128,o[a++]=63&n|128;else{if((n=1024*(n-55296)+(t.charCodeAt(++r)-56320)+65536)>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");o[a++]=240+(n>>>18),o[a++]=n>>>12&63|128,o[a++]=n>>>6&63|128,o[a++]=63&n|128}a>=64&&(this._dataLength+=64,e._md5cycle(this._state,i),a-=64,i[0]=i[16])}return this._bufferLength=a,this}}),Object.defineProperty(e.prototype,"appendAsciiStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=this._buffer8,o=this._buffer32,i=this._bufferLength,a=0;;){for(n=Math.min(t.length-a,64-i);n--;)r[i++]=t.charCodeAt(a++);if(i<64)break;this._dataLength+=64,e._md5cycle(this._state,o),i=0}return this._bufferLength=i,this}}),Object.defineProperty(e.prototype,"appendByteArray",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=this._buffer8,o=this._buffer32,i=this._bufferLength,a=0;;){for(n=Math.min(t.length-a,64-i);n--;)r[i++]=t[a++];if(i<64)break;this._dataLength+=64,e._md5cycle(this._state,o),i=0}return this._bufferLength=i,this}}),Object.defineProperty(e.prototype,"getState",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[e[0],e[1],e[2],e[3]]}}}),Object.defineProperty(e.prototype,"setState",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,n=e.buffer,r=e.state,o=this._state;for(this._dataLength=e.length,this._bufferLength=e.buflen,o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],t=0;t<n.length;t+=1)this._buffer8[t]=n.charCodeAt(t)}}),Object.defineProperty(e.prototype,"end",{enumerable:!1,configurable:!0,writable:!0,value:function(t){void 0===t&&(t=!1);var n=this._bufferLength,r=this._buffer8,o=this._buffer32,i=1+(n>>2);this._dataLength+=n;var a=8*this._dataLength;if(r[n]=128,r[n+1]=r[n+2]=r[n+3]=0,o.set(e.buffer32Identity.subarray(i),i),n>55&&(e._md5cycle(this._state,o),o.set(e.buffer32Identity)),a<=4294967295)o[14]=a;else{var c=a.toString(16).match(/(.*?)(.{0,8})$/);if(null===c)return t?b:"";var u=parseInt(c[2],16),l=parseInt(c[1],16)||0;o[14]=u,o[15]=l}return e._md5cycle(this._state,o),t?this._state:e._hex(this._state)}}),Object.defineProperty(e,"selfTested",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"stateIdentity",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array([1732584193,-271733879,-1732584194,271733878])}),Object.defineProperty(e,"buffer32Identity",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}),Object.defineProperty(e,"hexChars",{enumerable:!0,configurable:!0,writable:!0,value:"0123456789abcdef"}),Object.defineProperty(e,"hexOut",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"onePassHasher",{enumerable:!0,configurable:!0,writable:!0,value:new e}),e}(),T=window.requestIdleCallback||window.requestAnimationFrame||function(e){return setTimeout(e,17)};function _(e,t,n){void 0===t&&(t=150),void 0===n&&(n=!1);var r=null;return function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=this,c=n&&!r;r&&clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(a,o)}),t),c&&e.apply(a,o)}}function S(e,t){if(void 0===t&&(t=""),!e)return t;var n=e.parentElement,r=e.id,o=e.tagName.toLowerCase(),i=t?">".concat(t):"";return n&&n!==document.documentElement&&n!==document.body?r?"#".concat(r).concat(i):S(n,"".concat(o).concat(i)):"".concat(o).concat(i)}var E=function(){var e,t;if(null===(e=window.performance)||void 0===e?void 0:e.navigation)return performance.navigation.type;if(null===(t=window.performance)||void 0===t?void 0:t.getEntriesByType){var n=performance.getEntriesByType("navigation");if(n.length>0)return n[0].type}return 255},x=function(e){"prerendering"in document&&document.prerendering?function(e){"prerendering"in document&&document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()}((function(){return x(e)})):"complete"!==(null===document||void 0===document?void 0:document.readyState)?addEventListener("load",(function(){return x(e)}),!0):setTimeout(e)};function k(e){return"number"!=typeof e||!isFinite(e)||e<0?null:Math.round(100*e)/100}var A=Array(32);function L(e){return function(){for(var t=0;t<2*e;t++)A[t]=Math.floor(16*Math.random())+48,A[t]>=58&&(A[t]+=39);return String.fromCharCode.apply(null,A.slice(0,2*e))}}function M(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():L(16)()}var O=function(e){return e instanceof ErrorEvent?"Script error."===e.message?"cors":"js":"resource"},P=function(e){return w.hashStr(e)};var I,C={view:"#3b82f6",click:"#06b6d4",expose:"#8b5cf6",enter:"#10b981",leave:"#f59e0b",stay:"#84cc16",cart:"#ec4899",buy:"#ef4444",pay:"#dc2626",default:"#6b7280"},j={view:"👁️",click:"👆",expose:"✨",enter:"🚪",leave:"👋",stay:"⏱️",cart:"🛒",buy:"💰",pay:"💳",default:"📊"},R={common:"#3b82f6",behavior:"#10b981",performance:"#f59e0b",error:"#ef4444",custom:"#8b5cf6",default:"#6b7280"},q=function(e,t){t.forEach((function(t,n){var r=t.event_type||"unknown",o=t.data_type||"common",i=function(e){return C[e]||C.default}(r),a=function(e){return R[e]||R.default}(o),c=function(e){return j[e]||j.default}(r),u=t.event_detail;if("string"==typeof u)try{u=JSON.parse(u)}catch(e){}console.groupCollapsed("%c".concat(c," [TM-").concat(e,"] %c").concat(o.toUpperCase(),"%c → %c").concat(r.toUpperCase(),"%c #").concat(n+1),"color: #6b7280; font-weight: bold;","color: ".concat(a,"; font-weight: bold; background: ").concat(a,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280;","color: ".concat(i,"; font-weight: bold; background: ").concat(i,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280; font-weight: normal;");var s=l(l({},t),{event_detail:u});console.log("%c"+JSON.stringify(s,null,2),"color: #6b7280; font-family: monospace; font-size: 11px; line-height: 1.5;"),console.groupEnd()})),console.log("%c✅ [TM] 本次通过 ".concat(e," 上报 ").concat(t.length," 条埋点数据"),"color: #10b981; font-weight: bold; font-size: 12px; padding: 4px 8px; background: #10b98120; border-radius: 4px; border-left: 3px solid #10b981;")},N=void 0,U="TRACK_MONITOR_DATA",B="MONITOR_REAL_TIME_DATA",D="TRACK_MONITOR_USER",z="tengence_device_id",H="tengence_register_properties",F="TRACK_MONITOR_LOGGER",K="tengence_tracking_enabled",J=2e3,W="tengence_access_token",X=null,Q=null,G=function(e){return(t=e,n={},r=null==N?void 0:N.requestTimeout,o={"Content-Type":"application/json"},i=function(){return m({method:"POST",url:t,data:JSON.stringify(n),headers:o,withCredentials:!0,timeoutMs:r})},"function"!=typeof fetch?i():y(t,{method:"POST",credentials:"include",headers:o,body:JSON.stringify(n)},r).then((function(e){if(!e.ok){var t=new Error("[TM]: Request failed with status ".concat(e.status));throw t.status=e.status,t}return e.json()})).catch((function(e){if(e&&e.status)throw e;return i()}))).then((function(e){var t=e&&e.data,n=t&&t.accessToken,r=t&&t.accessExpAt;if(!n||"number"!=typeof r)throw new Error("[TM]: authUrl 响应缺少 accessToken/accessExpAt");return function(e,t){X={token:e,expAt:t};try{localStorage.setItem(W,JSON.stringify({token:e,expAt:t}))}catch(e){}}(n,r),n}));var t,n,r,o,i},$=function(e){var t,n=function(){if(X)return X;try{var e=localStorage.getItem(W);if(!e)return null;var t=JSON.parse(e);if(t&&"string"==typeof t.token&&t.token&&"number"==typeof t.expAt)return X={token:t.token,expAt:t.expAt}}catch(e){}return null}();return(t=n)&&t.token.length>0&&t.expAt-6e4>Date.now()?Promise.resolve(n.token):(Q||(Q=G(e).catch((function(e){throw e})).finally((function(){Q=null}))),Q)},V={timer:null,promise:null},Y={timer:null,promise:null},Z=function(e){var t=JSON.stringify(e);return(new TextEncoder).encode(t).length/1024},ee=function(){try{var e=localStorage.getItem(H);return e?JSON.parse(e):{}}catch(e){return console.error("[TM]: get register properties fail: ",e),{}}},te=function(e){try{localStorage.setItem(H,JSON.stringify(e))}catch(e){console.error("[TM]: save register properties fail: ",e)}},ne=function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){var t=l(l({},ee()),e),n=Object.keys(t);if(n.length>50){var r={};return n.slice(0,50).forEach((function(e){r[e]=t[e]})),console.warn("[TM]: register properties exceed max ".concat(50," keys, extra keys dropped")),void te(r)}te(t)}else console.error("[TM]: registerGlobalProperties props must be a plain object")},re=function(e){var t=document.cookie.match(new RegExp("(?:^|;\\s*)"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},oe=function(e){document.cookie="".concat(z,"=").concat(encodeURIComponent(e),"; Max-Age=63072000; Path=/")},ie=function(){try{var e=localStorage.getItem(z);if(e)return re(z)||oe(e),e;var t=re(z);if(t){try{localStorage.setItem(z,t)}catch(e){}return t}e=M();try{localStorage.setItem(z,e)}catch(e){}return oe(e),e}catch(e){return void console.error("[TM]: get or create device id fail: ",e)}},ae="tengence_session_id",ce=function(){try{var e=sessionStorage.getItem(ae),t=e?JSON.parse(e):null,n=Date.now();return!t||!t.id||n-t.lastActiveAt>18e5?(t={id:M(),lastActiveAt:n},sessionStorage.setItem(ae,JSON.stringify(t))):(t.lastActiveAt=n,sessionStorage.setItem(ae,JSON.stringify(t))),t.id}catch(e){return}},ue=function(e,t){var n,r;try{var o=new URL(e,location.href);if(!o.searchParams.toString())return e;if(t&&t.length){var i=[];try{for(var a=f(t),c=a.next();!c.done;c=a.next()){var u=c.value,l=o.searchParams.get(u);null!==l&&i.push("".concat(u,"=").concat(encodeURIComponent(l)))}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}o.search=i.length?"?".concat(i.join("&")):""}else o.search="";return o.toString()}catch(t){return e}},le=function(e,t,n){var r,o;if("string"==typeof e)return t>0&&e.length>t?e.slice(0,t)+"...[truncated]":e;if(Array.isArray(e))return e.map((function(e){return le(e,t,n)}));if(e&&"object"==typeof e){var i={};try{for(var a=f(Object.keys(e)),c=a.next();!c.done;c=a.next()){var u=c.value,l=e[u];"string"==typeof l&&/(^|_)url$|href|^referrer$/i.test(u)&&/^https?:\/\//i.test(l)?i[u]=ue(l,n):i[u]=le(l,t,n)}}catch(e){r={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}return i}return e},se=function(e){var t={page_url:location.href,hostname:window.location.hostname||window.location.host,os:window.navigator.platform,user_id:localStorage.getItem(D)||void 0,user_agent:window.navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,lib_version:"1.1.10",lib_type:"js",event_time:(new Date).getTime().toString(),timezone_offset:(new Date).getTimezoneOffset().toString()},n=null==N?void 0:N.sanitize;return l(l({session_id:e.session_id||((null==N?void 0:N.enableAutoSessionId)?ce():void 0),request_id:e.request_id,event_id:e.event_id||M(),spm:e.spm,data_type:e.data_type||"behavior",event_type:e.event_type,event_detail:"string"==typeof e.event_detail?e.event_detail:JSON.stringify(n&&n.maxTextLength>0?le(e.event_detail,n.maxTextLength,n.preserveQueryKeys):e.event_detail)},t),{page_url:n&&n.stripQuery?ue(t.page_url,n.preserveQueryKeys):t.page_url,device_id:ie(),register_properties:JSON.stringify(ee()),platform:I})},de=function(){try{return"true"===localStorage.getItem(F)}catch(e){return!1}},fe=function(e,t,n,r,o){return void 0===e?t:"number"!=typeof e||Number.isNaN(e)||e<n||e>r?(console.warn("[TM]: 配置 ".concat(o,"=").concat(e," 非法,回退默认值 ").concat(t)),t):e},ve=function(e,t){var n;try{null===(n=null==N?void 0:N.onDrop)||void 0===n||n.call(N,e,t)}catch(e){}},pe=function(e,t,n){var r;(null==N?void 0:N.isLogger)&&console.error("[TM]: ".concat(t));try{null===(r=null==N?void 0:N.onError)||void 0===r||r.call(N,{code:e,message:t,context:n})}catch(e){}},he=function(){try{var e=localStorage.getItem(K);return null===e||"1"===e}catch(e){return!0}},me=function(e){var t,n,r,o,i,a,c,u,l,v,p=e.apiKey,m=void 0,y=/Android|iPhone|iPad|iPod|Mobile/i.test(window.navigator.userAgent);I=e.platform||(y?"h5":"web");var b=(N={pushUrl:e.pushUrl||"https://api.tengence.com/v1/push/event",authUrl:e.authUrl,realTimeUrl:e.realTimeUrl,cacheNumber:fe(e.cacheNumber,100,1,1/0,"cacheNumber"),reportInterval:fe(e.reportInterval,5e3,100,1/0,"reportInterval"),realTimeReportInterval:fe(e.realTimeReportInterval,200,100,1/0,"realTimeReportInterval"),maxCacheSize:fe(e.maxCacheSize,57344,1024,1/0,"maxCacheSize"),maxRetries:fe(e.maxRetries,10,0,1/0,"maxRetries"),isLogger:null!==(t=e.isLogger)&&void 0!==t?t:de(),errorTraceRate:fe(e.errorTraceRate,.5,0,1,"errorTraceRate"),traceBehavior:null===(n=e.traceBehavior)||void 0===n||n,tracePerformance:null===(r=e.tracePerformance)||void 0===r||r,traceError:null===(o=e.traceError)||void 0===o||o,sanitize:!1===e.sanitize?{stripQuery:!1,maxTextLength:0,preserveQueryKeys:[]}:{stripQuery:null!==(a=null===(i=e.sanitize)||void 0===i?void 0:i.stripQuery)&&void 0!==a&&a,maxTextLength:fe(null===(c=e.sanitize)||void 0===c?void 0:c.maxTextLength,0,0,1/0,"sanitize.maxTextLength"),preserveQueryKeys:(null===(u=e.sanitize)||void 0===u?void 0:u.preserveQueryKeys)||[]},enableAutoSessionId:null!==(l=e.enableAutoSessionId)&&void 0!==l&&l,enableTracking:null!==(v=e.enableTracking)&&void 0!==v?v:he(),requestTimeout:fe(e.requestTimeout,1e4,1e3,6e4,"requestTimeout"),beforeSend:e.beforeSend,onDrop:e.onDrop,onError:e.onError}).pushUrl,w=N.authUrl,_=N.realTimeUrl,S=N.cacheNumber,E=N.reportInterval,x=N.realTimeReportInterval,k=N.maxCacheSize,A=N.maxRetries;p||w||(console.error("[TM]: 未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"),pe("init_missing_credential","未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"));var L={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},M={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},O=function(e){try{localStorage.setItem(D,e)}catch(e){console.error("[TM]: monitor bind user fail: ",e)}},P=function(){localStorage.removeItem(D)},C=function(e){var t=[];try{t=JSON.parse(localStorage.getItem(e)||"[]")}catch(t){pe("queue_read_failed","读取本地缓存队列失败,按空队列处理",{key:e,error:t})}return t},j=function(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch(t){pe("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),队列清空处理",{key:e,error:t});try{localStorage.setItem(e,"[]")}catch(t){pe("localstorage_unavailable","localStorage 不可用,本次数据仅保留内存",{key:e,error:t})}}},R=function(e){m=e},z=function(e,t,n){return void 0===n&&(n=!1),s(void 0,void 0,void 0,(function(){var r,o,i,a,c,u,l;return d(this,(function(f){switch(f.label){case 0:r=e&&_?_:b,f.label=1;case 1:return f.trys.push([1,6,,7]),(i=p||m)?[3,5]:w?[4,$(w)]:[3,3];case 2:return a=f.sent(),[3,4];case 3:a=void 0,f.label=4;case 4:i=a,f.label=5;case 5:return o=i,[3,7];case 6:throw c=f.sent(),pe("token_fetch_failed","从 authUrl 获取 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:w,error:c}),c;case 7:if(!o)throw pe("init_missing_credential","未配置 apiKey/authUrl 且未注入 accessToken,本次数据未上报(保留缓存队列待重试)"),new Error("[TM]: credential missing, skip report");return(null==N?void 0:N.isLogger)&&q(e?"RealTimeFetch":"Fetch",t),u=(null==N?void 0:N.beforeSend)?N.beforeSend(t):t,l=n||null==N?void 0:N.requestTimeout,[2,g(r,{data:u},o,l).catch((function(e){return s(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(o){switch(o.label){case 0:return t=null==e?void 0:e.status,e instanceof h||401===t||403===t?p||m||!w?[3,2]:(function(){X=null;try{localStorage.removeItem(W)}catch(e){}}(),[4,$(w).catch((function(){}))]):[3,2];case 1:if(n=o.sent())return[2,g(r,{data:u},n,l)];pe("token_invalid","上报 401/403 且刷新 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:w}),o.label=2;case 2:throw e}}))}))}))]}}))}))},H=function(e,t){var n=new Set(t.filter((function(e){return!!e})));if(n.size){var r=C(e);if(r.length){var o=r.filter((function(e){return e.event_id&&!n.has(e.event_id)}));o.length!==r.length&&j(e,o)}}},Q=function(e,t,n){void 0===n&&(n=0);var r=(t?x:E)*Math.pow(2,e)*(.8+.4*Math.random()),o=Math.min(r,6e4);return Math.max(o,n)},G=function(e,t){if(Z(t)>=64)return ve([t],"item_too_large"),void console.warn("[TM]: 单条事件超过体积上限(".concat(64,"KB),丢弃该条"));var n=[t].concat(C(e));if(n.length>J){var r=n.length-J,o=n.slice(n.length-r,n.length);n=n.slice(0,J),ve(o,"queue_overflow"),console.warn("[TM]: 队列超过上限(".concat(J,"条),丢弃最旧 ").concat(r," 条"))}j(e,n);var i=Z(n);ee(e,i>=k)},ee=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),null==N?void 0:N.enableTracking){var r=C(e);if(r.length){var o=function(e){return e===B}(e),i=o?Y:V,a=function(e){return e?M:L}(o);if(a.halveBatch&&r.length>1&&(r=r.slice(0,Math.ceil(r.length/2))),!a.retryExhausted)if(Date.now()<a.nextRetryAt)null===i.timer&&(i.timer=setTimeout((function(){i.timer=null,ee(e)}),a.nextRetryAt-Date.now()));else if(0!==a.retryCount||(r.length>=S||t)){if(null!==i.timer&&(clearTimeout(i.timer),i.timer=null),i.promise)return;i.promise=function(e,t,n,r,o){return void 0===o&&(o=!1),s(void 0,void 0,void 0,(function(){var i,a,c,u,l,s,v,p,h,m,y,g,b,w,T,_,S,E;return d(this,(function(x){switch(x.label){case 0:i=[],a=[],c=0;try{for(u=f(t),l=u.next();!l.done;l=u.next())s=l.value,v=1024*Z(s),a.length&&c+v>65536&&(i.push(a),a=[],c=0),a.push(s),c+=v}catch(e){b={error:e}}finally{try{l&&!l.done&&(w=u.return)&&w.call(u)}finally{if(b)throw b.error}}a.length&&i.push(a),p=function(t){var r,i,a,c,u;return d(this,(function(l){switch(l.label){case 0:return[4,z(n,t,o)];case 1:return r=l.sent(),i=null===(S=null==r?void 0:r.data)||void 0===S?void 0:S.accepted_ids,a=null===(E=null==r?void 0:r.data)||void 0===E?void 0:E.rejected_ids,Array.isArray(i)?(H(e,i),Array.isArray(a)&&a.length&&(c=new Set(a),H(e,a),u=t.filter((function(e){return e.event_id&&c.has(e.event_id)})),u.length&&ve(u,"server_rejected"),console.warn("[TM]: 服务端校验拒绝 ".concat(a.length," 条(永久性拒绝),已从队列移除并通知 onDrop")))):(H(e,t.map((function(e){return e.event_id}))),(null==N?void 0:N.isLogger)&&console.warn("[TM]: 响应缺少 accepted_ids,按整批成功清理")),[2]}}))},x.label=1;case 1:x.trys.push([1,6,7,8]),h=f(i),m=h.next(),x.label=2;case 2:return m.done?[3,5]:(y=m.value,[5,p(y)]);case 3:x.sent(),x.label=4;case 4:return m=h.next(),[3,2];case 5:return[3,8];case 6:return g=x.sent(),T={error:g},[3,8];case 7:try{m&&!m.done&&(_=h.return)&&_.call(h)}finally{if(T)throw T.error}return[7];case 8:return r.retryCount=0,r.nextRetryAt=0,r.halveBatch=!1,[2]}}))}))}(e,r,o,a,n).catch((function(e){!function(e,t,n,r,o){(null==t?void 0:t.timeout)&&pe("request_timeout","上报请求超时,数据保留队列按退避重试",{url:n&&_?_:b,timeoutMs:null==N?void 0:N.requestTimeout});var i=null==t?void 0:t.status;if(413!==i){if(i&&i>=400&&i<500&&401!==i&&403!==i&&408!==i&&410!==i&&429!==i)return r.retryExhausted=!0,ve(o,"rejected_4xx"),void console.warn("[TM]: 批次提交被服务端拒绝(HTTP ".concat(i,"),数据保留在队列并暂停自动重试"));if(r.retryCount++,r.retryCount>A)return r.retryExhausted=!0,ve(o,"retries_exhausted"),void console.warn("[TM]: 重试次数已达上限(".concat(A,"),数据保留在队列(不丢弃),待下次会话或手动触发重试"));var a=429===i&&(null==t?void 0:t.retryAfter)||0;r.nextRetryAt=Date.now()+Q(r.retryCount,n,a),console.error("[TM]: send report fail, retryCount: ".concat(r.retryCount,", next retry after ").concat(Math.round((r.nextRetryAt-Date.now())/1e3),"s"))}else o.length>1?(r.halveBatch=!0,r.retryCount++,r.nextRetryAt=Date.now()+Q(r.retryCount,n,0),console.warn("[TM]: 批次过大(HTTP 413),降容半批重发(本批 ".concat(o.length," 条)"))):(r.retryExhausted=!0,ve(o,"rejected_4xx"),console.warn("[TM]: 单条事件仍超限(HTTP 413),数据保留在队列"))}(0,e,o,a,r)})).finally((function(){i.timer=null,i.promise=null,ee(e)}))}else if(null===i.timer){var c=o?x:E;i.timer=setTimeout((function(){i.timer=null,ee(e,!0)}),c)}}}},te=function(e){if(null==N?void 0:N.enableTracking)if(e&&"object"==typeof e){var t=!0===e.track_real_time,n=se(e);try{G(t&&_?B:U,n)}catch(e){pe("enqueue_failed","事件入队失败",{error:e})}}else console.error("[TM]: report data must be an object");else(null==N?void 0:N.isLogger)&&console.warn("[TM]: 用户已选择退出采集(enableTracking=false),本事件忽略")},re=function(){N.isLogger=!0;try{localStorage.setItem(F,"true")}catch(e){console.error("[TM]: enable logger fail:",e)}},oe=function(){N.isLogger=!1;try{localStorage.setItem(F,"false")}catch(e){console.error("[TM]: disable logger fail:",e)}};T((function(){ee(U,!0),ee(B,!0)}));var ie=function(e){if("boolean"==typeof e)if(N.enableTracking=e,function(e){try{localStorage.setItem(K,e?"1":"0")}catch(e){}}(e),e)(null==N?void 0:N.isLogger)&&console.warn("[TM]: 恢复采集");else{try{localStorage.setItem(U,"[]"),localStorage.setItem(B,"[]")}catch(e){pe("queue_write_failed","退出采集时清空本地队列失败",{error:e})}(null==N?void 0:N.isLogger)&&console.warn("[TM]: 用户已选择退出采集,已清空未上报队列")}return!0===(null==N?void 0:N.enableTracking)};return window.trackMonitor={report:te,bindUser:O,unBindUser:P,enableLogger:re,disableLogger:oe,setToken:R,registerGlobalProperties:ne,enableTracking:ie},{client:{report:te,bindUser:O,unBindUser:P,enableLogger:re,disableLogger:oe,setToken:R,registerGlobalProperties:ne,enableTracking:ie},beforeClose:function(){var e=function(){ee(U,!0,!0),ee(B,!0,!0)};window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&e()})),window.addEventListener("online",e)}}},ye=L(16)(),ge=function(e){var t=history[e];return function(){var n=t.apply(this,arguments),r=new Event(e);return window.dispatchEvent(r),n}},be=function(e){window.addEventListener("replaceState",(function(t){return e(t)}),!0),window.addEventListener("pushState",(function(t){return e(t)}),!0)},we=function(e){window.addEventListener("popstate",(function(t){return e(t)}),!0)},Te=function(){var e=function(e,t){void 0===t&&(t=300);var n=0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=Date.now();i-n>=t&&(n=i,e.apply(this,r))}}((function(e){var t,n=function(e){if(e){return["A","INPUT","TEXTAREA","BUTTON"].includes(e.tagName)||e.hasAttribute("track-click")?e:e.closest("a, button, [track-click]")||void 0}}(e.target);if(n){var r={element_id:n.id,element_content:(null===(t=n.textContent)||void 0===t?void 0:t.trim())||null,element_class_name:n.className||null,element_name:n.getAttribute("name")||null,element_type:n.tagName.toLowerCase(),element_path:S(n),scroll_width:document.documentElement.scrollWidth,scroll_height:document.documentElement.scrollHeight,pageX:e.pageX,pageY:e.pageY,ratio:window.devicePixelRatio||1};window.trackMonitor.report({data_type:"common",event_type:"click",event_detail:r})}}));window.addEventListener("click",e,!0)},_e=function(){var e,t,n;history.pushState=ge("pushState"),history.replaceState=ge("replaceState"),e="",n=_(t=function(){var t=window.location.href;if(t!==e){var n=window.location,r={host:n.host,hostname:n.hostname,href:n.href,protocol:n.protocol,origin:n.origin,port:n.port,pathname:n.pathname,search:n.search,hash:n.hash,title:document.title,language:navigator.language.substring(0,2),user_agent:navigator.userAgent,win_screen:"".concat(window.screen.width,"x").concat(window.screen.height),doc_screen:"".concat(document.documentElement.clientWidth,"x").concat(document.documentElement.clientHeight),referrer:document.referrer,type:E()};window.trackMonitor.report({data_type:"common",event_type:"page_view",event_detail:r}),e=t}},200),t(),we((function(){n()})),be((function(){n()})),function(){var e=document.referrer,t=window.location.href,n=Date.now(),r=!0,o=function(r){if(void 0===r&&(r=!1),window.location.href!==t||r){var o=Date.now()-n;o>200&&window.trackMonitor.report({data_type:"common",event_type:"page_leave",event_detail:{url:t,referrer:e,duration:o}}),n=Date.now(),e=t,t=window.location.href}},i=_(o);o(),we((function(){i()})),be((function(){i()})),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?r&&(r=!1,o(!0)):(r=!0,n=Date.now())})),window.addEventListener("beforeunload",(function(){r&&(r=!1,o(!0))}),!0)}(),Te()},Se=null,Ee=null,xe="track-expose",ke="track-view",Ae=function(e){try{Ee=new WeakMap}catch(e){console.error("[TM]: create WeakMap fail: ",e)}var t=function(e,t){void 0===t&&(t=!1);var r=null==Ee?void 0:Ee.get(e);if(!r||t){r&&(r.viewTimer&&clearTimeout(r.viewTimer),r.exposeTimer&&clearTimeout(r.exposeTimer));var o=e.dataset.durationView||500,i=e.dataset.durationExpose||500;null==Ee||Ee.set(e,{duration_view:o,duration_expose:i,viewTimer:null,exposeTimer:null}),null==Se||Se.observe(e),t&&function(e){if(!(e instanceof Element))return!1;if(!function e(t){if(!t)return!0;var n=window.getComputedStyle(t);return"none"!==n.display&&"hidden"!==n.visibility&&0!==parseFloat(n.opacity)&&e(t.parentElement)}(e))return!1;var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}(e)&&n(e)}},n=function(t){var n,o=null==Ee?void 0:Ee.get(t);if(o){var i=t.dataset.eventDetail,a=null!==(n=t.dataset.traceid)&&void 0!==n?n:void 0,c=t.dataset.spm,u=t.hasAttribute("track-real-time"),l=t.hasAttribute(ke),s=t.hasAttribute(xe);l&&s?o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view_expose",event_detail:i,track_real_time:u}),t.removeAttribute(ke),o.exposeTimer=null}),parseInt(o.duration_expose,10)):(l&&(o.viewTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view",event_detail:i,track_real_time:u}),t.removeAttribute(ke),s&&o.exposeTimer||r(t),o.viewTimer=null}),parseInt(o.duration_view,10))),s&&(o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"expose",event_detail:i,track_real_time:u}),o.exposeTimer=null}),parseInt(o.duration_expose,10))))}},r=function(e){var t=null==Ee?void 0:Ee.get(e);t&&(null==Se||Se.unobserve(e),t.viewTimer&&clearTimeout(t.viewTimer),t.exposeTimer&&clearTimeout(t.exposeTimer),null==Ee||Ee.delete(e))},o=function(e){e.forEach((function(e){var t=e.target,o=null==Ee?void 0:Ee.get(t);o&&(o.viewTimer&&(clearTimeout(o.viewTimer),o.viewTimer=null),o.exposeTimer&&(clearTimeout(o.exposeTimer),o.exposeTimer=null),e.isIntersecting&&(n(t),t.hasAttribute(ke)||t.hasAttribute(xe)||r(t)))}))};Se=function(){var e=null;try{e=new IntersectionObserver(o,{root:null,threshold:.5})}catch(e){console.error("[TM]: create IntersectionObserver fail: ",e)}return e}(),new Set(p(p([],v(document.querySelectorAll("[".concat(xe,"]"))),!1),v(document.querySelectorAll("[".concat(ke,"]"))),!1)).forEach((function(e){return t(e)})),new MutationObserver((function(e){e.forEach((function(e){if("attributes"===e.type&&e.target instanceof HTMLElement){var n=e.target,o=e.attributeName;n.hasAttribute(xe)||n.hasAttribute(ke)?["data-event-detail","data-traceid","data-spm","data-duration-view","data-duration-expose"].includes(o)?t(n,!0):o!==xe&&o!==ke||t(n,!1):r(n)}else"childList"===e.type&&(e.addedNodes.forEach((function(e){e instanceof HTMLElement&&(e.hasAttribute(xe)||e.hasAttribute(ke)?t(e):new Set(p(p([],v(e.querySelectorAll("[".concat(xe,"]"))),!1),v(e.querySelectorAll("[".concat(ke,"]"))),!1)).forEach((function(e){return t(e)})))})),e.removedNodes.forEach((function(e){e instanceof HTMLElement&&((null==Ee?void 0:Ee.get(e))?r(e):new Set(p(p([],v(e.querySelectorAll("[".concat(xe,"]"))),!1),v(e.querySelectorAll("[".concat(ke,"]"))),!1)).forEach((function(e){return r(e)})))})))}))})).observe(document.body,{attributes:!0,childList:!0,subtree:!0})},Le=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;function Me(e){var t=e.match(Le);return t?{filename:t[2],functionName:t[1]||"",lineno:parseInt(t[3],10)||void 0,colno:parseInt(t[4],10)||void 0}:{}}function Oe(e){var t,n,r,o,i;try{var a=e.stack;if(!a)return[];var c=[];try{for(var u=f(a.split("\n").slice(1)),l=u.next();!l.done;l=u.next()){var s=Me(l.value);!s||(null===(r=s.filename)||void 0===r?void 0:r.includes("chrome-extension://"))||(null===(o=s.filename)||void 0===o?void 0:o.includes("node_modules"))||(null===(i=s.filename)||void 0===i?void 0:i.includes("<anonymous>"))||c.push(s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return c.slice(0,10)}catch(e){return[]}}var Pe=new Set,Ie=function(e,t){var n,r;if((r=null!==(n=null==N?void 0:N.errorTraceRate)&&void 0!==n?n:.5)<0||r>1?(console.warn("[TM]: probability should be between 0 and 1"),0):Math.random()<r){if(window.trackMonitor.report(t),Pe.size>=1e3){var o=Pe.values().next().value;void 0!==o&&Pe.delete(o)}Pe.add(e)}},Ce=function(){window.addEventListener("error",(function(e){!function(e){var t;if("js"===O(e)&&!function(e){var t,n=(null===(t=e.error)||void 0===t?void 0:t.stack)||"";return/chrome-extension:\/\//.test(n)}(e)){var n=P("js-".concat(e.message,"-").concat(e.filename));if(!Pe.has(n)){var r=Oe(e.error),o={traceId:ye,msg:e.message,target:r[0]?"".concat(null===(t=r[0].filename)||void 0===t?void 0:t.split("?")[0],":").concat(r[0].lineno,":").concat(r[0].colno):"",stack:r,errorUuid:n,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno}};Ie(n,{data_type:"error",event_type:"js",event_detail:o})}}}(e)}),!0)},je=function(){window.addEventListener("error",(function(e){!function(e){var t;if("resource"===O(e)){var n=e.target,r=P("resource-".concat(n.src,"-").concat(n.tagName));if(!Pe.has(r)){var o={traceId:ye,msg:"加载".concat(n.tagName,"失败"),target:null===(t=n.src)||void 0===t?void 0:t.split("?")[0],errorUuid:r,meta:{url:n.src,html:n.outerHTML,tagName:n.tagName}};Ie(r,{data_type:"error",event_type:"resource",event_detail:o})}}}(e)}),!0)},Re=function(){window.addEventListener("unhandledrejection",(function(e){return function(e){var t,n=(null===(t=e.reason)||void 0===t?void 0:t.message)||e.reason,r=P("".concat("unhandledrejection","-").concat(n));if(!Pe.has(r)){var o={traceId:ye,msg:n,stack:Oe(e.reason),errorUuid:r};Ie(r,{data_type:"error",event_type:"unhandledrejection",event_detail:o})}}(e)}),!0)},qe=function(){var e=function(e,t,n){if(t){var r=P("http-".concat(t,"-").concat(e.url,"-").concat(n));if(Pe.has(r))return;var o={traceId:ye,errorType:t,msg:n,target:e.url.split("?")[0],errorUuid:r,request:e};Ie(r,{data_type:"error",event_type:"http",event_detail:o})}else if(e.status>=400){var i=e.statusText;r=P("http-".concat(t="http_error","-").concat(e.url,"-").concat(i));if(Pe.has(r))return;o={traceId:ye,errorUuid:r,errorType:t,target:e.url.split("?")[0],msg:i,request:e};Ie(r,{data_type:"error",event_type:"http",event_detail:o})}};!function(e,t){if("XMLHttpRequest"in window&&"function"==typeof window.XMLHttpRequest){var n=window.XMLHttpRequest;window.oXMLHttpRequest||(window.oXMLHttpRequest=n),window.XMLHttpRequest=function(){var e=new n,r=e.open,o=e.send,i={};e.open=function(t,n,o,a,c){void 0===o&&(o=!0),i.method=t,i.url=n,r.call(e,t,n,o,a,c)},e.send=function(t){i.requestTime=(new Date).getTime(),o.call(e,t)};var a=function(n,r){var o=e.status,a=e.statusText,c=(new Date).getTime();i=l(l({},i),{status:o,statusText:a,responseTime:c,duration:c-i.requestTime}),"function"==typeof t&&t(i,n,r)};return e.addEventListener("loadend",(function(){return a()})),e.addEventListener("error",(function(){return a("net_error","ERR_NETWORK")})),e.addEventListener("abort",(function(){return a("cannel_request","ERR_CANCELED")})),e.addEventListener("timeout",(function(){return a("timeout","ERR_NETWORK")})),e}}}(0,e),function(e,t){if("fetch"in window&&"function"==typeof window.fetch){var n=window.fetch;window.oFetch||(window.oFetch=n),window.fetch=function(e,r){return s(void 0,void 0,void 0,(function(){var o;return d(this,(function(i){return(o={}).method=(null==r?void 0:r.method)||"",o.url=(e&&"string"!=typeof e?null==e?void 0:e.url:e)||"",o.requestTime=(new Date).getTime(),[2,n.call(window,e,r).then((function(e){return s(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return"function"==typeof t&&(n=e.clone(),r=(new Date).getTime(),o=l(l({},o),{status:n.status,statusText:n.statusText,responseTime:r,duration:r-o.requestTime}),t(o)),[2,e]}))}))})).catch((function(e){if("function"==typeof t){var n=(new Date).getTime();o=l(l({},o),{responseTime:n,duration:n-o.requestTime}),"AbortError"===e.name?t(o,"cannel_request","ERR_CANCELED"):t(o,"net_error","ERR_NETWORK")}return Promise.reject(e)}))]}))}))}}}(0,e)};var Ne=-1,Ue=function(e){addEventListener("pageshow",(function(t){t.persisted&&(Ne=t.timeStamp,e(t))}),!0)},Be=function(e,t,n,r){var o,i;return function(a){t.value>=0&&(a||r)&&(((i=t.value-(null!=o?o:0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t)))}},De=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},ze=function(){var e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},He=function(){var e,t=ze();return null!==(e=null==t?void 0:t.activationStart)&&void 0!==e?e:0},Fe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=ze(),r="navigate";return Ne>=0?r="back-forward-cache":n&&(document.prerendering||He()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:"v5-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},Ke=new WeakMap;function Je(e,t){return Ke.get(e)||Ke.set(e,new t),Ke.get(e)}var We,Xe=function(){return r((function e(){n(this,e),i(this,"t",void 0),i(this,"i",0),i(this,"o",[])}),[{key:"h",value:function(e){var t;if(!e.hadRecentInput){var n=this.o[0],r=this.o.at(-1);this.i&&n&&r&&e.startTime-r.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),null===(t=this.t)||void 0===t||t.call(this,e)}}}])}(),Qe=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e,buffered:!0},n)),r}}catch(e){}},Ge=function(e){var t=!1;return function(){t||(e(),t=!0)}},$e=-1,Ve=new Set,Ye=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},Ze=function(e){if("hidden"===document.visibilityState){if("visibilitychange"===e.type){var t,n=o(Ve);try{for(n.s();!(t=n.n()).done;){(0,t.value)()}}catch(e){n.e(e)}finally{n.f()}}isFinite($e)||($e="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",Ze,!0))}},et=function(){if($e<0){var e,t=He(),n=document.prerendering||null===(e=globalThis.performance.getEntriesByType("visibility-state").filter((function(e){return"hidden"===e.name&&e.startTime>t}))[0])||void 0===e?void 0:e.startTime;$e=null!=n?n:Ye(),addEventListener("visibilitychange",Ze,!0),addEventListener("prerenderingchange",Ze,!0),Ue((function(){setTimeout((function(){$e=Ye()}))}))}return{get firstHiddenTime(){return $e},onHidden:function(e){Ve.add(e)}}},tt=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},nt=[1800,3e3],rt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};tt((function(){var n,r=et(),i=Fe("FCP"),a=Qe("paint",(function(e){var t,c=o(e);try{for(c.s();!(t=c.n()).done;){var u=t.value;"first-contentful-paint"===u.name&&(a.disconnect(),u.startTime<r.firstHiddenTime&&(i.value=Math.max(u.startTime-He(),0),i.entries.push(u),n(!0)))}}catch(e){c.e(e)}finally{c.f()}}));a&&(n=Be(e,i,nt,t.reportAllChanges),Ue((function(r){i=Fe("FCP"),n=Be(e,i,nt,t.reportAllChanges),De((function(){i.value=performance.now()-r.timeStamp,n(!0)}))})))}))},ot=[.1,.25],it=0,at=1/0,ct=0,ut=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.interactionId&&(at=Math.min(at,r.interactionId),ct=Math.max(ct,r.interactionId),it=ct?(ct-at)/7+1:0)}}catch(e){n.e(e)}finally{n.f()}},lt=function(){var e;return We?it:null!==(e=performance.interactionCount)&&void 0!==e?e:0},st=0,dt=function(){return r((function e(){n(this,e),i(this,"u",[]),i(this,"l",new Map),i(this,"m",void 0),i(this,"p",void 0)}),[{key:"v",value:function(){st=lt(),this.u.length=0,this.l.clear()}},{key:"L",value:function(){var e=Math.min(this.u.length-1,Math.floor((lt()-st)/50));return this.u[e]}},{key:"h",value:function(e){var t;if(null!==(t=this.m)&&void 0!==t&&t.call(this,e),e.interactionId||"first-input"===e.entryType){var n=this.u.at(-1),r=this.l.get(e.interactionId);if(r||this.u.length<10||e.duration>n.P){var i;if(r?e.duration>r.P?(r.entries=[e],r.P=e.duration):e.duration===r.P&&e.startTime===r.entries[0].startTime&&r.entries.push(e):(r={id:e.interactionId,entries:[e],P:e.duration},this.l.set(r.id,r),this.u.push(r)),this.u.sort((function(e,t){return t.P-e.P})),this.u.length>10){var a,c=o(this.u.splice(10));try{for(c.s();!(a=c.n()).done;){var u=a.value;this.l.delete(u.id)}}catch(e){c.e(e)}finally{c.f()}}null===(i=this.p)||void 0===i||i.call(this,r)}}}}])}(),ft=function(e){var t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=Ge(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t((function(){e(),removeEventListener("visibilitychange",e,{capture:!0})})))},vt=[200,500],pt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype){var n=et();tt((function(){var r;"interactionCount"in performance||We||(We=Qe("event",ut,{type:"event",buffered:!0,durationThreshold:0}));var i,a=Fe("INP"),c=Je(t,dt),u=function(e){ft((function(){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;c.h(r)}}catch(e){n.e(e)}finally{n.f()}var u=c.L();u&&u.P!==a.value&&(a.value=u.P,a.entries=u.entries,i())}))},l=Qe("event",u,{durationThreshold:null!==(r=t.durationThreshold)&&void 0!==r?r:40});i=Be(e,a,vt,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden((function(){u(l.takeRecords()),i(!0)})),Ue((function(){c.v(),a=Fe("INP"),i=Be(e,a,vt,t.reportAllChanges)})))}))}},ht=function(){return r((function e(){n(this,e),i(this,"m",void 0)}),[{key:"h",value:function(e){var t;null===(t=this.m)||void 0===t||t.call(this,e)}}])}(),mt=[2500,4e3],yt=[800,1800],gt=function(e){document.prerendering?tt((function(){return gt(e)})):"complete"!==document.readyState?addEventListener("load",(function(){return gt(e)}),!0):setTimeout(e)};function bt(){var e={ttfb:null,lcp:null,fp:null,fcp:null,connectionRtt:null,ttfbRequestTime:null,inp:null,cls:null,dcl:null,loadTime:null};!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};tt((function(){var n,r=et(),i=Fe("LCP"),a=Je(t,ht),c=function(e){t.reportAllChanges||(e=e.slice(-1));var c,u=o(e);try{for(u.s();!(c=u.n()).done;){var l=c.value;a.h(l),l.startTime<r.firstHiddenTime&&(i.value=Math.max(l.startTime-He(),0),i.entries=[l],n())}}catch(e){u.e(e)}finally{u.f()}},u=Qe("largest-contentful-paint",c);if(u){n=Be(e,i,mt,t.reportAllChanges);for(var l=Ge((function(){c(u.takeRecords()),u.disconnect(),n(!0)})),s=function(e){e.isTrusted&&(ft(l),removeEventListener(e.type,s,{capture:!0}))},d=0,f=["keydown","click","visibilitychange"];d<f.length;d++)addEventListener(f[d],s,{capture:!0});Ue((function(r){i=Fe("LCP"),n=Be(e,i,mt,t.reportAllChanges),De((function(){i.value=performance.now()-r.timeStamp,n(!0)}))}))}}))}((function(t){e.lcp=k(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=et();rt(Ge((function(){var r,i=Fe("CLS",0),a=Je(t,Xe),c=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var c=t.value;a.h(c)}}catch(e){n.e(e)}finally{n.f()}a.i>i.value&&(i.value=a.i,i.entries=a.o,r())},u=Qe("layout-shift",c);u&&(r=Be(e,i,ot,t.reportAllChanges),n.onHidden((function(){c(u.takeRecords()),r(!0)})),Ue((function(){a.i=0,i=Fe("CLS",0),r=Be(e,i,ot,t.reportAllChanges),De((function(){return r()}))})),setTimeout(r))})))}((function(t){e.cls=Math.round(1e4*t.value)/1e4}),{reportAllChanges:!0}),pt((function(t){e.inp=k(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Fe("TTFB"),r=Be(e,n,yt,t.reportAllChanges);gt((function(){var o=ze();o&&(n.value=Math.max(o.responseStart-He(),0),n.entries=[o],r(!0),Ue((function(){n=Fe("TTFB",0),(r=Be(e,n,yt,t.reportAllChanges))(!0)})))}))}((function(t){e.ttfb=k(t.value)})),rt((function(t){e.fcp=k(t.value)}));var t=function(){!function(){try{performance.getEntriesByType("paint").forEach((function(t){"first-paint"===t.name&&(e.fp=k(t.startTime))}))}catch(e){console.warn("[TM]: Failed to collect FP:",e)}try{var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;t&&void 0!==t.rtt&&(e.connectionRtt=t.rtt)}catch(e){console.warn("[TM]: Failed to collect Connection RTT:",e)}try{if(o=performance.getEntriesByType("navigation")[0]){var n=o.responseStart,r=o.requestStart;n>0&&r>0&&r<=n&&(e.ttfbRequestTime=k(n-r))}}catch(e){console.warn("[TM]: Failed to collect TTFB Request Time:",e)}try{var o;if(o=performance.getEntriesByType("navigation")[0]){var i=o.domContentLoadedEventEnd,a=o.loadEventEnd,c=o.fetchStart;i>0&&c>0&&(e.dcl=k(i-c)),a>0&&c>0&&(e.loadTime=k(a-c))}}catch(e){console.warn("[TM]: Failed to collect DCL and Load Time:",e)}}(),window.trackMonitor.report({data_type:"performance",event_type:"metrics",event_detail:{traceId:ye,data:e}})},n=0,r=function(){var e=Date.now();e-n<3e4||(n=e,t())};window.addEventListener("beforeunload",t),window.addEventListener("pagehide",r),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&r()}))}var wt="__tengence_sdk";e.init=function(e){if("undefined"!=typeof window&&window.trackMonitor&&window.trackMonitor[wt])return console.warn("[TM]: init 已调用过,复用现有实例(如需重建请刷新页面)"),window.trackMonitor;var t=me(e),n=t.client,r=t.beforeClose;return Ae(n.report),!1!==e.traceBehavior&&_e(),!1!==e.traceError&&(Ce(),je(),Re(),qe()),!1!==e.tracePerformance&&x((function(){!function(){var e,t,n,r,o,i=window.performance||window.msPerformance;if(!i)return{dnsLookupTime:null,tcpConnectTime:null,ttfb:null,transferTime:null,domParseTime:null,domCompleteTime:null,loadEventTime:null,totalPageLoad:null};var a=i.getEntriesByType&&i.getEntriesByType("navigation")&&i.getEntriesByType("navigation")[0],c=null;if(a)c=a;else{var u=i.timing;u&&!(c={startTime:0,domainLookupStart:u.domainLookupStart,domainLookupEnd:u.domainLookupEnd,connectStart:u.connectStart,connectEnd:u.connectEnd,requestStart:u.requestStart,responseStart:u.responseStart,responseEnd:u.responseEnd,domInteractive:u.domInteractive,domComplete:u.domComplete,loadEventEnd:u.loadEventEnd,fetchStart:u.fetchStart}).requestStart&&u.fetchStart&&(c.requestStart=u.fetchStart)}var l={dnsLookupTime:c?k(c.domainLookupEnd-c.domainLookupStart):null,tcpConnectTime:c?k(c.connectEnd-c.connectStart):null,ttfb:c?k(c.responseStart-(null!==(t=null!==(e=c.requestStart)&&void 0!==e?e:c.fetchStart)&&void 0!==t?t:0)):null,transferTime:c?k(c.responseEnd-c.responseStart):null,domParseTime:c?k(c.domInteractive-c.responseEnd):null,domCompleteTime:c?k(c.domComplete-c.domInteractive):null,loadEventTime:c?k(c.loadEventEnd-(null!==(n=c.domComplete)&&void 0!==n?n:0)):null,totalPageLoad:c?k((null!==(r=c.loadEventEnd)&&void 0!==r?r:performance.now())-(null!==(o=c.startTime)&&void 0!==o?o:0)):null};window.trackMonitor.report({data_type:"performance",event_type:"navigation_timing",event_detail:{traceId:ye,data:l}})}(),function(){var e=window.performance||window.msPerformance;if(!e)return[];var t=[];if(e.getEntriesByType){var n=(e.getEntriesByType("resource")||[]).map((function(e){var t="number"==typeof e.redirectEnd&&"number"==typeof e.redirectStart?k(e.redirectEnd-e.redirectStart):null,n="number"==typeof e.domainLookupEnd&&"number"==typeof e.domainLookupStart?k(e.domainLookupEnd-e.domainLookupStart):null,r="number"==typeof e.connectEnd&&"number"==typeof e.connectStart?k(e.connectEnd-e.connectStart):null,o="number"==typeof e.requestStart&&"number"==typeof e.fetchStart?k(e.requestStart-e.fetchStart):null,i="number"==typeof e.responseStart&&"number"==typeof e.requestStart?k(e.responseStart-e.requestStart):null,a="number"==typeof e.responseEnd&&"number"==typeof e.responseStart?k(e.responseEnd-e.responseStart):null,c="number"==typeof e.duration?k(e.duration):null,u="number"==typeof e.startTime?k(e.startTime):null,l="number"==typeof e.transferSize&&isFinite(e.transferSize)&&e.transferSize>=0?Math.round(e.transferSize):null,s="number"==typeof e.encodedBodySize&&isFinite(e.encodedBodySize)&&e.encodedBodySize>=0?Math.round(e.encodedBodySize):null,d="number"==typeof e.decodedBodySize&&isFinite(e.decodedBodySize)&&e.decodedBodySize>=0?Math.round(e.decodedBodySize):null;return{name:e.name,initiatorType:e.initiatorType||"",startTime:u,duration:c,redirectTime:t,cacheTime:o,dnsTime:n,connectTime:r,requestTime:i,responseTime:a,transferSize:l,encodedBodySize:s,decodedBodySize:d}}));n.sort((function(e,t){var n,r;return(null!==(n=t.duration)&&void 0!==n?n:0)-(null!==(r=e.duration)&&void 0!==r?r:0)}));for(var r=0;r<Math.min(15,n.length);r++)t.push(n[r])}window.trackMonitor.report({data_type:"performance",event_type:"resource_flow",event_detail:{traceId:ye,data:t}})}(),bt()})),x((function(){r()})),window.trackMonitor[wt]=!0,window.trackMonitor}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TrackSDK={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n){r&&(e=r);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return c=e.done,e},e:function(e){u=!0,a=e},f:function(){try{c||null==r.return||r.return()}finally{if(u)throw a}}}}function i(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var u=function(e,t){return u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},u(e,t)};var l=function(){return l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},l.apply(this,arguments)};function s(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function c(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}u((r=r.apply(e,t||[])).next())}))}function d(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function h(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var p=function(e){function t(t,n){var r=e.call(this,n||"[TM]: Auth error ".concat(t))||this;return Object.defineProperty(r,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.name="AuthError",r.status=t,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),m=function(e){var t=e.method,n=e.url,r=e.data,o=e.headers,i=void 0===o?{}:o,a=e.withCredentials,c=void 0!==a&&a,u=e.timeoutMs;return new Promise((function(e,o){var a=new XMLHttpRequest;a.open(t,n,!0),u&&(a.timeout=u),Object.keys(i).forEach((function(e){a.setRequestHeader(e,i[e])})),a.withCredentials=!!c,a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.responseText);e(t)}catch(e){o(e)}else{var n=new Error("[TM]: Request failed with status ".concat(a.status));n.status=a.status,o(n)}},a.onerror=function(){o(new Error("[TM]: Network error"))},a.ontimeout=function(){var e=new Error("[TM]: Request timeout");e.timeout=!0,o(e)},"POST"===t&&r?a.send(r):a.send()}))},y=function(e,t,n){if(!n)return fetch(e,t);var r=new AbortController,o=setTimeout((function(){return r.abort()}),n);return fetch(e,l(l({},t),{signal:r.signal})).catch((function(e){if(e&&"AbortError"===e.name){var t=new Error("[TM]: Request timeout");throw t.timeout=!0,t}throw e})).finally((function(){return clearTimeout(o)}))},g=function(e,t,n,r){var o={"Content-Type":"application/json"};n&&(o.Authorization="Bearer ".concat(n));var i=function(){return m({method:"POST",url:e,data:JSON.stringify(t),headers:o,withCredentials:!0,timeoutMs:r})};return"function"!=typeof fetch?i():y(e,{method:"POST",keepalive:!0,credentials:"include",headers:o,body:JSON.stringify(t)},r).then((function(e){if(401===e.status||403===e.status)throw new p(e.status,"[TM]: Auth error ".concat(e.status));if(429===e.status){(r=new Error("[TM]: Request throttled with status 429")).status=429;var t=e.headers.get("Retry-After");if(t){var n=parseInt(t,10);isNaN(n)||(r.retryAfter=1e3*n)}throw r}var r;if(!e.ok)throw(r=new Error("[TM]: Request failed with status ".concat(e.status))).status=e.status,r;return e.json()})).catch((function(e){if(e instanceof p)throw e;if(e&&e.status)throw e;return i()}))},b=new Int32Array(4),w=function(){function e(){Object.defineProperty(this,"_dataLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_bufferLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_state",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array(4)}),Object.defineProperty(this,"_buffer",{enumerable:!0,configurable:!0,writable:!0,value:new ArrayBuffer(68)}),Object.defineProperty(this,"_buffer8",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_buffer32",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}return Object.defineProperty(e,"selfTest",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(!e.selfTested&&(e.selfTested=!0,"5d41402abc4b2a76b9719d911017c592"!==e.hashStr("hello")))throw new Error("Md5 self test failed.")}}),Object.defineProperty(e,"hashStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return void 0===n&&(n=!1),e.selfTest(),this.onePassHasher.start().appendStr(t).end(n)}}),Object.defineProperty(e,"hashAsciiStr",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===t&&(t=!1),this.onePassHasher.start().appendAsciiStr(e).end(t)}}),Object.defineProperty(e,"_hex",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n,r,o,i,a=e.hexChars,c=e.hexOut;for(i=0;i<4;i+=1)for(r=8*i,n=t[i],o=0;o<8;o+=2)c[r+1+o]=a.charAt(15&n),n>>>=4,c[r+0+o]=a.charAt(15&n),n>>>=4;return c.join("")}}),Object.defineProperty(e,"_md5cycle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var n=e[0],r=e[1],o=e[2],i=e[3];r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[0]-680876936|0)<<7|n>>>25)+r|0)&r|~n&o)+t[1]-389564586|0)<<12|i>>>20)+n|0)&n|~i&r)+t[2]+606105819|0)<<17|o>>>15)+i|0)&i|~o&n)+t[3]-1044525330|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[4]-176418897|0)<<7|n>>>25)+r|0)&r|~n&o)+t[5]+1200080426|0)<<12|i>>>20)+n|0)&n|~i&r)+t[6]-1473231341|0)<<17|o>>>15)+i|0)&i|~o&n)+t[7]-45705983|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[8]+1770035416|0)<<7|n>>>25)+r|0)&r|~n&o)+t[9]-1958414417|0)<<12|i>>>20)+n|0)&n|~i&r)+t[10]-42063|0)<<17|o>>>15)+i|0)&i|~o&n)+t[11]-1990404162|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[12]+1804603682|0)<<7|n>>>25)+r|0)&r|~n&o)+t[13]-40341101|0)<<12|i>>>20)+n|0)&n|~i&r)+t[14]-1502002290|0)<<17|o>>>15)+i|0)&i|~o&n)+t[15]+1236535329|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[1]-165796510|0)<<5|n>>>27)+r|0)&o|r&~o)+t[6]-1069501632|0)<<9|i>>>23)+n|0)&r|n&~r)+t[11]+643717713|0)<<14|o>>>18)+i|0)&n|i&~n)+t[0]-373897302|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[5]-701558691|0)<<5|n>>>27)+r|0)&o|r&~o)+t[10]+38016083|0)<<9|i>>>23)+n|0)&r|n&~r)+t[15]-660478335|0)<<14|o>>>18)+i|0)&n|i&~n)+t[4]-405537848|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[9]+568446438|0)<<5|n>>>27)+r|0)&o|r&~o)+t[14]-1019803690|0)<<9|i>>>23)+n|0)&r|n&~r)+t[3]-187363961|0)<<14|o>>>18)+i|0)&n|i&~n)+t[8]+1163531501|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[13]-1444681467|0)<<5|n>>>27)+r|0)&o|r&~o)+t[2]-51403784|0)<<9|i>>>23)+n|0)&r|n&~r)+t[7]+1735328473|0)<<14|o>>>18)+i|0)&n|i&~n)+t[12]-1926607734|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[5]-378558|0)<<4|n>>>28)+r|0)^r^o)+t[8]-2022574463|0)<<11|i>>>21)+n|0)^n^r)+t[11]+1839030562|0)<<16|o>>>16)+i|0)^i^n)+t[14]-35309556|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[1]-1530992060|0)<<4|n>>>28)+r|0)^r^o)+t[4]+1272893353|0)<<11|i>>>21)+n|0)^n^r)+t[7]-155497632|0)<<16|o>>>16)+i|0)^i^n)+t[10]-1094730640|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[13]+681279174|0)<<4|n>>>28)+r|0)^r^o)+t[0]-358537222|0)<<11|i>>>21)+n|0)^n^r)+t[3]-722521979|0)<<16|o>>>16)+i|0)^i^n)+t[6]+76029189|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[9]-640364487|0)<<4|n>>>28)+r|0)^r^o)+t[12]-421815835|0)<<11|i>>>21)+n|0)^n^r)+t[15]+530742520|0)<<16|o>>>16)+i|0)^i^n)+t[2]-995338651|0)<<23|r>>>9)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[0]-198630844|0)<<6|n>>>26)+r|0)|~o))+t[7]+1126891415|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[14]-1416354905|0)<<15|o>>>17)+i|0)|~n))+t[5]-57434055|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[12]+1700485571|0)<<6|n>>>26)+r|0)|~o))+t[3]-1894986606|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[10]-1051523|0)<<15|o>>>17)+i|0)|~n))+t[1]-2054922799|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[8]+1873313359|0)<<6|n>>>26)+r|0)|~o))+t[15]-30611744|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[6]-1560198380|0)<<15|o>>>17)+i|0)|~n))+t[13]+1309151649|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[4]-145523070|0)<<6|n>>>26)+r|0)|~o))+t[11]-1120210379|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[2]+718787259|0)<<15|o>>>17)+i|0)|~n))+t[9]-343485551|0)<<21|r>>>11)+o|0,e[0]=n+e[0]|0,e[1]=r+e[1]|0,e[2]=o+e[2]|0,e[3]=i+e[3]|0}}),Object.defineProperty(e.prototype,"start",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._dataLength=0,this._bufferLength=0,this._state.set(e.stateIdentity),this}}),Object.defineProperty(e.prototype,"appendStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n,r,o=this._buffer8,i=this._buffer32,a=this._bufferLength;for(r=0;r<t.length;r+=1){if((n=t.charCodeAt(r))<128)o[a++]=n;else if(n<2048)o[a++]=192+(n>>>6),o[a++]=63&n|128;else if(n<55296||n>56319)o[a++]=224+(n>>>12),o[a++]=n>>>6&63|128,o[a++]=63&n|128;else{if((n=1024*(n-55296)+(t.charCodeAt(++r)-56320)+65536)>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");o[a++]=240+(n>>>18),o[a++]=n>>>12&63|128,o[a++]=n>>>6&63|128,o[a++]=63&n|128}a>=64&&(this._dataLength+=64,e._md5cycle(this._state,i),a-=64,i[0]=i[16])}return this._bufferLength=a,this}}),Object.defineProperty(e.prototype,"appendAsciiStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=this._buffer8,o=this._buffer32,i=this._bufferLength,a=0;;){for(n=Math.min(t.length-a,64-i);n--;)r[i++]=t.charCodeAt(a++);if(i<64)break;this._dataLength+=64,e._md5cycle(this._state,o),i=0}return this._bufferLength=i,this}}),Object.defineProperty(e.prototype,"appendByteArray",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=this._buffer8,o=this._buffer32,i=this._bufferLength,a=0;;){for(n=Math.min(t.length-a,64-i);n--;)r[i++]=t[a++];if(i<64)break;this._dataLength+=64,e._md5cycle(this._state,o),i=0}return this._bufferLength=i,this}}),Object.defineProperty(e.prototype,"getState",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[e[0],e[1],e[2],e[3]]}}}),Object.defineProperty(e.prototype,"setState",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,n=e.buffer,r=e.state,o=this._state;for(this._dataLength=e.length,this._bufferLength=e.buflen,o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],t=0;t<n.length;t+=1)this._buffer8[t]=n.charCodeAt(t)}}),Object.defineProperty(e.prototype,"end",{enumerable:!1,configurable:!0,writable:!0,value:function(t){void 0===t&&(t=!1);var n=this._bufferLength,r=this._buffer8,o=this._buffer32,i=1+(n>>2);this._dataLength+=n;var a=8*this._dataLength;if(r[n]=128,r[n+1]=r[n+2]=r[n+3]=0,o.set(e.buffer32Identity.subarray(i),i),n>55&&(e._md5cycle(this._state,o),o.set(e.buffer32Identity)),a<=4294967295)o[14]=a;else{var c=a.toString(16).match(/(.*?)(.{0,8})$/);if(null===c)return t?b:"";var u=parseInt(c[2],16),l=parseInt(c[1],16)||0;o[14]=u,o[15]=l}return e._md5cycle(this._state,o),t?this._state:e._hex(this._state)}}),Object.defineProperty(e,"selfTested",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"stateIdentity",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array([1732584193,-271733879,-1732584194,271733878])}),Object.defineProperty(e,"buffer32Identity",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}),Object.defineProperty(e,"hexChars",{enumerable:!0,configurable:!0,writable:!0,value:"0123456789abcdef"}),Object.defineProperty(e,"hexOut",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"onePassHasher",{enumerable:!0,configurable:!0,writable:!0,value:new e}),e}(),T=window.requestIdleCallback||window.requestAnimationFrame||function(e){return setTimeout(e,17)};function _(e,t,n){void 0===t&&(t=150),void 0===n&&(n=!1);var r=null;return function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=this,c=n&&!r;r&&clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(a,o)}),t),c&&e.apply(a,o)}}function S(e,t){if(void 0===t&&(t=""),!e)return t;var n=e.parentElement,r=e.id,o=e.tagName.toLowerCase(),i=t?">".concat(t):"";return n&&n!==document.documentElement&&n!==document.body?r?"#".concat(r).concat(i):S(n,"".concat(o).concat(i)):"".concat(o).concat(i)}var E=function(){var e,t;if(null===(e=window.performance)||void 0===e?void 0:e.navigation)return performance.navigation.type;if(null===(t=window.performance)||void 0===t?void 0:t.getEntriesByType){var n=performance.getEntriesByType("navigation");if(n.length>0)return n[0].type}return 255},k=function(e){"prerendering"in document&&document.prerendering?function(e){"prerendering"in document&&document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()}((function(){return k(e)})):"complete"!==(null===document||void 0===document?void 0:document.readyState)?addEventListener("load",(function(){return k(e)}),!0):setTimeout(e)};function x(e){return"number"!=typeof e||!isFinite(e)||e<0?null:Math.round(100*e)/100}var A=Array(32);function L(e){return function(){for(var t=0;t<2*e;t++)A[t]=Math.floor(16*Math.random())+48,A[t]>=58&&(A[t]+=39);return String.fromCharCode.apply(null,A.slice(0,2*e))}}function M(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():L(16)()}var O=function(e){return e instanceof ErrorEvent?"Script error."===e.message?"cors":"js":"resource"},P=function(e){return w.hashStr(e)};var I,C={view:"#3b82f6",click:"#06b6d4",expose:"#8b5cf6",enter:"#10b981",leave:"#f59e0b",stay:"#84cc16",cart:"#ec4899",buy:"#ef4444",pay:"#dc2626",default:"#6b7280"},j={view:"👁️",click:"👆",expose:"✨",enter:"🚪",leave:"👋",stay:"⏱️",cart:"🛒",buy:"💰",pay:"💳",default:"📊"},R={common:"#3b82f6",behavior:"#10b981",performance:"#f59e0b",error:"#ef4444",custom:"#8b5cf6",default:"#6b7280"},q=function(e,t){t.forEach((function(t,n){var r=t.event_type||"unknown",o=t.data_type||"common",i=function(e){return C[e]||C.default}(r),a=function(e){return R[e]||R.default}(o),c=function(e){return j[e]||j.default}(r),u=t.event_detail;if("string"==typeof u)try{u=JSON.parse(u)}catch(e){}console.groupCollapsed("%c".concat(c," [TM-").concat(e,"] %c").concat(o.toUpperCase(),"%c → %c").concat(r.toUpperCase(),"%c #").concat(n+1),"color: #6b7280; font-weight: bold;","color: ".concat(a,"; font-weight: bold; background: ").concat(a,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280;","color: ".concat(i,"; font-weight: bold; background: ").concat(i,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280; font-weight: normal;");var s=l(l({},t),{event_detail:u});console.log("%c"+JSON.stringify(s,null,2),"color: #6b7280; font-family: monospace; font-size: 11px; line-height: 1.5;"),console.groupEnd()})),console.log("%c✅ [TM] 本次通过 ".concat(e," 上报 ").concat(t.length," 条埋点数据"),"color: #10b981; font-weight: bold; font-size: 12px; padding: 4px 8px; background: #10b98120; border-radius: 4px; border-left: 3px solid #10b981;")},N=void 0,U="TRACK_MONITOR_DATA",B="MONITOR_REAL_TIME_DATA",D="TRACK_MONITOR_USER",z="tengence_device_id",H="tengence_register_properties",F="TRACK_MONITOR_LOGGER",K="tengence_tracking_enabled",J=2e3,W="tengence_access_token",X=null,Q=null,G=function(e){return(t=e,n={},r=null==N?void 0:N.requestTimeout,o={"Content-Type":"application/json"},i=function(){return m({method:"POST",url:t,data:JSON.stringify(n),headers:o,withCredentials:!0,timeoutMs:r})},"function"!=typeof fetch?i():y(t,{method:"POST",credentials:"include",headers:o,body:JSON.stringify(n)},r).then((function(e){if(!e.ok){var t=new Error("[TM]: Request failed with status ".concat(e.status));throw t.status=e.status,t}return e.json()})).catch((function(e){if(e&&e.status)throw e;return i()}))).then((function(e){var t=e&&e.data,n=t&&t.accessToken,r=t&&t.accessExpAt;if(!n||"number"!=typeof r)throw new Error("[TM]: authUrl 响应缺少 accessToken/accessExpAt");return function(e,t){X={token:e,expAt:t};try{localStorage.setItem(W,JSON.stringify({token:e,expAt:t}))}catch(e){}}(n,r),n}));var t,n,r,o,i},$=function(e){var t,n=function(){if(X)return X;try{var e=localStorage.getItem(W);if(!e)return null;var t=JSON.parse(e);if(t&&"string"==typeof t.token&&t.token&&"number"==typeof t.expAt)return X={token:t.token,expAt:t.expAt}}catch(e){}return null}();return(t=n)&&t.token.length>0&&t.expAt-6e4>Date.now()?Promise.resolve(n.token):(Q||(Q=G(e).catch((function(e){throw e})).finally((function(){Q=null}))),Q)},V={timer:null,promise:null},Y={timer:null,promise:null},Z=function(e){var t=JSON.stringify(e);return(new TextEncoder).encode(t).length/1024},ee=function(){try{var e=localStorage.getItem(H);return e?JSON.parse(e):{}}catch(e){return console.error("[TM]: get register properties fail: ",e),{}}},te=function(e){try{localStorage.setItem(H,JSON.stringify(e))}catch(e){console.error("[TM]: save register properties fail: ",e)}},ne=function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){var t=l(l({},ee()),e),n=Object.keys(t);if(n.length>50){var r={};return n.slice(0,50).forEach((function(e){r[e]=t[e]})),console.warn("[TM]: register properties exceed max ".concat(50," keys, extra keys dropped")),void te(r)}te(t)}else console.error("[TM]: registerGlobalProperties props must be a plain object")},re=function(e){var t=document.cookie.match(new RegExp("(?:^|;\\s*)"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},oe=function(e){document.cookie="".concat(z,"=").concat(encodeURIComponent(e),"; Max-Age=63072000; Path=/")},ie=function(){try{var e=localStorage.getItem(z);if(e)return re(z)||oe(e),e;var t=re(z);if(t){try{localStorage.setItem(z,t)}catch(e){}return t}e=M();try{localStorage.setItem(z,e)}catch(e){}return oe(e),e}catch(e){return void console.error("[TM]: get or create device id fail: ",e)}},ae="tengence_session_id",ce=function(){try{var e=sessionStorage.getItem(ae),t=e?JSON.parse(e):null,n=Date.now();return!t||!t.id||n-t.lastActiveAt>18e5?(t={id:M(),lastActiveAt:n},sessionStorage.setItem(ae,JSON.stringify(t))):(t.lastActiveAt=n,sessionStorage.setItem(ae,JSON.stringify(t))),t.id}catch(e){return}},ue=function(e,t){var n,r;try{var o=new URL(e,location.href);if(!o.searchParams.toString())return e;if(t&&t.length){var i=[];try{for(var a=f(t),c=a.next();!c.done;c=a.next()){var u=c.value,l=o.searchParams.get(u);null!==l&&i.push("".concat(u,"=").concat(encodeURIComponent(l)))}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}o.search=i.length?"?".concat(i.join("&")):""}else o.search="";return o.toString()}catch(t){return e}},le=function(e,t,n){var r,o;if("string"==typeof e)return t>0&&e.length>t?e.slice(0,t)+"...[truncated]":e;if(Array.isArray(e))return e.map((function(e){return le(e,t,n)}));if(e&&"object"==typeof e){var i={};try{for(var a=f(Object.keys(e)),c=a.next();!c.done;c=a.next()){var u=c.value,l=e[u];"string"==typeof l&&/(^|_)url$|href|^referrer$/i.test(u)&&/^https?:\/\//i.test(l)?i[u]=ue(l,n):i[u]=le(l,t,n)}}catch(e){r={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}return i}return e},se=function(e){var t={page_url:location.href,hostname:window.location.hostname||window.location.host,os:window.navigator.platform,user_id:localStorage.getItem(D)||void 0,user_agent:window.navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,lib_version:"1.1.11",lib_type:"js",event_time:(new Date).getTime().toString(),timezone_offset:(new Date).getTimezoneOffset().toString()},n=null==N?void 0:N.sanitize;return l(l({session_id:e.session_id||((null==N?void 0:N.enableAutoSessionId)?ce():void 0),request_id:e.request_id,event_id:e.event_id||M(),spm:e.spm,data_type:e.data_type||"behavior",event_type:e.event_type,event_detail:"string"==typeof e.event_detail?e.event_detail:JSON.stringify(n&&n.maxTextLength>0?le(e.event_detail,n.maxTextLength,n.preserveQueryKeys):e.event_detail)},t),{page_url:n&&n.stripQuery?ue(t.page_url,n.preserveQueryKeys):t.page_url,device_id:ie(),register_properties:JSON.stringify(ee()),platform:I})},de=function(){try{return"true"===localStorage.getItem(F)}catch(e){return!1}},fe=function(e,t,n,r,o){return void 0===e?t:"number"!=typeof e||Number.isNaN(e)||e<n||e>r?(console.warn("[TM]: 配置 ".concat(o,"=").concat(e," 非法,回退默认值 ").concat(t)),t):e},ve=function(e,t){var n;try{null===(n=null==N?void 0:N.onDrop)||void 0===n||n.call(N,e,t)}catch(e){}},he=function(e,t,n){var r;(null==N?void 0:N.isLogger)&&console.error("[TM]: ".concat(t));try{null===(r=null==N?void 0:N.onError)||void 0===r||r.call(N,{code:e,message:t,context:n})}catch(e){}},pe=function(){try{var e=localStorage.getItem(K);return null===e||"1"===e}catch(e){return!0}},me=function(e){var t,n,r,o,i,a,c,u,v,h,m=e.apiKey,y=void 0,b=/Android|iPhone|iPad|iPod|Mobile/i.test(window.navigator.userAgent);I=e.platform||(b?"h5":"web");var w=(N={pushUrl:e.pushUrl||"https://api.tengence.com/v1/push/event",authUrl:e.authUrl,realTimeUrl:e.realTimeUrl,cacheNumber:fe(e.cacheNumber,100,1,1/0,"cacheNumber"),reportInterval:fe(e.reportInterval,5e3,100,1/0,"reportInterval"),realTimeReportInterval:fe(e.realTimeReportInterval,200,100,1/0,"realTimeReportInterval"),maxCacheSize:fe(e.maxCacheSize,57344,1024,1/0,"maxCacheSize"),maxRetries:fe(e.maxRetries,10,0,1/0,"maxRetries"),isLogger:null!==(t=e.isLogger)&&void 0!==t?t:de(),errorTraceRate:fe(e.errorTraceRate,.5,0,1,"errorTraceRate"),traceBehavior:null===(n=e.traceBehavior)||void 0===n||n,tracePerformance:null===(r=e.tracePerformance)||void 0===r||r,traceError:null===(o=e.traceError)||void 0===o||o,sanitize:!1===e.sanitize?{stripQuery:!1,maxTextLength:0,preserveQueryKeys:[]}:{stripQuery:null!==(a=null===(i=e.sanitize)||void 0===i?void 0:i.stripQuery)&&void 0!==a&&a,maxTextLength:fe(null===(c=e.sanitize)||void 0===c?void 0:c.maxTextLength,0,0,1/0,"sanitize.maxTextLength"),preserveQueryKeys:(null===(u=e.sanitize)||void 0===u?void 0:u.preserveQueryKeys)||[]},enableAutoSessionId:null!==(v=e.enableAutoSessionId)&&void 0!==v&&v,enableTracking:null!==(h=e.enableTracking)&&void 0!==h?h:pe(),requestTimeout:fe(e.requestTimeout,1e4,1e3,6e4,"requestTimeout"),beforeSend:e.beforeSend,onDrop:e.onDrop,onError:e.onError}).pushUrl,_=N.authUrl,S=N.realTimeUrl,E=N.cacheNumber,k=N.reportInterval,x=N.realTimeReportInterval,A=N.maxCacheSize,L=N.maxRetries;m||_||(console.error("[TM]: 未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"),he("init_missing_credential","未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"));var M={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},O={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},P=function(e){try{localStorage.setItem(D,e)}catch(e){console.error("[TM]: monitor bind user fail: ",e)}},C=function(){localStorage.removeItem(D)},j={},R={},z=new Set,H=null,Q=function(){null!==H&&(clearTimeout(H),H=null),z.size&&(z.forEach((function(e){try{localStorage.setItem(e,JSON.stringify(j[e]||[]))}catch(t){he("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),本次数据仅保留内存",{key:e,error:t})}})),z.clear())},G=function(e){if(j[e])return j[e];var t=[];try{t=JSON.parse(localStorage.getItem(e)||"[]")}catch(t){he("queue_read_failed","读取本地缓存队列失败,按空队列处理",{key:e,error:t})}return j[e]=t,R[e]=t.reduce((function(e,t){return e+Z(t)}),0),j[e]},ee=function(e,t){z.delete(e),j[e]=t,R[e]=t.reduce((function(e,t){return e+Z(t)}),0);try{localStorage.setItem(e,JSON.stringify(t))}catch(t){he("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),队列清空处理",{key:e,error:t});try{localStorage.setItem(e,"[]")}catch(t){he("localstorage_unavailable","localStorage 不可用,本次数据仅保留内存",{key:e,error:t})}}},te=function(e){y=e},re=function(e,t,n){return void 0===n&&(n=!1),s(void 0,void 0,void 0,(function(){var r,o,i,a,c,u,l;return d(this,(function(f){switch(f.label){case 0:r=e&&S?S:w,f.label=1;case 1:return f.trys.push([1,6,,7]),(i=m||y)?[3,5]:_?[4,$(_)]:[3,3];case 2:return a=f.sent(),[3,4];case 3:a=void 0,f.label=4;case 4:i=a,f.label=5;case 5:return o=i,[3,7];case 6:throw c=f.sent(),he("token_fetch_failed","从 authUrl 获取 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:_,error:c}),c;case 7:if(!o)throw he("init_missing_credential","未配置 apiKey/authUrl 且未注入 accessToken,本次数据未上报(保留缓存队列待重试)"),new Error("[TM]: credential missing, skip report");return(null==N?void 0:N.isLogger)&&q(e?"RealTimeFetch":"Fetch",t),u=(null==N?void 0:N.beforeSend)?N.beforeSend(t):t,l=n||null==N?void 0:N.requestTimeout,[2,g(r,{data:u},o,l).catch((function(e){return s(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(o){switch(o.label){case 0:return t=null==e?void 0:e.status,e instanceof p||401===t||403===t?m||y||!_?[3,2]:(function(){X=null;try{localStorage.removeItem(W)}catch(e){}}(),[4,$(_).catch((function(){}))]):[3,2];case 1:if(n=o.sent())return[2,g(r,{data:u},n,l)];he("token_invalid","上报 401/403 且刷新 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:_}),o.label=2;case 2:throw e}}))}))}))]}}))}))},oe=function(e,t){var n=new Set(t.filter((function(e){return!!e})));if(n.size){var r=G(e);if(r.length){var o=r.filter((function(e){return e.event_id&&!n.has(e.event_id)}));o.length!==r.length&&ee(e,o)}}},ie=function(e,t,n){void 0===n&&(n=0);var r=(t?x:k)*Math.pow(2,e)*(.8+.4*Math.random()),o=Math.min(r,6e4);return Math.max(o,n)},ae=function(e,t){var n=Z(t);if(n>=64)return ve([t],"item_too_large"),void console.warn("[TM]: 单条事件超过体积上限(".concat(64,"KB),丢弃该条"));var r=G(e);if(r.unshift(t),R[e]+=n,r.length>J){var o=r.length-J,i=r.splice(r.length-o,r.length);R[e]=r.reduce((function(e,t){return e+Z(t)}),0),ve(i,"queue_overflow"),console.warn("[TM]: 队列超过上限(".concat(J,"条),丢弃最旧 ").concat(o," 条"))}!function(e){z.add(e),null===H&&(H=setTimeout((function(){H=null,Q()}),200))}(e),ce(e,R[e]>=A)},ce=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),null==N?void 0:N.enableTracking){var r=G(e);if(r.length){var o=function(e){return e===B}(e),i=o?Y:V,a=function(e){return e?O:M}(o);if(a.halveBatch&&r.length>1&&(r=r.slice(0,Math.ceil(r.length/2))),!a.retryExhausted)if(Date.now()<a.nextRetryAt)null===i.timer&&(i.timer=setTimeout((function(){i.timer=null,ce(e)}),a.nextRetryAt-Date.now()));else if(0!==a.retryCount||(r.length>=E||t)){if(null!==i.timer&&(clearTimeout(i.timer),i.timer=null),i.promise)return;i.promise=function(e,t,n,r,o){return void 0===o&&(o=!1),s(void 0,void 0,void 0,(function(){var i,a,c,u,l,s,v,h,p,m,y,g,b,w,T,_,S,E;return d(this,(function(k){switch(k.label){case 0:i=[],a=[],c=0;try{for(u=f(t),l=u.next();!l.done;l=u.next())s=l.value,v=1024*Z(s),a.length&&c+v>65536&&(i.push(a),a=[],c=0),a.push(s),c+=v}catch(e){b={error:e}}finally{try{l&&!l.done&&(w=u.return)&&w.call(u)}finally{if(b)throw b.error}}a.length&&i.push(a),h=function(t){var r,i,a,c,u;return d(this,(function(l){switch(l.label){case 0:return[4,re(n,t,o)];case 1:return r=l.sent(),i=null===(S=null==r?void 0:r.data)||void 0===S?void 0:S.accepted_ids,a=null===(E=null==r?void 0:r.data)||void 0===E?void 0:E.rejected_ids,Array.isArray(i)?(oe(e,i),Array.isArray(a)&&a.length&&(c=new Set(a),oe(e,a),u=t.filter((function(e){return e.event_id&&c.has(e.event_id)})),u.length&&ve(u,"server_rejected"),console.warn("[TM]: 服务端校验拒绝 ".concat(a.length," 条(永久性拒绝),已从队列移除并通知 onDrop")))):(oe(e,t.map((function(e){return e.event_id}))),(null==N?void 0:N.isLogger)&&console.warn("[TM]: 响应缺少 accepted_ids,按整批成功清理")),[2]}}))},k.label=1;case 1:k.trys.push([1,6,7,8]),p=f(i),m=p.next(),k.label=2;case 2:return m.done?[3,5]:(y=m.value,[5,h(y)]);case 3:k.sent(),k.label=4;case 4:return m=p.next(),[3,2];case 5:return[3,8];case 6:return g=k.sent(),T={error:g},[3,8];case 7:try{m&&!m.done&&(_=p.return)&&_.call(p)}finally{if(T)throw T.error}return[7];case 8:return r.retryCount=0,r.nextRetryAt=0,r.halveBatch=!1,[2]}}))}))}(e,r,o,a,n).catch((function(e){!function(e,t,n,r,o){(null==t?void 0:t.timeout)&&he("request_timeout","上报请求超时,数据保留队列按退避重试",{url:n&&S?S:w,timeoutMs:null==N?void 0:N.requestTimeout});var i=null==t?void 0:t.status;if(413!==i){if(i&&i>=400&&i<500&&401!==i&&403!==i&&408!==i&&410!==i&&429!==i)return r.retryExhausted=!0,ve(o,"rejected_4xx"),void console.warn("[TM]: 批次提交被服务端拒绝(HTTP ".concat(i,"),数据保留在队列并暂停自动重试"));if(r.retryCount++,r.retryCount>L)return r.retryExhausted=!0,ve(o,"retries_exhausted"),void console.warn("[TM]: 重试次数已达上限(".concat(L,"),数据保留在队列(不丢弃),待下次会话或手动触发重试"));var a=429===i&&(null==t?void 0:t.retryAfter)||0;r.nextRetryAt=Date.now()+ie(r.retryCount,n,a),console.error("[TM]: send report fail, retryCount: ".concat(r.retryCount,", next retry after ").concat(Math.round((r.nextRetryAt-Date.now())/1e3),"s"))}else o.length>1?(r.halveBatch=!0,r.retryCount++,r.nextRetryAt=Date.now()+ie(r.retryCount,n,0),console.warn("[TM]: 批次过大(HTTP 413),降容半批重发(本批 ".concat(o.length," 条)"))):(r.retryExhausted=!0,ve(o,"rejected_4xx"),console.warn("[TM]: 单条事件仍超限(HTTP 413),数据保留在队列"))}(0,e,o,a,r)})).finally((function(){i.timer=null,i.promise=null,ce(e)}))}else if(null===i.timer){var c=o?x:k;i.timer=setTimeout((function(){i.timer=null,ce(e,!0)}),c)}}}},ue=function(e){if(null==N?void 0:N.enableTracking)if(e&&"object"==typeof e){var t=!0===e.track_real_time,n=se(e);try{ae(t&&S?B:U,n)}catch(e){he("enqueue_failed","事件入队失败",{error:e})}}else console.error("[TM]: track data must be an object");else(null==N?void 0:N.isLogger)&&console.warn("[TM]: 用户已选择退出采集(enableTracking=false),本事件忽略")},le=function(e,t,n){ue("string"==typeof e?l({event_type:e,event_detail:t},n):e)},me=function(){ce(U,!0),ce(B,!0);var e=[V.promise,Y.promise].filter((function(e){return!!e}));return Promise.all(e).then((function(){}))},ye=function(){N.isLogger=!0;try{localStorage.setItem(F,"true")}catch(e){console.error("[TM]: enable logger fail:",e)}},ge=function(){N.isLogger=!1;try{localStorage.setItem(F,"false")}catch(e){console.error("[TM]: disable logger fail:",e)}};T((function(){ce(U,!0),ce(B,!0)}));var be=function(e){return"boolean"==typeof e&&(N.enableTracking=e,function(e){try{localStorage.setItem(K,e?"1":"0")}catch(e){}}(e),e?(null==N?void 0:N.isLogger)&&console.warn("[TM]: 恢复采集"):(ee(U,[]),ee(B,[]),(null==N?void 0:N.isLogger)&&console.warn("[TM]: 用户已选择退出采集,已清空未上报队列"))),!0===(null==N?void 0:N.enableTracking)};return window.trackMonitor={track:le,flush:me,bindUser:P,unBindUser:C,enableLogger:ye,disableLogger:ge,setToken:te,registerGlobalProperties:ne,enableTracking:be},{client:{track:le,flush:me,bindUser:P,unBindUser:C,enableLogger:ye,disableLogger:ge,setToken:te,registerGlobalProperties:ne,enableTracking:be},beforeClose:function(){var e=function(){Q(),ce(U,!0,!0),ce(B,!0,!0)};window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&e()})),window.addEventListener("online",e)}}},ye=L(16)(),ge=function(e){var t=history[e];return function(){var n=t.apply(this,arguments),r=new Event(e);return window.dispatchEvent(r),n}},be=function(e){window.addEventListener("replaceState",(function(t){return e(t)}),!0),window.addEventListener("pushState",(function(t){return e(t)}),!0)},we=function(e){window.addEventListener("popstate",(function(t){return e(t)}),!0)},Te=function(){var e=function(e,t){void 0===t&&(t=300);var n=0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=Date.now();i-n>=t&&(n=i,e.apply(this,r))}}((function(e){var t,n=function(e){if(e){return["A","INPUT","TEXTAREA","BUTTON"].includes(e.tagName)||e.hasAttribute("track-click")?e:e.closest("a, button, [track-click]")||void 0}}(e.target);if(n){var r={element_id:n.id,element_content:(null===(t=n.textContent)||void 0===t?void 0:t.trim())||null,element_class_name:n.className||null,element_name:n.getAttribute("name")||null,element_type:n.tagName.toLowerCase(),element_path:S(n),scroll_width:document.documentElement.scrollWidth,scroll_height:document.documentElement.scrollHeight,pageX:e.pageX,pageY:e.pageY,ratio:window.devicePixelRatio||1};window.trackMonitor.track({data_type:"common",event_type:"click",event_detail:r})}}));window.addEventListener("click",e,!0)},_e=function(){var e,t,n;history.pushState=ge("pushState"),history.replaceState=ge("replaceState"),e="",n=_(t=function(){var t=window.location.href;if(t!==e){var n=window.location,r={host:n.host,hostname:n.hostname,href:n.href,protocol:n.protocol,origin:n.origin,port:n.port,pathname:n.pathname,search:n.search,hash:n.hash,title:document.title,language:navigator.language.substring(0,2),user_agent:navigator.userAgent,win_screen:"".concat(window.screen.width,"x").concat(window.screen.height),doc_screen:"".concat(document.documentElement.clientWidth,"x").concat(document.documentElement.clientHeight),referrer:document.referrer,type:E()};window.trackMonitor.track({data_type:"common",event_type:"page_view",event_detail:r}),e=t}},200),t(),we((function(){n()})),be((function(){n()})),function(){var e=document.referrer,t=window.location.href,n=Date.now(),r=!0,o=function(r){if(void 0===r&&(r=!1),window.location.href!==t||r){var o=Date.now()-n;o>200&&window.trackMonitor.track({data_type:"common",event_type:"page_leave",event_detail:{url:t,referrer:e,duration:o}}),n=Date.now(),e=t,t=window.location.href}},i=_(o);o(),we((function(){i()})),be((function(){i()})),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?r&&(r=!1,o(!0)):(r=!0,n=Date.now())})),window.addEventListener("beforeunload",(function(){r&&(r=!1,o(!0))}),!0)}(),Te()},Se=null,Ee=null,ke="track-expose",xe="track-view",Ae=function(e){try{Ee=new WeakMap}catch(e){console.error("[TM]: create WeakMap fail: ",e)}var t=function(e,t){void 0===t&&(t=!1);var r=null==Ee?void 0:Ee.get(e);if(!r||t){r&&(r.viewTimer&&clearTimeout(r.viewTimer),r.exposeTimer&&clearTimeout(r.exposeTimer));var o=e.dataset.durationView||500,i=e.dataset.durationExpose||500;null==Ee||Ee.set(e,{duration_view:o,duration_expose:i,viewTimer:null,exposeTimer:null}),null==Se||Se.observe(e),t&&function(e){if(!(e instanceof Element))return!1;if(!function e(t){if(!t)return!0;var n=window.getComputedStyle(t);return"none"!==n.display&&"hidden"!==n.visibility&&0!==parseFloat(n.opacity)&&e(t.parentElement)}(e))return!1;var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}(e)&&n(e)}},n=function(t){var n,o=null==Ee?void 0:Ee.get(t);if(o){var i=t.dataset.eventDetail,a=null!==(n=t.dataset.traceid)&&void 0!==n?n:void 0,c=t.dataset.spm,u=t.hasAttribute("track-real-time"),l=t.hasAttribute(xe),s=t.hasAttribute(ke);l&&s?o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view_expose",event_detail:i,track_real_time:u}),t.removeAttribute(xe),o.exposeTimer=null}),parseInt(o.duration_expose,10)):(l&&(o.viewTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view",event_detail:i,track_real_time:u}),t.removeAttribute(xe),s&&o.exposeTimer||r(t),o.viewTimer=null}),parseInt(o.duration_view,10))),s&&(o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"expose",event_detail:i,track_real_time:u}),o.exposeTimer=null}),parseInt(o.duration_expose,10))))}},r=function(e){var t=null==Ee?void 0:Ee.get(e);t&&(null==Se||Se.unobserve(e),t.viewTimer&&clearTimeout(t.viewTimer),t.exposeTimer&&clearTimeout(t.exposeTimer),null==Ee||Ee.delete(e))},o=function(e){e.forEach((function(e){var t=e.target,o=null==Ee?void 0:Ee.get(t);o&&(o.viewTimer&&(clearTimeout(o.viewTimer),o.viewTimer=null),o.exposeTimer&&(clearTimeout(o.exposeTimer),o.exposeTimer=null),e.isIntersecting&&(n(t),t.hasAttribute(xe)||t.hasAttribute(ke)||r(t)))}))};Se=function(){var e=null;try{e=new IntersectionObserver(o,{root:null,threshold:.5})}catch(e){console.error("[TM]: create IntersectionObserver fail: ",e)}return e}(),new Set(h(h([],v(document.querySelectorAll("[".concat(ke,"]"))),!1),v(document.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return t(e)})),new MutationObserver((function(e){e.forEach((function(e){if("attributes"===e.type&&e.target instanceof HTMLElement){var n=e.target,o=e.attributeName;n.hasAttribute(ke)||n.hasAttribute(xe)?["data-event-detail","data-traceid","data-spm","data-duration-view","data-duration-expose"].includes(o)?t(n,!0):o!==ke&&o!==xe||t(n,!1):r(n)}else"childList"===e.type&&(e.addedNodes.forEach((function(e){e instanceof HTMLElement&&(e.hasAttribute(ke)||e.hasAttribute(xe)?t(e):new Set(h(h([],v(e.querySelectorAll("[".concat(ke,"]"))),!1),v(e.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return t(e)})))})),e.removedNodes.forEach((function(e){e instanceof HTMLElement&&((null==Ee?void 0:Ee.get(e))?r(e):new Set(h(h([],v(e.querySelectorAll("[".concat(ke,"]"))),!1),v(e.querySelectorAll("[".concat(xe,"]"))),!1)).forEach((function(e){return r(e)})))})))}))})).observe(document.body,{attributes:!0,childList:!0,subtree:!0})},Le=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;function Me(e){var t=e.match(Le);return t?{filename:t[2],functionName:t[1]||"",lineno:parseInt(t[3],10)||void 0,colno:parseInt(t[4],10)||void 0}:{}}function Oe(e){var t,n,r,o,i;try{var a=e.stack;if(!a)return[];var c=[];try{for(var u=f(a.split("\n").slice(1)),l=u.next();!l.done;l=u.next()){var s=Me(l.value);!s||(null===(r=s.filename)||void 0===r?void 0:r.includes("chrome-extension://"))||(null===(o=s.filename)||void 0===o?void 0:o.includes("node_modules"))||(null===(i=s.filename)||void 0===i?void 0:i.includes("<anonymous>"))||c.push(s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return c.slice(0,10)}catch(e){return[]}}var Pe=new Set,Ie=function(e,t){var n,r;if((r=null!==(n=null==N?void 0:N.errorTraceRate)&&void 0!==n?n:.5)<0||r>1?(console.warn("[TM]: probability should be between 0 and 1"),0):Math.random()<r){if(window.trackMonitor.track(t),Pe.size>=1e3){var o=Pe.values().next().value;void 0!==o&&Pe.delete(o)}Pe.add(e)}},Ce=function(){window.addEventListener("error",(function(e){!function(e){var t;if("js"===O(e)&&!function(e){var t,n=(null===(t=e.error)||void 0===t?void 0:t.stack)||"";return/chrome-extension:\/\//.test(n)}(e)){var n=P("js-".concat(e.message,"-").concat(e.filename));if(!Pe.has(n)){var r=Oe(e.error),o={traceId:ye,msg:e.message,target:r[0]?"".concat(null===(t=r[0].filename)||void 0===t?void 0:t.split("?")[0],":").concat(r[0].lineno,":").concat(r[0].colno):"",stack:r,errorUuid:n,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno}};Ie(n,{data_type:"error",event_type:"js",event_detail:o})}}}(e)}),!0)},je=function(){window.addEventListener("error",(function(e){!function(e){var t;if("resource"===O(e)){var n=e.target,r=P("resource-".concat(n.src,"-").concat(n.tagName));if(!Pe.has(r)){var o={traceId:ye,msg:"加载".concat(n.tagName,"失败"),target:null===(t=n.src)||void 0===t?void 0:t.split("?")[0],errorUuid:r,meta:{url:n.src,html:n.outerHTML,tagName:n.tagName}};Ie(r,{data_type:"error",event_type:"resource",event_detail:o})}}}(e)}),!0)},Re=function(){window.addEventListener("unhandledrejection",(function(e){return function(e){var t,n=(null===(t=e.reason)||void 0===t?void 0:t.message)||e.reason,r=P("".concat("unhandledrejection","-").concat(n));if(!Pe.has(r)){var o={traceId:ye,msg:n,stack:Oe(e.reason),errorUuid:r};Ie(r,{data_type:"error",event_type:"unhandledrejection",event_detail:o})}}(e)}),!0)},qe=function(){var e=function(e,t,n){if(t){var r=P("http-".concat(t,"-").concat(e.url,"-").concat(n));if(Pe.has(r))return;var o={traceId:ye,errorType:t,msg:n,target:e.url.split("?")[0],errorUuid:r,request:e};Ie(r,{data_type:"error",event_type:"http",event_detail:o})}else if(e.status>=400){var i=e.statusText;r=P("http-".concat(t="http_error","-").concat(e.url,"-").concat(i));if(Pe.has(r))return;o={traceId:ye,errorUuid:r,errorType:t,target:e.url.split("?")[0],msg:i,request:e};Ie(r,{data_type:"error",event_type:"http",event_detail:o})}};!function(e,t){if("XMLHttpRequest"in window&&"function"==typeof window.XMLHttpRequest){var n=window.XMLHttpRequest;window.oXMLHttpRequest||(window.oXMLHttpRequest=n),window.XMLHttpRequest=function(){var e=new n,r=e.open,o=e.send,i={};e.open=function(t,n,o,a,c){void 0===o&&(o=!0),i.method=t,i.url=n,r.call(e,t,n,o,a,c)},e.send=function(t){i.requestTime=(new Date).getTime(),o.call(e,t)};var a=function(n,r){var o=e.status,a=e.statusText,c=(new Date).getTime();i=l(l({},i),{status:o,statusText:a,responseTime:c,duration:c-i.requestTime}),"function"==typeof t&&t(i,n,r)};return e.addEventListener("loadend",(function(){return a()})),e.addEventListener("error",(function(){return a("net_error","ERR_NETWORK")})),e.addEventListener("abort",(function(){return a("cannel_request","ERR_CANCELED")})),e.addEventListener("timeout",(function(){return a("timeout","ERR_NETWORK")})),e}}}(0,e),function(e,t){if("fetch"in window&&"function"==typeof window.fetch){var n=window.fetch;window.oFetch||(window.oFetch=n),window.fetch=function(e,r){return s(void 0,void 0,void 0,(function(){var o;return d(this,(function(i){return(o={}).method=(null==r?void 0:r.method)||"",o.url=(e&&"string"!=typeof e?null==e?void 0:e.url:e)||"",o.requestTime=(new Date).getTime(),[2,n.call(window,e,r).then((function(e){return s(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return"function"==typeof t&&(n=e.clone(),r=(new Date).getTime(),o=l(l({},o),{status:n.status,statusText:n.statusText,responseTime:r,duration:r-o.requestTime}),t(o)),[2,e]}))}))})).catch((function(e){if("function"==typeof t){var n=(new Date).getTime();o=l(l({},o),{responseTime:n,duration:n-o.requestTime}),"AbortError"===e.name?t(o,"cannel_request","ERR_CANCELED"):t(o,"net_error","ERR_NETWORK")}return Promise.reject(e)}))]}))}))}}}(0,e)};var Ne=-1,Ue=function(e){addEventListener("pageshow",(function(t){t.persisted&&(Ne=t.timeStamp,e(t))}),!0)},Be=function(e,t,n,r){var o,i;return function(a){t.value>=0&&(a||r)&&(((i=t.value-(null!=o?o:0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t)))}},De=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},ze=function(){var e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},He=function(){var e,t=ze();return null!==(e=null==t?void 0:t.activationStart)&&void 0!==e?e:0},Fe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=ze(),r="navigate";return Ne>=0?r="back-forward-cache":n&&(document.prerendering||He()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:"v5-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},Ke=new WeakMap;function Je(e,t){return Ke.get(e)||Ke.set(e,new t),Ke.get(e)}var We,Xe=function(){return r((function e(){n(this,e),i(this,"t",void 0),i(this,"i",0),i(this,"o",[])}),[{key:"h",value:function(e){var t;if(!e.hadRecentInput){var n=this.o[0],r=this.o.at(-1);this.i&&n&&r&&e.startTime-r.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),null===(t=this.t)||void 0===t||t.call(this,e)}}}])}(),Qe=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e,buffered:!0},n)),r}}catch(e){}},Ge=function(e){var t=!1;return function(){t||(e(),t=!0)}},$e=-1,Ve=new Set,Ye=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},Ze=function(e){if("hidden"===document.visibilityState){if("visibilitychange"===e.type){var t,n=o(Ve);try{for(n.s();!(t=n.n()).done;){(0,t.value)()}}catch(e){n.e(e)}finally{n.f()}}isFinite($e)||($e="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",Ze,!0))}},et=function(){if($e<0){var e,t=He(),n=document.prerendering||null===(e=globalThis.performance.getEntriesByType("visibility-state").filter((function(e){return"hidden"===e.name&&e.startTime>t}))[0])||void 0===e?void 0:e.startTime;$e=null!=n?n:Ye(),addEventListener("visibilitychange",Ze,!0),addEventListener("prerenderingchange",Ze,!0),Ue((function(){setTimeout((function(){$e=Ye()}))}))}return{get firstHiddenTime(){return $e},onHidden:function(e){Ve.add(e)}}},tt=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},nt=[1800,3e3],rt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};tt((function(){var n,r=et(),i=Fe("FCP"),a=Qe("paint",(function(e){var t,c=o(e);try{for(c.s();!(t=c.n()).done;){var u=t.value;"first-contentful-paint"===u.name&&(a.disconnect(),u.startTime<r.firstHiddenTime&&(i.value=Math.max(u.startTime-He(),0),i.entries.push(u),n(!0)))}}catch(e){c.e(e)}finally{c.f()}}));a&&(n=Be(e,i,nt,t.reportAllChanges),Ue((function(r){i=Fe("FCP"),n=Be(e,i,nt,t.reportAllChanges),De((function(){i.value=performance.now()-r.timeStamp,n(!0)}))})))}))},ot=[.1,.25],it=0,at=1/0,ct=0,ut=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.interactionId&&(at=Math.min(at,r.interactionId),ct=Math.max(ct,r.interactionId),it=ct?(ct-at)/7+1:0)}}catch(e){n.e(e)}finally{n.f()}},lt=function(){var e;return We?it:null!==(e=performance.interactionCount)&&void 0!==e?e:0},st=0,dt=function(){return r((function e(){n(this,e),i(this,"u",[]),i(this,"l",new Map),i(this,"m",void 0),i(this,"p",void 0)}),[{key:"v",value:function(){st=lt(),this.u.length=0,this.l.clear()}},{key:"L",value:function(){var e=Math.min(this.u.length-1,Math.floor((lt()-st)/50));return this.u[e]}},{key:"h",value:function(e){var t;if(null!==(t=this.m)&&void 0!==t&&t.call(this,e),e.interactionId||"first-input"===e.entryType){var n=this.u.at(-1),r=this.l.get(e.interactionId);if(r||this.u.length<10||e.duration>n.P){var i;if(r?e.duration>r.P?(r.entries=[e],r.P=e.duration):e.duration===r.P&&e.startTime===r.entries[0].startTime&&r.entries.push(e):(r={id:e.interactionId,entries:[e],P:e.duration},this.l.set(r.id,r),this.u.push(r)),this.u.sort((function(e,t){return t.P-e.P})),this.u.length>10){var a,c=o(this.u.splice(10));try{for(c.s();!(a=c.n()).done;){var u=a.value;this.l.delete(u.id)}}catch(e){c.e(e)}finally{c.f()}}null===(i=this.p)||void 0===i||i.call(this,r)}}}}])}(),ft=function(e){var t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=Ge(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t((function(){e(),removeEventListener("visibilitychange",e,{capture:!0})})))},vt=[200,500],ht=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype){var n=et();tt((function(){var r;"interactionCount"in performance||We||(We=Qe("event",ut,{type:"event",buffered:!0,durationThreshold:0}));var i,a=Fe("INP"),c=Je(t,dt),u=function(e){ft((function(){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;c.h(r)}}catch(e){n.e(e)}finally{n.f()}var u=c.L();u&&u.P!==a.value&&(a.value=u.P,a.entries=u.entries,i())}))},l=Qe("event",u,{durationThreshold:null!==(r=t.durationThreshold)&&void 0!==r?r:40});i=Be(e,a,vt,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden((function(){u(l.takeRecords()),i(!0)})),Ue((function(){c.v(),a=Fe("INP"),i=Be(e,a,vt,t.reportAllChanges)})))}))}},pt=function(){return r((function e(){n(this,e),i(this,"m",void 0)}),[{key:"h",value:function(e){var t;null===(t=this.m)||void 0===t||t.call(this,e)}}])}(),mt=[2500,4e3],yt=[800,1800],gt=function(e){document.prerendering?tt((function(){return gt(e)})):"complete"!==document.readyState?addEventListener("load",(function(){return gt(e)}),!0):setTimeout(e)};function bt(){var e={ttfb:null,lcp:null,fp:null,fcp:null,connectionRtt:null,ttfbRequestTime:null,inp:null,cls:null,dcl:null,loadTime:null};!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};tt((function(){var n,r=et(),i=Fe("LCP"),a=Je(t,pt),c=function(e){t.reportAllChanges||(e=e.slice(-1));var c,u=o(e);try{for(u.s();!(c=u.n()).done;){var l=c.value;a.h(l),l.startTime<r.firstHiddenTime&&(i.value=Math.max(l.startTime-He(),0),i.entries=[l],n())}}catch(e){u.e(e)}finally{u.f()}},u=Qe("largest-contentful-paint",c);if(u){n=Be(e,i,mt,t.reportAllChanges);for(var l=Ge((function(){c(u.takeRecords()),u.disconnect(),n(!0)})),s=function(e){e.isTrusted&&(ft(l),removeEventListener(e.type,s,{capture:!0}))},d=0,f=["keydown","click","visibilitychange"];d<f.length;d++)addEventListener(f[d],s,{capture:!0});Ue((function(r){i=Fe("LCP"),n=Be(e,i,mt,t.reportAllChanges),De((function(){i.value=performance.now()-r.timeStamp,n(!0)}))}))}}))}((function(t){e.lcp=x(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=et();rt(Ge((function(){var r,i=Fe("CLS",0),a=Je(t,Xe),c=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var c=t.value;a.h(c)}}catch(e){n.e(e)}finally{n.f()}a.i>i.value&&(i.value=a.i,i.entries=a.o,r())},u=Qe("layout-shift",c);u&&(r=Be(e,i,ot,t.reportAllChanges),n.onHidden((function(){c(u.takeRecords()),r(!0)})),Ue((function(){a.i=0,i=Fe("CLS",0),r=Be(e,i,ot,t.reportAllChanges),De((function(){return r()}))})),setTimeout(r))})))}((function(t){e.cls=Math.round(1e4*t.value)/1e4}),{reportAllChanges:!0}),ht((function(t){e.inp=x(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Fe("TTFB"),r=Be(e,n,yt,t.reportAllChanges);gt((function(){var o=ze();o&&(n.value=Math.max(o.responseStart-He(),0),n.entries=[o],r(!0),Ue((function(){n=Fe("TTFB",0),(r=Be(e,n,yt,t.reportAllChanges))(!0)})))}))}((function(t){e.ttfb=x(t.value)})),rt((function(t){e.fcp=x(t.value)}));var t=function(){!function(){try{performance.getEntriesByType("paint").forEach((function(t){"first-paint"===t.name&&(e.fp=x(t.startTime))}))}catch(e){console.warn("[TM]: Failed to collect FP:",e)}try{var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;t&&void 0!==t.rtt&&(e.connectionRtt=t.rtt)}catch(e){console.warn("[TM]: Failed to collect Connection RTT:",e)}try{if(o=performance.getEntriesByType("navigation")[0]){var n=o.responseStart,r=o.requestStart;n>0&&r>0&&r<=n&&(e.ttfbRequestTime=x(n-r))}}catch(e){console.warn("[TM]: Failed to collect TTFB Request Time:",e)}try{var o;if(o=performance.getEntriesByType("navigation")[0]){var i=o.domContentLoadedEventEnd,a=o.loadEventEnd,c=o.fetchStart;i>0&&c>0&&(e.dcl=x(i-c)),a>0&&c>0&&(e.loadTime=x(a-c))}}catch(e){console.warn("[TM]: Failed to collect DCL and Load Time:",e)}}(),window.trackMonitor.track({data_type:"performance",event_type:"metrics",event_detail:{traceId:ye,data:e}})},n=0,r=function(){var e=Date.now();e-n<3e4||(n=e,t())};window.addEventListener("beforeunload",t),window.addEventListener("pagehide",r),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&r()}))}var wt="__tengence_sdk";e.init=function(e){if("undefined"!=typeof window&&window.trackMonitor&&window.trackMonitor[wt])return console.warn("[TM]: init 已调用过,复用现有实例(如需重建请刷新页面)"),window.trackMonitor;var t=me(e),n=t.client,r=t.beforeClose;return Ae(n.track),!1!==e.traceBehavior&&_e(),!1!==e.traceError&&(Ce(),je(),Re(),qe()),!1!==e.tracePerformance&&k((function(){!function(){var e,t,n,r,o,i=window.performance||window.msPerformance;if(!i)return{dnsLookupTime:null,tcpConnectTime:null,ttfb:null,transferTime:null,domParseTime:null,domCompleteTime:null,loadEventTime:null,totalPageLoad:null};var a=i.getEntriesByType&&i.getEntriesByType("navigation")&&i.getEntriesByType("navigation")[0],c=null;if(a)c=a;else{var u=i.timing;u&&!(c={startTime:0,domainLookupStart:u.domainLookupStart,domainLookupEnd:u.domainLookupEnd,connectStart:u.connectStart,connectEnd:u.connectEnd,requestStart:u.requestStart,responseStart:u.responseStart,responseEnd:u.responseEnd,domInteractive:u.domInteractive,domComplete:u.domComplete,loadEventEnd:u.loadEventEnd,fetchStart:u.fetchStart}).requestStart&&u.fetchStart&&(c.requestStart=u.fetchStart)}var l={dnsLookupTime:c?x(c.domainLookupEnd-c.domainLookupStart):null,tcpConnectTime:c?x(c.connectEnd-c.connectStart):null,ttfb:c?x(c.responseStart-(null!==(t=null!==(e=c.requestStart)&&void 0!==e?e:c.fetchStart)&&void 0!==t?t:0)):null,transferTime:c?x(c.responseEnd-c.responseStart):null,domParseTime:c?x(c.domInteractive-c.responseEnd):null,domCompleteTime:c?x(c.domComplete-c.domInteractive):null,loadEventTime:c?x(c.loadEventEnd-(null!==(n=c.domComplete)&&void 0!==n?n:0)):null,totalPageLoad:c?x((null!==(r=c.loadEventEnd)&&void 0!==r?r:performance.now())-(null!==(o=c.startTime)&&void 0!==o?o:0)):null};window.trackMonitor.track({data_type:"performance",event_type:"navigation_timing",event_detail:{traceId:ye,data:l}})}(),function(){var e=window.performance||window.msPerformance;if(!e)return[];var t=[];if(e.getEntriesByType){var n=(e.getEntriesByType("resource")||[]).map((function(e){var t="number"==typeof e.redirectEnd&&"number"==typeof e.redirectStart?x(e.redirectEnd-e.redirectStart):null,n="number"==typeof e.domainLookupEnd&&"number"==typeof e.domainLookupStart?x(e.domainLookupEnd-e.domainLookupStart):null,r="number"==typeof e.connectEnd&&"number"==typeof e.connectStart?x(e.connectEnd-e.connectStart):null,o="number"==typeof e.requestStart&&"number"==typeof e.fetchStart?x(e.requestStart-e.fetchStart):null,i="number"==typeof e.responseStart&&"number"==typeof e.requestStart?x(e.responseStart-e.requestStart):null,a="number"==typeof e.responseEnd&&"number"==typeof e.responseStart?x(e.responseEnd-e.responseStart):null,c="number"==typeof e.duration?x(e.duration):null,u="number"==typeof e.startTime?x(e.startTime):null,l="number"==typeof e.transferSize&&isFinite(e.transferSize)&&e.transferSize>=0?Math.round(e.transferSize):null,s="number"==typeof e.encodedBodySize&&isFinite(e.encodedBodySize)&&e.encodedBodySize>=0?Math.round(e.encodedBodySize):null,d="number"==typeof e.decodedBodySize&&isFinite(e.decodedBodySize)&&e.decodedBodySize>=0?Math.round(e.decodedBodySize):null;return{name:e.name,initiatorType:e.initiatorType||"",startTime:u,duration:c,redirectTime:t,cacheTime:o,dnsTime:n,connectTime:r,requestTime:i,responseTime:a,transferSize:l,encodedBodySize:s,decodedBodySize:d}}));n.sort((function(e,t){var n,r;return(null!==(n=t.duration)&&void 0!==n?n:0)-(null!==(r=e.duration)&&void 0!==r?r:0)}));for(var r=0;r<Math.min(15,n.length);r++)t.push(n[r])}window.trackMonitor.track({data_type:"performance",event_type:"resource_flow",event_detail:{traceId:ye,data:t}})}(),bt()})),k((function(){r()})),window.trackMonitor[wt]=!0,window.trackMonitor}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TrackSDK={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n){r&&(e=r);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return c=e.done,e},e:function(e){u=!0,a=e},f:function(){try{c||null==r.return||r.return()}finally{if(u)throw a}}}}function i(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var u=function(e,t){return u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},u(e,t)};var l=function(){return l=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},l.apply(this,arguments)};function s(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function c(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}u((r=r.apply(e,t||[])).next())}))}function d(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function h(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var p=function(e){function t(t,n){var r=e.call(this,n||"[TM]: Auth error ".concat(t))||this;return Object.defineProperty(r,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r.name="AuthError",r.status=t,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),m=function(e){var t=e.method,n=e.url,r=e.data,o=e.headers,i=void 0===o?{}:o,a=e.withCredentials,c=void 0!==a&&a,u=e.timeoutMs;return new Promise((function(e,o){var a=new XMLHttpRequest;a.open(t,n,!0),u&&(a.timeout=u),Object.keys(i).forEach((function(e){a.setRequestHeader(e,i[e])})),a.withCredentials=!!c,a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.responseText);e(t)}catch(e){o(e)}else{var n=new Error("[TM]: Request failed with status ".concat(a.status));n.status=a.status,o(n)}},a.onerror=function(){o(new Error("[TM]: Network error"))},a.ontimeout=function(){var e=new Error("[TM]: Request timeout");e.timeout=!0,o(e)},"POST"===t&&r?a.send(r):a.send()}))},y=function(e,t,n){if(!n)return fetch(e,t);var r=new AbortController,o=setTimeout((function(){return r.abort()}),n);return fetch(e,l(l({},t),{signal:r.signal})).catch((function(e){if(e&&"AbortError"===e.name){var t=new Error("[TM]: Request timeout");throw t.timeout=!0,t}throw e})).finally((function(){return clearTimeout(o)}))},g=function(e,t,n,r){var o={"Content-Type":"application/json"};n&&(o.Authorization="Bearer ".concat(n));var i=function(){return m({method:"POST",url:e,data:JSON.stringify(t),headers:o,withCredentials:!0,timeoutMs:r})};return"function"!=typeof fetch?i():y(e,{method:"POST",keepalive:!0,credentials:"include",headers:o,body:JSON.stringify(t)},r).then((function(e){if(401===e.status||403===e.status)throw new p(e.status,"[TM]: Auth error ".concat(e.status));if(429===e.status){(r=new Error("[TM]: Request throttled with status 429")).status=429;var t=e.headers.get("Retry-After");if(t){var n=parseInt(t,10);isNaN(n)||(r.retryAfter=1e3*n)}throw r}var r;if(!e.ok)throw(r=new Error("[TM]: Request failed with status ".concat(e.status))).status=e.status,r;return e.json()})).catch((function(e){if(e instanceof p)throw e;if(e&&e.status)throw e;return i()}))},b=new Int32Array(4),w=function(){function e(){Object.defineProperty(this,"_dataLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_bufferLength",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_state",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array(4)}),Object.defineProperty(this,"_buffer",{enumerable:!0,configurable:!0,writable:!0,value:new ArrayBuffer(68)}),Object.defineProperty(this,"_buffer8",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_buffer32",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}return Object.defineProperty(e,"selfTest",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(!e.selfTested&&(e.selfTested=!0,"5d41402abc4b2a76b9719d911017c592"!==e.hashStr("hello")))throw new Error("Md5 self test failed.")}}),Object.defineProperty(e,"hashStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return void 0===n&&(n=!1),e.selfTest(),this.onePassHasher.start().appendStr(t).end(n)}}),Object.defineProperty(e,"hashAsciiStr",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===t&&(t=!1),this.onePassHasher.start().appendAsciiStr(e).end(t)}}),Object.defineProperty(e,"_hex",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n,r,o,i,a=e.hexChars,c=e.hexOut;for(i=0;i<4;i+=1)for(r=8*i,n=t[i],o=0;o<8;o+=2)c[r+1+o]=a.charAt(15&n),n>>>=4,c[r+0+o]=a.charAt(15&n),n>>>=4;return c.join("")}}),Object.defineProperty(e,"_md5cycle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var n=e[0],r=e[1],o=e[2],i=e[3];r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[0]-680876936|0)<<7|n>>>25)+r|0)&r|~n&o)+t[1]-389564586|0)<<12|i>>>20)+n|0)&n|~i&r)+t[2]+606105819|0)<<17|o>>>15)+i|0)&i|~o&n)+t[3]-1044525330|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[4]-176418897|0)<<7|n>>>25)+r|0)&r|~n&o)+t[5]+1200080426|0)<<12|i>>>20)+n|0)&n|~i&r)+t[6]-1473231341|0)<<17|o>>>15)+i|0)&i|~o&n)+t[7]-45705983|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[8]+1770035416|0)<<7|n>>>25)+r|0)&r|~n&o)+t[9]-1958414417|0)<<12|i>>>20)+n|0)&n|~i&r)+t[10]-42063|0)<<17|o>>>15)+i|0)&i|~o&n)+t[11]-1990404162|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&o|~r&i)+t[12]+1804603682|0)<<7|n>>>25)+r|0)&r|~n&o)+t[13]-40341101|0)<<12|i>>>20)+n|0)&n|~i&r)+t[14]-1502002290|0)<<17|o>>>15)+i|0)&i|~o&n)+t[15]+1236535329|0)<<22|r>>>10)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[1]-165796510|0)<<5|n>>>27)+r|0)&o|r&~o)+t[6]-1069501632|0)<<9|i>>>23)+n|0)&r|n&~r)+t[11]+643717713|0)<<14|o>>>18)+i|0)&n|i&~n)+t[0]-373897302|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[5]-701558691|0)<<5|n>>>27)+r|0)&o|r&~o)+t[10]+38016083|0)<<9|i>>>23)+n|0)&r|n&~r)+t[15]-660478335|0)<<14|o>>>18)+i|0)&n|i&~n)+t[4]-405537848|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[9]+568446438|0)<<5|n>>>27)+r|0)&o|r&~o)+t[14]-1019803690|0)<<9|i>>>23)+n|0)&r|n&~r)+t[3]-187363961|0)<<14|o>>>18)+i|0)&n|i&~n)+t[8]+1163531501|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r&i|o&~i)+t[13]-1444681467|0)<<5|n>>>27)+r|0)&o|r&~o)+t[2]-51403784|0)<<9|i>>>23)+n|0)&r|n&~r)+t[7]+1735328473|0)<<14|o>>>18)+i|0)&n|i&~n)+t[12]-1926607734|0)<<20|r>>>12)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[5]-378558|0)<<4|n>>>28)+r|0)^r^o)+t[8]-2022574463|0)<<11|i>>>21)+n|0)^n^r)+t[11]+1839030562|0)<<16|o>>>16)+i|0)^i^n)+t[14]-35309556|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[1]-1530992060|0)<<4|n>>>28)+r|0)^r^o)+t[4]+1272893353|0)<<11|i>>>21)+n|0)^n^r)+t[7]-155497632|0)<<16|o>>>16)+i|0)^i^n)+t[10]-1094730640|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[13]+681279174|0)<<4|n>>>28)+r|0)^r^o)+t[0]-358537222|0)<<11|i>>>21)+n|0)^n^r)+t[3]-722521979|0)<<16|o>>>16)+i|0)^i^n)+t[6]+76029189|0)<<23|r>>>9)+o|0,r=((r+=((o=((o+=((i=((i+=((n=((n+=(r^o^i)+t[9]-640364487|0)<<4|n>>>28)+r|0)^r^o)+t[12]-421815835|0)<<11|i>>>21)+n|0)^n^r)+t[15]+530742520|0)<<16|o>>>16)+i|0)^i^n)+t[2]-995338651|0)<<23|r>>>9)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[0]-198630844|0)<<6|n>>>26)+r|0)|~o))+t[7]+1126891415|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[14]-1416354905|0)<<15|o>>>17)+i|0)|~n))+t[5]-57434055|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[12]+1700485571|0)<<6|n>>>26)+r|0)|~o))+t[3]-1894986606|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[10]-1051523|0)<<15|o>>>17)+i|0)|~n))+t[1]-2054922799|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[8]+1873313359|0)<<6|n>>>26)+r|0)|~o))+t[15]-30611744|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[6]-1560198380|0)<<15|o>>>17)+i|0)|~n))+t[13]+1309151649|0)<<21|r>>>11)+o|0,r=((r+=((i=((i+=(r^((n=((n+=(o^(r|~i))+t[4]-145523070|0)<<6|n>>>26)+r|0)|~o))+t[11]-1120210379|0)<<10|i>>>22)+n|0)^((o=((o+=(n^(i|~r))+t[2]+718787259|0)<<15|o>>>17)+i|0)|~n))+t[9]-343485551|0)<<21|r>>>11)+o|0,e[0]=n+e[0]|0,e[1]=r+e[1]|0,e[2]=o+e[2]|0,e[3]=i+e[3]|0}}),Object.defineProperty(e.prototype,"start",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._dataLength=0,this._bufferLength=0,this._state.set(e.stateIdentity),this}}),Object.defineProperty(e.prototype,"appendStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n,r,o=this._buffer8,i=this._buffer32,a=this._bufferLength;for(r=0;r<t.length;r+=1){if((n=t.charCodeAt(r))<128)o[a++]=n;else if(n<2048)o[a++]=192+(n>>>6),o[a++]=63&n|128;else if(n<55296||n>56319)o[a++]=224+(n>>>12),o[a++]=n>>>6&63|128,o[a++]=63&n|128;else{if((n=1024*(n-55296)+(t.charCodeAt(++r)-56320)+65536)>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");o[a++]=240+(n>>>18),o[a++]=n>>>12&63|128,o[a++]=n>>>6&63|128,o[a++]=63&n|128}a>=64&&(this._dataLength+=64,e._md5cycle(this._state,i),a-=64,i[0]=i[16])}return this._bufferLength=a,this}}),Object.defineProperty(e.prototype,"appendAsciiStr",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=this._buffer8,o=this._buffer32,i=this._bufferLength,a=0;;){for(n=Math.min(t.length-a,64-i);n--;)r[i++]=t.charCodeAt(a++);if(i<64)break;this._dataLength+=64,e._md5cycle(this._state,o),i=0}return this._bufferLength=i,this}}),Object.defineProperty(e.prototype,"appendByteArray",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,r=this._buffer8,o=this._buffer32,i=this._bufferLength,a=0;;){for(n=Math.min(t.length-a,64-i);n--;)r[i++]=t[a++];if(i<64)break;this._dataLength+=64,e._md5cycle(this._state,o),i=0}return this._bufferLength=i,this}}),Object.defineProperty(e.prototype,"getState",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[e[0],e[1],e[2],e[3]]}}}),Object.defineProperty(e.prototype,"setState",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,n=e.buffer,r=e.state,o=this._state;for(this._dataLength=e.length,this._bufferLength=e.buflen,o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],t=0;t<n.length;t+=1)this._buffer8[t]=n.charCodeAt(t)}}),Object.defineProperty(e.prototype,"end",{enumerable:!1,configurable:!0,writable:!0,value:function(t){void 0===t&&(t=!1);var n=this._bufferLength,r=this._buffer8,o=this._buffer32,i=1+(n>>2);this._dataLength+=n;var a=8*this._dataLength;if(r[n]=128,r[n+1]=r[n+2]=r[n+3]=0,o.set(e.buffer32Identity.subarray(i),i),n>55&&(e._md5cycle(this._state,o),o.set(e.buffer32Identity)),a<=4294967295)o[14]=a;else{var c=a.toString(16).match(/(.*?)(.{0,8})$/);if(null===c)return t?b:"";var u=parseInt(c[2],16),l=parseInt(c[1],16)||0;o[14]=u,o[15]=l}return e._md5cycle(this._state,o),t?this._state:e._hex(this._state)}}),Object.defineProperty(e,"selfTested",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(e,"stateIdentity",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array([1732584193,-271733879,-1732584194,271733878])}),Object.defineProperty(e,"buffer32Identity",{enumerable:!0,configurable:!0,writable:!0,value:new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}),Object.defineProperty(e,"hexChars",{enumerable:!0,configurable:!0,writable:!0,value:"0123456789abcdef"}),Object.defineProperty(e,"hexOut",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(e,"onePassHasher",{enumerable:!0,configurable:!0,writable:!0,value:new e}),e}(),T=window.requestIdleCallback||window.requestAnimationFrame||function(e){return setTimeout(e,17)};function _(e,t,n){void 0===t&&(t=150),void 0===n&&(n=!1);var r=null;return function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=this,c=n&&!r;r&&clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(a,o)}),t),c&&e.apply(a,o)}}var S=function(e,t){void 0===t&&(t=300);var n=0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=Date.now();i-n>=t&&(n=i,e.apply(this,r))}};function E(e,t){if(void 0===t&&(t=""),!e)return t;var n=e.parentElement,r=e.id,o=e.tagName.toLowerCase(),i=t?">".concat(t):"";return n&&n!==document.documentElement&&n!==document.body?r?"#".concat(r).concat(i):E(n,"".concat(o).concat(i)):"".concat(o).concat(i)}var k=function(){var e,t;if(null===(e=window.performance)||void 0===e?void 0:e.navigation)return performance.navigation.type;if(null===(t=window.performance)||void 0===t?void 0:t.getEntriesByType){var n=performance.getEntriesByType("navigation");if(n.length>0)return n[0].type}return 255},x=function(e){"prerendering"in document&&document.prerendering?function(e){"prerendering"in document&&document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()}((function(){return x(e)})):"complete"!==(null===document||void 0===document?void 0:document.readyState)?addEventListener("load",(function(){return x(e)}),!0):setTimeout(e)};function A(e){return"number"!=typeof e||!isFinite(e)||e<0?null:Math.round(100*e)/100}var L=Array(32);function M(e){return function(){for(var t=0;t<2*e;t++)L[t]=Math.floor(16*Math.random())+48,L[t]>=58&&(L[t]+=39);return String.fromCharCode.apply(null,L.slice(0,2*e))}}function O(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():M(16)()}var P=function(e){return e instanceof ErrorEvent?"Script error."===e.message?"cors":"js":"resource"},I=function(e){return w.hashStr(e)};var C,j={view:"#3b82f6",click:"#06b6d4",expose:"#8b5cf6",enter:"#10b981",leave:"#f59e0b",stay:"#84cc16",cart:"#ec4899",buy:"#ef4444",pay:"#dc2626",default:"#6b7280"},R={view:"👁️",click:"👆",expose:"✨",enter:"🚪",leave:"👋",stay:"⏱️",cart:"🛒",buy:"💰",pay:"💳",default:"📊"},q={common:"#3b82f6",behavior:"#10b981",performance:"#f59e0b",error:"#ef4444",custom:"#8b5cf6",default:"#6b7280"},N=function(e,t){t.forEach((function(t,n){var r=t.event_type||"unknown",o=t.data_type||"common",i=function(e){return j[e]||j.default}(r),a=function(e){return q[e]||q.default}(o),c=function(e){return R[e]||R.default}(r),u=t.event_detail;if("string"==typeof u)try{u=JSON.parse(u)}catch(e){}console.groupCollapsed("%c".concat(c," [TM-").concat(e,"] %c").concat(o.toUpperCase(),"%c → %c").concat(r.toUpperCase(),"%c #").concat(n+1),"color: #6b7280; font-weight: bold;","color: ".concat(a,"; font-weight: bold; background: ").concat(a,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280;","color: ".concat(i,"; font-weight: bold; background: ").concat(i,"20; padding: 2px 6px; border-radius: 3px;"),"color: #6b7280; font-weight: normal;");var s=l(l({},t),{event_detail:u});console.log("%c"+JSON.stringify(s,null,2),"color: #6b7280; font-family: monospace; font-size: 11px; line-height: 1.5;"),console.groupEnd()})),console.log("%c✅ [TM] 本次通过 ".concat(e," 上报 ").concat(t.length," 条埋点数据"),"color: #10b981; font-weight: bold; font-size: 12px; padding: 4px 8px; background: #10b98120; border-radius: 4px; border-left: 3px solid #10b981;")},U=void 0,B="TRACK_MONITOR_DATA",D="MONITOR_REAL_TIME_DATA",z="TRACK_MONITOR_USER",H="tengence_device_id",F="tengence_register_properties",K="TRACK_MONITOR_LOGGER",J="tengence_tracking_enabled",W=2e3,X="tengence_access_token",Q=null,G=null,$=function(e){return(t=e,n={},r=null==U?void 0:U.requestTimeout,o={"Content-Type":"application/json"},i=function(){return m({method:"POST",url:t,data:JSON.stringify(n),headers:o,withCredentials:!0,timeoutMs:r})},"function"!=typeof fetch?i():y(t,{method:"POST",credentials:"include",headers:o,body:JSON.stringify(n)},r).then((function(e){if(!e.ok){var t=new Error("[TM]: Request failed with status ".concat(e.status));throw t.status=e.status,t}return e.json()})).catch((function(e){if(e&&e.status)throw e;return i()}))).then((function(e){var t=e&&e.data,n=t&&t.accessToken,r=t&&t.accessExpAt;if(!n||"number"!=typeof r)throw new Error("[TM]: authUrl 响应缺少 accessToken/accessExpAt");return function(e,t){Q={token:e,expAt:t};try{localStorage.setItem(X,JSON.stringify({token:e,expAt:t}))}catch(e){}}(n,r),n}));var t,n,r,o,i},Y=function(e){var t,n=function(){if(Q)return Q;try{var e=localStorage.getItem(X);if(!e)return null;var t=JSON.parse(e);if(t&&"string"==typeof t.token&&t.token&&"number"==typeof t.expAt)return Q={token:t.token,expAt:t.expAt}}catch(e){}return null}();return(t=n)&&t.token.length>0&&t.expAt-6e4>Date.now()?Promise.resolve(n.token):(G||(G=$(e).catch((function(e){throw e})).finally((function(){G=null}))),G)},V={timer:null,promise:null},Z={timer:null,promise:null},ee=function(e){var t=JSON.stringify(e);return(new TextEncoder).encode(t).length/1024},te=function(){try{var e=localStorage.getItem(F);return e?JSON.parse(e):{}}catch(e){return console.error("[TM]: get register properties fail: ",e),{}}},ne=function(e){try{localStorage.setItem(F,JSON.stringify(e))}catch(e){console.error("[TM]: save register properties fail: ",e)}},re=function(e){if(e&&"object"==typeof e&&!Array.isArray(e)){var t=l(l({},te()),e),n=Object.keys(t);if(n.length>50){var r={};return n.slice(0,50).forEach((function(e){r[e]=t[e]})),console.warn("[TM]: register properties exceed max ".concat(50," keys, extra keys dropped")),void ne(r)}ne(t)}else console.error("[TM]: registerGlobalProperties props must be a plain object")},oe=function(e){var t=document.cookie.match(new RegExp("(?:^|;\\s*)"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},ie=function(e){document.cookie="".concat(H,"=").concat(encodeURIComponent(e),"; Max-Age=63072000; Path=/")},ae=function(){try{var e=localStorage.getItem(H);if(e)return oe(H)||ie(e),e;var t=oe(H);if(t){try{localStorage.setItem(H,t)}catch(e){}return t}e=O();try{localStorage.setItem(H,e)}catch(e){}return ie(e),e}catch(e){return void console.error("[TM]: get or create device id fail: ",e)}},ce="tengence_session_id",ue=function(){try{var e=sessionStorage.getItem(ce),t=e?JSON.parse(e):null,n=Date.now();return!t||!t.id||n-t.lastActiveAt>18e5?(t={id:O(),lastActiveAt:n},sessionStorage.setItem(ce,JSON.stringify(t))):(t.lastActiveAt=n,sessionStorage.setItem(ce,JSON.stringify(t))),t.id}catch(e){return}},le=function(e,t){var n,r;try{var o=new URL(e,location.href);if(!o.searchParams.toString())return e;if(t&&t.length){var i=[];try{for(var a=f(t),c=a.next();!c.done;c=a.next()){var u=c.value,l=o.searchParams.get(u);null!==l&&i.push("".concat(u,"=").concat(encodeURIComponent(l)))}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}o.search=i.length?"?".concat(i.join("&")):""}else o.search="";return o.toString()}catch(t){return e}},se=function(e,t,n){var r,o;if("string"==typeof e)return t>0&&e.length>t?e.slice(0,t)+"...[truncated]":e;if(Array.isArray(e))return e.map((function(e){return se(e,t,n)}));if(e&&"object"==typeof e){var i={};try{for(var a=f(Object.keys(e)),c=a.next();!c.done;c=a.next()){var u=c.value,l=e[u];"string"==typeof l&&/(^|_)url$|href|^referrer$/i.test(u)&&/^https?:\/\//i.test(l)?i[u]=le(l,n):i[u]=se(l,t,n)}}catch(e){r={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}return i}return e},de=function(e){var t={page_url:location.href,hostname:window.location.hostname||window.location.host,os:window.navigator.platform,user_id:localStorage.getItem(z)||void 0,user_agent:window.navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,lib_version:"1.1.12",lib_type:"js",event_time:(new Date).getTime().toString(),timezone_offset:(new Date).getTimezoneOffset().toString()},n=null==U?void 0:U.sanitize;return l(l({session_id:e.session_id||((null==U?void 0:U.enableAutoSessionId)?ue():void 0),request_id:e.request_id,event_id:e.event_id||O(),spm:e.spm,data_type:e.data_type||"behavior",event_type:e.event_type,event_detail:"string"==typeof e.event_detail?e.event_detail:JSON.stringify(n&&n.maxTextLength>0?se(e.event_detail,n.maxTextLength,n.preserveQueryKeys):e.event_detail)},t),{page_url:n&&n.stripQuery?le(t.page_url,n.preserveQueryKeys):t.page_url,device_id:ae(),register_properties:JSON.stringify(te()),platform:C})},fe=function(){try{return"true"===localStorage.getItem(K)}catch(e){return!1}},ve=function(e,t,n,r,o){return void 0===e?t:"number"!=typeof e||Number.isNaN(e)||e<n||e>r?(console.warn("[TM]: 配置 ".concat(o,"=").concat(e," 非法,回退默认值 ").concat(t)),t):e},he=function(e,t){var n;try{null===(n=null==U?void 0:U.onDrop)||void 0===n||n.call(U,e,t)}catch(e){}},pe=function(e,t,n){var r;(null==U?void 0:U.isLogger)&&console.error("[TM]: ".concat(t));try{null===(r=null==U?void 0:U.onError)||void 0===r||r.call(U,{code:e,message:t,context:n})}catch(e){}},me=function(){try{var e=localStorage.getItem(J);return null===e||"1"===e}catch(e){return!0}},ye=function(e){var t,n,r,o,i,a,c,u,v,h,m=e.apiKey,y=void 0,b=/Android|iPhone|iPad|iPod|Mobile/i.test(window.navigator.userAgent);C=e.platform||(b?"h5":"web");var w=(U={pushUrl:e.pushUrl||"https://api.tengence.com/v1/push/event",authUrl:e.authUrl,realTimeUrl:e.realTimeUrl,cacheNumber:ve(e.cacheNumber,100,1,1/0,"cacheNumber"),reportInterval:ve(e.reportInterval,5e3,100,1/0,"reportInterval"),realTimeReportInterval:ve(e.realTimeReportInterval,200,100,1/0,"realTimeReportInterval"),maxCacheSize:ve(e.maxCacheSize,57344,1024,1/0,"maxCacheSize"),maxRetries:ve(e.maxRetries,10,0,1/0,"maxRetries"),isLogger:null!==(t=e.isLogger)&&void 0!==t?t:fe(),errorTraceRate:ve(e.errorTraceRate,.5,0,1,"errorTraceRate"),traceBehavior:null===(n=e.traceBehavior)||void 0===n||n,tracePerformance:null===(r=e.tracePerformance)||void 0===r||r,traceError:null===(o=e.traceError)||void 0===o||o,sanitize:!1===e.sanitize?{stripQuery:!1,maxTextLength:0,preserveQueryKeys:[]}:{stripQuery:null!==(a=null===(i=e.sanitize)||void 0===i?void 0:i.stripQuery)&&void 0!==a&&a,maxTextLength:ve(null===(c=e.sanitize)||void 0===c?void 0:c.maxTextLength,0,0,1/0,"sanitize.maxTextLength"),preserveQueryKeys:(null===(u=e.sanitize)||void 0===u?void 0:u.preserveQueryKeys)||[]},enableAutoSessionId:null!==(v=e.enableAutoSessionId)&&void 0!==v&&v,enableTracking:null!==(h=e.enableTracking)&&void 0!==h?h:me(),requestTimeout:ve(e.requestTimeout,1e4,1e3,6e4,"requestTimeout"),beforeSend:e.beforeSend,onDrop:e.onDrop,onError:e.onError}).pushUrl,_=U.authUrl,S=U.realTimeUrl,E=U.cacheNumber,k=U.reportInterval,x=U.realTimeReportInterval,A=U.maxCacheSize,L=U.maxRetries;m||_||(console.error("[TM]: 未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"),pe("init_missing_credential","未配置 apiKey 或 authUrl,SDK 无法获取上报凭证,数据将不会上报。请配置 apiKey(直连)或 authUrl(自动换取 accessToken),或调用 setToken 注入 accessToken。"));var M={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},O={retryCount:0,nextRetryAt:0,retryExhausted:!1,halveBatch:!1},P=function(e){try{localStorage.setItem(z,e)}catch(e){console.error("[TM]: monitor bind user fail: ",e)}},I=function(){localStorage.removeItem(z)},j={},R={},q=new Set,H=null,F=function(){null!==H&&(clearTimeout(H),H=null),q.size&&(q.forEach((function(e){try{localStorage.setItem(e,JSON.stringify(j[e]||[]))}catch(t){pe("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),本次数据仅保留内存",{key:e,error:t})}})),q.clear())},G=function(e){if(j[e])return j[e];var t=[];try{t=JSON.parse(localStorage.getItem(e)||"[]")}catch(t){pe("queue_read_failed","读取本地缓存队列失败,按空队列处理",{key:e,error:t})}return j[e]=t,R[e]=t.reduce((function(e,t){return e+ee(t)}),0),j[e]},$=function(e,t){q.delete(e),j[e]=t,R[e]=t.reduce((function(e,t){return e+ee(t)}),0);try{localStorage.setItem(e,JSON.stringify(t))}catch(t){pe("queue_write_failed","写入本地缓存队列失败(隐私模式/容量满?),队列清空处理",{key:e,error:t});try{localStorage.setItem(e,"[]")}catch(t){pe("localstorage_unavailable","localStorage 不可用,本次数据仅保留内存",{key:e,error:t})}}},te=function(e){y=e},ne=function(e,t,n){return void 0===n&&(n=!1),s(void 0,void 0,void 0,(function(){var r,o,i,a,c,u,l;return d(this,(function(f){switch(f.label){case 0:r=e&&S?S:w,f.label=1;case 1:return f.trys.push([1,6,,7]),(i=m||y)?[3,5]:_?[4,Y(_)]:[3,3];case 2:return a=f.sent(),[3,4];case 3:a=void 0,f.label=4;case 4:i=a,f.label=5;case 5:return o=i,[3,7];case 6:throw c=f.sent(),pe("token_fetch_failed","从 authUrl 获取 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:_,error:c}),c;case 7:if(!o)throw pe("init_missing_credential","未配置 apiKey/authUrl 且未注入 accessToken,本次数据未上报(保留缓存队列待重试)"),new Error("[TM]: credential missing, skip report");return(null==U?void 0:U.isLogger)&&N(e?"RealTimeFetch":"Fetch",t),u=(null==U?void 0:U.beforeSend)?U.beforeSend(t):t,l=n||null==U?void 0:U.requestTimeout,[2,g(r,{data:u},o,l).catch((function(e){return s(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(o){switch(o.label){case 0:return t=null==e?void 0:e.status,e instanceof p||401===t||403===t?m||y||!_?[3,2]:(function(){Q=null;try{localStorage.removeItem(X)}catch(e){}}(),[4,Y(_).catch((function(){}))]):[3,2];case 1:if(n=o.sent())return[2,g(r,{data:u},n,l)];pe("token_invalid","上报 401/403 且刷新 accessToken 失败,本批暂不上报(保留队列待重试)",{authUrl:_}),o.label=2;case 2:throw e}}))}))}))]}}))}))},oe=function(e,t){var n=new Set(t.filter((function(e){return!!e})));if(n.size){var r=G(e);if(r.length){var o=r.filter((function(e){return e.event_id&&!n.has(e.event_id)}));o.length!==r.length&&$(e,o)}}},ie=function(e,t,n){void 0===n&&(n=0);var r=(t?x:k)*Math.pow(2,e)*(.8+.4*Math.random()),o=Math.min(r,6e4);return Math.max(o,n)},ae=function(e,t){var n=ee(t);if(n>=64)return he([t],"item_too_large"),void console.warn("[TM]: 单条事件超过体积上限(".concat(64,"KB),丢弃该条"));var r=G(e);if(r.unshift(t),R[e]+=n,r.length>W){var o=r.length-W,i=r.splice(r.length-o,r.length);R[e]=r.reduce((function(e,t){return e+ee(t)}),0),he(i,"queue_overflow"),console.warn("[TM]: 队列超过上限(".concat(W,"条),丢弃最旧 ").concat(o," 条"))}!function(e){q.add(e),null===H&&(H=setTimeout((function(){H=null,F()}),200))}(e),ce(e,R[e]>=A)},ce=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),null==U?void 0:U.enableTracking){var r=G(e);if(r.length){var o=function(e){return e===D}(e),i=o?Z:V,a=function(e){return e?O:M}(o);if(a.halveBatch&&r.length>1&&(r=r.slice(0,Math.ceil(r.length/2))),!a.retryExhausted)if(Date.now()<a.nextRetryAt)null===i.timer&&(i.timer=setTimeout((function(){i.timer=null,ce(e)}),a.nextRetryAt-Date.now()));else if(0!==a.retryCount||(r.length>=E||t)){if(null!==i.timer&&(clearTimeout(i.timer),i.timer=null),i.promise)return;i.promise=function(e,t,n,r,o){return void 0===o&&(o=!1),s(void 0,void 0,void 0,(function(){var i,a,c,u,l,s,v,h,p,m,y,g,b,w,T,_,S,E;return d(this,(function(k){switch(k.label){case 0:i=[],a=[],c=0;try{for(u=f(t),l=u.next();!l.done;l=u.next())s=l.value,v=1024*ee(s),a.length&&c+v>65536&&(i.push(a),a=[],c=0),a.push(s),c+=v}catch(e){b={error:e}}finally{try{l&&!l.done&&(w=u.return)&&w.call(u)}finally{if(b)throw b.error}}a.length&&i.push(a),h=function(t){var r,i,a,c,u;return d(this,(function(l){switch(l.label){case 0:return[4,ne(n,t,o)];case 1:return r=l.sent(),i=null===(S=null==r?void 0:r.data)||void 0===S?void 0:S.accepted_ids,a=null===(E=null==r?void 0:r.data)||void 0===E?void 0:E.rejected_ids,Array.isArray(i)?(oe(e,i),Array.isArray(a)&&a.length&&(c=new Set(a),oe(e,a),u=t.filter((function(e){return e.event_id&&c.has(e.event_id)})),u.length&&he(u,"server_rejected"),console.warn("[TM]: 服务端校验拒绝 ".concat(a.length," 条(永久性拒绝),已从队列移除并通知 onDrop")))):(oe(e,t.map((function(e){return e.event_id}))),(null==U?void 0:U.isLogger)&&console.warn("[TM]: 响应缺少 accepted_ids,按整批成功清理")),[2]}}))},k.label=1;case 1:k.trys.push([1,6,7,8]),p=f(i),m=p.next(),k.label=2;case 2:return m.done?[3,5]:(y=m.value,[5,h(y)]);case 3:k.sent(),k.label=4;case 4:return m=p.next(),[3,2];case 5:return[3,8];case 6:return g=k.sent(),T={error:g},[3,8];case 7:try{m&&!m.done&&(_=p.return)&&_.call(p)}finally{if(T)throw T.error}return[7];case 8:return r.retryCount=0,r.nextRetryAt=0,r.halveBatch=!1,[2]}}))}))}(e,r,o,a,n).catch((function(e){!function(e,t,n,r,o){(null==t?void 0:t.timeout)&&pe("request_timeout","上报请求超时,数据保留队列按退避重试",{url:n&&S?S:w,timeoutMs:null==U?void 0:U.requestTimeout});var i=null==t?void 0:t.status;if(413!==i){if(i&&i>=400&&i<500&&401!==i&&403!==i&&408!==i&&410!==i&&429!==i)return r.retryExhausted=!0,he(o,"rejected_4xx"),void console.warn("[TM]: 批次提交被服务端拒绝(HTTP ".concat(i,"),数据保留在队列并暂停自动重试"));if(r.retryCount++,r.retryCount>L)return r.retryExhausted=!0,he(o,"retries_exhausted"),void console.warn("[TM]: 重试次数已达上限(".concat(L,"),数据保留在队列(不丢弃),待下次会话或手动触发重试"));var a=429===i&&(null==t?void 0:t.retryAfter)||0;r.nextRetryAt=Date.now()+ie(r.retryCount,n,a),console.error("[TM]: send report fail, retryCount: ".concat(r.retryCount,", next retry after ").concat(Math.round((r.nextRetryAt-Date.now())/1e3),"s"))}else o.length>1?(r.halveBatch=!0,r.retryCount++,r.nextRetryAt=Date.now()+ie(r.retryCount,n,0),console.warn("[TM]: 批次过大(HTTP 413),降容半批重发(本批 ".concat(o.length," 条)"))):(r.retryExhausted=!0,he(o,"rejected_4xx"),console.warn("[TM]: 单条事件仍超限(HTTP 413),数据保留在队列"))}(0,e,o,a,r)})).finally((function(){i.timer=null,i.promise=null,ce(e)}))}else if(null===i.timer){var c=o?x:k;i.timer=setTimeout((function(){i.timer=null,ce(e,!0)}),c)}}}},ue=function(e){if(null==U?void 0:U.enableTracking)if(e&&"object"==typeof e){var t=!0===e.track_real_time,n=de(e);try{ae(t&&S?D:B,n)}catch(e){pe("enqueue_failed","事件入队失败",{error:e})}}else console.error("[TM]: track data must be an object");else(null==U?void 0:U.isLogger)&&console.warn("[TM]: 用户已选择退出采集(enableTracking=false),本事件忽略")},le=function(e,t,n){ue("string"==typeof e?l({event_type:e,event_detail:t},n):e)},se=function(){ce(B,!0),ce(D,!0);var e=[V.promise,Z.promise].filter((function(e){return!!e}));return Promise.all(e).then((function(){}))},ye=function(){U.isLogger=!0;try{localStorage.setItem(K,"true")}catch(e){console.error("[TM]: enable logger fail:",e)}},ge=function(){U.isLogger=!1;try{localStorage.setItem(K,"false")}catch(e){console.error("[TM]: disable logger fail:",e)}};T((function(){ce(B,!0),ce(D,!0)}));var be=function(e){return"boolean"==typeof e&&(U.enableTracking=e,function(e){try{localStorage.setItem(J,e?"1":"0")}catch(e){}}(e),e?(null==U?void 0:U.isLogger)&&console.warn("[TM]: 恢复采集"):($(B,[]),$(D,[]),(null==U?void 0:U.isLogger)&&console.warn("[TM]: 用户已选择退出采集,已清空未上报队列"))),!0===(null==U?void 0:U.enableTracking)};return window.trackMonitor={track:le,flush:se,bindUser:P,unBindUser:I,enableLogger:ye,disableLogger:ge,setToken:te,registerGlobalProperties:re,enableTracking:be},{client:{track:le,flush:se,bindUser:P,unBindUser:I,enableLogger:ye,disableLogger:ge,setToken:te,registerGlobalProperties:re,enableTracking:be},beforeClose:function(){var e=function(){F(),ce(B,!0,!0),ce(D,!0,!0)};window.addEventListener("beforeunload",e),window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&e()})),window.addEventListener("online",e)}}},ge=M(16)(),be=function(e){var t=history[e];return function(){var n=t.apply(this,arguments),r=new Event(e);return window.dispatchEvent(r),n}},we=function(e){window.addEventListener("replaceState",(function(t){return e(t)}),!0),window.addEventListener("pushState",(function(t){return e(t)}),!0)},Te=function(e){window.addEventListener("popstate",(function(t){return e(t)}),!0)},_e=[25,50,75,90],Se=function(e){var t,n,r;history.pushState=be("pushState"),history.replaceState=be("replaceState"),t="",r=_(n=function(){var e=window.location.href;if(e!==t){var n=window.location,r={host:n.host,hostname:n.hostname,href:n.href,protocol:n.protocol,origin:n.origin,port:n.port,pathname:n.pathname,search:n.search,hash:n.hash,title:document.title,language:navigator.language.substring(0,2),user_agent:navigator.userAgent,win_screen:"".concat(window.screen.width,"x").concat(window.screen.height),doc_screen:"".concat(document.documentElement.clientWidth,"x").concat(document.documentElement.clientHeight),referrer:document.referrer,type:k()};window.trackMonitor.track({data_type:"common",event_type:"page_view",event_detail:r}),t=e}},200),n(),Te((function(){r()})),we((function(){r()})),window.addEventListener("popstate",(function(){r()})),function(){var e=document.referrer,t=window.location.href,n=Date.now(),r=!0,o=function(r){if(void 0===r&&(r=!1),window.location.href!==t||r){var o=Date.now()-n;o>200&&window.trackMonitor.track({data_type:"common",event_type:"page_leave",event_detail:{url:t,referrer:e,duration:o}}),n=Date.now(),e=t,t=window.location.href}},i=_(o);o(),Te((function(){i()})),we((function(){i()})),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?r&&(r=!1,o(!0)):(r=!0,n=Date.now())})),window.addEventListener("beforeunload",(function(){r&&(r=!1,o(!0))}),!0)}(),function(){var e=S((function(e){var t,n=function(e){if(e)return["A","INPUT","TEXTAREA","BUTTON"].includes(e.tagName)||e.hasAttribute("track-click")?e:e.closest("a, button, [track-click]")||void 0}(e.target);if(n){var r={element_id:n.id,element_content:(null===(t=n.textContent)||void 0===t?void 0:t.trim())||null,element_class_name:n.className||null,element_name:n.getAttribute("name")||null,element_type:n.tagName.toLowerCase(),element_path:E(n),scroll_width:document.documentElement.scrollWidth,scroll_height:document.documentElement.scrollHeight,pageX:e.pageX,pageY:e.pageY,ratio:window.devicePixelRatio||1};window.trackMonitor.track({data_type:"common",event_type:"click",event_detail:r})}}));window.addEventListener("click",e,!0)}(),!1!==(null==e?void 0:e.enableScroll)&&function(){var e=new Set,t=S((function(){var n=document.documentElement,r=n.scrollHeight-n.clientHeight;if(!(r<=0)){var o=Math.round((window.scrollY||n.scrollTop)/r*100),i=_e.filter((function(t){return o>=t&&!e.has(t)}));i.length&&(i.forEach((function(t){e.add(t),window.trackMonitor.track({data_type:"common",event_type:"scroll",event_detail:{scroll_depth:t}})})),e.has(90)&&window.removeEventListener("scroll",t))}}),300);window.addEventListener("scroll",t,{passive:!0})}()},Ee=null,ke=null,xe="track-expose",Ae="track-view",Le=function(e){try{ke=new WeakMap}catch(e){console.error("[TM]: create WeakMap fail: ",e)}var t=function(e,t){void 0===t&&(t=!1);var r=null==ke?void 0:ke.get(e);if(!r||t){r&&(r.viewTimer&&clearTimeout(r.viewTimer),r.exposeTimer&&clearTimeout(r.exposeTimer));var o=e.dataset.durationView||500,i=e.dataset.durationExpose||500;null==ke||ke.set(e,{duration_view:o,duration_expose:i,viewTimer:null,exposeTimer:null}),null==Ee||Ee.observe(e),t&&function(e){if(!(e instanceof Element))return!1;if(!function e(t){if(!t)return!0;var n=window.getComputedStyle(t);return"none"!==n.display&&"hidden"!==n.visibility&&0!==parseFloat(n.opacity)&&e(t.parentElement)}(e))return!1;var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}(e)&&n(e)}},n=function(t){var n,o=null==ke?void 0:ke.get(t);if(o){var i=t.dataset.eventDetail,a=null!==(n=t.dataset.traceid)&&void 0!==n?n:void 0,c=t.dataset.spm,u=t.hasAttribute("track-real-time"),l=t.hasAttribute(Ae),s=t.hasAttribute(xe);l&&s?o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view_expose",event_detail:i,track_real_time:u}),t.removeAttribute(Ae),o.exposeTimer=null}),parseInt(o.duration_expose,10)):(l&&(o.viewTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"view",event_detail:i,track_real_time:u}),t.removeAttribute(Ae),s&&o.exposeTimer||r(t),o.viewTimer=null}),parseInt(o.duration_view,10))),s&&(o.exposeTimer=window.setTimeout((function(){e({spm:c,request_id:a,data_type:"common",event_type:"expose",event_detail:i,track_real_time:u}),o.exposeTimer=null}),parseInt(o.duration_expose,10))))}},r=function(e){var t=null==ke?void 0:ke.get(e);t&&(null==Ee||Ee.unobserve(e),t.viewTimer&&clearTimeout(t.viewTimer),t.exposeTimer&&clearTimeout(t.exposeTimer),null==ke||ke.delete(e))},o=function(e){e.forEach((function(e){var t=e.target,o=null==ke?void 0:ke.get(t);o&&(o.viewTimer&&(clearTimeout(o.viewTimer),o.viewTimer=null),o.exposeTimer&&(clearTimeout(o.exposeTimer),o.exposeTimer=null),e.isIntersecting&&(n(t),t.hasAttribute(Ae)||t.hasAttribute(xe)||r(t)))}))};Ee=function(){var e=null;try{e=new IntersectionObserver(o,{root:null,threshold:.5})}catch(e){console.error("[TM]: create IntersectionObserver fail: ",e)}return e}(),new Set(h(h([],v(document.querySelectorAll("[".concat(xe,"]"))),!1),v(document.querySelectorAll("[".concat(Ae,"]"))),!1)).forEach((function(e){return t(e)})),new MutationObserver((function(e){e.forEach((function(e){if("attributes"===e.type&&e.target instanceof HTMLElement){var n=e.target,o=e.attributeName;n.hasAttribute(xe)||n.hasAttribute(Ae)?["data-event-detail","data-traceid","data-spm","data-duration-view","data-duration-expose"].includes(o)?t(n,!0):o!==xe&&o!==Ae||t(n,!1):r(n)}else"childList"===e.type&&(e.addedNodes.forEach((function(e){e instanceof HTMLElement&&(e.hasAttribute(xe)||e.hasAttribute(Ae)?t(e):new Set(h(h([],v(e.querySelectorAll("[".concat(xe,"]"))),!1),v(e.querySelectorAll("[".concat(Ae,"]"))),!1)).forEach((function(e){return t(e)})))})),e.removedNodes.forEach((function(e){e instanceof HTMLElement&&((null==ke?void 0:ke.get(e))?r(e):new Set(h(h([],v(e.querySelectorAll("[".concat(xe,"]"))),!1),v(e.querySelectorAll("[".concat(Ae,"]"))),!1)).forEach((function(e){return r(e)})))})))}))})).observe(document.body,{attributes:!0,childList:!0,subtree:!0})},Me=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;function Oe(e){var t=e.match(Me);return t?{filename:t[2],functionName:t[1]||"",lineno:parseInt(t[3],10)||void 0,colno:parseInt(t[4],10)||void 0}:{}}function Pe(e){var t,n,r,o,i;try{var a=e.stack;if(!a)return[];var c=[];try{for(var u=f(a.split("\n").slice(1)),l=u.next();!l.done;l=u.next()){var s=Oe(l.value);!s||(null===(r=s.filename)||void 0===r?void 0:r.includes("chrome-extension://"))||(null===(o=s.filename)||void 0===o?void 0:o.includes("node_modules"))||(null===(i=s.filename)||void 0===i?void 0:i.includes("<anonymous>"))||c.push(s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return c.slice(0,10)}catch(e){return[]}}var Ie=new Set,Ce=function(e,t){var n,r;if((r=null!==(n=null==U?void 0:U.errorTraceRate)&&void 0!==n?n:.5)<0||r>1?(console.warn("[TM]: probability should be between 0 and 1"),0):Math.random()<r){if(window.trackMonitor.track(t),Ie.size>=1e3){var o=Ie.values().next().value;void 0!==o&&Ie.delete(o)}Ie.add(e)}},je=function(){window.addEventListener("error",(function(e){!function(e){var t;if(e instanceof ErrorEvent&&"Script error."===e.message){var n=I("js-Script error.");if(Ie.has(n))return;Ce(n,{data_type:"error",event_type:"js",event_detail:{traceId:ge,msg:'Script error.(跨域脚本未加载 crossorigin 属性,无法获取堆栈;建议脚本加 crossorigin="anonymous")',target:"",stack:[],errorUuid:n,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno,crossorigin_missing:!0}}})}else if("js"===P(e)&&!function(e){var t,n=(null===(t=e.error)||void 0===t?void 0:t.stack)||"";return/chrome-extension:\/\//.test(n)}(e)){var r=I("js-".concat(e.message,"-").concat(e.filename));if(!Ie.has(r)){var o=Pe(e.error),i={traceId:ge,msg:e.message,target:o[0]?"".concat(null===(t=o[0].filename)||void 0===t?void 0:t.split("?")[0],":").concat(o[0].lineno,":").concat(o[0].colno):"",stack:o,errorUuid:r,meta:{filename:e.filename,colno:e.colno,lineno:e.lineno}};Ce(r,{data_type:"error",event_type:"js",event_detail:i})}}}(e)}),!0)},Re=function(){window.addEventListener("error",(function(e){!function(e){var t;if("resource"===P(e)){var n=e.target,r=I("resource-".concat(n.src,"-").concat(n.tagName));if(!Ie.has(r)){var o={traceId:ge,msg:"加载".concat(n.tagName,"失败"),target:null===(t=n.src)||void 0===t?void 0:t.split("?")[0],errorUuid:r,meta:{url:n.src,html:n.outerHTML,tagName:n.tagName}};Ce(r,{data_type:"error",event_type:"resource",event_detail:o})}}}(e)}),!0)},qe=function(){window.addEventListener("unhandledrejection",(function(e){return function(e){var t,n=(null===(t=e.reason)||void 0===t?void 0:t.message)||e.reason,r=I("".concat("unhandledrejection","-").concat(n));if(!Ie.has(r)){var o={traceId:ge,msg:n,stack:Pe(e.reason),errorUuid:r};Ce(r,{data_type:"error",event_type:"unhandledrejection",event_detail:o})}}(e)}),!0)},Ne=function(){var e=function(e,t,n){if(t){var r=I("http-".concat(t,"-").concat(e.url,"-").concat(n));if(Ie.has(r))return;var o={traceId:ge,errorType:t,msg:n,target:e.url.split("?")[0],errorUuid:r,request:e};Ce(r,{data_type:"error",event_type:"http",event_detail:o})}else if(e.status>=400){var i=e.statusText;r=I("http-".concat(t="http_error","-").concat(e.url,"-").concat(i));if(Ie.has(r))return;o={traceId:ge,errorUuid:r,errorType:t,target:e.url.split("?")[0],msg:i,request:e};Ce(r,{data_type:"error",event_type:"http",event_detail:o})}};!function(e,t){if("XMLHttpRequest"in window&&"function"==typeof window.XMLHttpRequest){var n=window.XMLHttpRequest;window.oXMLHttpRequest||(window.oXMLHttpRequest=n),window.XMLHttpRequest=function(){var e=new n,r=e.open,o=e.send,i={};e.open=function(t,n,o,a,c){void 0===o&&(o=!0),i.method=t,i.url=n,r.call(e,t,n,o,a,c)},e.send=function(t){i.requestTime=(new Date).getTime(),o.call(e,t)};var a=function(n,r){var o=e.status,a=e.statusText,c=(new Date).getTime();i=l(l({},i),{status:o,statusText:a,responseTime:c,duration:c-i.requestTime}),"function"==typeof t&&t(i,n,r)};return e.addEventListener("loadend",(function(){return a()})),e.addEventListener("error",(function(){return a("net_error","ERR_NETWORK")})),e.addEventListener("abort",(function(){return a("cannel_request","ERR_CANCELED")})),e.addEventListener("timeout",(function(){return a("timeout","ERR_NETWORK")})),e}}}(0,e),function(e,t){if("fetch"in window&&"function"==typeof window.fetch){var n=window.fetch;window.oFetch||(window.oFetch=n),window.fetch=function(e,r){return s(void 0,void 0,void 0,(function(){var o;return d(this,(function(i){return(o={}).method=(null==r?void 0:r.method)||"",o.url=(e&&"string"!=typeof e?null==e?void 0:e.url:e)||"",o.requestTime=(new Date).getTime(),[2,n.call(window,e,r).then((function(e){return s(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return"function"==typeof t&&(n=e.clone(),r=(new Date).getTime(),o=l(l({},o),{status:n.status,statusText:n.statusText,responseTime:r,duration:r-o.requestTime}),t(o)),[2,e]}))}))})).catch((function(e){if("function"==typeof t){var n=(new Date).getTime();o=l(l({},o),{responseTime:n,duration:n-o.requestTime}),"AbortError"===e.name?t(o,"cannel_request","ERR_CANCELED"):t(o,"net_error","ERR_NETWORK")}return Promise.reject(e)}))]}))}))}}}(0,e)};var Ue=new WeakSet,Be=function(e){return{form_id:e.id||null,form_class:"string"==typeof e.className?e.className:null,form_name:e.getAttribute("name")||null,form_action:e.getAttribute("action")||null,form_text:(e.textContent||"").trim().slice(0,200)||null}},De=-1,ze=function(e){addEventListener("pageshow",(function(t){t.persisted&&(De=t.timeStamp,e(t))}),!0)},He=function(e,t,n,r){var o,i;return function(a){t.value>=0&&(a||r)&&(((i=t.value-(null!=o?o:0))||void 0===o)&&(o=t.value,t.delta=i,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t)))}},Fe=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},Ke=function(){var e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},Je=function(){var e,t=Ke();return null!==(e=null==t?void 0:t.activationStart)&&void 0!==e?e:0},We=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=Ke(),r="navigate";return De>=0?r="back-forward-cache":n&&(document.prerendering||Je()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:"v5-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},Xe=new WeakMap;function Qe(e,t){return Xe.get(e)||Xe.set(e,new t),Xe.get(e)}var Ge,$e=function(){return r((function e(){n(this,e),i(this,"t",void 0),i(this,"i",0),i(this,"o",[])}),[{key:"h",value:function(e){var t;if(!e.hadRecentInput){var n=this.o[0],r=this.o.at(-1);this.i&&n&&r&&e.startTime-r.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),null===(t=this.t)||void 0===t||t.call(this,e)}}}])}(),Ye=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e,buffered:!0},n)),r}}catch(e){}},Ve=function(e){var t=!1;return function(){t||(e(),t=!0)}},Ze=-1,et=new Set,tt=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},nt=function(e){if("hidden"===document.visibilityState){if("visibilitychange"===e.type){var t,n=o(et);try{for(n.s();!(t=n.n()).done;){(0,t.value)()}}catch(e){n.e(e)}finally{n.f()}}isFinite(Ze)||(Ze="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",nt,!0))}},rt=function(){if(Ze<0){var e,t=Je(),n=document.prerendering||null===(e=globalThis.performance.getEntriesByType("visibility-state").filter((function(e){return"hidden"===e.name&&e.startTime>t}))[0])||void 0===e?void 0:e.startTime;Ze=null!=n?n:tt(),addEventListener("visibilitychange",nt,!0),addEventListener("prerenderingchange",nt,!0),ze((function(){setTimeout((function(){Ze=tt()}))}))}return{get firstHiddenTime(){return Ze},onHidden:function(e){et.add(e)}}},ot=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},it=[1800,3e3],at=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ot((function(){var n,r=rt(),i=We("FCP"),a=Ye("paint",(function(e){var t,c=o(e);try{for(c.s();!(t=c.n()).done;){var u=t.value;"first-contentful-paint"===u.name&&(a.disconnect(),u.startTime<r.firstHiddenTime&&(i.value=Math.max(u.startTime-Je(),0),i.entries.push(u),n(!0)))}}catch(e){c.e(e)}finally{c.f()}}));a&&(n=He(e,i,it,t.reportAllChanges),ze((function(r){i=We("FCP"),n=He(e,i,it,t.reportAllChanges),Fe((function(){i.value=performance.now()-r.timeStamp,n(!0)}))})))}))},ct=[.1,.25],ut=0,lt=1/0,st=0,dt=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.interactionId&&(lt=Math.min(lt,r.interactionId),st=Math.max(st,r.interactionId),ut=st?(st-lt)/7+1:0)}}catch(e){n.e(e)}finally{n.f()}},ft=function(){var e;return Ge?ut:null!==(e=performance.interactionCount)&&void 0!==e?e:0},vt=0,ht=function(){return r((function e(){n(this,e),i(this,"u",[]),i(this,"l",new Map),i(this,"m",void 0),i(this,"p",void 0)}),[{key:"v",value:function(){vt=ft(),this.u.length=0,this.l.clear()}},{key:"L",value:function(){var e=Math.min(this.u.length-1,Math.floor((ft()-vt)/50));return this.u[e]}},{key:"h",value:function(e){var t;if(null!==(t=this.m)&&void 0!==t&&t.call(this,e),e.interactionId||"first-input"===e.entryType){var n=this.u.at(-1),r=this.l.get(e.interactionId);if(r||this.u.length<10||e.duration>n.P){var i;if(r?e.duration>r.P?(r.entries=[e],r.P=e.duration):e.duration===r.P&&e.startTime===r.entries[0].startTime&&r.entries.push(e):(r={id:e.interactionId,entries:[e],P:e.duration},this.l.set(r.id,r),this.u.push(r)),this.u.sort((function(e,t){return t.P-e.P})),this.u.length>10){var a,c=o(this.u.splice(10));try{for(c.s();!(a=c.n()).done;){var u=a.value;this.l.delete(u.id)}}catch(e){c.e(e)}finally{c.f()}}null===(i=this.p)||void 0===i||i.call(this,r)}}}}])}(),pt=function(e){var t=globalThis.requestIdleCallback||setTimeout;"hidden"===document.visibilityState?e():(e=Ve(e),addEventListener("visibilitychange",e,{once:!0,capture:!0}),t((function(){e(),removeEventListener("visibilitychange",e,{capture:!0})})))},mt=[200,500],yt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype){var n=rt();ot((function(){var r;"interactionCount"in performance||Ge||(Ge=Ye("event",dt,{type:"event",buffered:!0,durationThreshold:0}));var i,a=We("INP"),c=Qe(t,ht),u=function(e){pt((function(){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;c.h(r)}}catch(e){n.e(e)}finally{n.f()}var u=c.L();u&&u.P!==a.value&&(a.value=u.P,a.entries=u.entries,i())}))},l=Ye("event",u,{durationThreshold:null!==(r=t.durationThreshold)&&void 0!==r?r:40});i=He(e,a,mt,t.reportAllChanges),l&&(l.observe({type:"first-input",buffered:!0}),n.onHidden((function(){u(l.takeRecords()),i(!0)})),ze((function(){c.v(),a=We("INP"),i=He(e,a,mt,t.reportAllChanges)})))}))}},gt=function(){return r((function e(){n(this,e),i(this,"m",void 0)}),[{key:"h",value:function(e){var t;null===(t=this.m)||void 0===t||t.call(this,e)}}])}(),bt=[2500,4e3],wt=[800,1800],Tt=function(e){document.prerendering?ot((function(){return Tt(e)})):"complete"!==document.readyState?addEventListener("load",(function(){return Tt(e)}),!0):setTimeout(e)};function _t(){var e={ttfb:null,lcp:null,fp:null,fcp:null,connectionRtt:null,ttfbRequestTime:null,inp:null,cls:null,dcl:null,loadTime:null};!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ot((function(){var n,r=rt(),i=We("LCP"),a=Qe(t,gt),c=function(e){t.reportAllChanges||(e=e.slice(-1));var c,u=o(e);try{for(u.s();!(c=u.n()).done;){var l=c.value;a.h(l),l.startTime<r.firstHiddenTime&&(i.value=Math.max(l.startTime-Je(),0),i.entries=[l],n())}}catch(e){u.e(e)}finally{u.f()}},u=Ye("largest-contentful-paint",c);if(u){n=He(e,i,bt,t.reportAllChanges);for(var l=Ve((function(){c(u.takeRecords()),u.disconnect(),n(!0)})),s=function(e){e.isTrusted&&(pt(l),removeEventListener(e.type,s,{capture:!0}))},d=0,f=["keydown","click","visibilitychange"];d<f.length;d++)addEventListener(f[d],s,{capture:!0});ze((function(r){i=We("LCP"),n=He(e,i,bt,t.reportAllChanges),Fe((function(){i.value=performance.now()-r.timeStamp,n(!0)}))}))}}))}((function(t){e.lcp=A(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=rt();at(Ve((function(){var r,i=We("CLS",0),a=Qe(t,$e),c=function(e){var t,n=o(e);try{for(n.s();!(t=n.n()).done;){var c=t.value;a.h(c)}}catch(e){n.e(e)}finally{n.f()}a.i>i.value&&(i.value=a.i,i.entries=a.o,r())},u=Ye("layout-shift",c);u&&(r=He(e,i,ct,t.reportAllChanges),n.onHidden((function(){c(u.takeRecords()),r(!0)})),ze((function(){a.i=0,i=We("CLS",0),r=He(e,i,ct,t.reportAllChanges),Fe((function(){return r()}))})),setTimeout(r))})))}((function(t){e.cls=Math.round(1e4*t.value)/1e4}),{reportAllChanges:!0}),yt((function(t){e.inp=A(t.value)}),{reportAllChanges:!0}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=We("TTFB"),r=He(e,n,wt,t.reportAllChanges);Tt((function(){var o=Ke();o&&(n.value=Math.max(o.responseStart-Je(),0),n.entries=[o],r(!0),ze((function(){n=We("TTFB",0),(r=He(e,n,wt,t.reportAllChanges))(!0)})))}))}((function(t){e.ttfb=A(t.value)})),at((function(t){e.fcp=A(t.value)}));var t=function(){!function(){try{performance.getEntriesByType("paint").forEach((function(t){"first-paint"===t.name&&(e.fp=A(t.startTime))}))}catch(e){console.warn("[TM]: Failed to collect FP:",e)}try{var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;t&&void 0!==t.rtt&&(e.connectionRtt=t.rtt)}catch(e){console.warn("[TM]: Failed to collect Connection RTT:",e)}try{if(o=performance.getEntriesByType("navigation")[0]){var n=o.responseStart,r=o.requestStart;n>0&&r>0&&r<=n&&(e.ttfbRequestTime=A(n-r))}}catch(e){console.warn("[TM]: Failed to collect TTFB Request Time:",e)}try{var o;if(o=performance.getEntriesByType("navigation")[0]){var i=o.domContentLoadedEventEnd,a=o.loadEventEnd,c=o.fetchStart;i>0&&c>0&&(e.dcl=A(i-c)),a>0&&c>0&&(e.loadTime=A(a-c))}}catch(e){console.warn("[TM]: Failed to collect DCL and Load Time:",e)}}(),window.trackMonitor.track({data_type:"performance",event_type:"metrics",event_detail:{traceId:ge,data:e}})},n=0,r=function(){var e=Date.now();e-n<3e4||(n=e,t())};window.addEventListener("beforeunload",t),window.addEventListener("pagehide",r),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&r()}))}var St="__tengence_sdk";e.init=function(e){if("undefined"!=typeof window&&window.trackMonitor&&window.trackMonitor[St])return console.warn("[TM]: init 已调用过,复用现有实例(如需重建请刷新页面)"),window.trackMonitor;var t,n=ye(e),r=n.client,o=n.beforeClose;return Le(r.track),!1!==e.traceBehavior&&Se({enableScroll:e.enableScroll}),!1!==e.enableFormTrack&&(t=r.track,document.addEventListener("focusin",(function(e){var n=e.target;if((r=n)&&("INPUT"===r.tagName||"SELECT"===r.tagName||"TEXTAREA"===r.tagName)){var r,o=n.closest("form");o&&!Ue.has(o)&&(Ue.add(o),t({data_type:"common",event_type:"form_start",event_detail:Be(o)}))}}),!0),document.addEventListener("submit",(function(e){var n=e.target;if(n&&"FORM"===n.tagName){var r=e.submitter;t({data_type:"common",event_type:"form_submit",event_detail:l(l({},Be(n)),{submitter_id:(null==r?void 0:r.id)||null,submitter_text:((null==r?void 0:r.textContent)||"").trim().slice(0,200)||null})})}}),!0)),!1!==e.traceError&&(je(),Re(),qe(),Ne()),!1!==e.tracePerformance&&x((function(){!function(){var e,t,n,r,o,i=window.performance||window.msPerformance;if(!i)return{dnsLookupTime:null,tcpConnectTime:null,ttfb:null,transferTime:null,domParseTime:null,domCompleteTime:null,loadEventTime:null,totalPageLoad:null};var a=i.getEntriesByType&&i.getEntriesByType("navigation")&&i.getEntriesByType("navigation")[0],c=null;if(a)c=a;else{var u=i.timing;u&&!(c={startTime:0,domainLookupStart:u.domainLookupStart,domainLookupEnd:u.domainLookupEnd,connectStart:u.connectStart,connectEnd:u.connectEnd,requestStart:u.requestStart,responseStart:u.responseStart,responseEnd:u.responseEnd,domInteractive:u.domInteractive,domComplete:u.domComplete,loadEventEnd:u.loadEventEnd,fetchStart:u.fetchStart}).requestStart&&u.fetchStart&&(c.requestStart=u.fetchStart)}var l={dnsLookupTime:c?A(c.domainLookupEnd-c.domainLookupStart):null,tcpConnectTime:c?A(c.connectEnd-c.connectStart):null,ttfb:c?A(c.responseStart-(null!==(t=null!==(e=c.requestStart)&&void 0!==e?e:c.fetchStart)&&void 0!==t?t:0)):null,transferTime:c?A(c.responseEnd-c.responseStart):null,domParseTime:c?A(c.domInteractive-c.responseEnd):null,domCompleteTime:c?A(c.domComplete-c.domInteractive):null,loadEventTime:c?A(c.loadEventEnd-(null!==(n=c.domComplete)&&void 0!==n?n:0)):null,totalPageLoad:c?A((null!==(r=c.loadEventEnd)&&void 0!==r?r:performance.now())-(null!==(o=c.startTime)&&void 0!==o?o:0)):null};window.trackMonitor.track({data_type:"performance",event_type:"navigation_timing",event_detail:{traceId:ge,data:l}})}(),function(){var e=window.performance||window.msPerformance;if(!e)return[];var t=[];if(e.getEntriesByType){var n=(e.getEntriesByType("resource")||[]).map((function(e){var t="number"==typeof e.redirectEnd&&"number"==typeof e.redirectStart?A(e.redirectEnd-e.redirectStart):null,n="number"==typeof e.domainLookupEnd&&"number"==typeof e.domainLookupStart?A(e.domainLookupEnd-e.domainLookupStart):null,r="number"==typeof e.connectEnd&&"number"==typeof e.connectStart?A(e.connectEnd-e.connectStart):null,o="number"==typeof e.requestStart&&"number"==typeof e.fetchStart?A(e.requestStart-e.fetchStart):null,i="number"==typeof e.responseStart&&"number"==typeof e.requestStart?A(e.responseStart-e.requestStart):null,a="number"==typeof e.responseEnd&&"number"==typeof e.responseStart?A(e.responseEnd-e.responseStart):null,c="number"==typeof e.duration?A(e.duration):null,u="number"==typeof e.startTime?A(e.startTime):null,l="number"==typeof e.transferSize&&isFinite(e.transferSize)&&e.transferSize>=0?Math.round(e.transferSize):null,s="number"==typeof e.encodedBodySize&&isFinite(e.encodedBodySize)&&e.encodedBodySize>=0?Math.round(e.encodedBodySize):null,d="number"==typeof e.decodedBodySize&&isFinite(e.decodedBodySize)&&e.decodedBodySize>=0?Math.round(e.decodedBodySize):null;return{name:e.name,initiatorType:e.initiatorType||"",startTime:u,duration:c,redirectTime:t,cacheTime:o,dnsTime:n,connectTime:r,requestTime:i,responseTime:a,transferSize:l,encodedBodySize:s,decodedBodySize:d}}));n.sort((function(e,t){var n,r;return(null!==(n=t.duration)&&void 0!==n?n:0)-(null!==(r=e.duration)&&void 0!==r?r:0)}));for(var r=0;r<Math.min(15,n.length);r++)t.push(n[r])}window.trackMonitor.track({data_type:"performance",event_type:"resource_flow",event_detail:{traceId:ge,data:t}})}(),_t()})),x((function(){o()})),window.trackMonitor[St]=!0,window.trackMonitor}}));
|