@jolibox/implement 1.1.8-beta.1 → 1.1.8

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.
@@ -4,7 +4,7 @@
4
4
  "packages/implement/.eslintrc.js": "7a3d2747dc887655ca9e2d3ff621f7dfd98500b9",
5
5
  "packages/implement/README.md": "5660cd88848b7a5428394cc34d881a35dd402188",
6
6
  "packages/implement/esbuild.config.js": "86f1fd21722a2cb05216751578dcca66326e664a",
7
- "packages/implement/package.json": "a25e4ede1c333a565825479177b6ff182b7d15f2",
7
+ "packages/implement/package.json": "fd2c0345cc24fe3ba17089ef7d8144a49f849b6c",
8
8
  "packages/implement/src/common/ads/ads-action-detection.ts": "5a7b9f85d7eab9e744f8a9fc7638063f43baa214",
9
9
  "packages/implement/src/common/ads/anti-cheating.ts": "62e1b5d24aa246849a17ac8cde6cfdc66e577cab",
10
10
  "packages/implement/src/common/ads/channel-policy.ts": "c6d036be5cedf0c5d545fac271c6c8447ca55d8a",
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var vo=Object.create;var Yt=Object.defineProperty,yo=Object.defineProperties,bo=Object.getOwnPropertyDescriptor,Eo=Object.getOwnPropertyDescriptors,To=Object.getOwnPropertyNames,qe=Object.getOwnPropertySymbols,_o=Object.getPrototypeOf,qt=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable;var tn=(e,t,r)=>t in e?Yt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,M=(e,t)=>{for(var r in t||(t={}))qt.call(t,r)&&tn(e,r,t[r]);if(qe)for(var r of qe(t))rn.call(t,r)&&tn(e,r,t[r]);return e},W=(e,t)=>yo(e,Eo(t));var Be=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var nn=(e,t)=>{var r={};for(var i in e)qt.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&qe)for(var i of qe(e))t.indexOf(i)<0&&rn.call(e,i)&&(r[i]=e[i]);return r};var G=(e,t)=>()=>(e&&(t=e(e=0)),t);var on=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Io=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of To(t))!qt.call(e,a)&&a!==r&&Yt(e,a,{get:()=>t[a],enumerable:!(i=bo(t,a))||i.enumerable});return e};var an=(e,t,r)=>(r=e!=null?vo(_o(e)):{},Io(t||!e||!e.__esModule?Yt(r,"default",{value:e,enumerable:!0}):r,e));var L=(e,t,r)=>new Promise((i,a)=>{var d=p=>{try{h(r.next(p))}catch(_){a(_)}},f=p=>{try{h(r.throw(p))}catch(_){a(_)}},h=p=>p.done?i(p.value):Promise.resolve(p.value).then(d,f);h((r=r.apply(e,t)).next())});function So(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function tr(e){return typeof e=="string"}function dn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}function fn(e){return typeof e=="object"&&Array.isArray(e)}function Ro(e){return typeof e>"u"}function xo(e){return Ro(e)||e===null}function ko(e){return typeof e=="function"}function mn(e){let t=e,r=null,i=function(...a){return r||(r=new t(...a)),r};return i.prototype=t.prototype,i}function hn(e,t,r){if(typeof r!="function")throw new Error("[Jolibox SDK]Customizer must be a function");function i(a,d){for(let f in d)if(Object.prototype.hasOwnProperty.call(d,f)){let h=a[f],p=d[f],_=r(h,p,f,a,d);_!==void 0?a[f]=_:sn(p)&&sn(h)?a[f]=i(M({},h),p):Array.isArray(p)&&Array.isArray(h)?a[f]=[...h,...p]:a[f]=p}return a}return i(e,t)}function sn(e){return e&&typeof e=="object"&&e.constructor===Object}function pn(e,t){if(Array.isArray(e))return e.concat(t)}function Ve(e,t,r={}){let i=null,a,d,f,{leading:h=!1,trailing:p=!0}=r,_=()=>(f=e.apply(d,a),a=void 0,d=void 0,f),I=function(...k){a=k,d=this;let g=h&&!i;if(i&&clearTimeout(i),i=setTimeout(()=>{i=null,p&&!g&&_()},t),g)return _()};return I.cancel=()=>{i&&clearTimeout(i),i=null,a=d=void 0},I.flush=()=>{if(i)return clearTimeout(i),i=null,_()},I}function Do(e,t){return(...r)=>t(e,...r)}function En(e){return t=>Do(t,function(r,...i){if(typeof r=="function")try{return r.apply(this,i)}catch(a){e(new Po(`${a}`))}})}function Me(e){return(...t)=>{var r,i;((i=(r=globalThis.VConsole)==null?void 0:r[e])!=null?i:globalThis.console[e])(...t)}}function Ze(e,t){return t.map(r=>{if(r==="params"&&e[r]){let i=e[r];return Object.keys(i).reduce((a,d)=>(a[d]=String(i[d]),a),{})}return e[r]})}function Uo(e){let t=e.location?Ze(e.location,cn):null,r=e.target?Ze(e.target,cn):null;return Ze(W(M({},e),{location:t,target:r}),No)}function ar(e){let t=e.events.map(i=>Uo(i)),r=Ze(e.device,Lo);return[e.protocolVersion,t,r,e.project]}function zo(e){return new Promise(t=>wn(e)(t))}function wn(e){return(t,r=null)=>{let i=!1;return e(a=>{if(!i)return i=!0,t.call(r,a)},null)}}function Yo(e,t){return(r=>{let i,a={onWillAddFirstListener(){i=r(d.fire,d)}},d=new $e(a);return d.event})((r,i=null)=>e(a=>t(a)&&r.call(i,a),null))}function Qo(e,t){let r=Math.min(e.length,t.length);for(let i=0;i<r;i++)Xo(e[i],t[i])}function Xo(e,t){if(tr(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(ko(t)){try{if(e instanceof t)return}catch(r){}if(!xo(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function ie(){if(globalThis[Xt])return globalThis[Xt];let e=new et,t=new er,r={registerCommand(i,a,d){e.registerCommand({id:i,handler:a,metadata:d})},executeCommand(i,...a){return t.executeCommand(i,...a)},excuteCommandSync(i,...a){return t.executeCommandThowErr(i,...a)}};return globalThis[Xt]=r,r}var ln,wo,Ao,un,Co,rr,nr,gn,vn,Po,yn,bn,tt,ir,se,Tn,Fo,or,je,Re,Oo,cn,No,Lo,Bo,Qe,Mo,$o,Vo,_n,sr,jo,Ko,Go,In,me,H,Ho,Jo,Xe,$e,ve,Zt,Wo,Qt,qo,Ke,et,er,Xt,j=G(()=>{"use strict";ln=Object.defineProperty,wo=Object.getOwnPropertyDescriptor,Ao=(e,t)=>{for(var r in t)ln(e,r,{get:t[r],enumerable:!0})},un=(e,t,r,i)=>{for(var a=i>1?void 0:i?wo(t,r):t,d=e.length-1,f;d>=0;d--)(f=e[d])&&(a=(i?f(t,r,a):f(a))||a);return i&&a&&ln(t,r,a),a};Co=(e=>(e[e.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",e[e.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",e[e.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",e[e.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",e[e.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",e[e.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",e[e.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",e[e.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",e))(Co||{}),rr=class extends Error{constructor(e){if(typeof e=="string"){super(e),this.priority="P1";return}super(e.message),this.priority="P1",this.stack=e.stack,this.raw=e}},nr=class extends rr{constructor(){super(...arguments),this.kind="INTERNAL_ERROR"}},gn=class extends rr{constructor(){super(...arguments),this.kind="USER_ERROR"}},vn=class extends gn{constructor(){super(...arguments),this.name="USER_VALIDATE_ERROR"}},Po=class extends gn{constructor(e,t,r){super(e),this.message=e,this.errNo=t,this.name="USER_CUSTOM_ERROR",this.errMsg=e,r&&(this.extra=Object.assign({},this.extra,r))}},yn=class extends nr{constructor(){super(...arguments),this.name="INTERNAL_SCHEMA_PARSE_ERROR",this.priority="P0"}},bn=class extends nr{constructor(){super(...arguments),this.name="INTERNAL_GLOBAL_JS_ERROR",this.priority="P1"}},tt=class extends rr{constructor(e,t,r,i,a){super(e),this.message=e,this.code=t,this.kind="API_ERROR",this.name="API_ERROR",r&&(this.errorType=r),i!==void 0&&(this.stack=i),a&&(this.priority=a)}toJSON(){return{message:this.message,stack:this.stack,name:this.name,code:this.code,errorType:this.errorType}}},ir=class extends nr{constructor(){super(...arguments),this.name="INTERNAL_REPORTER_ERROR"}};se={log:Me("log"),warn:Me("warn"),info:Me("info"),error:Me("error"),debug:Me("debug")};Object.assign(globalThis,{logger:se});Tn=Symbol.for("Jolibox.canIUseMap"),Fo={};globalThis[Tn]=Fo;or={get config(){return globalThis[Tn]}},je=(e=>(e[e.System=1e3]="System",e[e.ErrorTrace=1001]="ErrorTrace",e[e.UserDefined=1002]="UserDefined",e))(je||{}),Re=(e=>(e.MiniGame="mini-game",e.MiniDrama="mini-drama",e.App="app",e.WebSDK="web-sdk",e.AppSDK="app-sdk",e))(Re||{}),Oo=(e=>(e[e.App=0]="App",e[e.H5=1]="H5",e[e.Weapp=2]="Weapp",e[e.Alipay=3]="Alipay",e[e.Gcash=4]="Gcash",e[e.Dana=5]="Dana",e[e.Umma=6]="Umma",e[e.WebSDK=1e3]="WebSDK",e[e.AppSDK=1001]="AppSDK",e[e.Other=9999]="Other",e))(Oo||{}),cn=["name","params"],No=["name","type","location","target","extra","timestamp","userId"],Lo=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];Bo=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),Qe={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||"0",10)]},isAndroid:navigator.userAgent.includes("Android"),isMac:navigator.userAgent.includes("Mac"),isFacebook:navigator.userAgent.includes("FB_IAB"),isPC:!navigator.userAgent.includes("iPhone")&&!navigator.userAgent.includes("Android")},Mo=()=>Qe.isiOS?"iOS":Qe.isAndroid?"Android":Qe.isMac?"Mac":Qe.isFacebook?"Facebook":"PC",$o="device_id",Vo="advertising_id",_n=e=>(localStorage.getItem(e)||localStorage.setItem(e,Bo()),localStorage.getItem(e)),sr=()=>_n($o),jo=()=>_n(Vo),Ko=e=>e.charAt(0).toUpperCase()+e.slice(1),Go=()=>{var t;let e=new URLSearchParams(window.location.search);return Ko((t=e.get("utm_source"))!=null?t:"")||"JoliboxSDK"},In=e=>{let t="JoliboxWebSDK",r=Mo(),i=navigator.language,a=sr(),d=jo();return`${t} (${Go()}${r}; UnknownModel; UnknownSystemVersion; ${i}) uuid/${a} adid/${d} version/${e||""}`},H=(me=class{constructor(t){this.element=t,this.next=me.Undefined,this.prev=me.Undefined}},me.Undefined=new me(void 0),me),Ho=class{constructor(){this._first=H.Undefined,this._last=H.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===H.Undefined}clear(){let e=this._first;for(;e!==H.Undefined;){let t=e.next;e.prev=H.Undefined,e.next=H.Undefined,e=t}this._first=H.Undefined,this._last=H.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new H(e);if(this._first===H.Undefined)this._first=r,this._last=r;else if(t){let a=this._last;this._last=r,r.prev=a,a.next=r}else{let a=this._first;this._first=r,r.next=a,a.prev=r}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(r))}}shift(){if(this._first!==H.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==H.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==H.Undefined&&e.next!==H.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===H.Undefined&&e.next===H.Undefined?(this._first=H.Undefined,this._last=H.Undefined):e.next===H.Undefined?(this._last=this._last.prev,this._last.next=H.Undefined):e.prev===H.Undefined&&(this._first=this._first.next,this._first.prev=H.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==H.Undefined;)yield e.element,e=e.next}},Jo=0,Xe=class{constructor(e){this.value=e,this.id=Jo++}},$e=class{constructor(e){this.options=e,this._size=0}dispose(e){var t,r;this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof Xe&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(i=>(i==null?void 0:i.value)===e)):(this._listeners=void 0,this._size=0)),(r=(t=this.options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t))}get event(){var e;return(e=this._event)!=null||(this._event=(t,r)=>{var a,d,f,h,p,_;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let i=new Xe(t);this._listeners?this._listeners instanceof Xe?this._listeners=[this._listeners,i]:this._listeners.push(i):((d=(a=this.options)==null?void 0:a.onWillAddFirstListener)==null||d.call(a,this),this._listeners=i,(h=(f=this.options)==null?void 0:f.onDidFirstListener)==null||h.call(f,this)),(_=(p=this.options)==null?void 0:p.onDidAddListener)==null||_.call(p,this),this._size++}),this._event}_deliver(e,t){var i;if(!e)return;let r=((i=this.options)==null?void 0:i.onListenerError)||Error.constructor;if(!r){e.value(t);return}try{e.value(t)}catch(a){r(a)}}fire(e){this._listeners&&(this._listeners instanceof Xe?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},ve=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(e,t){var d;let r=(d=this.listeners.get(e))!=null?d:new $e,i=f=>t(...f.args);this.listerHandlerMap.set(t,i),r.event(i),this.listeners.set(e,r);let a=this.cachedEventQueue.get(e);if(a)for(;a.size>0;)r.fire(M({event:e},a.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let i=this.listerHandlerMap.get(t);r.dispose(i)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let i=this.cachedEventQueue.get(e);i||(i=new Ho,this.cachedEventQueue.set(e,i)),i.push({args:t})}}},Zt={};Ao(Zt,{None:()=>Wo,filter:()=>Yo,once:()=>wn,toPromise:()=>zo});Wo=()=>{console.log("[Jolibox SDK] None Event")};Qt=Symbol.for("Jolibox.hostEmitter"),qo=()=>{let e=new ve;return globalThis[Qt]||(globalThis[Qt]={on:e.on.bind(e),off:e.off.bind(e),emit:e.emit.bind(e)}),globalThis[Qt]},Ke=qo();et=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new $e,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(e){if(!e)throw new Error("invalid command");if(e.metadata&&Array.isArray(e.metadata.args)){let r=[];for(let a of e.metadata.args)r.push(a.constraint);let i=e.handler;e.handler=function(...a){return Qo(a,r),i(...a)}}let{id:t}=e;this._commands.get(t)&&console.info(`[Jolibox SDK] duplicated command is registered ${t}`),this._commands.set(t,e),this._onDidRegisterCommand.fire(t)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let r=this.getCommand(t);r&&e.set(t,r)}return e}};et=un([mn],et);er=class{constructor(){this._onWillExecuteCommand=new $e,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new $e,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new et,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=So(3e4)),this._starActivation}executeCommand(e,...t){return L(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),Zt.toPromise(Zt.filter(this.registry.onDidRegisterCommand,r=>r===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let r=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let i=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),i}_tryExecuteCommand(e,t){let r=this.registry.getCommand(e);if(!r)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let i=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(i)}catch(i){return Promise.reject(i)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};er=un([mn],er);Xt=Symbol.for("Jolibox.commands")});function ce(e,t={}){cr.emit("ERROR_REPORT",{error:e,options:t})}var cr,Te,ye=G(()=>{"use strict";j();j();cr=new ve,Te=new ve;ce.debounce=Ve(ce,50,{leading:!0})});var lr,An,Sn=G(()=>{"use strict";j();ye();lr=e=>{let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t.length%4===0?"":"=".repeat(4-t.length%4),i=atob(t+r);try{return JSON.parse(i)}catch(a){return{}}},An=e=>{var t;try{let a=(t=new URL(e).searchParams.get("joliSource"))==null?void 0:t.split(".");if(a!=null&&a.length){let[d,f,h]=a;return{headerJson:lr(d),payloadJson:lr(f),signature:lr(h)}}else throw"joli_source is missing"}catch(r){return ce(new yn(`${e} not a valid schema: ${r}`)),{headerJson:{},payloadJson:{},signature:{}}}}});var Zo,rt,Rn,ur=G(()=>{"use strict";j();Zo="1.1.8-beta.1",rt=()=>Zo,Rn=()=>{let e=rt();return`${In(e)}`}});var ea,xn,dr,kn,X,ta,R,oe=G(()=>{"use strict";j();Sn();ur();j();ea={deviceInfo:{brand:"UnknownBrand",model:"UnknownModel",did:sr(),pixelRatio:window.devicePixelRatio||1,platform:"h5",system:"UnknownSystemVersion",lang:"zh"},sdkInfo:{nativeSDKVersion:"",jssdkVersion:rt()},schema:window.location.href,platform:"h5"},dr=(xn=globalThis.joliboxJSCore)==null?void 0:xn.env,X=Object.assign({},(kn=dr==null?void 0:dr())!=null?kn:ea),ta=()=>{var k,g,T,D,C,P,F,K;let{payloadJson:e,headerJson:t}=X.schema.length?An(X.schema):{},r=`${X.deviceInfo.did}-${new Date().getTime()}`,a=new URL(X.schema.length?X.schema:window.location.href).searchParams,d=(T=(g=(k=a.get("mpId"))!=null?k:a.get("appId"))!=null?g:a.get("gameId"))!=null?T:"",f=(C=(D=e==null?void 0:e.sessionId)!=null?D:a.get("sessionId"))!=null?C:r,h=!!((P=e==null?void 0:e.testAdsMode)!=null?P:a.get("testAdsMode")==="true"),p=(K=(F=e==null?void 0:e.joliboxEnv)!=null?F:a.get("joliboxEnv"))!=null?K:"production",_=p==="staging",I=t==null?void 0:t.channel;return{get testMode(){return _},get testAdsMode(){return h},get joliboxEnv(){return p},get joliSource(){var x;return(x=a.get("joliSource"))!=null?x:null},get mpId(){var x;return(x=d!=null?d:e==null?void 0:e.id)!=null?x:""},get mpVersion(){var x;return(x=t==null?void 0:t.ver)!=null?x:rt()},get platform(){var x;return(x=X.platform)!=null?x:X.deviceInfo.platform},get deviceInfo(){return X.deviceInfo},get sdkInfo(){return X.sdkInfo},get hostInfo(){return X.hostInfo},get hostUserInfo(){return X.hostUserInfo},get sessionId(){var x,Z;return(Z=(x=X.clientSessionId)!=null?x:f)!=null?Z:r},get channel(){return I},get webviewId(){var x;return(x=X.webviewId)!=null?x:-1},onEnvConfigChanged:x=>{hn(X,x,pn)}}},R=ta()});var fr,Pn,ra,na,Cn,ia,Dn=G(()=>{"use strict";j();ye();oe();j();fr=!1,Pn=(e,t)=>e==null?!1:t in e,ra=e=>Pn(e,"kind"),na=e=>{let t=e.toLowerCase().split("_");return t[0]+t.slice(1).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join("")},Cn=(e,t={},r)=>{var d,f,h;let i={user_id:(f=(d=R.hostUserInfo)==null?void 0:d.uid)!=null?f:"",device_id:(h=R.deviceInfo.did)!=null?h:"",timestamp:Date.now(),tag:na(e.name)},a=W(M({},i),{env:t.environment,isFromUser:r});r?Te.emit("GLOBAL_USER_ERROR",e,a):Te.emit("GLOBAL_ERROR",e,a)},ia=e=>Pn(e,"kind")&&e.kind==="USER_ERROR";cr.on("ERROR_REPORT",({error:e,options:t})=>{if(fr)return;fr=!0;let r=ra(e)&&e.raw?e.raw:e;try{let i=ia(e);Cn(e,t,i)}catch(i){let a=i instanceof Error?i.message:String(i),d=new ir(`${a}, origin error: ${r.message}`);se.error(d),Cn(new ir(d.message),{environment:t.environment},!1)}finally{fr=!1}})});var mr,hr=G(()=>{"use strict";ye();j();ye();mr=e=>new vn(e)});function Fn(e,t){let r=(i,a,d)=>{let f=W(M({tag:i},t),{extra:M({},a)});i=="globalJsError"?ce(new bn(JSON.stringify(f))):e("systemLog",f,d)};return r.debounce=Ve(r,500,{leading:!0}),r}function On(e){let t=(r,i,a)=>{var h;let d=(h=a&&JSON.stringify(a))!=null?h:0,f={speed_value_type:r,total_duration:i};d&&Object.assign(f,{extra:d}),e("joliboxSpeedAnalysis",f)};return t.debounce=Ve(t,500,{leading:!0}),t}var Nn=G(()=>{"use strict";j();j();ye()});function Ln(e,t){let r=Fn(e,t),i=On(r);return{track:r,trackPerformance:i}}var Un=G(()=>{"use strict";Nn()});var pr=G(()=>{"use strict"});var nt,Bn=G(()=>{"use strict";oe();j();j();nt=class{constructor(){this.deviceInfo=null;this.pastTrackings=[];this.samplesConfig=null;this.pushPastTracking=t=>{this.pastTrackings.push(t),this.pastTrackings.length>10&&this.pastTrackings.slice(-10)};this.fetchSamplesConfig()}get networkIsOk(){return this.pastTrackings.length<=4||this.pastTrackings.filter(Boolean).length/this.pastTrackings.length>=.6}fetchSamplesConfig(){return L(this,null,function*(){let r=`${R.testMode?"https://stg-api.jolibox.com":"https://api.jolibox.com"}/api/fe-configs/js-sdk/samples-config`,i=yield(yield fetch(r)).json();this.samplesConfig=i})}checkIsSampled(t){if(!this.samplesConfig)return!1;let{samples:r}=this.samplesConfig;for(let[i,a]of Object.entries(r))if(a.includes(t.name))return Math.floor(Math.random()*101)<parseFloat(i);return!1}getDevice(){var i,a,d,f,h;let{nativeSDKVersion:t,jssdkVersion:r}=R.sdkInfo;return{platform:1e3,os:R.deviceInfo.platform,appVersion:(i=t!=null?t:r)!=null?i:"1.0.0",appId:(d=(a=R.hostInfo)==null?void 0:a.aid)!=null?d:"1",model:(f=R.deviceInfo.model)!=null?f:"UnknownModel",brand:(h=R.deviceInfo.brand)!=null?h:"UnknownBrand",uuid:R.deviceInfo.did,jsSdkVersion:r,extra:{}}}getLocation(){let t=new URLSearchParams(window.location.search),r={};return t.forEach((i,a)=>{r[a]=i}),{name:"GamePage",params:r}}trackEvent(t,r,i){return L(this,null,function*(){if(this.checkIsSampled(t))return;let a=t.location?t.location:yield this.getLocation(),d=t.target||null,f=t.extra||null;this.deviceInfo||(this.deviceInfo=yield this.getDevice());let h=this.deviceInfo,_={protocolVersion:"1.0.0",events:[W(M({},t),{location:a,target:d,extra:f,timestamp:Date.now(),userId:null})],device:h,project:r};try{i?this.doReport(ar(_),i):this.doReport(ar(_)),this.pushPastTracking(!0)}catch(I){this.pushPastTracking(!1),se.log("[Jolibox SDK] report API error",I)}})}}});var gr=G(()=>{"use strict";Un();pr();Bn()});var vr,Mn,it,be,Ge=G(()=>{"use strict";ur();oe();vr=e=>{let t=new AbortController;return setTimeout(()=>t.abort(),e),t.signal};(Mn=AbortSignal.timeout)!=null||(AbortSignal.timeout=vr);it=class{constructor(t){this.xua=Rn();this.getJoliSource=()=>R.joliSource;var i;let r=R.testMode?"https://stg-api.jolibox.com":"https://api.jolibox.com";this.baseUrl=(i=t==null?void 0:t.baseUrl)!=null?i:r}get(t,r){return L(this,null,function*(){let{query:i,timeout:a}=r!=null?r:{},{headers:d}=r!=null?r:{},f=i?new URLSearchParams(i):null,h=f==null?void 0:f.toString(),p=`${this.baseUrl}${t}${h?`?${h}`:""}`,_=this.xua,I=this.getJoliSource();return d=Object.assign({},d!=null?d:{},_?{"x-user-agent":_}:{},I?{"x-joli-source":I}:{}),yield(yield fetch(p,{method:"GET",headers:d,credentials:"include",signal:vr(a!=null?a:3e4)})).json()})}post(t,r){return L(this,null,function*(){let{data:i,query:a,timeout:d}=r!=null?r:{},{headers:f}=r!=null?r:{},h=a?new URLSearchParams(a):null,p=h==null?void 0:h.toString(),_=`${this.baseUrl}${t}${p?`?${p}`:""}`,I=this.xua,k=this.getJoliSource();f=Object.assign({},f!=null?f:{},{"Content-Type":"application/json"},I?{"x-user-agent":I}:{},k?{"x-joli-source":k}:{});let g=yield fetch(_,{method:"POST",headers:f,body:JSON.stringify(i),signal:vr(d!=null?d:3e4),credentials:"include"}),T=g.headers.get("content-type");if(T!=null&&T.includes("application/octet-stream"))try{return g.blob()}catch(D){return yield g.arrayBuffer()}if(T!=null&&T.includes("multipart/form-data")||T!=null&&T.includes("application/x-www-form-urlencoded"))try{return g.formData()}catch(D){return yield g.text()}if(T!=null&&T.includes("application/json"))try{return yield g.json()}catch(D){return yield g.text()}return g})}put(t,r){return L(this,null,function*(){try{let{data:i,query:a,timeout:d}=r!=null?r:{},{headers:f}=r!=null?r:{},h=a?new URLSearchParams(a):null,p=h==null?void 0:h.toString(),_=`${this.baseUrl}${t}${p?`?${p}`:""}`,I=this.xua,k=this.getJoliSource();f=Object.assign({},f!=null?f:{},{"Content-Type":"application/json"},I?{"x-user-agent":I}:{},k?{"x-joli-source":k}:{});let g=yield fetch(_,{method:"PUT",headers:f,credentials:"include",body:JSON.stringify(i!=null?i:{})});if(!g.ok)throw new Error(`HTTP error! status: ${g.status}`);return yield g.json()}catch(i){throw console.error("Error:",i),i}})}};window.JoliboxHttpClient=it;be=it});var yr,xe,ot=G(()=>{"use strict";oe();gr();Ge();yr=class extends nt{constructor(){super(...arguments);this.hostToApiMap={default:{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.jolibox.com":{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.pico-game.com":{test:"https://stg-collect.pico-game.com",prod:"https://collect.pico-game.com"}};this.httpClient=new be({baseUrl:this.apiBaseURL})}get apiBaseURL(){var i,a;let r=(i=this.hostToApiMap[window.location.host])!=null?i:this.hostToApiMap.default;return(a=R.testMode)!=null&&a?r.test:r.prod}doReport(r){this.httpClient.post("/report",{data:r,timeout:5e3})}},xe=new yr});var oa,$n=G(()=>{"use strict";Dn();j();hr();j();ot();oe();oa=(e,t)=>{var a,d,f;let r={message:t.message,stack:(a=t.stack)!=null?a:"",errorType:t.name,source:0},i={name:e,type:je.ErrorTrace,location:null,target:null,extra:r,timestamp:Date.now(),userId:(f=(d=R.hostUserInfo)==null?void 0:d.uid)!=null?f:null};xe.trackEvent(i,Re.WebSDK)};Te.on("GLOBAL_ERROR",(e,t)=>{oa(t.tag,e)});Te.on("GLOBAL_USER_ERROR",(e,t)=>{se.log("UserError",e,t)})});var at,Vn=G(()=>{"use strict";at=class{constructor(t,r){this.eventEmitter=t;this.lastReportTime=0;this.visible=!0;this.timer=this.createRAFTimer(t=>{this.reporter({event:"PLAY_GAME",params:{duration:t}}),this.tracker("PlayGame",{duration:t})});this.interval=r!=null?r:5*1e3,t.on("visible",i=>{this.visible=i})}start(t){this.reporter({event:"OPEN_GAME",params:{timestamp:Date.now(),duration:t!=null?t:0}}),this.tracker("OpenGame",{duration:t!=null?t:0}),this.timer.start()}close(t){this.reporter({event:"CLOSE_GAME",params:{timestamp:Date.now(),duration:t}}),this.tracker("CloseGame",{duration:t}),this.timer.stop()}createRAFTimer(t){let r=Date.now(),i,a,d=!1,f=0,h=()=>{if(!d)return;let T=Date.now(),D=T-r;D>=this.interval&&(this.visible&&(f+=D,t(f)),r=T),i=requestAnimationFrame(h)},p=()=>{I(),r=Date.now(),a=window.setInterval(()=>{if(!d)return;let T=Date.now();T-r>=this.interval&&(r=T)},this.interval)},_=()=>{k(),r=Date.now(),i=requestAnimationFrame(h)},I=()=>{i&&(cancelAnimationFrame(i),i=0)},k=()=>{a&&(clearInterval(a),a=0)};this.eventEmitter.on("visible",T=>{d&&(console.log("visible",T),T?_():p())});let g=this.visible;return{start(){d||(d=!0,g?_():p())},stop(){d=!1,I(),k()}}}}});var st,jn=G(()=>{"use strict";oe();Vn();Ge();st=class extends at{constructor(r,i,a){super(i,a);this.httpClient=new be;this.gameId=R.mpId,this.sessionId=R.sessionId,this.track=r}reporter(r){return L(this,null,function*(){let{event:i,params:a}=r;yield this.httpClient.post("/api/base/app-event",{data:{eventType:i,gameInfo:M({gameId:this.gameId,sessionId:this.sessionId},a)}})})}tracker(r,i=null){this.track(r,i)}}});var Kn,aa,ue,sa,br,le,_e=G(()=>{"use strict";$n();j();j();gr();ot();jn();oe();pr();Kn=ie(),aa={type:Re.WebSDK,platform:"h5",jssdk_version:R.sdkInfo.jssdkVersion,mp_id:R.mpId,mp_version:R.mpVersion},{track:ue,trackPerformance:sa}=Ln((...e)=>{var f,h,p,_;let[,t]=e,r=t,i=dn(r.extra)?r.extra:tr(r.extra)?JSON.parse(r.extra):{},a=W(M({},i),{mp_id:(f=r.mp_id)!=null?f:"",mp_version:(h=r.mp_version)!=null?h:""}),d={name:t.tag,type:je.System,location:null,target:null,extra:a,timestamp:Date.now(),userId:(_=(p=R.hostUserInfo)==null?void 0:p.uid)!=null?_:null};xe.trackEvent(d,Re.WebSDK)},aa);Kn.registerCommand("ReportSDK.traceSystemTimeline",({event:e,duration:t,extra:r})=>{sa(e,t,r)});Kn.registerCommand("ReportSDK.traceSystem",({event:e,info:t})=>{ue(e,t)});br=new ve,le=new st(ue,br)});function Gn(e){let t=or.config[e];return t||(t={},or.config[e]=t),(r,i)=>{if(t[r]){se.warn(`[can i use] ${r} already registered`);return}t[r]=M({},i)}}var Hn=G(()=>{"use strict";j()});function Er(e){Jn=e}function ct(e){return e===null||typeof e!="object"?e:Array.isArray(e)?e.map(t=>ct(t)):Object.keys(e).reduce((t,r)=>(t[r]=ct(e[r]),t),{})}function he(e){return typeof e=="number"}function Tr(e){let t=_r(e);switch(t){case"string":return`"${e}"`;case"number":case"boolean":case"null":case"undefined":return String(e);default:return`a(n) ${t}`}}function _r(e){return typeof e=="function"?"function":Object.prototype.toString.call(e).slice(8).slice(0,-1).toLowerCase()}var Jn,Y,lt,ut,dt,ft,ke,mt,ht,pt,gt,vt,yt,bt,Et,Tt,_t,It,wt,Ir=G(()=>{"use strict";Jn=!1;Y=class{constructor(){this.errors=[];this.hasFallback=!1;this.hasDefault=!1;this._optional=!1}fail(t){if(Jn)if(typeof t=="string")this.errors.push(t);else{let r=`${this.path} should be ${t.expect}`;this._optional&&t.expect!=="undefined"?r+=" or undefined, ":r+=", ",r+=`but got ${Tr(t.actual)}`,this.errors.push(r)}return!1}fallback(t){return this.hasFallback=!0,this._fallback=t,this}get fallbackValue(){return ct(this._fallback)}default(t){return this.hasDefault=!0,this._default=t,this}get defaultValue(){return typeof this._default=="function"?this._default:ct(this._default)}optional(){return this._optional=!0,this}};lt=class extends Y{validate(t){return this._optional&&t===void 0?!0:he(t)?he(this._min)&&t<this._min?this.fail(`the value of ${this.path} should be greater than or equal to ${this._min}`):he(this._max)&&t>this._max?this.fail(`the value of ${this.path} should be less than or equal to ${this._max}`):he(this._greater)&&t<=this._greater?this.fail(`the value of ${this.path} should be greater than ${this._greater}`):this._isInt&&t!==Math.floor(t)?this.fail(`the value of ${this.path} should be integer but got ${t}`):!0:this.fail({expect:"number",actual:t})}min(t){return this._min=t,this}max(t){return this._max=t,this}isInt(t){return this._isInt=t,this}greater(t){return this._greater=t,this}},ut=class extends Y{validate(t){return this._optional&&t===void 0?!0:typeof t!="boolean"?this.fail({expect:"boolean",actual:t}):!0}},dt=class extends Y{validate(t){if(this._optional&&t===void 0)return!0;if(typeof t!="string")return this.fail({expect:"string",actual:t});if(he(this._maxLength)&&t.length>this._maxLength)return this.fail(`the length of ${this.path} should be less than or equal to ${this._maxLength}`);if(he(this._minLength)&&t.length<this._minLength)return this.fail(`the length of ${this.path} should be greater than or equal to ${this._minLength}`);if(typeof this._pattern=="string"){if(!new RegExp(this._pattern).test(t))return this.fail(`${this.path} should match pattern "${this._pattern}"`)}else if(this._pattern&&!this._pattern.test(t))return this.fail(`${this.path} should match pattern "${this._pattern.toString()}"`);return!0}minLength(t){return this._minLength=t,this}maxLength(t){return this._maxLength=t,this}pattern(t){return this._pattern=t,this}},ft=class extends Y{validate(t){return this._optional&&t===void 0?!0:typeof t!="symbol"?this.fail({expect:"symbol",actual:t}):!0}},ke=class extends Y{validate(t){return!0}},mt=class extends Y{validate(t){return t!==void 0?this.fail({expect:"undefined",actual:t}):!0}},ht=class extends Y{validate(t){return this._optional&&t===void 0?!0:t!==null?this.fail({expect:"null",actual:t}):!0}},pt=class extends Y{validate(t){return this._optional&&t===void 0?!0:typeof t!="function"?this.fail({expect:"function",actual:t}):!0}},gt=class extends Y{constructor(...t){super(),this._items=t}validate(t){if(this._optional&&t===void 0)return!0;if(!this._items.includes(t)){let r=this._items.map(i=>JSON.stringify(i)).join(", ");return this.fail(`expect ${this.path} to be one of ${r}, but got ${Tr(t)}`)}return!0}},vt=class extends Y{constructor(r){super();this._item=r}validate(r){if(this._optional&&r===void 0)return!0;if(!Array.isArray(r))return this.fail({expect:"array",actual:r});if(he(this._minItems)&&r.length<this._minItems)return this.fail(`the length of ${this.path} should be greater than or equal to ${this._minItems}`);if(he(this._maxItems)&&r.length>this._maxItems)return this.fail(`the length of ${this.path} should be less than or equal to ${this._maxItems}`);if(he(this._length)&&r.length!==this._length)return this.fail(`the length of ${this.path} should be equal to ${this._length}`);let i=this._item;if(!i)return!0;let a=!0;if(r.forEach((d,f)=>{if(i.path=`${this.path}[${f}]`,i.errors=this.errors,d===void 0&&i.hasDefault){r[f]=i.defaultValue;return}i.validate(d)||(i.hasFallback?r[f]=i.fallbackValue:a=!1)}),this._uniqueItems){let d=new Map;for(let f in r)d.has(r[f])?a=this.fail(`${this.path} should NOT have duplicate items (${this.path}[${d.get(r[f])}] and ${this.path}[${f}] are identical)`):d.set(r[f],f)}return a}minItems(r){return this._minItems=r,this}maxItems(r){return this._maxItems=r,this}uniqueItems(){return this._uniqueItems=!0,this}length(r){return this._length=r,this}},yt=class extends Y{constructor(r){super();this._value=r}validate(r){if(this._optional&&r===void 0)return!0;if(_r(r)!=="object")return this.fail({expect:"object",actual:r});let a=r,d=this._value;d.errors=this.errors;let f=!0;for(let h in a){let p=a[h];if(/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/.test(h)?d.path=`${this.path}.${h}`:d.path=`${this.path}["${h}"]`,!(p===void 0&&d._optional)){if(p===void 0&&d.hasDefault){a[h]=d.defaultValue;continue}d.validate(p)||(d.hasFallback?a[h]=d.fallbackValue:f=!1)}}return f}},bt=class extends Y{constructor(r={}){super();this._object=r}validate(r){if(this._optional&&r===void 0)return!0;if(_r(r)!=="object")return this.fail({expect:"object",actual:r});let i=r,a=!0;for(let d in this._object){let f=i[d],h=this._object[d];if(h.errors=this.errors,/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/.test(d)?h.path=`${this.path}.${d}`:h.path=`${this.path}["${d}"]`,!(h._optional&&f===void 0)){if(f===void 0&&h.hasDefault){i[d]=h.defaultValue;continue}h.validate(f)||(h.hasFallback?i[d]=h.fallbackValue:a=!1)}}return a}},Et=class extends Y{constructor(r){super();this.value=r}validate(r){return r===void 0&&this._optional?!0:r!==this.value?this.fail({expect:Tr(this.value),actual:r}):!0}},Tt=class extends Y{constructor(...t){super(),this._items=t}validate(t){if(t===void 0&&this._optional)return!0;let r=[],i=!1,a=this._items.length;for(let d=0;d<a;d++){let f=this._items[d];if(f.errors=[],f.path=this.path,!f.validate(t))r.push(f.errors.join("; "));else if(!i){i=!0;break}}if(!i){let d=r.join(`
1
+ var vo=Object.create;var Yt=Object.defineProperty,yo=Object.defineProperties,bo=Object.getOwnPropertyDescriptor,Eo=Object.getOwnPropertyDescriptors,To=Object.getOwnPropertyNames,qe=Object.getOwnPropertySymbols,_o=Object.getPrototypeOf,qt=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable;var tn=(e,t,r)=>t in e?Yt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,M=(e,t)=>{for(var r in t||(t={}))qt.call(t,r)&&tn(e,r,t[r]);if(qe)for(var r of qe(t))rn.call(t,r)&&tn(e,r,t[r]);return e},W=(e,t)=>yo(e,Eo(t));var Be=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var nn=(e,t)=>{var r={};for(var i in e)qt.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&qe)for(var i of qe(e))t.indexOf(i)<0&&rn.call(e,i)&&(r[i]=e[i]);return r};var G=(e,t)=>()=>(e&&(t=e(e=0)),t);var on=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Io=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of To(t))!qt.call(e,a)&&a!==r&&Yt(e,a,{get:()=>t[a],enumerable:!(i=bo(t,a))||i.enumerable});return e};var an=(e,t,r)=>(r=e!=null?vo(_o(e)):{},Io(t||!e||!e.__esModule?Yt(r,"default",{value:e,enumerable:!0}):r,e));var L=(e,t,r)=>new Promise((i,a)=>{var d=p=>{try{h(r.next(p))}catch(_){a(_)}},f=p=>{try{h(r.throw(p))}catch(_){a(_)}},h=p=>p.done?i(p.value):Promise.resolve(p.value).then(d,f);h((r=r.apply(e,t)).next())});function So(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function tr(e){return typeof e=="string"}function dn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}function fn(e){return typeof e=="object"&&Array.isArray(e)}function Ro(e){return typeof e>"u"}function xo(e){return Ro(e)||e===null}function ko(e){return typeof e=="function"}function mn(e){let t=e,r=null,i=function(...a){return r||(r=new t(...a)),r};return i.prototype=t.prototype,i}function hn(e,t,r){if(typeof r!="function")throw new Error("[Jolibox SDK]Customizer must be a function");function i(a,d){for(let f in d)if(Object.prototype.hasOwnProperty.call(d,f)){let h=a[f],p=d[f],_=r(h,p,f,a,d);_!==void 0?a[f]=_:sn(p)&&sn(h)?a[f]=i(M({},h),p):Array.isArray(p)&&Array.isArray(h)?a[f]=[...h,...p]:a[f]=p}return a}return i(e,t)}function sn(e){return e&&typeof e=="object"&&e.constructor===Object}function pn(e,t){if(Array.isArray(e))return e.concat(t)}function Ve(e,t,r={}){let i=null,a,d,f,{leading:h=!1,trailing:p=!0}=r,_=()=>(f=e.apply(d,a),a=void 0,d=void 0,f),I=function(...k){a=k,d=this;let g=h&&!i;if(i&&clearTimeout(i),i=setTimeout(()=>{i=null,p&&!g&&_()},t),g)return _()};return I.cancel=()=>{i&&clearTimeout(i),i=null,a=d=void 0},I.flush=()=>{if(i)return clearTimeout(i),i=null,_()},I}function Do(e,t){return(...r)=>t(e,...r)}function En(e){return t=>Do(t,function(r,...i){if(typeof r=="function")try{return r.apply(this,i)}catch(a){e(new Po(`${a}`))}})}function Me(e){return(...t)=>{var r,i;((i=(r=globalThis.VConsole)==null?void 0:r[e])!=null?i:globalThis.console[e])(...t)}}function Ze(e,t){return t.map(r=>{if(r==="params"&&e[r]){let i=e[r];return Object.keys(i).reduce((a,d)=>(a[d]=String(i[d]),a),{})}return e[r]})}function Uo(e){let t=e.location?Ze(e.location,cn):null,r=e.target?Ze(e.target,cn):null;return Ze(W(M({},e),{location:t,target:r}),No)}function ar(e){let t=e.events.map(i=>Uo(i)),r=Ze(e.device,Lo);return[e.protocolVersion,t,r,e.project]}function zo(e){return new Promise(t=>wn(e)(t))}function wn(e){return(t,r=null)=>{let i=!1;return e(a=>{if(!i)return i=!0,t.call(r,a)},null)}}function Yo(e,t){return(r=>{let i,a={onWillAddFirstListener(){i=r(d.fire,d)}},d=new $e(a);return d.event})((r,i=null)=>e(a=>t(a)&&r.call(i,a),null))}function Qo(e,t){let r=Math.min(e.length,t.length);for(let i=0;i<r;i++)Xo(e[i],t[i])}function Xo(e,t){if(tr(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(ko(t)){try{if(e instanceof t)return}catch(r){}if(!xo(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function ie(){if(globalThis[Xt])return globalThis[Xt];let e=new et,t=new er,r={registerCommand(i,a,d){e.registerCommand({id:i,handler:a,metadata:d})},executeCommand(i,...a){return t.executeCommand(i,...a)},excuteCommandSync(i,...a){return t.executeCommandThowErr(i,...a)}};return globalThis[Xt]=r,r}var ln,wo,Ao,un,Co,rr,nr,gn,vn,Po,yn,bn,tt,ir,se,Tn,Fo,or,je,Re,Oo,cn,No,Lo,Bo,Qe,Mo,$o,Vo,_n,sr,jo,Ko,Go,In,me,H,Ho,Jo,Xe,$e,ve,Zt,Wo,Qt,qo,Ke,et,er,Xt,j=G(()=>{"use strict";ln=Object.defineProperty,wo=Object.getOwnPropertyDescriptor,Ao=(e,t)=>{for(var r in t)ln(e,r,{get:t[r],enumerable:!0})},un=(e,t,r,i)=>{for(var a=i>1?void 0:i?wo(t,r):t,d=e.length-1,f;d>=0;d--)(f=e[d])&&(a=(i?f(t,r,a):f(a))||a);return i&&a&&ln(t,r,a),a};Co=(e=>(e[e.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",e[e.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",e[e.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",e[e.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",e[e.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",e[e.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",e[e.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",e[e.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",e))(Co||{}),rr=class extends Error{constructor(e){if(typeof e=="string"){super(e),this.priority="P1";return}super(e.message),this.priority="P1",this.stack=e.stack,this.raw=e}},nr=class extends rr{constructor(){super(...arguments),this.kind="INTERNAL_ERROR"}},gn=class extends rr{constructor(){super(...arguments),this.kind="USER_ERROR"}},vn=class extends gn{constructor(){super(...arguments),this.name="USER_VALIDATE_ERROR"}},Po=class extends gn{constructor(e,t,r){super(e),this.message=e,this.errNo=t,this.name="USER_CUSTOM_ERROR",this.errMsg=e,r&&(this.extra=Object.assign({},this.extra,r))}},yn=class extends nr{constructor(){super(...arguments),this.name="INTERNAL_SCHEMA_PARSE_ERROR",this.priority="P0"}},bn=class extends nr{constructor(){super(...arguments),this.name="INTERNAL_GLOBAL_JS_ERROR",this.priority="P1"}},tt=class extends rr{constructor(e,t,r,i,a){super(e),this.message=e,this.code=t,this.kind="API_ERROR",this.name="API_ERROR",r&&(this.errorType=r),i!==void 0&&(this.stack=i),a&&(this.priority=a)}toJSON(){return{message:this.message,stack:this.stack,name:this.name,code:this.code,errorType:this.errorType}}},ir=class extends nr{constructor(){super(...arguments),this.name="INTERNAL_REPORTER_ERROR"}};se={log:Me("log"),warn:Me("warn"),info:Me("info"),error:Me("error"),debug:Me("debug")};Object.assign(globalThis,{logger:se});Tn=Symbol.for("Jolibox.canIUseMap"),Fo={};globalThis[Tn]=Fo;or={get config(){return globalThis[Tn]}},je=(e=>(e[e.System=1e3]="System",e[e.ErrorTrace=1001]="ErrorTrace",e[e.UserDefined=1002]="UserDefined",e))(je||{}),Re=(e=>(e.MiniGame="mini-game",e.MiniDrama="mini-drama",e.App="app",e.WebSDK="web-sdk",e.AppSDK="app-sdk",e))(Re||{}),Oo=(e=>(e[e.App=0]="App",e[e.H5=1]="H5",e[e.Weapp=2]="Weapp",e[e.Alipay=3]="Alipay",e[e.Gcash=4]="Gcash",e[e.Dana=5]="Dana",e[e.Umma=6]="Umma",e[e.WebSDK=1e3]="WebSDK",e[e.AppSDK=1001]="AppSDK",e[e.Other=9999]="Other",e))(Oo||{}),cn=["name","params"],No=["name","type","location","target","extra","timestamp","userId"],Lo=["platform","os","appVersion","appId","model","brand","uuid","jsSdkVersion","extra"];Bo=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),Qe={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||"0",10)]},isAndroid:navigator.userAgent.includes("Android"),isMac:navigator.userAgent.includes("Mac"),isFacebook:navigator.userAgent.includes("FB_IAB"),isPC:!navigator.userAgent.includes("iPhone")&&!navigator.userAgent.includes("Android")},Mo=()=>Qe.isiOS?"iOS":Qe.isAndroid?"Android":Qe.isMac?"Mac":Qe.isFacebook?"Facebook":"PC",$o="device_id",Vo="advertising_id",_n=e=>(localStorage.getItem(e)||localStorage.setItem(e,Bo()),localStorage.getItem(e)),sr=()=>_n($o),jo=()=>_n(Vo),Ko=e=>e.charAt(0).toUpperCase()+e.slice(1),Go=()=>{var t;let e=new URLSearchParams(window.location.search);return Ko((t=e.get("utm_source"))!=null?t:"")||"JoliboxSDK"},In=e=>{let t="JoliboxWebSDK",r=Mo(),i=navigator.language,a=sr(),d=jo();return`${t} (${Go()}${r}; UnknownModel; UnknownSystemVersion; ${i}) uuid/${a} adid/${d} version/${e||""}`},H=(me=class{constructor(t){this.element=t,this.next=me.Undefined,this.prev=me.Undefined}},me.Undefined=new me(void 0),me),Ho=class{constructor(){this._first=H.Undefined,this._last=H.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===H.Undefined}clear(){let e=this._first;for(;e!==H.Undefined;){let t=e.next;e.prev=H.Undefined,e.next=H.Undefined,e=t}this._first=H.Undefined,this._last=H.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new H(e);if(this._first===H.Undefined)this._first=r,this._last=r;else if(t){let a=this._last;this._last=r,r.prev=a,a.next=r}else{let a=this._first;this._first=r,r.next=a,a.prev=r}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(r))}}shift(){if(this._first!==H.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==H.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==H.Undefined&&e.next!==H.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===H.Undefined&&e.next===H.Undefined?(this._first=H.Undefined,this._last=H.Undefined):e.next===H.Undefined?(this._last=this._last.prev,this._last.next=H.Undefined):e.prev===H.Undefined&&(this._first=this._first.next,this._first.prev=H.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==H.Undefined;)yield e.element,e=e.next}},Jo=0,Xe=class{constructor(e){this.value=e,this.id=Jo++}},$e=class{constructor(e){this.options=e,this._size=0}dispose(e){var t,r;this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof Xe&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(i=>(i==null?void 0:i.value)===e)):(this._listeners=void 0,this._size=0)),(r=(t=this.options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t))}get event(){var e;return(e=this._event)!=null||(this._event=(t,r)=>{var a,d,f,h,p,_;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let i=new Xe(t);this._listeners?this._listeners instanceof Xe?this._listeners=[this._listeners,i]:this._listeners.push(i):((d=(a=this.options)==null?void 0:a.onWillAddFirstListener)==null||d.call(a,this),this._listeners=i,(h=(f=this.options)==null?void 0:f.onDidFirstListener)==null||h.call(f,this)),(_=(p=this.options)==null?void 0:p.onDidAddListener)==null||_.call(p,this),this._size++}),this._event}_deliver(e,t){var i;if(!e)return;let r=((i=this.options)==null?void 0:i.onListenerError)||Error.constructor;if(!r){e.value(t);return}try{e.value(t)}catch(a){r(a)}}fire(e){this._listeners&&(this._listeners instanceof Xe?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},ve=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(e,t){var d;let r=(d=this.listeners.get(e))!=null?d:new $e,i=f=>t(...f.args);this.listerHandlerMap.set(t,i),r.event(i),this.listeners.set(e,r);let a=this.cachedEventQueue.get(e);if(a)for(;a.size>0;)r.fire(M({event:e},a.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let i=this.listerHandlerMap.get(t);r.dispose(i)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let i=this.cachedEventQueue.get(e);i||(i=new Ho,this.cachedEventQueue.set(e,i)),i.push({args:t})}}},Zt={};Ao(Zt,{None:()=>Wo,filter:()=>Yo,once:()=>wn,toPromise:()=>zo});Wo=()=>{console.log("[Jolibox SDK] None Event")};Qt=Symbol.for("Jolibox.hostEmitter"),qo=()=>{let e=new ve;return globalThis[Qt]||(globalThis[Qt]={on:e.on.bind(e),off:e.off.bind(e),emit:e.emit.bind(e)}),globalThis[Qt]},Ke=qo();et=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new $e,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(e){if(!e)throw new Error("invalid command");if(e.metadata&&Array.isArray(e.metadata.args)){let r=[];for(let a of e.metadata.args)r.push(a.constraint);let i=e.handler;e.handler=function(...a){return Qo(a,r),i(...a)}}let{id:t}=e;this._commands.get(t)&&console.info(`[Jolibox SDK] duplicated command is registered ${t}`),this._commands.set(t,e),this._onDidRegisterCommand.fire(t)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let r=this.getCommand(t);r&&e.set(t,r)}return e}};et=un([mn],et);er=class{constructor(){this._onWillExecuteCommand=new $e,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new $e,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new et,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=So(3e4)),this._starActivation}executeCommand(e,...t){return L(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),Zt.toPromise(Zt.filter(this.registry.onDidRegisterCommand,r=>r===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let r=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let i=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),i}_tryExecuteCommand(e,t){let r=this.registry.getCommand(e);if(!r)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let i=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(i)}catch(i){return Promise.reject(i)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};er=un([mn],er);Xt=Symbol.for("Jolibox.commands")});function ce(e,t={}){cr.emit("ERROR_REPORT",{error:e,options:t})}var cr,Te,ye=G(()=>{"use strict";j();j();cr=new ve,Te=new ve;ce.debounce=Ve(ce,50,{leading:!0})});var lr,An,Sn=G(()=>{"use strict";j();ye();lr=e=>{let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t.length%4===0?"":"=".repeat(4-t.length%4),i=atob(t+r);try{return JSON.parse(i)}catch(a){return{}}},An=e=>{var t;try{let a=(t=new URL(e).searchParams.get("joliSource"))==null?void 0:t.split(".");if(a!=null&&a.length){let[d,f,h]=a;return{headerJson:lr(d),payloadJson:lr(f),signature:lr(h)}}else throw"joli_source is missing"}catch(r){return ce(new yn(`${e} not a valid schema: ${r}`)),{headerJson:{},payloadJson:{},signature:{}}}}});var Zo,rt,Rn,ur=G(()=>{"use strict";j();Zo="1.1.8",rt=()=>Zo,Rn=()=>{let e=rt();return`${In(e)}`}});var ea,xn,dr,kn,X,ta,R,oe=G(()=>{"use strict";j();Sn();ur();j();ea={deviceInfo:{brand:"UnknownBrand",model:"UnknownModel",did:sr(),pixelRatio:window.devicePixelRatio||1,platform:"h5",system:"UnknownSystemVersion",lang:"zh"},sdkInfo:{nativeSDKVersion:"",jssdkVersion:rt()},schema:window.location.href,platform:"h5"},dr=(xn=globalThis.joliboxJSCore)==null?void 0:xn.env,X=Object.assign({},(kn=dr==null?void 0:dr())!=null?kn:ea),ta=()=>{var k,g,T,D,C,P,F,K;let{payloadJson:e,headerJson:t}=X.schema.length?An(X.schema):{},r=`${X.deviceInfo.did}-${new Date().getTime()}`,a=new URL(X.schema.length?X.schema:window.location.href).searchParams,d=(T=(g=(k=a.get("mpId"))!=null?k:a.get("appId"))!=null?g:a.get("gameId"))!=null?T:"",f=(C=(D=e==null?void 0:e.sessionId)!=null?D:a.get("sessionId"))!=null?C:r,h=!!((P=e==null?void 0:e.testAdsMode)!=null?P:a.get("testAdsMode")==="true"),p=(K=(F=e==null?void 0:e.joliboxEnv)!=null?F:a.get("joliboxEnv"))!=null?K:"production",_=p==="staging",I=t==null?void 0:t.channel;return{get testMode(){return _},get testAdsMode(){return h},get joliboxEnv(){return p},get joliSource(){var x;return(x=a.get("joliSource"))!=null?x:null},get mpId(){var x;return(x=d!=null?d:e==null?void 0:e.id)!=null?x:""},get mpVersion(){var x;return(x=t==null?void 0:t.ver)!=null?x:rt()},get platform(){var x;return(x=X.platform)!=null?x:X.deviceInfo.platform},get deviceInfo(){return X.deviceInfo},get sdkInfo(){return X.sdkInfo},get hostInfo(){return X.hostInfo},get hostUserInfo(){return X.hostUserInfo},get sessionId(){var x,Z;return(Z=(x=X.clientSessionId)!=null?x:f)!=null?Z:r},get channel(){return I},get webviewId(){var x;return(x=X.webviewId)!=null?x:-1},onEnvConfigChanged:x=>{hn(X,x,pn)}}},R=ta()});var fr,Pn,ra,na,Cn,ia,Dn=G(()=>{"use strict";j();ye();oe();j();fr=!1,Pn=(e,t)=>e==null?!1:t in e,ra=e=>Pn(e,"kind"),na=e=>{let t=e.toLowerCase().split("_");return t[0]+t.slice(1).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join("")},Cn=(e,t={},r)=>{var d,f,h;let i={user_id:(f=(d=R.hostUserInfo)==null?void 0:d.uid)!=null?f:"",device_id:(h=R.deviceInfo.did)!=null?h:"",timestamp:Date.now(),tag:na(e.name)},a=W(M({},i),{env:t.environment,isFromUser:r});r?Te.emit("GLOBAL_USER_ERROR",e,a):Te.emit("GLOBAL_ERROR",e,a)},ia=e=>Pn(e,"kind")&&e.kind==="USER_ERROR";cr.on("ERROR_REPORT",({error:e,options:t})=>{if(fr)return;fr=!0;let r=ra(e)&&e.raw?e.raw:e;try{let i=ia(e);Cn(e,t,i)}catch(i){let a=i instanceof Error?i.message:String(i),d=new ir(`${a}, origin error: ${r.message}`);se.error(d),Cn(new ir(d.message),{environment:t.environment},!1)}finally{fr=!1}})});var mr,hr=G(()=>{"use strict";ye();j();ye();mr=e=>new vn(e)});function Fn(e,t){let r=(i,a,d)=>{let f=W(M({tag:i},t),{extra:M({},a)});i=="globalJsError"?ce(new bn(JSON.stringify(f))):e("systemLog",f,d)};return r.debounce=Ve(r,500,{leading:!0}),r}function On(e){let t=(r,i,a)=>{var h;let d=(h=a&&JSON.stringify(a))!=null?h:0,f={speed_value_type:r,total_duration:i};d&&Object.assign(f,{extra:d}),e("joliboxSpeedAnalysis",f)};return t.debounce=Ve(t,500,{leading:!0}),t}var Nn=G(()=>{"use strict";j();j();ye()});function Ln(e,t){let r=Fn(e,t),i=On(r);return{track:r,trackPerformance:i}}var Un=G(()=>{"use strict";Nn()});var pr=G(()=>{"use strict"});var nt,Bn=G(()=>{"use strict";oe();j();j();nt=class{constructor(){this.deviceInfo=null;this.pastTrackings=[];this.samplesConfig=null;this.pushPastTracking=t=>{this.pastTrackings.push(t),this.pastTrackings.length>10&&this.pastTrackings.slice(-10)};this.fetchSamplesConfig()}get networkIsOk(){return this.pastTrackings.length<=4||this.pastTrackings.filter(Boolean).length/this.pastTrackings.length>=.6}fetchSamplesConfig(){return L(this,null,function*(){let r=`${R.testMode?"https://stg-api.jolibox.com":"https://api.jolibox.com"}/api/fe-configs/js-sdk/samples-config`,i=yield(yield fetch(r)).json();this.samplesConfig=i})}checkIsSampled(t){if(!this.samplesConfig)return!1;let{samples:r}=this.samplesConfig;for(let[i,a]of Object.entries(r))if(a.includes(t.name))return Math.floor(Math.random()*101)<parseFloat(i);return!1}getDevice(){var i,a,d,f,h;let{nativeSDKVersion:t,jssdkVersion:r}=R.sdkInfo;return{platform:1e3,os:R.deviceInfo.platform,appVersion:(i=t!=null?t:r)!=null?i:"1.0.0",appId:(d=(a=R.hostInfo)==null?void 0:a.aid)!=null?d:"1",model:(f=R.deviceInfo.model)!=null?f:"UnknownModel",brand:(h=R.deviceInfo.brand)!=null?h:"UnknownBrand",uuid:R.deviceInfo.did,jsSdkVersion:r,extra:{}}}getLocation(){let t=new URLSearchParams(window.location.search),r={};return t.forEach((i,a)=>{r[a]=i}),{name:"GamePage",params:r}}trackEvent(t,r,i){return L(this,null,function*(){if(this.checkIsSampled(t))return;let a=t.location?t.location:yield this.getLocation(),d=t.target||null,f=t.extra||null;this.deviceInfo||(this.deviceInfo=yield this.getDevice());let h=this.deviceInfo,_={protocolVersion:"1.0.0",events:[W(M({},t),{location:a,target:d,extra:f,timestamp:Date.now(),userId:null})],device:h,project:r};try{i?this.doReport(ar(_),i):this.doReport(ar(_)),this.pushPastTracking(!0)}catch(I){this.pushPastTracking(!1),se.log("[Jolibox SDK] report API error",I)}})}}});var gr=G(()=>{"use strict";Un();pr();Bn()});var vr,Mn,it,be,Ge=G(()=>{"use strict";ur();oe();vr=e=>{let t=new AbortController;return setTimeout(()=>t.abort(),e),t.signal};(Mn=AbortSignal.timeout)!=null||(AbortSignal.timeout=vr);it=class{constructor(t){this.xua=Rn();this.getJoliSource=()=>R.joliSource;var i;let r=R.testMode?"https://stg-api.jolibox.com":"https://api.jolibox.com";this.baseUrl=(i=t==null?void 0:t.baseUrl)!=null?i:r}get(t,r){return L(this,null,function*(){let{query:i,timeout:a}=r!=null?r:{},{headers:d}=r!=null?r:{},f=i?new URLSearchParams(i):null,h=f==null?void 0:f.toString(),p=`${this.baseUrl}${t}${h?`?${h}`:""}`,_=this.xua,I=this.getJoliSource();return d=Object.assign({},d!=null?d:{},_?{"x-user-agent":_}:{},I?{"x-joli-source":I}:{}),yield(yield fetch(p,{method:"GET",headers:d,credentials:"include",signal:vr(a!=null?a:3e4)})).json()})}post(t,r){return L(this,null,function*(){let{data:i,query:a,timeout:d}=r!=null?r:{},{headers:f}=r!=null?r:{},h=a?new URLSearchParams(a):null,p=h==null?void 0:h.toString(),_=`${this.baseUrl}${t}${p?`?${p}`:""}`,I=this.xua,k=this.getJoliSource();f=Object.assign({},f!=null?f:{},{"Content-Type":"application/json"},I?{"x-user-agent":I}:{},k?{"x-joli-source":k}:{});let g=yield fetch(_,{method:"POST",headers:f,body:JSON.stringify(i),signal:vr(d!=null?d:3e4),credentials:"include"}),T=g.headers.get("content-type");if(T!=null&&T.includes("application/octet-stream"))try{return g.blob()}catch(D){return yield g.arrayBuffer()}if(T!=null&&T.includes("multipart/form-data")||T!=null&&T.includes("application/x-www-form-urlencoded"))try{return g.formData()}catch(D){return yield g.text()}if(T!=null&&T.includes("application/json"))try{return yield g.json()}catch(D){return yield g.text()}return g})}put(t,r){return L(this,null,function*(){try{let{data:i,query:a,timeout:d}=r!=null?r:{},{headers:f}=r!=null?r:{},h=a?new URLSearchParams(a):null,p=h==null?void 0:h.toString(),_=`${this.baseUrl}${t}${p?`?${p}`:""}`,I=this.xua,k=this.getJoliSource();f=Object.assign({},f!=null?f:{},{"Content-Type":"application/json"},I?{"x-user-agent":I}:{},k?{"x-joli-source":k}:{});let g=yield fetch(_,{method:"PUT",headers:f,credentials:"include",body:JSON.stringify(i!=null?i:{})});if(!g.ok)throw new Error(`HTTP error! status: ${g.status}`);return yield g.json()}catch(i){throw console.error("Error:",i),i}})}};window.JoliboxHttpClient=it;be=it});var yr,xe,ot=G(()=>{"use strict";oe();gr();Ge();yr=class extends nt{constructor(){super(...arguments);this.hostToApiMap={default:{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.jolibox.com":{test:"https://stg-collect.jolibox.com",prod:"https://collect.jolibox.com"},"oss.pico-game.com":{test:"https://stg-collect.pico-game.com",prod:"https://collect.pico-game.com"}};this.httpClient=new be({baseUrl:this.apiBaseURL})}get apiBaseURL(){var i,a;let r=(i=this.hostToApiMap[window.location.host])!=null?i:this.hostToApiMap.default;return(a=R.testMode)!=null&&a?r.test:r.prod}doReport(r){this.httpClient.post("/report",{data:r,timeout:5e3})}},xe=new yr});var oa,$n=G(()=>{"use strict";Dn();j();hr();j();ot();oe();oa=(e,t)=>{var a,d,f;let r={message:t.message,stack:(a=t.stack)!=null?a:"",errorType:t.name,source:0},i={name:e,type:je.ErrorTrace,location:null,target:null,extra:r,timestamp:Date.now(),userId:(f=(d=R.hostUserInfo)==null?void 0:d.uid)!=null?f:null};xe.trackEvent(i,Re.WebSDK)};Te.on("GLOBAL_ERROR",(e,t)=>{oa(t.tag,e)});Te.on("GLOBAL_USER_ERROR",(e,t)=>{se.log("UserError",e,t)})});var at,Vn=G(()=>{"use strict";at=class{constructor(t,r){this.eventEmitter=t;this.lastReportTime=0;this.visible=!0;this.timer=this.createRAFTimer(t=>{this.reporter({event:"PLAY_GAME",params:{duration:t}}),this.tracker("PlayGame",{duration:t})});this.interval=r!=null?r:5*1e3,t.on("visible",i=>{this.visible=i})}start(t){this.reporter({event:"OPEN_GAME",params:{timestamp:Date.now(),duration:t!=null?t:0}}),this.tracker("OpenGame",{duration:t!=null?t:0}),this.timer.start()}close(t){this.reporter({event:"CLOSE_GAME",params:{timestamp:Date.now(),duration:t}}),this.tracker("CloseGame",{duration:t}),this.timer.stop()}createRAFTimer(t){let r=Date.now(),i,a,d=!1,f=0,h=()=>{if(!d)return;let T=Date.now(),D=T-r;D>=this.interval&&(this.visible&&(f+=D,t(f)),r=T),i=requestAnimationFrame(h)},p=()=>{I(),r=Date.now(),a=window.setInterval(()=>{if(!d)return;let T=Date.now();T-r>=this.interval&&(r=T)},this.interval)},_=()=>{k(),r=Date.now(),i=requestAnimationFrame(h)},I=()=>{i&&(cancelAnimationFrame(i),i=0)},k=()=>{a&&(clearInterval(a),a=0)};this.eventEmitter.on("visible",T=>{d&&(console.log("visible",T),T?_():p())});let g=this.visible;return{start(){d||(d=!0,g?_():p())},stop(){d=!1,I(),k()}}}}});var st,jn=G(()=>{"use strict";oe();Vn();Ge();st=class extends at{constructor(r,i,a){super(i,a);this.httpClient=new be;this.gameId=R.mpId,this.sessionId=R.sessionId,this.track=r}reporter(r){return L(this,null,function*(){let{event:i,params:a}=r;yield this.httpClient.post("/api/base/app-event",{data:{eventType:i,gameInfo:M({gameId:this.gameId,sessionId:this.sessionId},a)}})})}tracker(r,i=null){this.track(r,i)}}});var Kn,aa,ue,sa,br,le,_e=G(()=>{"use strict";$n();j();j();gr();ot();jn();oe();pr();Kn=ie(),aa={type:Re.WebSDK,platform:"h5",jssdk_version:R.sdkInfo.jssdkVersion,mp_id:R.mpId,mp_version:R.mpVersion},{track:ue,trackPerformance:sa}=Ln((...e)=>{var f,h,p,_;let[,t]=e,r=t,i=dn(r.extra)?r.extra:tr(r.extra)?JSON.parse(r.extra):{},a=W(M({},i),{mp_id:(f=r.mp_id)!=null?f:"",mp_version:(h=r.mp_version)!=null?h:""}),d={name:t.tag,type:je.System,location:null,target:null,extra:a,timestamp:Date.now(),userId:(_=(p=R.hostUserInfo)==null?void 0:p.uid)!=null?_:null};xe.trackEvent(d,Re.WebSDK)},aa);Kn.registerCommand("ReportSDK.traceSystemTimeline",({event:e,duration:t,extra:r})=>{sa(e,t,r)});Kn.registerCommand("ReportSDK.traceSystem",({event:e,info:t})=>{ue(e,t)});br=new ve,le=new st(ue,br)});function Gn(e){let t=or.config[e];return t||(t={},or.config[e]=t),(r,i)=>{if(t[r]){se.warn(`[can i use] ${r} already registered`);return}t[r]=M({},i)}}var Hn=G(()=>{"use strict";j()});function Er(e){Jn=e}function ct(e){return e===null||typeof e!="object"?e:Array.isArray(e)?e.map(t=>ct(t)):Object.keys(e).reduce((t,r)=>(t[r]=ct(e[r]),t),{})}function he(e){return typeof e=="number"}function Tr(e){let t=_r(e);switch(t){case"string":return`"${e}"`;case"number":case"boolean":case"null":case"undefined":return String(e);default:return`a(n) ${t}`}}function _r(e){return typeof e=="function"?"function":Object.prototype.toString.call(e).slice(8).slice(0,-1).toLowerCase()}var Jn,Y,lt,ut,dt,ft,ke,mt,ht,pt,gt,vt,yt,bt,Et,Tt,_t,It,wt,Ir=G(()=>{"use strict";Jn=!1;Y=class{constructor(){this.errors=[];this.hasFallback=!1;this.hasDefault=!1;this._optional=!1}fail(t){if(Jn)if(typeof t=="string")this.errors.push(t);else{let r=`${this.path} should be ${t.expect}`;this._optional&&t.expect!=="undefined"?r+=" or undefined, ":r+=", ",r+=`but got ${Tr(t.actual)}`,this.errors.push(r)}return!1}fallback(t){return this.hasFallback=!0,this._fallback=t,this}get fallbackValue(){return ct(this._fallback)}default(t){return this.hasDefault=!0,this._default=t,this}get defaultValue(){return typeof this._default=="function"?this._default:ct(this._default)}optional(){return this._optional=!0,this}};lt=class extends Y{validate(t){return this._optional&&t===void 0?!0:he(t)?he(this._min)&&t<this._min?this.fail(`the value of ${this.path} should be greater than or equal to ${this._min}`):he(this._max)&&t>this._max?this.fail(`the value of ${this.path} should be less than or equal to ${this._max}`):he(this._greater)&&t<=this._greater?this.fail(`the value of ${this.path} should be greater than ${this._greater}`):this._isInt&&t!==Math.floor(t)?this.fail(`the value of ${this.path} should be integer but got ${t}`):!0:this.fail({expect:"number",actual:t})}min(t){return this._min=t,this}max(t){return this._max=t,this}isInt(t){return this._isInt=t,this}greater(t){return this._greater=t,this}},ut=class extends Y{validate(t){return this._optional&&t===void 0?!0:typeof t!="boolean"?this.fail({expect:"boolean",actual:t}):!0}},dt=class extends Y{validate(t){if(this._optional&&t===void 0)return!0;if(typeof t!="string")return this.fail({expect:"string",actual:t});if(he(this._maxLength)&&t.length>this._maxLength)return this.fail(`the length of ${this.path} should be less than or equal to ${this._maxLength}`);if(he(this._minLength)&&t.length<this._minLength)return this.fail(`the length of ${this.path} should be greater than or equal to ${this._minLength}`);if(typeof this._pattern=="string"){if(!new RegExp(this._pattern).test(t))return this.fail(`${this.path} should match pattern "${this._pattern}"`)}else if(this._pattern&&!this._pattern.test(t))return this.fail(`${this.path} should match pattern "${this._pattern.toString()}"`);return!0}minLength(t){return this._minLength=t,this}maxLength(t){return this._maxLength=t,this}pattern(t){return this._pattern=t,this}},ft=class extends Y{validate(t){return this._optional&&t===void 0?!0:typeof t!="symbol"?this.fail({expect:"symbol",actual:t}):!0}},ke=class extends Y{validate(t){return!0}},mt=class extends Y{validate(t){return t!==void 0?this.fail({expect:"undefined",actual:t}):!0}},ht=class extends Y{validate(t){return this._optional&&t===void 0?!0:t!==null?this.fail({expect:"null",actual:t}):!0}},pt=class extends Y{validate(t){return this._optional&&t===void 0?!0:typeof t!="function"?this.fail({expect:"function",actual:t}):!0}},gt=class extends Y{constructor(...t){super(),this._items=t}validate(t){if(this._optional&&t===void 0)return!0;if(!this._items.includes(t)){let r=this._items.map(i=>JSON.stringify(i)).join(", ");return this.fail(`expect ${this.path} to be one of ${r}, but got ${Tr(t)}`)}return!0}},vt=class extends Y{constructor(r){super();this._item=r}validate(r){if(this._optional&&r===void 0)return!0;if(!Array.isArray(r))return this.fail({expect:"array",actual:r});if(he(this._minItems)&&r.length<this._minItems)return this.fail(`the length of ${this.path} should be greater than or equal to ${this._minItems}`);if(he(this._maxItems)&&r.length>this._maxItems)return this.fail(`the length of ${this.path} should be less than or equal to ${this._maxItems}`);if(he(this._length)&&r.length!==this._length)return this.fail(`the length of ${this.path} should be equal to ${this._length}`);let i=this._item;if(!i)return!0;let a=!0;if(r.forEach((d,f)=>{if(i.path=`${this.path}[${f}]`,i.errors=this.errors,d===void 0&&i.hasDefault){r[f]=i.defaultValue;return}i.validate(d)||(i.hasFallback?r[f]=i.fallbackValue:a=!1)}),this._uniqueItems){let d=new Map;for(let f in r)d.has(r[f])?a=this.fail(`${this.path} should NOT have duplicate items (${this.path}[${d.get(r[f])}] and ${this.path}[${f}] are identical)`):d.set(r[f],f)}return a}minItems(r){return this._minItems=r,this}maxItems(r){return this._maxItems=r,this}uniqueItems(){return this._uniqueItems=!0,this}length(r){return this._length=r,this}},yt=class extends Y{constructor(r){super();this._value=r}validate(r){if(this._optional&&r===void 0)return!0;if(_r(r)!=="object")return this.fail({expect:"object",actual:r});let a=r,d=this._value;d.errors=this.errors;let f=!0;for(let h in a){let p=a[h];if(/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/.test(h)?d.path=`${this.path}.${h}`:d.path=`${this.path}["${h}"]`,!(p===void 0&&d._optional)){if(p===void 0&&d.hasDefault){a[h]=d.defaultValue;continue}d.validate(p)||(d.hasFallback?a[h]=d.fallbackValue:f=!1)}}return f}},bt=class extends Y{constructor(r={}){super();this._object=r}validate(r){if(this._optional&&r===void 0)return!0;if(_r(r)!=="object")return this.fail({expect:"object",actual:r});let i=r,a=!0;for(let d in this._object){let f=i[d],h=this._object[d];if(h.errors=this.errors,/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/.test(d)?h.path=`${this.path}.${d}`:h.path=`${this.path}["${d}"]`,!(h._optional&&f===void 0)){if(f===void 0&&h.hasDefault){i[d]=h.defaultValue;continue}h.validate(f)||(h.hasFallback?i[d]=h.fallbackValue:a=!1)}}return a}},Et=class extends Y{constructor(r){super();this.value=r}validate(r){return r===void 0&&this._optional?!0:r!==this.value?this.fail({expect:Tr(this.value),actual:r}):!0}},Tt=class extends Y{constructor(...t){super(),this._items=t}validate(t){if(t===void 0&&this._optional)return!0;let r=[],i=!1,a=this._items.length;for(let d=0;d<a;d++){let f=this._items[d];if(f.errors=[],f.path=this.path,!f.validate(t))r.push(f.errors.join("; "));else if(!i){i=!0;break}}if(!i){let d=r.join(`
2
2
  or `);this.errors.push(d)}return i}},_t=class extends Y{constructor(...t){super(),this._items=t;let r=0,i=t.length-1;for(;i>=0;i--){let a=t[i];if(a._optional||a.hasDefault)r+=1;else break}this._minItems=t.length-r}validate(t){if(t===void 0&&this._optional)return!0;if(!Array.isArray(t))return this.fail({expect:"array",actual:t});if(t.length<this._minItems)return this.fail(`the length of ${this.path} should be greater than or equal to ${this._minItems}`);let r=!0;return this._items.forEach((i,a)=>{if(i.path=`${this.path}[${a}]`,i.errors=this.errors,t[a]===void 0&&i.hasDefault){t[a]=i.defaultValue;return}i.validate(t[a])||(i.hasFallback?t[a]=i._fallback:r=!1)}),r}},It=class extends Y{validate(t){return t===void 0&&this._optional||t instanceof ArrayBuffer?!0:this.fail({expect:"arraybuffer",actual:t})}},wt=class extends Y{constructor(t){super(),this._ctor=t}validate(t){return t===void 0&&this._optional||t instanceof this._ctor?!0:this.fail({expect:`typedarray of ${this._ctor.name}`,actual:t})}}});function wr(e,t,r="param"){if(e.errors=[],e.path=r,Er(!0),!e.validate(t)){let i=e.errors.join(`
3
3
  `);throw e.errors.length=0,Er(!1),new TypeError(i)}}var S,Ar=G(()=>{"use strict";Ir();Ir();S={object(e){return new bt(e)},array(e){return new vt(e)},tuple(...e){return new _t(...e)},literal(e){return new Et(e)},or(...e){return new Tt(...e)},symbol(){return new ft},record(e){return new yt(e)},function(){return new pt},boolean(){return new ut},string(){return new dt},number(){return new lt},undefined(){return new mt},null(){return new ht},unknown(){return new ke},any(){return new ke},as(){return new ke},arraybuffer(){return new It},enum(...e){return new gt(...e)},typedarray(e){return new wt(e)}}});var At,Wn,zn=G(()=>{"use strict";j();ye();Ar();hr();At=1,Wn=e=>{function t(i,a){return(...d)=>{var k,g,T,D;let f=Date.now(),h={method:i,trace_id:At};At+=1;let p="SUCCESS",_=`${i}:ok`,I=0;try{if(a.paramsSchema)try{wr(a.paramsSchema,d,"params")}catch(K){throw mr(`${i}:fail ${K.message}`)}let C=a.implement(...d),P=C,F=`${i}:ok`;if(C&&"code"in C){let{code:K,data:x,message:Z}=C;p=K,P=x,F=Z}return{code:p,message:F,data:P}}catch(C){let P=C;I=(g=(k=P.code)!=null?k:P.errNo)!=null?g:2e3,p="FAILURE";let F=(D=(T=P.message)!=null?T:P.errMsg)!=null?D:`${C}`;return _=`${i}:${p} ${F.replace(/^\S+:(fail|cancel)\s?/,"")}`,ce(new tt(_,I)),{code:p,message:_}}finally{let C=Date.now()-f;e("apiInvoked",W(M({},h),{duration:C,status:p}))}}}function r(i,a){return(...d)=>L(this,null,function*(){var g,T,D,C;let f=fn(d)?d:[d],h=Date.now(),p={method:i,trace_id:At};At+=1;let _=`${i}:ok`,I="SUCCESS",k={code:I,message:_};try{if(a.paramsSchema)try{wr(a.paramsSchema,f,"params")}catch(K){throw mr(K.message)}let F=yield a.implement(...f);if(F&&"code"in F){let{code:K,data:x,message:Z}=F;I=K,_=Z,F=x}return Object.assign(k,{code:I,message:_,data:F}),k}catch(P){let F=P,K=(T=(g=F.code)!=null?g:F.errNo)!=null?T:2e3;I="FAILURE";let x=(C=(D=F.message)!=null?D:F.errMsg)!=null?C:`${P}`,Z=`${i}:${I} ${x.replace(/^\S+:(fail|cancel)\s?/,"")}`;return Object.assign(k,{code:I,message:Z}),ce(new tt(Z,K)),k}finally{let P=Date.now()-h;e("apiInvoked",W(M({},p),{duration:P,status:I}))}})}return{createAPI:r,createSyncAPI:t}}});var ae,Ie,q,He=G(()=>{"use strict";Hn();_e();zn();Ar();({createAPI:ae,createSyncAPI:Ie}=Wn(ue)),q=Gn("h5")});var Xn=on((Qn,kr)=>{(function(e){if(typeof Qn=="object"&&typeof kr!="undefined")kr.exports=e();else if(typeof define=="function"&&define.amd)define([],e);else{var t;typeof window!="undefined"?t=window:typeof global!="undefined"?t=global:typeof self!="undefined"?t=self:t=this,t.localforage=e()}})(function(){var e,t,r;return function i(a,d,f){function h(I,k){if(!d[I]){if(!a[I]){var g=typeof Be=="function"&&Be;if(!k&&g)return g(I,!0);if(p)return p(I,!0);var T=new Error("Cannot find module '"+I+"'");throw T.code="MODULE_NOT_FOUND",T}var D=d[I]={exports:{}};a[I][0].call(D.exports,function(C){var P=a[I][1][C];return h(P||C)},D,D.exports,i,a,d,f)}return d[I].exports}for(var p=typeof Be=="function"&&Be,_=0;_<f.length;_++)h(f[_]);return h}({1:[function(i,a,d){(function(f){"use strict";var h=f.MutationObserver||f.WebKitMutationObserver,p;if(h){var _=0,I=new h(C),k=f.document.createTextNode("");I.observe(k,{characterData:!0}),p=function(){k.data=_=++_%2}}else if(!f.setImmediate&&typeof f.MessageChannel!="undefined"){var g=new f.MessageChannel;g.port1.onmessage=C,p=function(){g.port2.postMessage(0)}}else"document"in f&&"onreadystatechange"in f.document.createElement("script")?p=function(){var F=f.document.createElement("script");F.onreadystatechange=function(){C(),F.onreadystatechange=null,F.parentNode.removeChild(F),F=null},f.document.documentElement.appendChild(F)}:p=function(){setTimeout(C,0)};var T,D=[];function C(){T=!0;for(var F,K,x=D.length;x;){for(K=D,D=[],F=-1;++F<x;)K[F]();x=D.length}T=!1}a.exports=P;function P(F){D.push(F)===1&&!T&&p()}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],2:[function(i,a,d){"use strict";var f=i(1);function h(){}var p={},_=["REJECTED"],I=["FULFILLED"],k=["PENDING"];a.exports=g;function g(w){if(typeof w!="function")throw new TypeError("resolver must be a function");this.state=k,this.queue=[],this.outcome=void 0,w!==h&&P(this,w)}g.prototype.catch=function(w){return this.then(null,w)},g.prototype.then=function(w,U){if(typeof w!="function"&&this.state===I||typeof U!="function"&&this.state===_)return this;var N=new this.constructor(h);if(this.state!==k){var V=this.state===I?w:U;D(N,V,this.outcome)}else this.queue.push(new T(N,w,U));return N};function T(w,U,N){this.promise=w,typeof U=="function"&&(this.onFulfilled=U,this.callFulfilled=this.otherCallFulfilled),typeof N=="function"&&(this.onRejected=N,this.callRejected=this.otherCallRejected)}T.prototype.callFulfilled=function(w){p.resolve(this.promise,w)},T.prototype.otherCallFulfilled=function(w){D(this.promise,this.onFulfilled,w)},T.prototype.callRejected=function(w){p.reject(this.promise,w)},T.prototype.otherCallRejected=function(w){D(this.promise,this.onRejected,w)};function D(w,U,N){f(function(){var V;try{V=U(N)}catch(Q){return p.reject(w,Q)}V===w?p.reject(w,new TypeError("Cannot resolve promise with itself")):p.resolve(w,V)})}p.resolve=function(w,U){var N=F(C,U);if(N.status==="error")return p.reject(w,N.value);var V=N.value;if(V)P(w,V);else{w.state=I,w.outcome=U;for(var Q=-1,ee=w.queue.length;++Q<ee;)w.queue[Q].callFulfilled(U)}return w},p.reject=function(w,U){w.state=_,w.outcome=U;for(var N=-1,V=w.queue.length;++N<V;)w.queue[N].callRejected(U);return w};function C(w){var U=w&&w.then;if(w&&(typeof w=="object"||typeof w=="function")&&typeof U=="function")return function(){U.apply(w,arguments)}}function P(w,U){var N=!1;function V(re){N||(N=!0,p.reject(w,re))}function Q(re){N||(N=!0,p.resolve(w,re))}function ee(){U(Q,V)}var te=F(ee);te.status==="error"&&V(te.value)}function F(w,U){var N={};try{N.value=w(U),N.status="success"}catch(V){N.status="error",N.value=V}return N}g.resolve=K;function K(w){return w instanceof this?w:p.resolve(new this(h),w)}g.reject=x;function x(w){var U=new this(h);return p.reject(U,w)}g.all=Z;function Z(w){var U=this;if(Object.prototype.toString.call(w)!=="[object Array]")return this.reject(new TypeError("must be an array"));var N=w.length,V=!1;if(!N)return this.resolve([]);for(var Q=new Array(N),ee=0,te=-1,re=new this(h);++te<N;)de(w[te],te);return re;function de(Ne,We){U.resolve(Ne).then(Mt,function(Ae){V||(V=!0,p.reject(re,Ae))});function Mt(Ae){Q[We]=Ae,++ee===N&&!V&&(V=!0,p.resolve(re,Q))}}}g.race=Ee;function Ee(w){var U=this;if(Object.prototype.toString.call(w)!=="[object Array]")return this.reject(new TypeError("must be an array"));var N=w.length,V=!1;if(!N)return this.resolve([]);for(var Q=-1,ee=new this(h);++Q<N;)te(w[Q]);return ee;function te(re){U.resolve(re).then(function(de){V||(V=!0,p.resolve(ee,de))},function(de){V||(V=!0,p.reject(ee,de))})}}},{1:1}],3:[function(i,a,d){(function(f){"use strict";typeof f.Promise!="function"&&(f.Promise=i(2))}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{2:2}],4:[function(i,a,d){"use strict";var f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n};function h(n,s){if(!(n instanceof s))throw new TypeError("Cannot call a class as a function")}function p(){try{if(typeof indexedDB!="undefined")return indexedDB;if(typeof webkitIndexedDB!="undefined")return webkitIndexedDB;if(typeof mozIndexedDB!="undefined")return mozIndexedDB;if(typeof OIndexedDB!="undefined")return OIndexedDB;if(typeof msIndexedDB!="undefined")return msIndexedDB}catch(n){return}}var _=p();function I(){try{if(!_||!_.open)return!1;var n=typeof openDatabase!="undefined"&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),s=typeof fetch=="function"&&fetch.toString().indexOf("[native code")!==-1;return(!n||s)&&typeof indexedDB!="undefined"&&typeof IDBKeyRange!="undefined"}catch(o){return!1}}function k(n,s){n=n||[],s=s||{};try{return new Blob(n,s)}catch(c){if(c.name!=="TypeError")throw c;for(var o=typeof BlobBuilder!="undefined"?BlobBuilder:typeof MSBlobBuilder!="undefined"?MSBlobBuilder:typeof MozBlobBuilder!="undefined"?MozBlobBuilder:WebKitBlobBuilder,l=new o,u=0;u<n.length;u+=1)l.append(n[u]);return l.getBlob(s.type)}}typeof Promise=="undefined"&&i(3);var g=Promise;function T(n,s){s&&n.then(function(o){s(null,o)},function(o){s(o)})}function D(n,s,o){typeof s=="function"&&n.then(s),typeof o=="function"&&n.catch(o)}function C(n){return typeof n!="string"&&(console.warn(n+" used as a key, but it is not a string."),n=String(n)),n}function P(){if(arguments.length&&typeof arguments[arguments.length-1]=="function")return arguments[arguments.length-1]}var F="local-forage-detect-blob-support",K=void 0,x={},Z=Object.prototype.toString,Ee="readonly",w="readwrite";function U(n){for(var s=n.length,o=new ArrayBuffer(s),l=new Uint8Array(o),u=0;u<s;u++)l[u]=n.charCodeAt(u);return o}function N(n){return new g(function(s){var o=n.transaction(F,w),l=k([""]);o.objectStore(F).put(l,"key"),o.onabort=function(u){u.preventDefault(),u.stopPropagation(),s(!1)},o.oncomplete=function(){var u=navigator.userAgent.match(/Chrome\/(\d+)/),c=navigator.userAgent.match(/Edge\//);s(c||!u||parseInt(u[1],10)>=43)}}).catch(function(){return!1})}function V(n){return typeof K=="boolean"?g.resolve(K):N(n).then(function(s){return K=s,K})}function Q(n){var s=x[n.name],o={};o.promise=new g(function(l,u){o.resolve=l,o.reject=u}),s.deferredOperations.push(o),s.dbReady?s.dbReady=s.dbReady.then(function(){return o.promise}):s.dbReady=o.promise}function ee(n){var s=x[n.name],o=s.deferredOperations.pop();if(o)return o.resolve(),o.promise}function te(n,s){var o=x[n.name],l=o.deferredOperations.pop();if(l)return l.reject(s),l.promise}function re(n,s){return new g(function(o,l){if(x[n.name]=x[n.name]||Nr(),n.db)if(s)Q(n),n.db.close();else return o(n.db);var u=[n.name];s&&u.push(n.version);var c=_.open.apply(_,u);s&&(c.onupgradeneeded=function(m){var v=c.result;try{v.createObjectStore(n.storeName),m.oldVersion<=1&&v.createObjectStore(F)}catch(y){if(y.name==="ConstraintError")console.warn('The database "'+n.name+'" has been upgraded from version '+m.oldVersion+" to version "+m.newVersion+', but the storage "'+n.storeName+'" already exists.');else throw y}}),c.onerror=function(m){m.preventDefault(),l(c.error)},c.onsuccess=function(){var m=c.result;m.onversionchange=function(v){v.target.close()},o(m),ee(n)}})}function de(n){return re(n,!1)}function Ne(n){return re(n,!0)}function We(n,s){if(!n.db)return!0;var o=!n.db.objectStoreNames.contains(n.storeName),l=n.version<n.db.version,u=n.version>n.db.version;if(l&&(n.version!==s&&console.warn('The database "'+n.name+`" can't be downgraded from version `+n.db.version+" to version "+n.version+"."),n.version=n.db.version),u||o){if(o){var c=n.db.version+1;c>n.version&&(n.version=c)}return!0}return!1}function Mt(n){return new g(function(s,o){var l=new FileReader;l.onerror=o,l.onloadend=function(u){var c=btoa(u.target.result||"");s({__local_forage_encoded_blob:!0,data:c,type:n.type})},l.readAsBinaryString(n)})}function Ae(n){var s=U(atob(n.data));return k([s],{type:n.type})}function Or(n){return n&&n.__local_forage_encoded_blob}function vi(n){var s=this,o=s._initReady().then(function(){var l=x[s._dbInfo.name];if(l&&l.dbReady)return l.dbReady});return D(o,n,n),o}function yi(n){Q(n);for(var s=x[n.name],o=s.forages,l=0;l<o.length;l++){var u=o[l];u._dbInfo.db&&(u._dbInfo.db.close(),u._dbInfo.db=null)}return n.db=null,de(n).then(function(c){return n.db=c,We(n)?Ne(n):c}).then(function(c){n.db=s.db=c;for(var m=0;m<o.length;m++)o[m]._dbInfo.db=c}).catch(function(c){throw te(n,c),c})}function fe(n,s,o,l){l===void 0&&(l=1);try{var u=n.db.transaction(n.storeName,s);o(null,u)}catch(c){if(l>0&&(!n.db||c.name==="InvalidStateError"||c.name==="NotFoundError"))return g.resolve().then(function(){if(!n.db||c.name==="NotFoundError"&&!n.db.objectStoreNames.contains(n.storeName)&&n.version<=n.db.version)return n.db&&(n.version=n.db.version+1),Ne(n)}).then(function(){return yi(n).then(function(){fe(n,s,o,l-1)})}).catch(o);o(c)}}function Nr(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function bi(n){var s=this,o={db:null};if(n)for(var l in n)o[l]=n[l];var u=x[o.name];u||(u=Nr(),x[o.name]=u),u.forages.push(s),s._initReady||(s._initReady=s.ready,s.ready=vi);var c=[];function m(){return g.resolve()}for(var v=0;v<u.forages.length;v++){var y=u.forages[v];y!==s&&c.push(y._initReady().catch(m))}var b=u.forages.slice(0);return g.all(c).then(function(){return o.db=u.db,de(o)}).then(function(E){return o.db=E,We(o,s._defaultConfig.version)?Ne(o):E}).then(function(E){o.db=u.db=E,s._dbInfo=o;for(var A=0;A<b.length;A++){var O=b[A];O!==s&&(O._dbInfo.db=o.db,O._dbInfo.version=o.version)}})}function Ei(n,s){var o=this;n=C(n);var l=new g(function(u,c){o.ready().then(function(){fe(o._dbInfo,Ee,function(m,v){if(m)return c(m);try{var y=v.objectStore(o._dbInfo.storeName),b=y.get(n);b.onsuccess=function(){var E=b.result;E===void 0&&(E=null),Or(E)&&(E=Ae(E)),u(E)},b.onerror=function(){c(b.error)}}catch(E){c(E)}})}).catch(c)});return T(l,s),l}function Ti(n,s){var o=this,l=new g(function(u,c){o.ready().then(function(){fe(o._dbInfo,Ee,function(m,v){if(m)return c(m);try{var y=v.objectStore(o._dbInfo.storeName),b=y.openCursor(),E=1;b.onsuccess=function(){var A=b.result;if(A){var O=A.value;Or(O)&&(O=Ae(O));var B=n(O,A.key,E++);B!==void 0?u(B):A.continue()}else u()},b.onerror=function(){c(b.error)}}catch(A){c(A)}})}).catch(c)});return T(l,s),l}function _i(n,s,o){var l=this;n=C(n);var u=new g(function(c,m){var v;l.ready().then(function(){return v=l._dbInfo,Z.call(s)==="[object Blob]"?V(v.db).then(function(y){return y?s:Mt(s)}):s}).then(function(y){fe(l._dbInfo,w,function(b,E){if(b)return m(b);try{var A=E.objectStore(l._dbInfo.storeName);y===null&&(y=void 0);var O=A.put(y,n);E.oncomplete=function(){y===void 0&&(y=null),c(y)},E.onabort=E.onerror=function(){var B=O.error?O.error:O.transaction.error;m(B)}}catch(B){m(B)}})}).catch(m)});return T(u,o),u}function Ii(n,s){var o=this;n=C(n);var l=new g(function(u,c){o.ready().then(function(){fe(o._dbInfo,w,function(m,v){if(m)return c(m);try{var y=v.objectStore(o._dbInfo.storeName),b=y.delete(n);v.oncomplete=function(){u()},v.onerror=function(){c(b.error)},v.onabort=function(){var E=b.error?b.error:b.transaction.error;c(E)}}catch(E){c(E)}})}).catch(c)});return T(l,s),l}function wi(n){var s=this,o=new g(function(l,u){s.ready().then(function(){fe(s._dbInfo,w,function(c,m){if(c)return u(c);try{var v=m.objectStore(s._dbInfo.storeName),y=v.clear();m.oncomplete=function(){l()},m.onabort=m.onerror=function(){var b=y.error?y.error:y.transaction.error;u(b)}}catch(b){u(b)}})}).catch(u)});return T(o,n),o}function Ai(n){var s=this,o=new g(function(l,u){s.ready().then(function(){fe(s._dbInfo,Ee,function(c,m){if(c)return u(c);try{var v=m.objectStore(s._dbInfo.storeName),y=v.count();y.onsuccess=function(){l(y.result)},y.onerror=function(){u(y.error)}}catch(b){u(b)}})}).catch(u)});return T(o,n),o}function Si(n,s){var o=this,l=new g(function(u,c){if(n<0){u(null);return}o.ready().then(function(){fe(o._dbInfo,Ee,function(m,v){if(m)return c(m);try{var y=v.objectStore(o._dbInfo.storeName),b=!1,E=y.openKeyCursor();E.onsuccess=function(){var A=E.result;if(!A){u(null);return}n===0||b?u(A.key):(b=!0,A.advance(n))},E.onerror=function(){c(E.error)}}catch(A){c(A)}})}).catch(c)});return T(l,s),l}function Ri(n){var s=this,o=new g(function(l,u){s.ready().then(function(){fe(s._dbInfo,Ee,function(c,m){if(c)return u(c);try{var v=m.objectStore(s._dbInfo.storeName),y=v.openKeyCursor(),b=[];y.onsuccess=function(){var E=y.result;if(!E){l(b);return}b.push(E.key),E.continue()},y.onerror=function(){u(y.error)}}catch(E){u(E)}})}).catch(u)});return T(o,n),o}function xi(n,s){s=P.apply(this,arguments);var o=this.config();n=typeof n!="function"&&n||{},n.name||(n.name=n.name||o.name,n.storeName=n.storeName||o.storeName);var l=this,u;if(!n.name)u=g.reject("Invalid arguments");else{var c=n.name===o.name&&l._dbInfo.db,m=c?g.resolve(l._dbInfo.db):de(n).then(function(v){var y=x[n.name],b=y.forages;y.db=v;for(var E=0;E<b.length;E++)b[E]._dbInfo.db=v;return v});n.storeName?u=m.then(function(v){if(v.objectStoreNames.contains(n.storeName)){var y=v.version+1;Q(n);var b=x[n.name],E=b.forages;v.close();for(var A=0;A<E.length;A++){var O=E[A];O._dbInfo.db=null,O._dbInfo.version=y}var B=new g(function($,z){var J=_.open(n.name,y);J.onerror=function(ne){var Ue=J.result;Ue.close(),z(ne)},J.onupgradeneeded=function(){var ne=J.result;ne.deleteObjectStore(n.storeName)},J.onsuccess=function(){var ne=J.result;ne.close(),$(ne)}});return B.then(function($){b.db=$;for(var z=0;z<E.length;z++){var J=E[z];J._dbInfo.db=$,ee(J._dbInfo)}}).catch(function($){throw(te(n,$)||g.resolve()).catch(function(){}),$})}}):u=m.then(function(v){Q(n);var y=x[n.name],b=y.forages;v.close();for(var E=0;E<b.length;E++){var A=b[E];A._dbInfo.db=null}var O=new g(function(B,$){var z=_.deleteDatabase(n.name);z.onerror=function(){var J=z.result;J&&J.close(),$(z.error)},z.onblocked=function(){console.warn('dropInstance blocked for database "'+n.name+'" until all open connections are closed')},z.onsuccess=function(){var J=z.result;J&&J.close(),B(J)}});return O.then(function(B){y.db=B;for(var $=0;$<b.length;$++){var z=b[$];ee(z._dbInfo)}}).catch(function(B){throw(te(n,B)||g.resolve()).catch(function(){}),B})})}return T(u,s),u}var ki={_driver:"asyncStorage",_initStorage:bi,_support:I(),iterate:Ti,getItem:Ei,setItem:_i,removeItem:Ii,clear:wi,length:Ai,key:Si,keys:Ri,dropInstance:xi};function Ci(){return typeof openDatabase=="function"}var pe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Pi="~~local_forage_type~",Lr=/^~~local_forage_type~([^~]+)~/,ze="__lfsc__:",$t=ze.length,Vt="arbf",jt="blob",Ur="si08",Br="ui08",Mr="uic8",$r="si16",Vr="si32",jr="ur16",Kr="ui32",Gr="fl32",Hr="fl64",Jr=$t+Vt.length,Wr=Object.prototype.toString;function zr(n){var s=n.length*.75,o=n.length,l,u=0,c,m,v,y;n[n.length-1]==="="&&(s--,n[n.length-2]==="="&&s--);var b=new ArrayBuffer(s),E=new Uint8Array(b);for(l=0;l<o;l+=4)c=pe.indexOf(n[l]),m=pe.indexOf(n[l+1]),v=pe.indexOf(n[l+2]),y=pe.indexOf(n[l+3]),E[u++]=c<<2|m>>4,E[u++]=(m&15)<<4|v>>2,E[u++]=(v&3)<<6|y&63;return b}function Kt(n){var s=new Uint8Array(n),o="",l;for(l=0;l<s.length;l+=3)o+=pe[s[l]>>2],o+=pe[(s[l]&3)<<4|s[l+1]>>4],o+=pe[(s[l+1]&15)<<2|s[l+2]>>6],o+=pe[s[l+2]&63];return s.length%3===2?o=o.substring(0,o.length-1)+"=":s.length%3===1&&(o=o.substring(0,o.length-2)+"=="),o}function Di(n,s){var o="";if(n&&(o=Wr.call(n)),n&&(o==="[object ArrayBuffer]"||n.buffer&&Wr.call(n.buffer)==="[object ArrayBuffer]")){var l,u=ze;n instanceof ArrayBuffer?(l=n,u+=Vt):(l=n.buffer,o==="[object Int8Array]"?u+=Ur:o==="[object Uint8Array]"?u+=Br:o==="[object Uint8ClampedArray]"?u+=Mr:o==="[object Int16Array]"?u+=$r:o==="[object Uint16Array]"?u+=jr:o==="[object Int32Array]"?u+=Vr:o==="[object Uint32Array]"?u+=Kr:o==="[object Float32Array]"?u+=Gr:o==="[object Float64Array]"?u+=Hr:s(new Error("Failed to get type for BinaryArray"))),s(u+Kt(l))}else if(o==="[object Blob]"){var c=new FileReader;c.onload=function(){var m=Pi+n.type+"~"+Kt(this.result);s(ze+jt+m)},c.readAsArrayBuffer(n)}else try{s(JSON.stringify(n))}catch(m){console.error("Couldn't convert value into a JSON string: ",n),s(null,m)}}function Fi(n){if(n.substring(0,$t)!==ze)return JSON.parse(n);var s=n.substring(Jr),o=n.substring($t,Jr),l;if(o===jt&&Lr.test(s)){var u=s.match(Lr);l=u[1],s=s.substring(u[0].length)}var c=zr(s);switch(o){case Vt:return c;case jt:return k([c],{type:l});case Ur:return new Int8Array(c);case Br:return new Uint8Array(c);case Mr:return new Uint8ClampedArray(c);case $r:return new Int16Array(c);case jr:return new Uint16Array(c);case Vr:return new Int32Array(c);case Kr:return new Uint32Array(c);case Gr:return new Float32Array(c);case Hr:return new Float64Array(c);default:throw new Error("Unkown type: "+o)}}var Gt={serialize:Di,deserialize:Fi,stringToBuffer:zr,bufferToString:Kt};function Yr(n,s,o,l){n.executeSql("CREATE TABLE IF NOT EXISTS "+s.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],o,l)}function Oi(n){var s=this,o={db:null};if(n)for(var l in n)o[l]=typeof n[l]!="string"?n[l].toString():n[l];var u=new g(function(c,m){try{o.db=openDatabase(o.name,String(o.version),o.description,o.size)}catch(v){return m(v)}o.db.transaction(function(v){Yr(v,o,function(){s._dbInfo=o,c()},function(y,b){m(b)})},m)});return o.serializer=Gt,u}function ge(n,s,o,l,u,c){n.executeSql(o,l,u,function(m,v){v.code===v.SYNTAX_ERR?m.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[s.storeName],function(y,b){b.rows.length?c(y,v):Yr(y,s,function(){y.executeSql(o,l,u,c)},c)},c):c(m,v)},c)}function Ni(n,s){var o=this;n=C(n);var l=new g(function(u,c){o.ready().then(function(){var m=o._dbInfo;m.db.transaction(function(v){ge(v,m,"SELECT * FROM "+m.storeName+" WHERE key = ? LIMIT 1",[n],function(y,b){var E=b.rows.length?b.rows.item(0).value:null;E&&(E=m.serializer.deserialize(E)),u(E)},function(y,b){c(b)})})}).catch(c)});return T(l,s),l}function Li(n,s){var o=this,l=new g(function(u,c){o.ready().then(function(){var m=o._dbInfo;m.db.transaction(function(v){ge(v,m,"SELECT * FROM "+m.storeName,[],function(y,b){for(var E=b.rows,A=E.length,O=0;O<A;O++){var B=E.item(O),$=B.value;if($&&($=m.serializer.deserialize($)),$=n($,B.key,O+1),$!==void 0){u($);return}}u()},function(y,b){c(b)})})}).catch(c)});return T(l,s),l}function qr(n,s,o,l){var u=this;n=C(n);var c=new g(function(m,v){u.ready().then(function(){s===void 0&&(s=null);var y=s,b=u._dbInfo;b.serializer.serialize(s,function(E,A){A?v(A):b.db.transaction(function(O){ge(O,b,"INSERT OR REPLACE INTO "+b.storeName+" (key, value) VALUES (?, ?)",[n,E],function(){m(y)},function(B,$){v($)})},function(O){if(O.code===O.QUOTA_ERR){if(l>0){m(qr.apply(u,[n,y,o,l-1]));return}v(O)}})})}).catch(v)});return T(c,o),c}function Ui(n,s,o){return qr.apply(this,[n,s,o,1])}function Bi(n,s){var o=this;n=C(n);var l=new g(function(u,c){o.ready().then(function(){var m=o._dbInfo;m.db.transaction(function(v){ge(v,m,"DELETE FROM "+m.storeName+" WHERE key = ?",[n],function(){u()},function(y,b){c(b)})})}).catch(c)});return T(l,s),l}function Mi(n){var s=this,o=new g(function(l,u){s.ready().then(function(){var c=s._dbInfo;c.db.transaction(function(m){ge(m,c,"DELETE FROM "+c.storeName,[],function(){l()},function(v,y){u(y)})})}).catch(u)});return T(o,n),o}function $i(n){var s=this,o=new g(function(l,u){s.ready().then(function(){var c=s._dbInfo;c.db.transaction(function(m){ge(m,c,"SELECT COUNT(key) as c FROM "+c.storeName,[],function(v,y){var b=y.rows.item(0).c;l(b)},function(v,y){u(y)})})}).catch(u)});return T(o,n),o}function Vi(n,s){var o=this,l=new g(function(u,c){o.ready().then(function(){var m=o._dbInfo;m.db.transaction(function(v){ge(v,m,"SELECT key FROM "+m.storeName+" WHERE id = ? LIMIT 1",[n+1],function(y,b){var E=b.rows.length?b.rows.item(0).key:null;u(E)},function(y,b){c(b)})})}).catch(c)});return T(l,s),l}function ji(n){var s=this,o=new g(function(l,u){s.ready().then(function(){var c=s._dbInfo;c.db.transaction(function(m){ge(m,c,"SELECT key FROM "+c.storeName,[],function(v,y){for(var b=[],E=0;E<y.rows.length;E++)b.push(y.rows.item(E).key);l(b)},function(v,y){u(y)})})}).catch(u)});return T(o,n),o}function Ki(n){return new g(function(s,o){n.transaction(function(l){l.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",[],function(u,c){for(var m=[],v=0;v<c.rows.length;v++)m.push(c.rows.item(v).name);s({db:n,storeNames:m})},function(u,c){o(c)})},function(l){o(l)})})}function Gi(n,s){s=P.apply(this,arguments);var o=this.config();n=typeof n!="function"&&n||{},n.name||(n.name=n.name||o.name,n.storeName=n.storeName||o.storeName);var l=this,u;return n.name?u=new g(function(c){var m;n.name===o.name?m=l._dbInfo.db:m=openDatabase(n.name,"","",0),n.storeName?c({db:m,storeNames:[n.storeName]}):c(Ki(m))}).then(function(c){return new g(function(m,v){c.db.transaction(function(y){function b(B){return new g(function($,z){y.executeSql("DROP TABLE IF EXISTS "+B,[],function(){$()},function(J,ne){z(ne)})})}for(var E=[],A=0,O=c.storeNames.length;A<O;A++)E.push(b(c.storeNames[A]));g.all(E).then(function(){m()}).catch(function(B){v(B)})},function(y){v(y)})})}):u=g.reject("Invalid arguments"),T(u,s),u}var Hi={_driver:"webSQLStorage",_initStorage:Oi,_support:Ci(),iterate:Li,getItem:Ni,setItem:Ui,removeItem:Bi,clear:Mi,length:$i,key:Vi,keys:ji,dropInstance:Gi};function Ji(){try{return typeof localStorage!="undefined"&&"setItem"in localStorage&&!!localStorage.setItem}catch(n){return!1}}function Qr(n,s){var o=n.name+"/";return n.storeName!==s.storeName&&(o+=n.storeName+"/"),o}function Wi(){var n="_localforage_support_test";try{return localStorage.setItem(n,!0),localStorage.removeItem(n),!1}catch(s){return!0}}function zi(){return!Wi()||localStorage.length>0}function Yi(n){var s=this,o={};if(n)for(var l in n)o[l]=n[l];return o.keyPrefix=Qr(n,s._defaultConfig),zi()?(s._dbInfo=o,o.serializer=Gt,g.resolve()):g.reject()}function qi(n){var s=this,o=s.ready().then(function(){for(var l=s._dbInfo.keyPrefix,u=localStorage.length-1;u>=0;u--){var c=localStorage.key(u);c.indexOf(l)===0&&localStorage.removeItem(c)}});return T(o,n),o}function Qi(n,s){var o=this;n=C(n);var l=o.ready().then(function(){var u=o._dbInfo,c=localStorage.getItem(u.keyPrefix+n);return c&&(c=u.serializer.deserialize(c)),c});return T(l,s),l}function Xi(n,s){var o=this,l=o.ready().then(function(){for(var u=o._dbInfo,c=u.keyPrefix,m=c.length,v=localStorage.length,y=1,b=0;b<v;b++){var E=localStorage.key(b);if(E.indexOf(c)===0){var A=localStorage.getItem(E);if(A&&(A=u.serializer.deserialize(A)),A=n(A,E.substring(m),y++),A!==void 0)return A}}});return T(l,s),l}function Zi(n,s){var o=this,l=o.ready().then(function(){var u=o._dbInfo,c;try{c=localStorage.key(n)}catch(m){c=null}return c&&(c=c.substring(u.keyPrefix.length)),c});return T(l,s),l}function eo(n){var s=this,o=s.ready().then(function(){for(var l=s._dbInfo,u=localStorage.length,c=[],m=0;m<u;m++){var v=localStorage.key(m);v.indexOf(l.keyPrefix)===0&&c.push(v.substring(l.keyPrefix.length))}return c});return T(o,n),o}function to(n){var s=this,o=s.keys().then(function(l){return l.length});return T(o,n),o}function ro(n,s){var o=this;n=C(n);var l=o.ready().then(function(){var u=o._dbInfo;localStorage.removeItem(u.keyPrefix+n)});return T(l,s),l}function no(n,s,o){var l=this;n=C(n);var u=l.ready().then(function(){s===void 0&&(s=null);var c=s;return new g(function(m,v){var y=l._dbInfo;y.serializer.serialize(s,function(b,E){if(E)v(E);else try{localStorage.setItem(y.keyPrefix+n,b),m(c)}catch(A){(A.name==="QuotaExceededError"||A.name==="NS_ERROR_DOM_QUOTA_REACHED")&&v(A),v(A)}})})});return T(u,o),u}function io(n,s){if(s=P.apply(this,arguments),n=typeof n!="function"&&n||{},!n.name){var o=this.config();n.name=n.name||o.name,n.storeName=n.storeName||o.storeName}var l=this,u;return n.name?u=new g(function(c){n.storeName?c(Qr(n,l._defaultConfig)):c(n.name+"/")}).then(function(c){for(var m=localStorage.length-1;m>=0;m--){var v=localStorage.key(m);v.indexOf(c)===0&&localStorage.removeItem(v)}}):u=g.reject("Invalid arguments"),T(u,s),u}var oo={_driver:"localStorageWrapper",_initStorage:Yi,_support:Ji(),iterate:Xi,getItem:Qi,setItem:no,removeItem:ro,clear:qi,length:to,key:Zi,keys:eo,dropInstance:io},ao=function(s,o){return s===o||typeof s=="number"&&typeof o=="number"&&isNaN(s)&&isNaN(o)},so=function(s,o){for(var l=s.length,u=0;u<l;){if(ao(s[u],o))return!0;u++}return!1},Xr=Array.isArray||function(n){return Object.prototype.toString.call(n)==="[object Array]"},Le={},Zr={},Se={INDEXEDDB:ki,WEBSQL:Hi,LOCALSTORAGE:oo},co=[Se.INDEXEDDB._driver,Se.WEBSQL._driver,Se.LOCALSTORAGE._driver],Ye=["dropInstance"],Ht=["clear","getItem","iterate","key","keys","length","removeItem","setItem"].concat(Ye),lo={description:"",driver:co.slice(),name:"localforage",size:4980736,storeName:"keyvaluepairs",version:1};function uo(n,s){n[s]=function(){var o=arguments;return n.ready().then(function(){return n[s].apply(n,o)})}}function Jt(){for(var n=1;n<arguments.length;n++){var s=arguments[n];if(s)for(var o in s)s.hasOwnProperty(o)&&(Xr(s[o])?arguments[0][o]=s[o].slice():arguments[0][o]=s[o])}return arguments[0]}var fo=function(){function n(s){h(this,n);for(var o in Se)if(Se.hasOwnProperty(o)){var l=Se[o],u=l._driver;this[o]=u,Le[u]||this.defineDriver(l)}this._defaultConfig=Jt({},lo),this._config=Jt({},this._defaultConfig,s),this._driverSet=null,this._initDriver=null,this._ready=!1,this._dbInfo=null,this._wrapLibraryMethodsWithReady(),this.setDriver(this._config.driver).catch(function(){})}return n.prototype.config=function(o){if((typeof o=="undefined"?"undefined":f(o))==="object"){if(this._ready)return new Error("Can't call config() after localforage has been used.");for(var l in o){if(l==="storeName"&&(o[l]=o[l].replace(/\W/g,"_")),l==="version"&&typeof o[l]!="number")return new Error("Database version must be a number.");this._config[l]=o[l]}return"driver"in o&&o.driver?this.setDriver(this._config.driver):!0}else return typeof o=="string"?this._config[o]:this._config},n.prototype.defineDriver=function(o,l,u){var c=new g(function(m,v){try{var y=o._driver,b=new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!o._driver){v(b);return}for(var E=Ht.concat("_initStorage"),A=0,O=E.length;A<O;A++){var B=E[A],$=!so(Ye,B);if(($||o[B])&&typeof o[B]!="function"){v(b);return}}var z=function(){for(var Ue=function(po){return function(){var go=new Error("Method "+po+" is not implemented by the current driver"),en=g.reject(go);return T(en,arguments[arguments.length-1]),en}},Wt=0,ho=Ye.length;Wt<ho;Wt++){var zt=Ye[Wt];o[zt]||(o[zt]=Ue(zt))}};z();var J=function(Ue){Le[y]&&console.info("Redefining LocalForage driver: "+y),Le[y]=o,Zr[y]=Ue,m()};"_support"in o?o._support&&typeof o._support=="function"?o._support().then(J,v):J(!!o._support):J(!0)}catch(ne){v(ne)}});return D(c,l,u),c},n.prototype.driver=function(){return this._driver||null},n.prototype.getDriver=function(o,l,u){var c=Le[o]?g.resolve(Le[o]):g.reject(new Error("Driver not found."));return D(c,l,u),c},n.prototype.getSerializer=function(o){var l=g.resolve(Gt);return D(l,o),l},n.prototype.ready=function(o){var l=this,u=l._driverSet.then(function(){return l._ready===null&&(l._ready=l._initDriver()),l._ready});return D(u,o,o),u},n.prototype.setDriver=function(o,l,u){var c=this;Xr(o)||(o=[o]);var m=this._getSupportedDrivers(o);function v(){c._config.driver=c.driver()}function y(A){return c._extend(A),v(),c._ready=c._initStorage(c._config),c._ready}function b(A){return function(){var O=0;function B(){for(;O<A.length;){var $=A[O];return O++,c._dbInfo=null,c._ready=null,c.getDriver($).then(y).catch(B)}v();var z=new Error("No available storage method found.");return c._driverSet=g.reject(z),c._driverSet}return B()}}var E=this._driverSet!==null?this._driverSet.catch(function(){return g.resolve()}):g.resolve();return this._driverSet=E.then(function(){var A=m[0];return c._dbInfo=null,c._ready=null,c.getDriver(A).then(function(O){c._driver=O._driver,v(),c._wrapLibraryMethodsWithReady(),c._initDriver=b(m)})}).catch(function(){v();var A=new Error("No available storage method found.");return c._driverSet=g.reject(A),c._driverSet}),D(this._driverSet,l,u),this._driverSet},n.prototype.supports=function(o){return!!Zr[o]},n.prototype._extend=function(o){Jt(this,o)},n.prototype._getSupportedDrivers=function(o){for(var l=[],u=0,c=o.length;u<c;u++){var m=o[u];this.supports(m)&&l.push(m)}return l},n.prototype._wrapLibraryMethodsWithReady=function(){for(var o=0,l=Ht.length;o<l;o++)uo(this,Ht[o])},n.prototype.createInstance=function(o){return new n(o)},n}(),mo=new fo;a.exports=mo},{3:3}]},{},[4])(4)})});var ei=on(we=>{"use strict";j();He();_e();var Ce=ie(),Aa=ae("levelFinished",{paramsSchema:S.tuple(S.string(),S.object({result:S.boolean(),duration:S.number()})),implement:(e,t)=>L(we,null,function*(){let{result:r,duration:i}=t;se.info("onLevelFinished",r,i),yield Promise.all([le.reporter({event:"COMPLETE_GAME_LEVEL"}),le.tracker("LevelFinished",{levelId:e,result:r,duration:i})])})}),Sa=ae("taskFinished",{paramsSchema:S.tuple(S.string(),S.object({duration:S.number()})),implement:(e,t)=>L(we,null,function*(){let{duration:r}=t;yield le.tracker("TaskFinished",{duration:r,taskId:e})})}),Ra=ae("levelUpgrade",{paramsSchema:S.tuple(S.string(),S.string()),implement:(e,t)=>L(we,null,function*(){return yield le.tracker("LevelUpgrade",{name:t,levelId:e})})}),xa=ae("onHistoryUserLevel",{paramsSchema:S.tuple(S.number()),implement:e=>L(we,null,function*(){return yield le.tracker("HistoryUserLevel",{level:e})})}),ka=ae("onHistoryUserScore",{paramsSchema:S.tuple(S.number()),implement:e=>L(we,null,function*(){return yield le.tracker("HistoryUserScore",{score:e})})}),Ca=ae("taskEvent",{paramsSchema:S.tuple(S.string(),S.object({tools:S.array(S.object({id:S.string(),name:S.string(),count:S.number(),description:S.string().optional(),price:S.object({amount:S.number(),unit:S.string()}).optional()})).optional(),awards:S.array(S.object({id:S.string(),name:S.string()})).optional()})),implement:(e,t)=>L(we,null,function*(){var r;(r=t.tools)!=null&&r.length&&(yield Promise.all([le.reporter({event:"USE_GAME_ITEM"}),le.tracker("UseGameItem",M({taskId:e},t))]))})});Ce.registerCommand("TaskTrackerSDK.levelFinished",Aa);Ce.registerCommand("TaskTrackerSDK.taskFinished",Sa);Ce.registerCommand("TaskTrackerSDK.levelUpgrade",Ra);Ce.registerCommand("TaskTrackerSDK.historyUserLevel",xa);Ce.registerCommand("TaskTrackerSDK.historyUserScore",ka);Ce.registerCommand("TaskTrackerSDK.taskEvent",Ca);q("TaskTrackerSDK.onLevelFinished",{version:"1.0.0",properties:{levelId:"1.0.0",params:{result:"1.0.0",duration:"1.0.0"}}});q("TaskTrackerSDK.onTaskFinished",{version:"1.0.0",properties:{taskId:"1.0.0",duration:"1.0.0"}});q("TaskTrackerSDK.onLevelUpgrade",{version:"1.0.0",properties:{levelId:"1.0.0",name:"1.0.0"}});q("TaskTrackerSDK.onHistoryUserLevel",{version:"1.0.0",properties:{level:"1.0.0"}});q("TaskTrackerSDK.onHistoryUserScore",{version:"1.0.0",properties:{score:"1.0.0"}});q("TaskTrackerSDK.onTaskEvent",{version:"1.0.0",properties:{taskId:"1.0.0",params:{tools:{id:"1.0.0",name:"1.0.0",count:"1.0.0",description:"1.0.0",price:{amount:"1.0.0",unit:"1.0.0"}},awards:{id:"1.0.0",name:"1.0.0"}}}})});_e();oe();He();j();var Yn=ie(),la="env",ua="getSystemInfoSync",da=()=>{var a,d,f,h;let e={system:R.deviceInfo.system,platform:R.deviceInfo.platform,brand:R.deviceInfo.brand,pixelRatio:R.deviceInfo.pixelRatio,language:R.deviceInfo.lang,version:R.sdkInfo.jssdkVersion,appName:(a=R.hostInfo)==null?void 0:a.appName,SDKVersion:R.sdkInfo.nativeSDKVersion},t=(d=R.hostInfo)==null?void 0:d.version;t&&(e=W(M({},e),{version:t}));let r=(f=R.hostInfo)==null?void 0:f.appName;r&&(e=W(M({},e),{appName:r}));let i=(h=R.sdkInfo)==null?void 0:h.jssdkVersion;return i&&(e=W(M({},e),{SDKVersion:i})),e},fa=Ie(ua,{implement:da}),ma=Ie(la,{implement:()=>W(M({},R.hostInfo),{sdkInfo:R.sdkInfo,platform:R.platform,deviceInfo:R.deviceInfo})});Yn.registerCommand("API.env",ma);Yn.registerCommand("API.getSystemInfoSync",fa);q("env",{version:"1.0.0"});q("getSystemInfoSync",{version:"1.0.0"});j();He();ye();_e();var ha="onJoliboxShow",pa="onJoliboxHide",ga="onReady",Rr=ie(),xr=En(ce),Sr=!0,Je=!0,St=0,Rt=br;function va(){let e=Date.now();if(e-St<100)return;St=e;let t=document.visibilityState==="visible";t!==Sr&&(Sr=t,Rt.emit("visible",Sr))}function qn(e){let t=Date.now();t-St<100||(St=t,e==="focus"&&!Je?Je=!0:e==="blur"&&Je&&(Je=!1),Rt.emit("visible",Je))}document.addEventListener("visibilitychange",va);window.addEventListener("focus",()=>qn("focus"));window.addEventListener("blur",()=>qn("blur"));var ya=Ie(ha,{paramsSchema:S.tuple(S.function()),implement(e){let t=xr(e);Rt.on("visible",r=>{r&&t()})}}),ba=Ie(pa,{paramsSchema:S.tuple(S.function()),implement(e){let t=xr(e);Rt.on("visible",r=>{!r&&t()})}}),Ea=Ie(ga,{paramsSchema:S.tuple(S.function()),implement(e){let t=xr(e);Ke.on("LifecycleEvent.onReady",r=>{t(r)})}});Rr.registerCommand("LifecycleSDK.onReady",Ea);Rr.registerCommand("LifecycleSDK.onJoliboxShow",ya);Rr.registerCommand("LifecycleSDK.onJoliboxHide",ba);q("lifeCycle.onReady",{version:"1.0.0"});q("lifeCycle.onJoliboxShow",{version:"1.0.0"});q("lifeCycle.onJoliboxHide",{version:"1.0.0"});He();j();Ge();oe();var Zn=an(Xn());var xt=ie(),Cr=class{constructor(){this.getGameId=()=>R.mpId;this.getItem=t=>L(this,null,function*(){let{code:r,data:i,message:a}=yield this.httpClient.get(`/api/games/user-storage/${this.gameId}`,{query:{key:t}}),d=i==null?void 0:i.value,f=a;return r!=="SUCCESS"&&(d=yield this.gameStore.getItem(t),console.info("[SDK] cloud storage getItem failed, read from localstorage",d),f+="fallback to localstorage"),{code:r,message:f,data:d&&d!=="undefined"?d:null}});this.setItem=(t,r)=>L(this,null,function*(){let i=typeof r=="string"?r:String(r),{code:a,message:d}=yield this.httpClient.post(`/api/games/user-storage/${this.gameId}`,{data:{key:t,value:i}});return yield this.gameStore.setItem(t,i),{code:a,message:d}});this.removeItem=t=>L(this,null,function*(){yield this.gameStore.removeItem(t);let{code:r,message:i}=yield this.httpClient.post(`/api/games/user-storage/${this.gameId}/remove`,{data:{key:t}});return{code:r,message:i}});this.clear=()=>L(this,null,function*(){yield this.gameStore.clear();let{code:t,message:r}=yield this.httpClient.post(`/api/games/user-storage/${this.gameId}/clear`,{});return{code:t,message:r}});this.gameId=this.getGameId(),this.httpClient=new be({baseUrl:R.testMode?"https://stg-api.jolibox.com":"https://api.jolibox.com"}),this.gameStore=Zn.default.createInstance({name:this.gameId.length?this.gameId:"default"})}},kt=new Cr,Ta=ae("getLocalStorage",{paramsSchema:S.tuple(S.string()),implement(e){return L(this,null,function*(){return yield kt.getItem(e)})}});xt.registerCommand("StorageSDK.getItem",Ta);q("storage.getItem",{version:"1.0.0",properties:{key:"1.0.0",value:"1.0.0"}});var _a=ae("setStorage",{paramsSchema:S.tuple(S.string(),S.or(S.string(),S.boolean(),S.number())),implement(e,t){return L(this,null,function*(){return yield kt.setItem(e,t)})}});xt.registerCommand("StorageSDK.setItem",_a);q("storage.setItem",{version:"1.0.0",properties:{key:"1.0.0",value:"1.0.0"}});var Ia=ae("removeStorage",{paramsSchema:S.tuple(S.string()),implement(e){return L(this,null,function*(){return yield kt.removeItem(e)})}});xt.registerCommand("StorageSDK.removeItem",Ia);q("storage.removeItem",{version:"1.0.0",properties:{key:"1.0.0"}});var wa=ae("clearStorage",{implement(){return L(this,null,function*(){return yield kt.clear()})}});xt.registerCommand("StorageSDK.clear",wa);q("storage.clear",{version:"1.0.0"});var Bl=an(ei());var Ct=class{constructor(t){this.track=t;this.adBreakIsShowing=!1;this.reportPageJumpOut=()=>{this.track("AdBreakJumpOut",{context:"AdsActionDetection"})};this.reportPageHide=()=>{this.track("AdBreakHide",{context:"AdsActionDetection"})};window.addEventListener("visibilitychange",()=>{document.hidden&&this.adBreakIsShowing&&this.reportPageHide()}),window.addEventListener("beforeunload",r=>{this.adBreakIsShowing&&this.reportPageJumpOut()})}};var ti="jolibox-sdk-ads-callbreak-timestamps",Pt=class{constructor(t,r){this.checkNetwork=t;this.maxAllowedAdsForTime=8;this.bannedForTimeThreshold=6e4;this.bannedReleaseTime=6e4;this.isBanningForTime=!1;this.releaseBannedForTimeTimeout=null;this.maxAllowedAdsForSession=200;this.bannedForSessionThreshold=6e5;this.isBanningForSession=!1;this.initialThreshold=2e3;this._callAdsTimestampsForTime=[];this.callAdsTimestampsForSession=[];this.initTimestamp=0;this.initCallAdsTimestampsForTime=()=>{var t;try{let r=JSON.parse((t=window.localStorage.getItem(ti))!=null?t:"[]");Array.isArray(r)?this._callAdsTimestampsForTime=r:this._callAdsTimestampsForTime=[]}catch(r){this._callAdsTimestampsForTime=[]}};this.setReleaseBannedForTime=()=>{this.releaseBannedForTimeTimeout&&(window.clearTimeout(this.releaseBannedForTimeTimeout),this.releaseBannedForTimeTimeout=null),this.releaseBannedForTimeTimeout=window.setTimeout(()=>{this.isBanningForTime=!1,this.releaseBannedForTimeTimeout=null},this.bannedReleaseTime)};this.checkShouldBannedInitial=()=>{if(Date.now()-this.initTimestamp<=this.initialThreshold)return"BLOCK_INITIAL"};this.checkShouldBannedForSession=t=>{if(this.isBanningForSession)return"BANNED_FOR_SESSION";let r=Date.now();if(this.callAdsTimestampsForSession=this.callAdsTimestampsForSession.concat({timestamp:r,type:t}),this.callAdsTimestampsForSession.length!==1&&(this.callAdsTimestampsForSession.length>this.maxAllowedAdsForSession&&(this.callAdsTimestampsForSession=this.callAdsTimestampsForSession.slice(-this.maxAllowedAdsForSession)),this.callAdsTimestampsForSession.length===this.maxAllowedAdsForSession&&r-this.callAdsTimestampsForSession[0].timestamp<=this.bannedForSessionThreshold))return this.isBanningForSession=!0,"BANNED_FOR_SESSION"};this.checkShouldBannedForTime=t=>{if(this.isBanningForTime)return"WAITING_BANNED_RELEASE";let r=Date.now();if(this.callAdsTimestampsForTime=this.callAdsTimestampsForTime.concat({timestamp:r,type:t}),this.callAdsTimestampsForTime.length!==1&&(this.callAdsTimestampsForTime.length>this.maxAllowedAdsForTime&&(this.callAdsTimestampsForTime=this.callAdsTimestampsForTime.slice(-this.maxAllowedAdsForTime)),this.callAdsTimestampsForTime.length===this.maxAllowedAdsForTime&&r-this.callAdsTimestampsForTime[0].timestamp<=this.bannedForTimeThreshold))return this.isBanningForTime=!0,this.setReleaseBannedForTime(),"BANNED_FOR_TIME"};this.checkAdsDisplayPermission=t=>{if(!this.checkNetwork())return"NETWORK_NOT_OK";let r=this.checkShouldBannedInitial();if(r)return r;let i=this.checkShouldBannedForSession(t);if(i)return i;let a=this.checkShouldBannedForTime(t);return a||"ALLOWED"};var i,a,d,f,h,p;if(this.maxAllowedAdsForTime=(i=r==null?void 0:r.maxAllowedAdsForTime)!=null?i:8,this.bannedForTimeThreshold=(a=r==null?void 0:r.bannedForTimeThreshold)!=null?a:6e4,this.bannedReleaseTime=(d=r==null?void 0:r.bannedReleaseTime)!=null?d:6e4,this.maxAllowedAdsForSession=(f=r==null?void 0:r.maxAllowedAdsForSession)!=null?f:200,this.bannedForSessionThreshold=(h=r==null?void 0:r.bannedForSessionThreshold)!=null?h:6e5,this.initialThreshold=(p=r==null?void 0:r.initialThreshold)!=null?p:2e3,this.maxAllowedAdsForTime<=1)throw new Error("maxAllowedAdsForTime must be greater than 1");if(this.bannedForTimeThreshold<0)throw new Error("bannedForTimeThreshold must be greater than or equal to 0");if(this.bannedReleaseTime<this.bannedForTimeThreshold)throw new Error("bannedReleaseTime must be greater than or equal to bannedForTimeThreshold");if(this.initialThreshold<0)throw new Error("initialThreshold must be greater than or equal to 0");this.initCallAdsTimestampsForTime(),this.initTimestamp=Date.now()}get callAdsTimestampsForTime(){return this._callAdsTimestampsForTime}set callAdsTimestampsForTime(t){try{window.localStorage.setItem(ti,JSON.stringify(t))}catch(r){console.error("Failed to save timestamps")}this._callAdsTimestampsForTime=t}};oe();oe();var Dt=class{constructor(t){this.httpClient=t;this.configs=null;this.firstRun=!0;this.init()}init(){return L(this,null,function*(){try{this.configs=yield this.httpClient.get("/api/fe-configs/js-sdk/ads-channel-config")}catch(t){}})}shouldBypassCallingInterstitial(){var r,i;let t;if(!this.configs)this.init(),t=!this.firstRun;else{let a=(r=R.channel)!=null?r:"",d=this.configs[a],f=(i=d==null?void 0:d.interstitialRate)!=null?i:1;t=Math.random()<f}return this.firstRun=!1,t}};j();var Pe=new ve,Ft=class{constructor(t,r,i){this.track=t;this.httpClient=r;this.checkNetwork=i;this.configured=!1;this.config={};this.getGameId=()=>R.mpId;this.getTestAdsMode=()=>R.testAdsMode;this.asyncLoad=()=>L(this,null,function*(){var f,h,p,_,I;let t="ca-pub-7171363994453626",r,i,a=window.encodeURIComponent(window.btoa((f=this.getGameId())!=null?f:"")),d=(h=this.getTestAdsMode())!=null?h:!1;try{let k=yield this.httpClient.get("/public/ads",{query:{objectId:a,testAdsMode:`${d}`}});t=(p=k.data)==null?void 0:p.clientId,r=(_=k.data)==null?void 0:_.channelId,i=(I=k.data)==null?void 0:I.unitId}catch(k){console.error("Failed to fetch client info",k)}this.clientId=t,this.channelId=r,this.unitId=i});this.asyncInit=t=>L(this,null,function*(){var a;if(typeof window=="undefined")return;yield this.asyncLoad();let r="google-adsense",i=(a=this.getTestAdsMode())!=null?a:!1;if(!document.getElementById(r)&&this.clientId){let d=document.createElement("script");d.id=r,d.async=!0,d.crossOrigin="anonymous",d.src=`https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=${this.clientId}`,i&&d.setAttribute("data-adbreak-test","on"),this.channelId&&d.setAttribute("data-ad-channel",this.channelId),document.head.appendChild(d),this.track("LoadAdsenseCompleted",null)}});this.push=(t={})=>{window.adsbygoogle.push(t)};this.wrapAdBreakParams=t=>{if((i=>i.type==="preroll")(t)){Pe.emit("isAdShowing",!0);let i=t.adBreakDone,a=d=>{Pe.emit("isAdShowing",!1),i&&i(d)};return W(M({},t),{adBreakDone:a})}else{let i=t.beforeAd,a=t.afterAd,d=()=>{Pe.emit("isAdShowing",!0),this.track("CallBeforeAd",{}),i&&i()},f=()=>{Pe.emit("isAdShowing",!1),this.track("CallAfterAd",{}),a&&a()};return W(M({},t),{beforeAd:d,afterAd:f})}};this.adConfig=t=>{let a=t,{onReady:r}=a,i=nn(a,["onReady"]);this.track("CallAdConfig",i),this.configured?console.warn("Ad config already set, skipping"):(this.configured=!0,this.push(t))};this.adBreak=t=>{var p,_,I,k;if(!this.getGameId()){console.warn("Game ID is not set, skip calling adBreak");return}if(t.type!=="reward"&&!this.channelPolicy.shouldBypassCallingInterstitial()){(p=t.adBreakDone)==null||p.call(t,{breakType:t.type,breakName:"skipInterstitials",breakFormat:"interstitial",breakStatus:"viewed"});return}let r=this.antiCheating.checkAdsDisplayPermission(t.type==="reward"?"reward":"interstitial");switch(r){case"NETWORK_NOT_OK":case"BANNED_FOR_SESSION":console.warn("Ads not allowed",r),(_=t.adBreakDone)==null||_.call(t,{breakType:t.type,breakName:r,breakFormat:t.type==="reward"?"reward":"interstitial",breakStatus:"noAdPreloaded"}),this.track("PreventAdsCheating",{reason:r});return;case"BLOCK_INITIAL":case"BANNED_FOR_TIME":case"WAITING_BANNED_RELEASE":console.warn("Ads not allowed",r),(I=t.adBreakDone)==null||I.call(t,{breakType:t.type,breakFormat:t.type==="reward"?"reward":"interstitial",breakStatus:"viewed"}),this.track("PreventAdsCheating",{reason:r});return;default:break}let i=t.type,a=t.adBreakDone,d=g=>{var T;this.adsActionDetection.adBreakIsShowing=!1,this.track("CallAdBreakDone",{breakType:g.breakType,breakName:(T=g.breakName)!=null?T:"",breakFormat:g.breakFormat,breakStatus:g.breakStatus}),a&&a(g)};if(t.adBreakDone=d,t.type==="reward"){let g=t.beforeReward,T=C=>()=>{this.track("CallShowAdFn",null),C()},D=C=>{g&&g(T(C))};t.beforeReward=D}let f;switch(i){case"preroll":f={type:i};break;case"start":case"pause":case"next":case"browse":case"reward":f={type:i,name:(k=t.name)!=null?k:""};break}this.adsActionDetection.adBreakIsShowing=!0,this.track("CallAdBreak",f);let h=this.wrapAdBreakParams(t);this.push(h),window.JoliTesterBridge&&console.log("joli-fullscreen-ad-show")};this.adUnit=t=>L(this,null,function*(){var g,T,D,C;if(this.track("CallAdUnit",{adFormat:(T=(g=t.adFormat)==null?void 0:g.toString())!=null?T:null,fullWidthResponsive:(D=t.fullWidthResponsive)!=null?D:null}),this.clientId||(yield this.asyncLoad()),document.querySelector("#jolibox-ads")){console.warn("Ad unit already set, skipping");return}let{el:r,slot:i,adFormat:a,fullWidthResponsive:d,style:f}=t,h;if(!r)throw new Error("targeting element is required");if(typeof r=="string"?h=document.querySelector(r):h=r,!h)throw new Error("targeting element not found");let p=i;if(p||(p=this.unitId),!p)throw new Error("slot is required");let _=typeof a=="object"&&Array.isArray(a)?a.join(", "):a,I=document.createElement("ins");if(I.className="adsbygoogle",I.id="jolibox-ads",I.style.display="block",I.setAttribute("data-ad-client",this.clientId),I.setAttribute("data-ad-slot",p),_&&I.setAttribute("data-ad-format",_),d&&I.setAttribute("data-full-width-responsive",d),f&&I.setAttribute("style",f),(C=this.getTestAdsMode())!=null?C:!1){let P=document.createElement("div");P.style.position="absolute",P.style.top="0",P.style.left="0",P.style.width="100%",P.style.height="100%",P.style.display="flex",P.style.justifyContent="center",P.style.alignItems="center",P.style.backgroundColor="rgba(0, 0, 0, 0.5)",P.style.color="white",P.innerHTML="Test Ad",I.style.position="relative",h.appendChild(I),I.appendChild(P)}else h.appendChild(I),new MutationObserver(F=>{F.forEach(K=>{if(K.type==="attributes"&&K.attributeName==="data-ad-status"){let x=I.getAttribute("data-ad-status");this.track("AdSenseUnitStatusChanged",{status:x!=null?x:"null"})}})}).observe(I,{attributes:!0,attributeFilter:["data-ad-status"]}),this.push({})});this.antiCheating=new Pt(i),this.adsActionDetection=new Ct(this.track),this.channelPolicy=new Dt(r)}init(t){this.track("CallAdsInit",null),typeof window!="undefined"&&(this.config=t!=null?t:{},window.adsbygoogle=window.adsbygoogle||[],this.asyncInit(t))}};_e();ot();j();Ge();var Ot=ie(),Nt=new Ft(ue,new be,()=>xe.networkIsOk);Pe.on("isAdShowing",e=>{window.dispatchEvent(new CustomEvent("JOLIBOX_ADS_EVENT",{detail:{isAdShowing:e}}))});Ot.registerCommand("AdsSDK.init",e=>{Nt.init(e)});Ot.registerCommand("AdsSDK.adConfig",e=>{Nt.adConfig(e)});Ot.registerCommand("AdsSDK.adBreak",e=>{Nt.adBreak(e)});Ot.registerCommand("AdsSDK.adUnit",e=>{Nt.adUnit(e)});j();_e();var si=-1,Ut=function(e){addEventListener("pageshow",function(t){t.persisted&&(si=t.timeStamp,e(t))},!0)},Dr=function(){var e=self.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},Bt=function(){var e=Dr();return e&&e.activationStart||0},Fe=function(e,t){var r=Dr(),i="navigate";return si>=0?i="back-forward-cache":r&&(document.prerendering||Bt()>0?i="prerender":document.wasDiscarded?i="restore":r.type&&(i=r.type.replace(/_/g,"-"))),{name:e,value:t===void 0?-1:t,rating:"good",delta:0,entries:[],id:"v4-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:i}},ci=function(e,t,r){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var i=new PerformanceObserver(function(a){Promise.resolve().then(function(){t(a.getEntries())})});return i.observe(Object.assign({type:e,buffered:!0},r||{})),i}}catch(a){}},Oe=function(e,t,r,i){var a,d;return function(f){t.value>=0&&(f||i)&&((d=t.value-(a||0))||a===void 0)&&(a=t.value,t.delta=d,t.rating=function(h,p){return h>p[1]?"poor":h>p[0]?"needs-improvement":"good"}(t.value,r),e(t))}},li=function(e){requestAnimationFrame(function(){return requestAnimationFrame(function(){return e()})})},ui=function(e){document.addEventListener("visibilitychange",function(){document.visibilityState==="hidden"&&e()})},di=function(e){var t=!1;return function(){t||(e(),t=!0)}},De=-1,ri=function(){return document.visibilityState!=="hidden"||document.prerendering?1/0:0},Lt=function(e){document.visibilityState==="hidden"&&De>-1&&(De=e.type==="visibilitychange"?e.timeStamp:0,Pa())},ni=function(){addEventListener("visibilitychange",Lt,!0),addEventListener("prerenderingchange",Lt,!0)},Pa=function(){removeEventListener("visibilitychange",Lt,!0),removeEventListener("prerenderingchange",Lt,!0)},fi=function(){return De<0&&(De=ri(),ni(),Ut(function(){setTimeout(function(){De=ri(),ni()},0)})),{get firstHiddenTime(){return De}}},Fr=function(e){document.prerendering?addEventListener("prerenderingchange",function(){return e()},!0):e()},ii=[1800,3e3],mi=function(e,t){t=t||{},Fr(function(){var r,i=fi(),a=Fe("FCP"),d=ci("paint",function(f){f.forEach(function(h){h.name==="first-contentful-paint"&&(d.disconnect(),h.startTime<i.firstHiddenTime&&(a.value=Math.max(h.startTime-Bt(),0),a.entries.push(h),r(!0)))})});d&&(r=Oe(e,a,ii,t.reportAllChanges),Ut(function(f){a=Fe("FCP"),r=Oe(e,a,ii,t.reportAllChanges),li(function(){a.value=performance.now()-f.timeStamp,r(!0)})}))})};var Da=function(e){var t=self.requestIdleCallback||self.setTimeout,r=-1;return e=di(e),document.visibilityState==="hidden"?e():(r=t(e),ui(e)),r};var oi=[2500,4e3],Pr={},hi=function(e,t){t=t||{},Fr(function(){var r,i=fi(),a=Fe("LCP"),d=function(p){t.reportAllChanges||(p=p.slice(-1)),p.forEach(function(_){_.startTime<i.firstHiddenTime&&(a.value=Math.max(_.startTime-Bt(),0),a.entries=[_],r())})},f=ci("largest-contentful-paint",d);if(f){r=Oe(e,a,oi,t.reportAllChanges);var h=di(function(){Pr[a.id]||(d(f.takeRecords()),f.disconnect(),Pr[a.id]=!0,r(!0))});["keydown","click"].forEach(function(p){addEventListener(p,function(){return Da(h)},{once:!0,capture:!0})}),ui(h),Ut(function(p){a=Fe("LCP"),r=Oe(e,a,oi,t.reportAllChanges),li(function(){a.value=performance.now()-p.timeStamp,Pr[a.id]=!0,r(!0)})})}})},ai=[800,1800],Fa=function e(t){document.prerendering?Fr(function(){return e(t)}):document.readyState!=="complete"?addEventListener("load",function(){return e(t)},!0):setTimeout(t,0)},pi=function(e,t){t=t||{};var r=Fe("TTFB"),i=Oe(e,r,ai,t.reportAllChanges);Fa(function(){var a=Dr();a&&(r.value=Math.max(a.responseStart-Bt(),0),r.entries=[a],i(!0),Ut(function(){r=Fe("TTFB",0),(i=Oe(e,r,ai,t.reportAllChanges))(!0)}))})};function Oa(){mi(e=>{ue("GameFCP",{value:e.value,rating:e.rating,navigationType:e.navigationType})}),hi(e=>{ue("GameLCP",{value:e.value,rating:e.rating,navigationType:e.navigationType})}),pi(e=>{ue("GameTTFB",{value:e.value,rating:e.rating,navigationType:e.navigationType})})}function Na(){Ke.on("onDocumentReady",e=>{Ke.emit("LifecycleEvent.onReady",{isLogin:!1}),le.start(Date.now()-e)})}function gi(){Na(),Oa()}gi();
4
4
  /*! Bundled license information:
@@ -1,4 +1,4 @@
1
- var ds=Object.create;var _e=Object.defineProperty,us=Object.defineProperties,ms=Object.getOwnPropertyDescriptor,ps=Object.getOwnPropertyDescriptors,fs=Object.getOwnPropertyNames,Re=Object.getOwnPropertySymbols,hs=Object.getPrototypeOf,yt=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable;var ir=(e,t,r)=>t in e?_e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,g=(e,t)=>{for(var r in t||(t={}))yt.call(t,r)&&ir(e,r,t[r]);if(Re)for(var r of Re(t))ar.call(t,r)&&ir(e,r,t[r]);return e},_=(e,t)=>us(e,ps(t));var ae=(e,t)=>{var r={};for(var n in e)yt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Re)for(var n of Re(e))t.indexOf(n)<0&&ar.call(e,n)&&(r[n]=e[n]);return r};var f=(e,t)=>()=>(e&&(t=e(e=0)),t);var cr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),lr=(e,t)=>{for(var r in t)_e(e,r,{get:t[r],enumerable:!0})},gs=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of fs(t))!yt.call(e,s)&&s!==r&&_e(e,s,{get:()=>t[s],enumerable:!(n=ms(t,s))||n.enumerable});return e};var dr=(e,t,r)=>(r=e!=null?ds(hs(e)):{},gs(t||!e||!e.__esModule?_e(r,"default",{value:e,enumerable:!0}):r,e));var y=(e,t,r)=>new Promise((n,s)=>{var o=c=>{try{a(r.next(c))}catch(l){s(l)}},i=c=>{try{a(r.throw(c))}catch(l){s(l)}},a=c=>c.done?n(c.value):Promise.resolve(c.value).then(o,i);a((r=r.apply(e,t)).next())});function vs(e){return!!(e!=null&&e.__nativeBuffers__)}function Te(e){if(typeof e=="string")try{e=JSON.parse(e)}catch(r){return{}}if(typeof e!="object"||e===null)return{};if(!vs(e))return e;let t=e.__nativeBuffers__;if(delete e.__nativeBuffers__,t)for(let r=0;r<t.length;r++){let n=t[r];if(n){let s;n.value?s=n.value:n.base64&&(s=ys(n.base64)),typeof s!="undefined"&&s instanceof ArrayBuffer&&(e[n.key]=s)}}return e}function ur(e={},t=!1){let r=e,n=[];for(let[s,o]of Object.entries(r))if(o!==void 0&&o instanceof ArrayBuffer&&o.byteLength!==void 0){let i=t?{value:o,key:s}:{base64:bs(o),key:s};n.push(i),delete r[s]}return n.length>0&&(r.__nativeBuffers__=n),r}var ys,bs,bt=f(()=>{"use strict";ys=e=>{let t=atob(e),r=t.length,n=new Uint8Array(r);for(let s=0;s<r;s++)n[s]=t.charCodeAt(s);return n.buffer};bs=e=>{let t="",r=new Uint8Array(e),n=r.byteLength;for(let s=0;s<n;s++)t+=String.fromCharCode(r[s]);return btoa(t)}});function Es(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function ce(e){return typeof e=="string"}function M(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}function hr(e){return typeof e=="object"&&Array.isArray(e)}function gr(e){return e===!0||e===!1}function ws(e){return typeof e>"u"}function Ss(e){return ws(e)||e===null}function vr(e){return typeof e=="function"}function yr(e){return M(e)&&vr(e.then)}function br(e){let t=e,r=null,n=function(...s){return r||(r=new t(...s)),r};return n.prototype=t.prototype,n}function Tr(e,t,r){if(typeof r!="function")throw new Error("[Jolibox SDK]Customizer must be a function");function n(s,o){for(let i in o)if(Object.prototype.hasOwnProperty.call(o,i)){let a=s[i],c=o[i],l=r(a,c,i,s,o);l!==void 0?s[i]=l:mr(c)&&mr(a)?s[i]=n(g({},a),c):Array.isArray(c)&&Array.isArray(a)?s[i]=[...a,...c]:s[i]=c}return s}return n(e,t)}function mr(e){return e&&typeof e=="object"&&e.constructor===Object}function kr(e,t){if(Array.isArray(e))return e.concat(t)}function we(e,t,r={}){let n=null,s,o,i,{leading:a=!1,trailing:c=!0}=r,l=()=>(i=e.apply(o,s),s=void 0,o=void 0,i),u=function(...m){s=m,o=this;let p=a&&!n;if(n&&clearTimeout(n),n=setTimeout(()=>{n=null,c&&!p&&l()},t),p)return l()};return u.cancel=()=>{n&&clearTimeout(n),n=null,s=o=void 0},u.flush=()=>{if(n)return clearTimeout(n),n=null,l()},u}function Rs(e,t){return(...r)=>t(e,...r)}function Oe(e){return t=>Rs(t,function(r,...n){if(typeof r=="function")try{return r.apply(this,n)}catch(s){e(new As(`${s}`))}})}function ke(e){return(...t)=>{var r,n;((n=(r=globalThis.VConsole)==null?void 0:r[e])!=null?n:globalThis.console[e])(...t)}}function Js(e){return new Promise(t=>Nr(e)(t))}function Nr(e){return(t,r=null)=>{let n=!1;return e(s=>{if(!n)return n=!0,t.call(r,s)},null)}}function Hs(e,t){return(r=>{let n,s={onWillAddFirstListener(){n=r(o.fire,o)}},o=new Ee(s);return o.event})((r,n=null)=>e(s=>t(s)&&r.call(n,s),null))}function Vs(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Ks(e[n],t[n])}function Ks(e,t){if(ce(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(vr(t)){try{if(e instanceof t)return}catch(r){}if(!Ss(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function O(){if(globalThis[kt])return globalThis[kt];let e=new Ce,t=new wt,r={registerCommand(n,s,o){e.registerCommand({id:n,handler:s,metadata:o})},executeCommand(n,...s){return t.executeCommand(n,...s)},excuteCommandSync(n,...s){return t.executeCommandThowErr(n,...s)}};return globalThis[kt]=r,r}var pr,Ts,ks,fr,ne,Is,St,le,Er,wr,As,Sr,Ir,Ar,Rr,_r,Se,Ne,It,j,xr,_s,At,xs,Rt,Ps,Cs,xe,Ns,Os,Fs,Pr,_t,Ds,Us,Ms,Cr,Q,R,Ls,Bs,Pe,Ee,z,Et,js,Tt,$s,X,Ce,wt,kt,E=f(()=>{"use strict";pr=Object.defineProperty,Ts=Object.getOwnPropertyDescriptor,ks=(e,t)=>{for(var r in t)pr(e,r,{get:t[r],enumerable:!0})},fr=(e,t,r,n)=>{for(var s=n>1?void 0:n?Ts(t,r):t,o=e.length-1,i;o>=0;o--)(i=e[o])&&(s=(n?i(t,r,s):i(s))||s);return n&&s&&pr(t,r,s),s};ne=class{constructor(){this.state="pending",this.promise=new Promise((e,t)=>{this.resolve=r=>{this.state==="pending"&&(this.state="fulfilled",e(r))},this.reject=r=>{this.state==="pending"&&(this.state="rejected",t(r))}})}};Is=(e=>(e[e.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",e[e.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",e[e.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",e[e.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",e[e.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",e[e.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",e[e.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",e[e.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",e))(Is||{}),St=class extends Error{constructor(e){if(typeof e=="string"){super(e),this.priority="P1";return}super(e.message),this.priority="P1",this.stack=e.stack,this.raw=e}},le=class extends St{constructor(){super(...arguments),this.kind="INTERNAL_ERROR"}},Er=class extends St{constructor(){super(...arguments),this.kind="USER_ERROR"}},wr=class extends Er{constructor(){super(...arguments),this.name="USER_VALIDATE_ERROR"}},As=class extends Er{constructor(e,t,r){super(e),this.message=e,this.errNo=t,this.name="USER_CUSTOM_ERROR",this.errMsg=e,r&&(this.extra=Object.assign({},this.extra,r))}},Sr=class extends le{constructor(){super(...arguments),this.name="INTERNAL_SCHEMA_PARSE_ERROR",this.priority="P0"}},Ir=class extends le{constructor(){super(...arguments),this.name="INTERNAL_INVOKE_NATIVE_ERROR"}},Ar=class extends le{constructor(e,t,r,n){super(e),this.errNo=t,this.name="INTERNAL_APPLY_NATIVE_ERROR",this.errorType=r,this.errorCode=n}},Rr=class extends le{constructor(){super(...arguments),this.name="INTERNAL_JSCORE_ERROR",this.priority="P0"}},_r=class extends le{constructor(){super(...arguments),this.name="INTERNAL_GLOBAL_JS_ERROR",this.priority="P1"}},Se=class extends St{constructor(e,t,r,n,s){super(e),this.message=e,this.code=t,this.kind="API_ERROR",this.name="API_ERROR",r&&(this.errorType=r),n!==void 0&&(this.stack=n),s&&(this.priority=s)}toJSON(){return{message:this.message,stack:this.stack,name:this.name,code:this.code,errorType:this.errorType}}},Ne=class extends le{constructor(){super(...arguments),this.name="INTERNAL_METRIC_REPORT_ERROR"}},It=class extends le{constructor(){super(...arguments),this.name="INTERNAL_REPORTER_ERROR"}};j={log:ke("log"),warn:ke("warn"),info:ke("info"),error:ke("error"),debug:ke("debug")};Object.assign(globalThis,{logger:j});xr=Symbol.for("Jolibox.canIUseMap"),_s={};globalThis[xr]=_s;At={get config(){return globalThis[xr]}},xs=(e=>(e[e.System=1e3]="System",e[e.ErrorTrace=1001]="ErrorTrace",e[e.UserDefined=1002]="UserDefined",e))(xs||{}),Rt=(e=>(e.MiniGame="mini-game",e.MiniDrama="mini-drama",e.App="app",e.WebSDK="web-sdk",e.AppSDK="app-sdk",e))(Rt||{}),Ps=(e=>(e[e.App=0]="App",e[e.H5=1]="H5",e[e.Weapp=2]="Weapp",e[e.Alipay=3]="Alipay",e[e.Gcash=4]="Gcash",e[e.Dana=5]="Dana",e[e.Umma=6]="Umma",e[e.WebSDK=1e3]="WebSDK",e[e.AppSDK=1001]="AppSDK",e[e.Other=9999]="Other",e))(Ps||{}),Cs=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),xe={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||"0",10)]},isAndroid:navigator.userAgent.includes("Android"),isMac:navigator.userAgent.includes("Mac"),isFacebook:navigator.userAgent.includes("FB_IAB"),isPC:!navigator.userAgent.includes("iPhone")&&!navigator.userAgent.includes("Android")},Ns=()=>xe.isiOS?"iOS":xe.isAndroid?"Android":xe.isMac?"Mac":xe.isFacebook?"Facebook":"PC",Os="device_id",Fs="advertising_id",Pr=e=>(localStorage.getItem(e)||localStorage.setItem(e,Cs()),localStorage.getItem(e)),_t=()=>Pr(Os),Ds=()=>Pr(Fs),Us=e=>e.charAt(0).toUpperCase()+e.slice(1),Ms=()=>{var t;let e=new URLSearchParams(window.location.search);return Us((t=e.get("utm_source"))!=null?t:"")||"JoliboxSDK"},Cr=e=>{let t="JoliboxWebSDK",r=Ns(),n=navigator.language,s=_t(),o=Ds();return`${t} (${Ms()}${r}; UnknownModel; UnknownSystemVersion; ${n}) uuid/${s} adid/${o} version/${e||""}`},R=(Q=class{constructor(t){this.element=t,this.next=Q.Undefined,this.prev=Q.Undefined}},Q.Undefined=new Q(void 0),Q),Ls=class{constructor(){this._first=R.Undefined,this._last=R.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===R.Undefined}clear(){let e=this._first;for(;e!==R.Undefined;){let t=e.next;e.prev=R.Undefined,e.next=R.Undefined,e=t}this._first=R.Undefined,this._last=R.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new R(e);if(this._first===R.Undefined)this._first=r,this._last=r;else if(t){let s=this._last;this._last=r,r.prev=s,s.next=r}else{let s=this._first;this._first=r,r.next=s,s.prev=r}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(r))}}shift(){if(this._first!==R.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==R.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==R.Undefined&&e.next!==R.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===R.Undefined&&e.next===R.Undefined?(this._first=R.Undefined,this._last=R.Undefined):e.next===R.Undefined?(this._last=this._last.prev,this._last.next=R.Undefined):e.prev===R.Undefined&&(this._first=this._first.next,this._first.prev=R.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==R.Undefined;)yield e.element,e=e.next}},Bs=0,Pe=class{constructor(e){this.value=e,this.id=Bs++}},Ee=class{constructor(e){this.options=e,this._size=0}dispose(e){var t,r;this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof Pe&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(n=>(n==null?void 0:n.value)===e)):(this._listeners=void 0,this._size=0)),(r=(t=this.options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t))}get event(){var e;return(e=this._event)!=null||(this._event=(t,r)=>{var s,o,i,a,c,l;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let n=new Pe(t);this._listeners?this._listeners instanceof Pe?this._listeners=[this._listeners,n]:this._listeners.push(n):((o=(s=this.options)==null?void 0:s.onWillAddFirstListener)==null||o.call(s,this),this._listeners=n,(a=(i=this.options)==null?void 0:i.onDidFirstListener)==null||a.call(i,this)),(l=(c=this.options)==null?void 0:c.onDidAddListener)==null||l.call(c,this),this._size++}),this._event}_deliver(e,t){var n;if(!e)return;let r=((n=this.options)==null?void 0:n.onListenerError)||Error.constructor;if(!r){e.value(t);return}try{e.value(t)}catch(s){r(s)}}fire(e){this._listeners&&(this._listeners instanceof Pe?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},z=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(e,t){var o;let r=(o=this.listeners.get(e))!=null?o:new Ee,n=i=>t(...i.args);this.listerHandlerMap.set(t,n),r.event(n),this.listeners.set(e,r);let s=this.cachedEventQueue.get(e);if(s)for(;s.size>0;)r.fire(g({event:e},s.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let n=this.listerHandlerMap.get(t);r.dispose(n)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let n=this.cachedEventQueue.get(e);n||(n=new Ls,this.cachedEventQueue.set(e,n)),n.push({args:t})}}},Et={};ks(Et,{None:()=>js,filter:()=>Hs,once:()=>Nr,toPromise:()=>Js});js=()=>{console.log("[Jolibox SDK] None Event")};Tt=Symbol.for("Jolibox.hostEmitter"),$s=()=>{let e=new z;return globalThis[Tt]||(globalThis[Tt]={on:e.on.bind(e),off:e.off.bind(e),emit:e.emit.bind(e)}),globalThis[Tt]},X=$s();Ce=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new Ee,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(e){if(!e)throw new Error("invalid command");if(e.metadata&&Array.isArray(e.metadata.args)){let r=[];for(let s of e.metadata.args)r.push(s.constraint);let n=e.handler;e.handler=function(...s){return Vs(s,r),n(...s)}}let{id:t}=e;this._commands.get(t)&&console.info(`[Jolibox SDK] duplicated command is registered ${t}`),this._commands.set(t,e),this._onDidRegisterCommand.fire(t)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let r=this.getCommand(t);r&&e.set(t,r)}return e}};Ce=fr([br],Ce);wt=class{constructor(){this._onWillExecuteCommand=new Ee,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new Ee,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new Ce,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=Es(3e4)),this._starActivation}executeCommand(e,...t){return y(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),Et.toPromise(Et.filter(this.registry.onDidRegisterCommand,r=>r===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let r=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),n}_tryExecuteCommand(e,t){let r=this.registry.getCommand(e);if(!r)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};wt=fr([br],wt);kt=Symbol.for("Jolibox.commands")});function D(e,t={}){xt.emit("ERROR_REPORT",{error:e,options:t})}var xt,de,V=f(()=>{"use strict";E();E();xt=new z,de=new z;D.debounce=we(D,50,{leading:!0})});function Fe(e,t){return`[${e}]:${t}`}var ue,Pt,se=f(()=>{"use strict";V();E();V();ue=(e,t)=>{var r,n;return new Se((n=(r=t==null?void 0:t.errMsg)!=null?r:e.msg)!=null?n:"",e.code,e.type)},Pt=e=>new wr(e)});var Or,Fr,Dr,Ur=f(()=>{"use strict";Or=[],Fr=[],Dr=["env","createRequestTask","login"]});function Lr(e,t){Mr||(Ct=new me({eventName:"jolibox_invoke",tagNameOrder:["status","method","errNo","errMsg","isForeground"],metricName:"duration",reporter(s){e.invoke("track",JSON.stringify({event:"reportMetrics",data:s}),-1)}}),Nt=new me({eventName:"jolibox_invoke_js2native",tagNameOrder:["status","method","isForeground"],metricName:"duration",reporter(s){e.invoke("track",JSON.stringify({event:"reportMetrics",data:s}),-1)}}),Ot=new me({eventName:"jolibox_invoke_native2js",tagNameOrder:["status","method","isForeground"],metricName:"duration",reporter(s){e.invoke("track",JSON.stringify({event:"reportMetrics",data:s}),-1)}}),t("onJoliboxEnterBackground",()=>{Ct.flush(),Nt.flush(),Ot.flush()}),Mr=!0);function r(s){var b,v;let{method:o,args:i,startTime:a,isForeground:c,errMsg:l=`${o}:fail no errMsg`,errNo:u=0,__timing:m={receiveJSInvoke:0,invokeCallback:0}}=s,{receiveJSInvoke:p,invokeCallback:T}=m,I=(v=(b=l.match(/\S:(\S+)\s?/))==null?void 0:b[1])!=null?v:"fail";Ct.report({status:I,method:n(o,i),errNo:`${u}`,errMsg:l,isForeground:c,duration:Date.now()-a}),a&&p&&T&&(Nt.report({status:I,method:o,isForeground:c,duration:Number((p-a).toFixed(3))}),Ot.report({status:I,method:o,isForeground:c,duration:Number((Date.now()-T).toFixed(3))}))}function n(s,o){return(s==="callHostMethod"||s==="callHostMethodSync")&&o!=null&&o.method?`${s}-${o.method}`:s}return r}var qs,me,Mr,Ct,Nt,Ot,Ft=f(()=>{"use strict";E();qs=e=>e==="pv"?e:"default",me=class{constructor(t){this.interval=30;this.lastReportTime=0;this.cache={};let{reporter:r,interval:n=30,eventName:s,tagNameOrder:o,metricName:i,type:a}=t;this.reporter=r,this.interval=n,this.eventName=s,this.tagNameOrder=o,this.metricName=i,this.type=qs(a)}report(t){this.type==="pv"?this.addPVPoint(t):this.addPoint(t),this.tryReport(!1)}flush(){this.tryReport(!0)}tryReport(t){if(Object.keys(this.cache).length){if(t){this.reporter(this.processPoints(this.cache)),this.clearPoints();return}this.lastReportTime=this.lastReportTime||Date.now(),Date.now()-this.lastReportTime>=this.interval*1e3&&(this.reporter(this.processPoints(this.cache)),this.clearPoints(),this.lastReportTime=Date.now())}}addPoint(t){let r=(n,s,o,i)=>{let a=s.shift();if(a){let c=i[a];n[c]||(n[c]={}),r(n[c],s,o,i)}else n[o]||(n[o]=[]),n[o].push(i[o])};r(this.cache,[...this.tagNameOrder],this.metricName,t)}addPVPoint(t){let r=(s,o,i,a)=>{let c=o.shift();if(!c&&M(a))throw new Ne(`report value failed to match tagNameOrder, ${JSON.stringify(n)}`);if(c){let l=[];if(M(a))l.push(...Object.keys(a));else if(ce(a)){if(o.length>0)throw new Ne(`report value failed to match tagNameOrder, ${JSON.stringify(n)}`);l.push(a)}else throw new Ne(`expected metric value to be a string, but got a(n) ${typeof a}, ${JSON.stringify(n)}`);l.forEach(u=>{s[u]||(s[u]={});let m=M(a)?a[u]:a;r(s[u],[...o],i,m)})}else s[i]?s[i]++:s[i]=1},n={point:t,metricName:this.metricName,tagNameOrder:this.tagNameOrder};r(this.cache,[...this.tagNameOrder],this.metricName,t)}processPoints(t){return{eventName:this.eventName,tagNameOrder:this.tagNameOrder,metricName:this.metricName,metricAggregateType:this.type==="pv"?"itoa":"arr",data:t}}clearPoints(){this.cache={}}},Mr=!1});function jr(e,t){let r=0,n=!0,s=new Map,o=Lr(e,t);t("onJoliboxEnterBackground",()=>{n=!1}),t("onJoliboxEnterForeground",()=>{n=!0,Dt.forEach(p=>y(this,[p],function*({method:l,args:u,resolve:m}){let T=yield a(l,u);m(T)})),Dt.length=0});let i=(l,u)=>{let m=s.get(Number(l));if(!m)return;let p=Te(u);m(p),s.delete(Number(l))},a=(l,u)=>{var N,fe;let m=Date.now(),p=`${n}`;r+=1;let T=new ne;if(s.set(r,T.resolve),!n&&Fr.includes(l))return new Promise(U=>{Dt.push({method:l,args:u,resolve:U})});let b=_(g({},{method:l,startTime:m,args:u,isForeground:p}),{invokeType:"js-bridge"}),v=!Gs&&Or.includes(l),k=ur(u,v),A=v?k:JSON.stringify(k),h;if(l.endsWith("Sync")||Dr.includes(l)?h=(N=e.call)==null?void 0:N.call(e,l,k,r):typeof A=="string"?h=e.invoke(l,A,r):h=(fe=e.call)==null?void 0:fe.call(e,l,A,r),h){try{typeof h=="string"&&(h=JSON.parse(h)),h=Te(h)}catch(U){j.error(U)}return s.delete(r),h.errorCode&&(h.errorCode=Fe(l,h.errorCode)),o(g(g({},b),h)),h}return l.endsWith("Sync")&&s.delete(r),T.promise.then(U=>(U.errorCode&&(U.errorCode=Fe(l,U.errorCode)),o(g(g({},b),U)),U))};return{invokeNative:a,applyNative:(l,u)=>{let m=a(l,u);return yr(m)?m.then(p=>Br(l,p)):Br(l,m)},invokeHandler:i}}function Br(e,t){if(!M(t)){j.warn(`[Jolibox SDK]${e} no response value`);return}let a=t,{errMsg:r,errNo:n,errorType:s,errorCode:o}=a,i=ae(a,["errMsg","errNo","errorType","errorCode"]);if(r&&r!==`${e}:ok`)throw new Ar(r,n,s,o);return i}var Dt,Gs,Jr=f(()=>{"use strict";bt();E();se();Ur();Ft();Dt=[],Gs=!1});function Hr(e){let t=new z,r=new me({eventName:"jolibox_publish",tagNameOrder:["type","event"],metricName:"duration",reporter(n){e.invoke("track",JSON.stringify({event:"reportMetrics",data:n}),-1)}});return t.on("onJoliboxEnterBackground",()=>{r.flush()}),{onNative:t.on.bind(t),offNative:t.off.bind(t),subscribeHandler(n,s,o){let i=Te(s),a;if(i.__extra){a=i.params;let{type:c,startTime:l}=i.__extra;r.report({type:c,event:n,duration:Date.now()-l})}else a=i;t.emit(n,a,o)}}}var $r=f(()=>{"use strict";E();bt();Ft()});function Ut(e){let{subscribeHandler:t,onNative:r,offNative:n}=Hr(e),{invokeNative:s,invokeHandler:o,applyNative:i}=jr(e,r);return{invokeHandler:o,subscribeHandler:t,applyNative:i,invokeNative:s,onNative:r,offNative:n}}var Vr=f(()=>{"use strict";Jr();$r()});var Kr=f(()=>{"use strict"});var qr=f(()=>{"use strict";Vr();Kr()});var oe,K,Gr,zr=f(()=>{"use strict";E();V();K={trigger(){},exit(){return!1},onReady(e){K.trigger=e},doExit(e){K.exit=e}},Gr=()=>{let e=window.prompt("invoke",JSON.stringify({event:"envSync",paramsString:JSON.stringify({})}));if(!e)D(new Ir("native env failed"));else{let{data:t}=JSON.parse(e);return t!=null?t:void 0}};if(window.webkit){let e=window.webkit.messageHandlers,t=(s="")=>{K.trigger(),e.onDocumentReady.postMessage({path:s})};oe={onDocumentReady:t,doExit:s=>{let o=K.exit();e.doExit.postMessage({uuid:s,shouldInterrupt:o})},invoke(s,o,i){e.invoke.postMessage({event:s,paramsString:o,callbackId:i})},call(s,o,i){let a=window.prompt("invoke",JSON.stringify({event:s,paramsString:JSON.stringify(o),callbackId:i}));if(a)return JSON.parse(a)}};let n={onDocumentReady:t,env:Gr};globalThis.joliboxJSCore=g({},n)}if(window.JoliAndroidSDKBridge){let e=window.JoliAndroidSDKBridge,t=(s="")=>{K.trigger(),e.onDocumentReady(JSON.stringify({path:s}))};oe={onDocumentReady:t,invoke(s,o,i){e.invoke(JSON.stringify({event:s,paramsString:o,callbackId:i}))},doExit:s=>{let o=K.exit();e.doExit(JSON.stringify({uuid:s,shouldInterrupt:o}))},call(s,o,i){let a=window.prompt("invoke",JSON.stringify({event:s,paramsString:JSON.stringify(o),callbackId:i}));if(a)return JSON.parse(a)}};let n={onDocumentReady:t,env:Gr};globalThis.joliboxJSCore=g({},n)}});function Mt(e,t){return{params:e,__extra:{startTime:Date.now(),type:t}}}var Lt=f(()=>{"use strict"});function Bt(){globalThis.onmessage=function(e){e.data==="msg:setup"&&([he]=e.ports,he.onmessage=function(t){let r=JSON.parse(t.data);r[0]==="publish"?globalThis.ttJSBridge.subscribeHandler(r[1],r[2]):r[0]==="invoke"&&globalThis.ttJSBridge.invokeHandler(r[1],r[2])},he.publish=function(t,r){let n=Mt(r,"messagePort");he.postMessage(JSON.stringify(["publish",t,JSON.stringify(n)]))},he.postMessage("msg:setup:ok"))}}var he,Wr=f(()=>{"use strict";Lt()});var De=f(()=>{"use strict";zr();Wr();Lt()});var Qr,zs,Xr,Yr,J,x,W,va,Ws,$=f(()=>{"use strict";qr();De();se();E();De();Qr=oe;if(!Qr)throw new Rr("No joliboxJScore is found, native bridge not found.");Bt();zs=g({},Qr),Xr=Ut(zs),{invokeHandler:Yr}=Xr,{applyNative:J,invokeNative:x,onNative:W,offNative:va,subscribeHandler:Ws}=Xr;globalThis.joliboxJSBridge={callHandler:Yr,invokeHandler:Yr,subscribeHandler:Ws}});var jt,Zr,en=f(()=>{"use strict";E();V();jt=e=>{let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t.length%4===0?"":"=".repeat(4-t.length%4),n=atob(t+r);try{return JSON.parse(n)}catch(s){return{}}},Zr=e=>{var t;try{let s=(t=new URL(e).searchParams.get("joliSource"))==null?void 0:t.split(".");if(s!=null&&s.length){let[o,i,a]=s;return{headerJson:jt(o),payloadJson:jt(i),signature:jt(a)}}else throw"joli_source is missing"}catch(r){return D(new Sr(`${e} not a valid schema: ${r}`)),{headerJson:{},payloadJson:{},signature:{}}}}});var Ys,Ue,tn,Jt=f(()=>{"use strict";E();Ys="1.1.8-beta.1",Ue=()=>Ys,tn=()=>{let e=Ue();return`${Cr(e)}`}});var Qs,rn,Ht,nn,L,Xs,w,q=f(()=>{"use strict";E();en();Jt();E();Qs={deviceInfo:{brand:"UnknownBrand",model:"UnknownModel",did:_t(),pixelRatio:window.devicePixelRatio||1,platform:"h5",system:"UnknownSystemVersion",lang:"zh"},sdkInfo:{nativeSDKVersion:"",jssdkVersion:Ue()},schema:window.location.href,platform:"h5"},Ht=(rn=globalThis.joliboxJSCore)==null?void 0:rn.env,L=Object.assign({},(nn=Ht==null?void 0:Ht())!=null?nn:Qs),Xs=()=>{var m,p,T,I,b,v,k,A;let{payloadJson:e,headerJson:t}=L.schema.length?Zr(L.schema):{},r=`${L.deviceInfo.did}-${new Date().getTime()}`,s=new URL(L.schema.length?L.schema:window.location.href).searchParams,o=(T=(p=(m=s.get("mpId"))!=null?m:s.get("appId"))!=null?p:s.get("gameId"))!=null?T:"",i=(b=(I=e==null?void 0:e.sessionId)!=null?I:s.get("sessionId"))!=null?b:r,a=!!((v=e==null?void 0:e.testAdsMode)!=null?v:s.get("testAdsMode")==="true"),c=(A=(k=e==null?void 0:e.joliboxEnv)!=null?k:s.get("joliboxEnv"))!=null?A:"production",l=c==="staging",u=t==null?void 0:t.channel;return{get testMode(){return l},get testAdsMode(){return a},get joliboxEnv(){return c},get joliSource(){var h;return(h=s.get("joliSource"))!=null?h:null},get mpId(){var h;return(h=o!=null?o:e==null?void 0:e.id)!=null?h:""},get mpVersion(){var h;return(h=t==null?void 0:t.ver)!=null?h:Ue()},get platform(){var h;return(h=L.platform)!=null?h:L.deviceInfo.platform},get deviceInfo(){return L.deviceInfo},get sdkInfo(){return L.sdkInfo},get hostInfo(){return L.hostInfo},get hostUserInfo(){return L.hostUserInfo},get sessionId(){var h,N;return(N=(h=L.clientSessionId)!=null?h:i)!=null?N:r},get channel(){return u},get webviewId(){var h;return(h=L.webviewId)!=null?h:-1},onEnvConfigChanged:h=>{Tr(L,h,kr)}}},w=Xs()});var $t,on,Zs,eo,sn,to,an=f(()=>{"use strict";E();V();q();E();$t=!1,on=(e,t)=>e==null?!1:t in e,Zs=e=>on(e,"kind"),eo=e=>{let t=e.toLowerCase().split("_");return t[0]+t.slice(1).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join("")},sn=(e,t={},r)=>{var o,i,a;let n={user_id:(i=(o=w.hostUserInfo)==null?void 0:o.uid)!=null?i:"",device_id:(a=w.deviceInfo.did)!=null?a:"",timestamp:Date.now(),tag:eo(e.name)},s=_(g({},n),{env:t.environment,isFromUser:r});r?de.emit("GLOBAL_USER_ERROR",e,s):de.emit("GLOBAL_ERROR",e,s)},to=e=>on(e,"kind")&&e.kind==="USER_ERROR";xt.on("ERROR_REPORT",({error:e,options:t})=>{if($t)return;$t=!0;let r=Zs(e)&&e.raw?e.raw:e;try{let n=to(e);sn(e,t,n)}catch(n){let s=n instanceof Error?n.message:String(n),o=new It(`${s}, origin error: ${r.message}`);j.error(o),sn(new It(o.message),{environment:t.environment},!1)}finally{$t=!1}})});var cn=f(()=>{"use strict";an();se();E();$();de.on("GLOBAL_ERROR",(e,t)=>{var n;let r={message:e.message,stack:(n=e.stack)!=null?n:"",errorType:e.name,source:0};x("trackAsync",{event:"reportJsError",data:r})});de.on("GLOBAL_USER_ERROR",(e,t)=>{j.log("UserError",e,t)})});var Vt=f(()=>{"use strict"});function ln(e,t){let r=(n,s,o)=>{let i=_(g({tag:n},t),{extra:g({},s)});n=="globalJsError"?D(new _r(JSON.stringify(i))):e("systemLog",i,o)};return r.debounce=we(r,500,{leading:!0}),r}function dn(e){let t=(r,n,s)=>{var a;let o=(a=s&&JSON.stringify(s))!=null?a:0,i={speed_value_type:r,total_duration:n};o&&Object.assign(i,{extra:o}),e("joliboxSpeedAnalysis",i)};return t.debounce=we(t,500,{leading:!0}),t}var un=f(()=>{"use strict";E();E();V()});function mn(e,t){let r=ln(e,t),n=dn(r);return{track:r,trackPerformance:n}}var pn=f(()=>{"use strict";un()});var fn=f(()=>{"use strict";q();E();E()});var hn=f(()=>{"use strict";pn();Vt();fn()});var Me,gn=f(()=>{"use strict";Me=class{constructor(t,r){this.eventEmitter=t;this.lastReportTime=0;this.visible=!0;this.timer=this.createRAFTimer(t=>{this.reporter({event:"PLAY_GAME",params:{duration:t}}),this.tracker("PlayGame",{duration:t})});this.interval=r!=null?r:5*1e3,t.on("visible",n=>{this.visible=n})}start(t){this.reporter({event:"OPEN_GAME",params:{timestamp:Date.now(),duration:t!=null?t:0}}),this.tracker("OpenGame",{duration:t!=null?t:0}),this.timer.start()}close(t){this.reporter({event:"CLOSE_GAME",params:{timestamp:Date.now(),duration:t}}),this.tracker("CloseGame",{duration:t}),this.timer.stop()}createRAFTimer(t){let r=Date.now(),n,s,o=!1,i=0,a=()=>{if(!o)return;let T=Date.now(),I=T-r;I>=this.interval&&(this.visible&&(i+=I,t(i)),r=T),n=requestAnimationFrame(a)},c=()=>{u(),r=Date.now(),s=window.setInterval(()=>{if(!o)return;let T=Date.now();T-r>=this.interval&&(r=T)},this.interval)},l=()=>{m(),r=Date.now(),n=requestAnimationFrame(a)},u=()=>{n&&(cancelAnimationFrame(n),n=0)},m=()=>{s&&(clearInterval(s),s=0)};this.eventEmitter.on("visible",T=>{o&&(console.log("visible",T),T?l():c())});let p=this.visible;return{start(){o||(o=!0,p?l():c())},stop(){o=!1,u(),m()}}}}});var Kt=f(()=>{"use strict"});function yn(e,t,r){let{response:n,startTime:s,endTime:o,requestFrom:i}=r,{errMsg:a="",profile:c={}}=n,u={duration:o-s,request_type:e,url:t.split("?")[0],result:r.state,error_msg:r.state==="fail"?a:"",socket_reused:c.socketReused?1:0,request_from:i};(i==="public"&&vn<no||i==="inner")&&(u.joli_request_number=vn++,setTimeout(()=>{H("joliboxNetRequestResult",u)},500))}var vn,no,bn=f(()=>{"use strict";Kt();ie();vn=0,no=10});function Le(e,t,r){var c,l,u;let n=new Map,s=(c=r==null?void 0:r.baseUrl)!=null?c:"https://api.jolibox.com",o=(l=r==null?void 0:r.type)!=null?l:"public",i=(u=r==null?void 0:r.defaultHeaders)!=null?u:{};return W("onRequestTaskStateChange",m=>{if(typeof m.requestTaskId!="string")return;let p=n.get(m.requestTaskId);if(p)if(m.state==="success"){let T=m,{requestTaskId:b,state:v}=T,k=ae(T,["requestTaskId","state"]);p.resolve(k),n.delete(b)}else if(m.state==="fail"){let I=m,{requestTaskId:b,state:v}=I,k=ae(I,["requestTaskId","state"]);p.reject(k),n.delete(b)}else j.warn("onRequestTaskStateChange unknown event",m)}),X.on("onLoginComplete",({isLogin:m,token:p})=>{m&&p&&(i["X-JOLI-TOKEN"]=p)}),(T,...I)=>y(this,[T,...I],function*(m,p={}){let b=Date.now(),v=so(m,_(g({},p),{baseUrl:s})),{method:k="GET",responseType:A="text",dataType:h="json",timeout:N,enableCache:fe=!1,appendHostCookie:U=!0}=p,be=Object.assign({"content-type":"application/json"},i,p.header),re={url:v,method:k,header:be,enableCache:fe,responseType:A,appendHostCookie:U};if(k=="POST"||k=="PUT"){let G=io(p.data,be["content-type"]);re.data=G}N&&Object.assign(re,{timeout:N});let{data:{requestTaskId:vt}}=x(e,re);if(typeof vt!="string")throw ue({code:-1,msg:"requestTaskId is not a string"});let or=(G,Y)=>{yn("request",v,{state:G,startTime:b,endTime:Date.now(),params:re,response:Y,requestId:vt,requestFrom:o=="public"?"public":"inner"})},{resolve:ss,reject:os,promise:is}=new ne;n.set(vt,{resolve:ss,reject:os});try{let G=yield is;or("success",G);let{data:Y}=G;return h==="json"&&typeof Y=="string"&&(Y=oo(Y)),{url:v,timeout:N,method:k,response:_(g({},G),{data:Y})}}catch(G){let Y=G;if(M(Y)){let{errMsg:Ae,prefetchDetail:as,isPrefetch:cs,errNo:ls}=Y;ce(Ae)&&(or("fail",{errMsg:Ae,isPrefetch:cs,prefetchDetail:as}),D(ue({code:-1,msg:Ae},{errNo:ls,errMsg:Ae})))}throw G}})}function oo(e){try{return JSON.parse(e.trim())}catch(t){return e}}function io(e,t="application/json"){let r=t.toLowerCase();return e===void 0?"":typeof e=="string"||e instanceof ArrayBuffer?e:r.includes("application/x-www-form-urlencoded")||r.includes("application/json")||typeof e=="object"?JSON.stringify(e):String(e)}var so,qt=f(()=>{"use strict";E();bn();Kt();$();V();se();so=(e,t)=>{if(/^https?:\/\//.test(e))return e;let r=t==null?void 0:t.query,s=new URLSearchParams(r).toString();return t!=null&&t.baseUrl?`${t.baseUrl}${e}${s?`?${s}`:""}`:`${e}${s?`?${s}`:""}`}});var Gt,Tn,Z,Be=f(()=>{"use strict";Jt();qt();q();Gt={"x-user-agent":tn()};(Tn=w.hostUserInfo)!=null&&Tn.token&&(Gt["x-joli-token"]=w.hostUserInfo.token);w.joliSource&&(Gt["x-joli-source"]=w.joliSource);Z=Le("createRequestTaskSync","operateRequestTaskSync",{type:"inner",baseUrl:w.testMode?"https://stg-api.jolibox.com":"https://api.jolibox.com",defaultHeaders:Gt})});var je,kn=f(()=>{"use strict";q();gn();Be();$();je=class extends Me{constructor(t,r,n){super(r,n),this.gameId=w.mpId,this.sessionId=w.sessionId,this.track=t}reporter(t){return y(this,null,function*(){let{event:r,params:n}=t,s=[];s.push(Z("/api/base/app-event",{method:"POST",data:{eventType:r,gameInfo:g({gameId:this.gameId,sessionId:this.sessionId},n)}})),yield Promise.all(s)})}reportToNative(t){return y(this,null,function*(){let{event:r,params:n}=t;yield J("userTrackAsync",{event:r,params:g({},n),gameId:this.gameId})})}tracker(t,r=null){this.track(t,r)}}});var An={};lr(An,{nativeTaskEmitter:()=>Ie,taskTracker:()=>B,track:()=>H,trackPerformance:()=>Sn});var ao,En,wn,H,Sn,In,Ie,B,ie=f(()=>{"use strict";cn();E();Vt();hn();q();kn();$();ao=(e,t,r)=>{var i,a;let n=t,s=M(n.extra)?n.extra:ce(n.extra)?JSON.parse(n.extra):{},o=_(g({},s),{mp_id:(i=n.mp_id)!=null?i:"",mp_version:(a=n.mp_version)!=null?a:""});x("trackAsync",{event:e,data:o,webviewId:r})},{track:H,trackPerformance:Sn}=mn(ao,{type:Rt.AppSDK,platform:"native",jssdk_version:(wn=(En=w.sdkInfo)==null?void 0:En.jssdkVersion)!=null?wn:"1.0.0",mp_id:w.mpId,mp_version:w.mpVersion}),In=O();In.registerCommand("ReportSDK.traceSystemTimeline",({event:e,duration:t,extra:r})=>{Sn(e,t,r)});In.registerCommand("ReportSDK.traceSystem",({event:e,info:t})=>{H(e,t)});Ie=new z,B=new je(H,Ie)});function Rn(){let e=null,t=window.fetch,r=()=>{e=document.createElement("style"),e.setAttribute("data-jolibox-sdk","default-styles");let o=`
1
+ var ds=Object.create;var _e=Object.defineProperty,us=Object.defineProperties,ms=Object.getOwnPropertyDescriptor,ps=Object.getOwnPropertyDescriptors,fs=Object.getOwnPropertyNames,Re=Object.getOwnPropertySymbols,hs=Object.getPrototypeOf,yt=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable;var ir=(e,t,r)=>t in e?_e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,g=(e,t)=>{for(var r in t||(t={}))yt.call(t,r)&&ir(e,r,t[r]);if(Re)for(var r of Re(t))ar.call(t,r)&&ir(e,r,t[r]);return e},_=(e,t)=>us(e,ps(t));var ae=(e,t)=>{var r={};for(var n in e)yt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Re)for(var n of Re(e))t.indexOf(n)<0&&ar.call(e,n)&&(r[n]=e[n]);return r};var f=(e,t)=>()=>(e&&(t=e(e=0)),t);var cr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),lr=(e,t)=>{for(var r in t)_e(e,r,{get:t[r],enumerable:!0})},gs=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of fs(t))!yt.call(e,s)&&s!==r&&_e(e,s,{get:()=>t[s],enumerable:!(n=ms(t,s))||n.enumerable});return e};var dr=(e,t,r)=>(r=e!=null?ds(hs(e)):{},gs(t||!e||!e.__esModule?_e(r,"default",{value:e,enumerable:!0}):r,e));var y=(e,t,r)=>new Promise((n,s)=>{var o=c=>{try{a(r.next(c))}catch(l){s(l)}},i=c=>{try{a(r.throw(c))}catch(l){s(l)}},a=c=>c.done?n(c.value):Promise.resolve(c.value).then(o,i);a((r=r.apply(e,t)).next())});function vs(e){return!!(e!=null&&e.__nativeBuffers__)}function Te(e){if(typeof e=="string")try{e=JSON.parse(e)}catch(r){return{}}if(typeof e!="object"||e===null)return{};if(!vs(e))return e;let t=e.__nativeBuffers__;if(delete e.__nativeBuffers__,t)for(let r=0;r<t.length;r++){let n=t[r];if(n){let s;n.value?s=n.value:n.base64&&(s=ys(n.base64)),typeof s!="undefined"&&s instanceof ArrayBuffer&&(e[n.key]=s)}}return e}function ur(e={},t=!1){let r=e,n=[];for(let[s,o]of Object.entries(r))if(o!==void 0&&o instanceof ArrayBuffer&&o.byteLength!==void 0){let i=t?{value:o,key:s}:{base64:bs(o),key:s};n.push(i),delete r[s]}return n.length>0&&(r.__nativeBuffers__=n),r}var ys,bs,bt=f(()=>{"use strict";ys=e=>{let t=atob(e),r=t.length,n=new Uint8Array(r);for(let s=0;s<r;s++)n[s]=t.charCodeAt(s);return n.buffer};bs=e=>{let t="",r=new Uint8Array(e),n=r.byteLength;for(let s=0;s<n;s++)t+=String.fromCharCode(r[s]);return btoa(t)}});function Es(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function ce(e){return typeof e=="string"}function M(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}function hr(e){return typeof e=="object"&&Array.isArray(e)}function gr(e){return e===!0||e===!1}function ws(e){return typeof e>"u"}function Ss(e){return ws(e)||e===null}function vr(e){return typeof e=="function"}function yr(e){return M(e)&&vr(e.then)}function br(e){let t=e,r=null,n=function(...s){return r||(r=new t(...s)),r};return n.prototype=t.prototype,n}function Tr(e,t,r){if(typeof r!="function")throw new Error("[Jolibox SDK]Customizer must be a function");function n(s,o){for(let i in o)if(Object.prototype.hasOwnProperty.call(o,i)){let a=s[i],c=o[i],l=r(a,c,i,s,o);l!==void 0?s[i]=l:mr(c)&&mr(a)?s[i]=n(g({},a),c):Array.isArray(c)&&Array.isArray(a)?s[i]=[...a,...c]:s[i]=c}return s}return n(e,t)}function mr(e){return e&&typeof e=="object"&&e.constructor===Object}function kr(e,t){if(Array.isArray(e))return e.concat(t)}function we(e,t,r={}){let n=null,s,o,i,{leading:a=!1,trailing:c=!0}=r,l=()=>(i=e.apply(o,s),s=void 0,o=void 0,i),u=function(...m){s=m,o=this;let p=a&&!n;if(n&&clearTimeout(n),n=setTimeout(()=>{n=null,c&&!p&&l()},t),p)return l()};return u.cancel=()=>{n&&clearTimeout(n),n=null,s=o=void 0},u.flush=()=>{if(n)return clearTimeout(n),n=null,l()},u}function Rs(e,t){return(...r)=>t(e,...r)}function Oe(e){return t=>Rs(t,function(r,...n){if(typeof r=="function")try{return r.apply(this,n)}catch(s){e(new As(`${s}`))}})}function ke(e){return(...t)=>{var r,n;((n=(r=globalThis.VConsole)==null?void 0:r[e])!=null?n:globalThis.console[e])(...t)}}function Js(e){return new Promise(t=>Nr(e)(t))}function Nr(e){return(t,r=null)=>{let n=!1;return e(s=>{if(!n)return n=!0,t.call(r,s)},null)}}function Hs(e,t){return(r=>{let n,s={onWillAddFirstListener(){n=r(o.fire,o)}},o=new Ee(s);return o.event})((r,n=null)=>e(s=>t(s)&&r.call(n,s),null))}function Vs(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Ks(e[n],t[n])}function Ks(e,t){if(ce(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(vr(t)){try{if(e instanceof t)return}catch(r){}if(!Ss(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("[Jolibox SDK]argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function O(){if(globalThis[kt])return globalThis[kt];let e=new Ce,t=new wt,r={registerCommand(n,s,o){e.registerCommand({id:n,handler:s,metadata:o})},executeCommand(n,...s){return t.executeCommand(n,...s)},excuteCommandSync(n,...s){return t.executeCommandThowErr(n,...s)}};return globalThis[kt]=r,r}var pr,Ts,ks,fr,ne,Is,St,le,Er,wr,As,Sr,Ir,Ar,Rr,_r,Se,Ne,It,j,xr,_s,At,xs,Rt,Ps,Cs,xe,Ns,Os,Fs,Pr,_t,Ds,Us,Ms,Cr,Q,R,Ls,Bs,Pe,Ee,z,Et,js,Tt,$s,X,Ce,wt,kt,E=f(()=>{"use strict";pr=Object.defineProperty,Ts=Object.getOwnPropertyDescriptor,ks=(e,t)=>{for(var r in t)pr(e,r,{get:t[r],enumerable:!0})},fr=(e,t,r,n)=>{for(var s=n>1?void 0:n?Ts(t,r):t,o=e.length-1,i;o>=0;o--)(i=e[o])&&(s=(n?i(t,r,s):i(s))||s);return n&&s&&pr(t,r,s),s};ne=class{constructor(){this.state="pending",this.promise=new Promise((e,t)=>{this.resolve=r=>{this.state==="pending"&&(this.state="fulfilled",e(r))},this.reject=r=>{this.state==="pending"&&(this.state="rejected",t(r))}})}};Is=(e=>(e[e.DEVELOPER_FILE_NOT_FOUND=0]="DEVELOPER_FILE_NOT_FOUND",e[e.INTERNAL_IOS_CAN_NOT_FOUND_PKG=1]="INTERNAL_IOS_CAN_NOT_FOUND_PKG",e[e.USER_IOS_LOAD_TIMEOUT=2]="USER_IOS_LOAD_TIMEOUT",e[e.INTERNAL_IOS_PKG_LOAD_ERROR=3]="INTERNAL_IOS_PKG_LOAD_ERROR",e[e.INTERNAL_IOS_PKG_PARSE_FAIL=4]="INTERNAL_IOS_PKG_PARSE_FAIL",e[e.USER_IOS_GET_EMPTY_DATA=5]="USER_IOS_GET_EMPTY_DATA",e[e.USER_ANDROID_GET_PKG_FAIL=6]="USER_ANDROID_GET_PKG_FAIL",e[e.DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE=7]="DEVELOPER_ANDROID_PACKAGE_FILE_UNEXPECTED_REQUIRE",e))(Is||{}),St=class extends Error{constructor(e){if(typeof e=="string"){super(e),this.priority="P1";return}super(e.message),this.priority="P1",this.stack=e.stack,this.raw=e}},le=class extends St{constructor(){super(...arguments),this.kind="INTERNAL_ERROR"}},Er=class extends St{constructor(){super(...arguments),this.kind="USER_ERROR"}},wr=class extends Er{constructor(){super(...arguments),this.name="USER_VALIDATE_ERROR"}},As=class extends Er{constructor(e,t,r){super(e),this.message=e,this.errNo=t,this.name="USER_CUSTOM_ERROR",this.errMsg=e,r&&(this.extra=Object.assign({},this.extra,r))}},Sr=class extends le{constructor(){super(...arguments),this.name="INTERNAL_SCHEMA_PARSE_ERROR",this.priority="P0"}},Ir=class extends le{constructor(){super(...arguments),this.name="INTERNAL_INVOKE_NATIVE_ERROR"}},Ar=class extends le{constructor(e,t,r,n){super(e),this.errNo=t,this.name="INTERNAL_APPLY_NATIVE_ERROR",this.errorType=r,this.errorCode=n}},Rr=class extends le{constructor(){super(...arguments),this.name="INTERNAL_JSCORE_ERROR",this.priority="P0"}},_r=class extends le{constructor(){super(...arguments),this.name="INTERNAL_GLOBAL_JS_ERROR",this.priority="P1"}},Se=class extends St{constructor(e,t,r,n,s){super(e),this.message=e,this.code=t,this.kind="API_ERROR",this.name="API_ERROR",r&&(this.errorType=r),n!==void 0&&(this.stack=n),s&&(this.priority=s)}toJSON(){return{message:this.message,stack:this.stack,name:this.name,code:this.code,errorType:this.errorType}}},Ne=class extends le{constructor(){super(...arguments),this.name="INTERNAL_METRIC_REPORT_ERROR"}},It=class extends le{constructor(){super(...arguments),this.name="INTERNAL_REPORTER_ERROR"}};j={log:ke("log"),warn:ke("warn"),info:ke("info"),error:ke("error"),debug:ke("debug")};Object.assign(globalThis,{logger:j});xr=Symbol.for("Jolibox.canIUseMap"),_s={};globalThis[xr]=_s;At={get config(){return globalThis[xr]}},xs=(e=>(e[e.System=1e3]="System",e[e.ErrorTrace=1001]="ErrorTrace",e[e.UserDefined=1002]="UserDefined",e))(xs||{}),Rt=(e=>(e.MiniGame="mini-game",e.MiniDrama="mini-drama",e.App="app",e.WebSDK="web-sdk",e.AppSDK="app-sdk",e))(Rt||{}),Ps=(e=>(e[e.App=0]="App",e[e.H5=1]="H5",e[e.Weapp=2]="Weapp",e[e.Alipay=3]="Alipay",e[e.Gcash=4]="Gcash",e[e.Dana=5]="Dana",e[e.Umma=6]="Umma",e[e.WebSDK=1e3]="WebSDK",e[e.AppSDK=1001]="AppSDK",e[e.Other=9999]="Other",e))(Ps||{}),Cs=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),xe={isiOS:navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPod")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("iPhone OS"),iosVersion:()=>{let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||"0",10)]},isAndroid:navigator.userAgent.includes("Android"),isMac:navigator.userAgent.includes("Mac"),isFacebook:navigator.userAgent.includes("FB_IAB"),isPC:!navigator.userAgent.includes("iPhone")&&!navigator.userAgent.includes("Android")},Ns=()=>xe.isiOS?"iOS":xe.isAndroid?"Android":xe.isMac?"Mac":xe.isFacebook?"Facebook":"PC",Os="device_id",Fs="advertising_id",Pr=e=>(localStorage.getItem(e)||localStorage.setItem(e,Cs()),localStorage.getItem(e)),_t=()=>Pr(Os),Ds=()=>Pr(Fs),Us=e=>e.charAt(0).toUpperCase()+e.slice(1),Ms=()=>{var t;let e=new URLSearchParams(window.location.search);return Us((t=e.get("utm_source"))!=null?t:"")||"JoliboxSDK"},Cr=e=>{let t="JoliboxWebSDK",r=Ns(),n=navigator.language,s=_t(),o=Ds();return`${t} (${Ms()}${r}; UnknownModel; UnknownSystemVersion; ${n}) uuid/${s} adid/${o} version/${e||""}`},R=(Q=class{constructor(t){this.element=t,this.next=Q.Undefined,this.prev=Q.Undefined}},Q.Undefined=new Q(void 0),Q),Ls=class{constructor(){this._first=R.Undefined,this._last=R.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===R.Undefined}clear(){let e=this._first;for(;e!==R.Undefined;){let t=e.next;e.prev=R.Undefined,e.next=R.Undefined,e=t}this._first=R.Undefined,this._last=R.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new R(e);if(this._first===R.Undefined)this._first=r,this._last=r;else if(t){let s=this._last;this._last=r,r.prev=s,s.next=r}else{let s=this._first;this._first=r,r.next=s,s.prev=r}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(r))}}shift(){if(this._first!==R.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==R.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==R.Undefined&&e.next!==R.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===R.Undefined&&e.next===R.Undefined?(this._first=R.Undefined,this._last=R.Undefined):e.next===R.Undefined?(this._last=this._last.prev,this._last.next=R.Undefined):e.prev===R.Undefined&&(this._first=this._first.next,this._first.prev=R.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==R.Undefined;)yield e.element,e=e.next}},Bs=0,Pe=class{constructor(e){this.value=e,this.id=Bs++}},Ee=class{constructor(e){this.options=e,this._size=0}dispose(e){var t,r;this._disposed||(this._disposed=!0,this._listeners&&(e?(this._listeners instanceof Pe&&(this._listeners=[this._listeners]),this._listeners=this._listeners.filter(n=>(n==null?void 0:n.value)===e)):(this._listeners=void 0,this._size=0)),(r=(t=this.options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t))}get event(){var e;return(e=this._event)!=null||(this._event=(t,r)=>{var s,o,i,a,c,l;if(this._disposed)return()=>{console.info("[Jolibox SDK] Emitter is _disposed")};r&&(t=t.bind(r));let n=new Pe(t);this._listeners?this._listeners instanceof Pe?this._listeners=[this._listeners,n]:this._listeners.push(n):((o=(s=this.options)==null?void 0:s.onWillAddFirstListener)==null||o.call(s,this),this._listeners=n,(a=(i=this.options)==null?void 0:i.onDidFirstListener)==null||a.call(i,this)),(l=(c=this.options)==null?void 0:c.onDidAddListener)==null||l.call(c,this),this._size++}),this._event}_deliver(e,t){var n;if(!e)return;let r=((n=this.options)==null?void 0:n.onListenerError)||Error.constructor;if(!r){e.value(t);return}try{e.value(t)}catch(s){r(s)}}fire(e){this._listeners&&(this._listeners instanceof Pe?this._deliver(this._listeners,e):this._listeners.forEach(t=>this._deliver(t,e)))}hasListeners(){return this._size>0}},z=class{constructor(){this.listeners=new Map,this.listerHandlerMap=new WeakMap,this.cachedEventQueue=new Map}on(e,t){var o;let r=(o=this.listeners.get(e))!=null?o:new Ee,n=i=>t(...i.args);this.listerHandlerMap.set(t,n),r.event(n),this.listeners.set(e,r);let s=this.cachedEventQueue.get(e);if(s)for(;s.size>0;)r.fire(g({event:e},s.shift()))}off(e,t){let r=this.listeners.get(e);if(r){let n=this.listerHandlerMap.get(t);r.dispose(n)}}emit(e,...t){let r=this.listeners.get(e);if(r)r.fire({event:e,args:t});else{let n=this.cachedEventQueue.get(e);n||(n=new Ls,this.cachedEventQueue.set(e,n)),n.push({args:t})}}},Et={};ks(Et,{None:()=>js,filter:()=>Hs,once:()=>Nr,toPromise:()=>Js});js=()=>{console.log("[Jolibox SDK] None Event")};Tt=Symbol.for("Jolibox.hostEmitter"),$s=()=>{let e=new z;return globalThis[Tt]||(globalThis[Tt]={on:e.on.bind(e),off:e.off.bind(e),emit:e.emit.bind(e)}),globalThis[Tt]},X=$s();Ce=class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new Ee,this.onDidRegisterCommand=this._onDidRegisterCommand.event,console.log("[Jolibox SDK] command registry")}registerCommand(e){if(!e)throw new Error("invalid command");if(e.metadata&&Array.isArray(e.metadata.args)){let r=[];for(let s of e.metadata.args)r.push(s.constraint);let n=e.handler;e.handler=function(...s){return Vs(s,r),n(...s)}}let{id:t}=e;this._commands.get(t)&&console.info(`[Jolibox SDK] duplicated command is registered ${t}`),this._commands.set(t,e),this._onDidRegisterCommand.fire(t)}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let r=this.getCommand(t);r&&e.set(t,r)}return e}};Ce=fr([br],Ce);wt=class{constructor(){this._onWillExecuteCommand=new Ee,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this._onDidExecuteCommand=new Ee,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this.registry=new Ce,this._starActivation=null}_activateStar(){return this._starActivation||(this._starActivation=Es(3e4)),this._starActivation}executeCommand(e,...t){return y(this,null,function*(){return this.registry.getCommand(e)?this._tryExecuteCommand(e,t):(yield Promise.all([Promise.race([this._activateStar(),Et.toPromise(Et.filter(this.registry.onDidRegisterCommand,r=>r===e))])]),this._tryExecuteCommand(e,t))})}executeCommandThowErr(e,...t){if(!this.registry.getCommand(e))throw new Error(`command '${e}' not found`);let r=this.registry.getCommand(e);this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),n}_tryExecuteCommand(e,t){let r=this.registry.getCommand(e);if(!r)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let n=this.invokeFunction(r.handler,...t);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}invokeFunction(e,...t){let r=!1;try{return e(...t)}finally{r=!0}}};wt=fr([br],wt);kt=Symbol.for("Jolibox.commands")});function D(e,t={}){xt.emit("ERROR_REPORT",{error:e,options:t})}var xt,de,V=f(()=>{"use strict";E();E();xt=new z,de=new z;D.debounce=we(D,50,{leading:!0})});function Fe(e,t){return`[${e}]:${t}`}var ue,Pt,se=f(()=>{"use strict";V();E();V();ue=(e,t)=>{var r,n;return new Se((n=(r=t==null?void 0:t.errMsg)!=null?r:e.msg)!=null?n:"",e.code,e.type)},Pt=e=>new wr(e)});var Or,Fr,Dr,Ur=f(()=>{"use strict";Or=[],Fr=[],Dr=["env","createRequestTask","login"]});function Lr(e,t){Mr||(Ct=new me({eventName:"jolibox_invoke",tagNameOrder:["status","method","errNo","errMsg","isForeground"],metricName:"duration",reporter(s){e.invoke("track",JSON.stringify({event:"reportMetrics",data:s}),-1)}}),Nt=new me({eventName:"jolibox_invoke_js2native",tagNameOrder:["status","method","isForeground"],metricName:"duration",reporter(s){e.invoke("track",JSON.stringify({event:"reportMetrics",data:s}),-1)}}),Ot=new me({eventName:"jolibox_invoke_native2js",tagNameOrder:["status","method","isForeground"],metricName:"duration",reporter(s){e.invoke("track",JSON.stringify({event:"reportMetrics",data:s}),-1)}}),t("onJoliboxEnterBackground",()=>{Ct.flush(),Nt.flush(),Ot.flush()}),Mr=!0);function r(s){var b,v;let{method:o,args:i,startTime:a,isForeground:c,errMsg:l=`${o}:fail no errMsg`,errNo:u=0,__timing:m={receiveJSInvoke:0,invokeCallback:0}}=s,{receiveJSInvoke:p,invokeCallback:T}=m,I=(v=(b=l.match(/\S:(\S+)\s?/))==null?void 0:b[1])!=null?v:"fail";Ct.report({status:I,method:n(o,i),errNo:`${u}`,errMsg:l,isForeground:c,duration:Date.now()-a}),a&&p&&T&&(Nt.report({status:I,method:o,isForeground:c,duration:Number((p-a).toFixed(3))}),Ot.report({status:I,method:o,isForeground:c,duration:Number((Date.now()-T).toFixed(3))}))}function n(s,o){return(s==="callHostMethod"||s==="callHostMethodSync")&&o!=null&&o.method?`${s}-${o.method}`:s}return r}var qs,me,Mr,Ct,Nt,Ot,Ft=f(()=>{"use strict";E();qs=e=>e==="pv"?e:"default",me=class{constructor(t){this.interval=30;this.lastReportTime=0;this.cache={};let{reporter:r,interval:n=30,eventName:s,tagNameOrder:o,metricName:i,type:a}=t;this.reporter=r,this.interval=n,this.eventName=s,this.tagNameOrder=o,this.metricName=i,this.type=qs(a)}report(t){this.type==="pv"?this.addPVPoint(t):this.addPoint(t),this.tryReport(!1)}flush(){this.tryReport(!0)}tryReport(t){if(Object.keys(this.cache).length){if(t){this.reporter(this.processPoints(this.cache)),this.clearPoints();return}this.lastReportTime=this.lastReportTime||Date.now(),Date.now()-this.lastReportTime>=this.interval*1e3&&(this.reporter(this.processPoints(this.cache)),this.clearPoints(),this.lastReportTime=Date.now())}}addPoint(t){let r=(n,s,o,i)=>{let a=s.shift();if(a){let c=i[a];n[c]||(n[c]={}),r(n[c],s,o,i)}else n[o]||(n[o]=[]),n[o].push(i[o])};r(this.cache,[...this.tagNameOrder],this.metricName,t)}addPVPoint(t){let r=(s,o,i,a)=>{let c=o.shift();if(!c&&M(a))throw new Ne(`report value failed to match tagNameOrder, ${JSON.stringify(n)}`);if(c){let l=[];if(M(a))l.push(...Object.keys(a));else if(ce(a)){if(o.length>0)throw new Ne(`report value failed to match tagNameOrder, ${JSON.stringify(n)}`);l.push(a)}else throw new Ne(`expected metric value to be a string, but got a(n) ${typeof a}, ${JSON.stringify(n)}`);l.forEach(u=>{s[u]||(s[u]={});let m=M(a)?a[u]:a;r(s[u],[...o],i,m)})}else s[i]?s[i]++:s[i]=1},n={point:t,metricName:this.metricName,tagNameOrder:this.tagNameOrder};r(this.cache,[...this.tagNameOrder],this.metricName,t)}processPoints(t){return{eventName:this.eventName,tagNameOrder:this.tagNameOrder,metricName:this.metricName,metricAggregateType:this.type==="pv"?"itoa":"arr",data:t}}clearPoints(){this.cache={}}},Mr=!1});function jr(e,t){let r=0,n=!0,s=new Map,o=Lr(e,t);t("onJoliboxEnterBackground",()=>{n=!1}),t("onJoliboxEnterForeground",()=>{n=!0,Dt.forEach(p=>y(this,[p],function*({method:l,args:u,resolve:m}){let T=yield a(l,u);m(T)})),Dt.length=0});let i=(l,u)=>{let m=s.get(Number(l));if(!m)return;let p=Te(u);m(p),s.delete(Number(l))},a=(l,u)=>{var N,fe;let m=Date.now(),p=`${n}`;r+=1;let T=new ne;if(s.set(r,T.resolve),!n&&Fr.includes(l))return new Promise(U=>{Dt.push({method:l,args:u,resolve:U})});let b=_(g({},{method:l,startTime:m,args:u,isForeground:p}),{invokeType:"js-bridge"}),v=!Gs&&Or.includes(l),k=ur(u,v),A=v?k:JSON.stringify(k),h;if(l.endsWith("Sync")||Dr.includes(l)?h=(N=e.call)==null?void 0:N.call(e,l,k,r):typeof A=="string"?h=e.invoke(l,A,r):h=(fe=e.call)==null?void 0:fe.call(e,l,A,r),h){try{typeof h=="string"&&(h=JSON.parse(h)),h=Te(h)}catch(U){j.error(U)}return s.delete(r),h.errorCode&&(h.errorCode=Fe(l,h.errorCode)),o(g(g({},b),h)),h}return l.endsWith("Sync")&&s.delete(r),T.promise.then(U=>(U.errorCode&&(U.errorCode=Fe(l,U.errorCode)),o(g(g({},b),U)),U))};return{invokeNative:a,applyNative:(l,u)=>{let m=a(l,u);return yr(m)?m.then(p=>Br(l,p)):Br(l,m)},invokeHandler:i}}function Br(e,t){if(!M(t)){j.warn(`[Jolibox SDK]${e} no response value`);return}let a=t,{errMsg:r,errNo:n,errorType:s,errorCode:o}=a,i=ae(a,["errMsg","errNo","errorType","errorCode"]);if(r&&r!==`${e}:ok`)throw new Ar(r,n,s,o);return i}var Dt,Gs,Jr=f(()=>{"use strict";bt();E();se();Ur();Ft();Dt=[],Gs=!1});function Hr(e){let t=new z,r=new me({eventName:"jolibox_publish",tagNameOrder:["type","event"],metricName:"duration",reporter(n){e.invoke("track",JSON.stringify({event:"reportMetrics",data:n}),-1)}});return t.on("onJoliboxEnterBackground",()=>{r.flush()}),{onNative:t.on.bind(t),offNative:t.off.bind(t),subscribeHandler(n,s,o){let i=Te(s),a;if(i.__extra){a=i.params;let{type:c,startTime:l}=i.__extra;r.report({type:c,event:n,duration:Date.now()-l})}else a=i;t.emit(n,a,o)}}}var $r=f(()=>{"use strict";E();bt();Ft()});function Ut(e){let{subscribeHandler:t,onNative:r,offNative:n}=Hr(e),{invokeNative:s,invokeHandler:o,applyNative:i}=jr(e,r);return{invokeHandler:o,subscribeHandler:t,applyNative:i,invokeNative:s,onNative:r,offNative:n}}var Vr=f(()=>{"use strict";Jr();$r()});var Kr=f(()=>{"use strict"});var qr=f(()=>{"use strict";Vr();Kr()});var oe,K,Gr,zr=f(()=>{"use strict";E();V();K={trigger(){},exit(){return!1},onReady(e){K.trigger=e},doExit(e){K.exit=e}},Gr=()=>{let e=window.prompt("invoke",JSON.stringify({event:"envSync",paramsString:JSON.stringify({})}));if(!e)D(new Ir("native env failed"));else{let{data:t}=JSON.parse(e);return t!=null?t:void 0}};if(window.webkit){let e=window.webkit.messageHandlers,t=(s="")=>{K.trigger(),e.onDocumentReady.postMessage({path:s})};oe={onDocumentReady:t,doExit:s=>{let o=K.exit();e.doExit.postMessage({uuid:s,shouldInterrupt:o})},invoke(s,o,i){e.invoke.postMessage({event:s,paramsString:o,callbackId:i})},call(s,o,i){let a=window.prompt("invoke",JSON.stringify({event:s,paramsString:JSON.stringify(o),callbackId:i}));if(a)return JSON.parse(a)}};let n={onDocumentReady:t,env:Gr};globalThis.joliboxJSCore=g({},n)}if(window.JoliAndroidSDKBridge){let e=window.JoliAndroidSDKBridge,t=(s="")=>{K.trigger(),e.onDocumentReady(JSON.stringify({path:s}))};oe={onDocumentReady:t,invoke(s,o,i){e.invoke(JSON.stringify({event:s,paramsString:o,callbackId:i}))},doExit:s=>{let o=K.exit();e.doExit(JSON.stringify({uuid:s,shouldInterrupt:o}))},call(s,o,i){let a=window.prompt("invoke",JSON.stringify({event:s,paramsString:JSON.stringify(o),callbackId:i}));if(a)return JSON.parse(a)}};let n={onDocumentReady:t,env:Gr};globalThis.joliboxJSCore=g({},n)}});function Mt(e,t){return{params:e,__extra:{startTime:Date.now(),type:t}}}var Lt=f(()=>{"use strict"});function Bt(){globalThis.onmessage=function(e){e.data==="msg:setup"&&([he]=e.ports,he.onmessage=function(t){let r=JSON.parse(t.data);r[0]==="publish"?globalThis.ttJSBridge.subscribeHandler(r[1],r[2]):r[0]==="invoke"&&globalThis.ttJSBridge.invokeHandler(r[1],r[2])},he.publish=function(t,r){let n=Mt(r,"messagePort");he.postMessage(JSON.stringify(["publish",t,JSON.stringify(n)]))},he.postMessage("msg:setup:ok"))}}var he,Wr=f(()=>{"use strict";Lt()});var De=f(()=>{"use strict";zr();Wr();Lt()});var Qr,zs,Xr,Yr,J,x,W,va,Ws,$=f(()=>{"use strict";qr();De();se();E();De();Qr=oe;if(!Qr)throw new Rr("No joliboxJScore is found, native bridge not found.");Bt();zs=g({},Qr),Xr=Ut(zs),{invokeHandler:Yr}=Xr,{applyNative:J,invokeNative:x,onNative:W,offNative:va,subscribeHandler:Ws}=Xr;globalThis.joliboxJSBridge={callHandler:Yr,invokeHandler:Yr,subscribeHandler:Ws}});var jt,Zr,en=f(()=>{"use strict";E();V();jt=e=>{let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t.length%4===0?"":"=".repeat(4-t.length%4),n=atob(t+r);try{return JSON.parse(n)}catch(s){return{}}},Zr=e=>{var t;try{let s=(t=new URL(e).searchParams.get("joliSource"))==null?void 0:t.split(".");if(s!=null&&s.length){let[o,i,a]=s;return{headerJson:jt(o),payloadJson:jt(i),signature:jt(a)}}else throw"joli_source is missing"}catch(r){return D(new Sr(`${e} not a valid schema: ${r}`)),{headerJson:{},payloadJson:{},signature:{}}}}});var Ys,Ue,tn,Jt=f(()=>{"use strict";E();Ys="1.1.8",Ue=()=>Ys,tn=()=>{let e=Ue();return`${Cr(e)}`}});var Qs,rn,Ht,nn,L,Xs,w,q=f(()=>{"use strict";E();en();Jt();E();Qs={deviceInfo:{brand:"UnknownBrand",model:"UnknownModel",did:_t(),pixelRatio:window.devicePixelRatio||1,platform:"h5",system:"UnknownSystemVersion",lang:"zh"},sdkInfo:{nativeSDKVersion:"",jssdkVersion:Ue()},schema:window.location.href,platform:"h5"},Ht=(rn=globalThis.joliboxJSCore)==null?void 0:rn.env,L=Object.assign({},(nn=Ht==null?void 0:Ht())!=null?nn:Qs),Xs=()=>{var m,p,T,I,b,v,k,A;let{payloadJson:e,headerJson:t}=L.schema.length?Zr(L.schema):{},r=`${L.deviceInfo.did}-${new Date().getTime()}`,s=new URL(L.schema.length?L.schema:window.location.href).searchParams,o=(T=(p=(m=s.get("mpId"))!=null?m:s.get("appId"))!=null?p:s.get("gameId"))!=null?T:"",i=(b=(I=e==null?void 0:e.sessionId)!=null?I:s.get("sessionId"))!=null?b:r,a=!!((v=e==null?void 0:e.testAdsMode)!=null?v:s.get("testAdsMode")==="true"),c=(A=(k=e==null?void 0:e.joliboxEnv)!=null?k:s.get("joliboxEnv"))!=null?A:"production",l=c==="staging",u=t==null?void 0:t.channel;return{get testMode(){return l},get testAdsMode(){return a},get joliboxEnv(){return c},get joliSource(){var h;return(h=s.get("joliSource"))!=null?h:null},get mpId(){var h;return(h=o!=null?o:e==null?void 0:e.id)!=null?h:""},get mpVersion(){var h;return(h=t==null?void 0:t.ver)!=null?h:Ue()},get platform(){var h;return(h=L.platform)!=null?h:L.deviceInfo.platform},get deviceInfo(){return L.deviceInfo},get sdkInfo(){return L.sdkInfo},get hostInfo(){return L.hostInfo},get hostUserInfo(){return L.hostUserInfo},get sessionId(){var h,N;return(N=(h=L.clientSessionId)!=null?h:i)!=null?N:r},get channel(){return u},get webviewId(){var h;return(h=L.webviewId)!=null?h:-1},onEnvConfigChanged:h=>{Tr(L,h,kr)}}},w=Xs()});var $t,on,Zs,eo,sn,to,an=f(()=>{"use strict";E();V();q();E();$t=!1,on=(e,t)=>e==null?!1:t in e,Zs=e=>on(e,"kind"),eo=e=>{let t=e.toLowerCase().split("_");return t[0]+t.slice(1).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join("")},sn=(e,t={},r)=>{var o,i,a;let n={user_id:(i=(o=w.hostUserInfo)==null?void 0:o.uid)!=null?i:"",device_id:(a=w.deviceInfo.did)!=null?a:"",timestamp:Date.now(),tag:eo(e.name)},s=_(g({},n),{env:t.environment,isFromUser:r});r?de.emit("GLOBAL_USER_ERROR",e,s):de.emit("GLOBAL_ERROR",e,s)},to=e=>on(e,"kind")&&e.kind==="USER_ERROR";xt.on("ERROR_REPORT",({error:e,options:t})=>{if($t)return;$t=!0;let r=Zs(e)&&e.raw?e.raw:e;try{let n=to(e);sn(e,t,n)}catch(n){let s=n instanceof Error?n.message:String(n),o=new It(`${s}, origin error: ${r.message}`);j.error(o),sn(new It(o.message),{environment:t.environment},!1)}finally{$t=!1}})});var cn=f(()=>{"use strict";an();se();E();$();de.on("GLOBAL_ERROR",(e,t)=>{var n;let r={message:e.message,stack:(n=e.stack)!=null?n:"",errorType:e.name,source:0};x("trackAsync",{event:"reportJsError",data:r})});de.on("GLOBAL_USER_ERROR",(e,t)=>{j.log("UserError",e,t)})});var Vt=f(()=>{"use strict"});function ln(e,t){let r=(n,s,o)=>{let i=_(g({tag:n},t),{extra:g({},s)});n=="globalJsError"?D(new _r(JSON.stringify(i))):e("systemLog",i,o)};return r.debounce=we(r,500,{leading:!0}),r}function dn(e){let t=(r,n,s)=>{var a;let o=(a=s&&JSON.stringify(s))!=null?a:0,i={speed_value_type:r,total_duration:n};o&&Object.assign(i,{extra:o}),e("joliboxSpeedAnalysis",i)};return t.debounce=we(t,500,{leading:!0}),t}var un=f(()=>{"use strict";E();E();V()});function mn(e,t){let r=ln(e,t),n=dn(r);return{track:r,trackPerformance:n}}var pn=f(()=>{"use strict";un()});var fn=f(()=>{"use strict";q();E();E()});var hn=f(()=>{"use strict";pn();Vt();fn()});var Me,gn=f(()=>{"use strict";Me=class{constructor(t,r){this.eventEmitter=t;this.lastReportTime=0;this.visible=!0;this.timer=this.createRAFTimer(t=>{this.reporter({event:"PLAY_GAME",params:{duration:t}}),this.tracker("PlayGame",{duration:t})});this.interval=r!=null?r:5*1e3,t.on("visible",n=>{this.visible=n})}start(t){this.reporter({event:"OPEN_GAME",params:{timestamp:Date.now(),duration:t!=null?t:0}}),this.tracker("OpenGame",{duration:t!=null?t:0}),this.timer.start()}close(t){this.reporter({event:"CLOSE_GAME",params:{timestamp:Date.now(),duration:t}}),this.tracker("CloseGame",{duration:t}),this.timer.stop()}createRAFTimer(t){let r=Date.now(),n,s,o=!1,i=0,a=()=>{if(!o)return;let T=Date.now(),I=T-r;I>=this.interval&&(this.visible&&(i+=I,t(i)),r=T),n=requestAnimationFrame(a)},c=()=>{u(),r=Date.now(),s=window.setInterval(()=>{if(!o)return;let T=Date.now();T-r>=this.interval&&(r=T)},this.interval)},l=()=>{m(),r=Date.now(),n=requestAnimationFrame(a)},u=()=>{n&&(cancelAnimationFrame(n),n=0)},m=()=>{s&&(clearInterval(s),s=0)};this.eventEmitter.on("visible",T=>{o&&(console.log("visible",T),T?l():c())});let p=this.visible;return{start(){o||(o=!0,p?l():c())},stop(){o=!1,u(),m()}}}}});var Kt=f(()=>{"use strict"});function yn(e,t,r){let{response:n,startTime:s,endTime:o,requestFrom:i}=r,{errMsg:a="",profile:c={}}=n,u={duration:o-s,request_type:e,url:t.split("?")[0],result:r.state,error_msg:r.state==="fail"?a:"",socket_reused:c.socketReused?1:0,request_from:i};(i==="public"&&vn<no||i==="inner")&&(u.joli_request_number=vn++,setTimeout(()=>{H("joliboxNetRequestResult",u)},500))}var vn,no,bn=f(()=>{"use strict";Kt();ie();vn=0,no=10});function Le(e,t,r){var c,l,u;let n=new Map,s=(c=r==null?void 0:r.baseUrl)!=null?c:"https://api.jolibox.com",o=(l=r==null?void 0:r.type)!=null?l:"public",i=(u=r==null?void 0:r.defaultHeaders)!=null?u:{};return W("onRequestTaskStateChange",m=>{if(typeof m.requestTaskId!="string")return;let p=n.get(m.requestTaskId);if(p)if(m.state==="success"){let T=m,{requestTaskId:b,state:v}=T,k=ae(T,["requestTaskId","state"]);p.resolve(k),n.delete(b)}else if(m.state==="fail"){let I=m,{requestTaskId:b,state:v}=I,k=ae(I,["requestTaskId","state"]);p.reject(k),n.delete(b)}else j.warn("onRequestTaskStateChange unknown event",m)}),X.on("onLoginComplete",({isLogin:m,token:p})=>{m&&p&&(i["X-JOLI-TOKEN"]=p)}),(T,...I)=>y(this,[T,...I],function*(m,p={}){let b=Date.now(),v=so(m,_(g({},p),{baseUrl:s})),{method:k="GET",responseType:A="text",dataType:h="json",timeout:N,enableCache:fe=!1,appendHostCookie:U=!0}=p,be=Object.assign({"content-type":"application/json"},i,p.header),re={url:v,method:k,header:be,enableCache:fe,responseType:A,appendHostCookie:U};if(k=="POST"||k=="PUT"){let G=io(p.data,be["content-type"]);re.data=G}N&&Object.assign(re,{timeout:N});let{data:{requestTaskId:vt}}=x(e,re);if(typeof vt!="string")throw ue({code:-1,msg:"requestTaskId is not a string"});let or=(G,Y)=>{yn("request",v,{state:G,startTime:b,endTime:Date.now(),params:re,response:Y,requestId:vt,requestFrom:o=="public"?"public":"inner"})},{resolve:ss,reject:os,promise:is}=new ne;n.set(vt,{resolve:ss,reject:os});try{let G=yield is;or("success",G);let{data:Y}=G;return h==="json"&&typeof Y=="string"&&(Y=oo(Y)),{url:v,timeout:N,method:k,response:_(g({},G),{data:Y})}}catch(G){let Y=G;if(M(Y)){let{errMsg:Ae,prefetchDetail:as,isPrefetch:cs,errNo:ls}=Y;ce(Ae)&&(or("fail",{errMsg:Ae,isPrefetch:cs,prefetchDetail:as}),D(ue({code:-1,msg:Ae},{errNo:ls,errMsg:Ae})))}throw G}})}function oo(e){try{return JSON.parse(e.trim())}catch(t){return e}}function io(e,t="application/json"){let r=t.toLowerCase();return e===void 0?"":typeof e=="string"||e instanceof ArrayBuffer?e:r.includes("application/x-www-form-urlencoded")||r.includes("application/json")||typeof e=="object"?JSON.stringify(e):String(e)}var so,qt=f(()=>{"use strict";E();bn();Kt();$();V();se();so=(e,t)=>{if(/^https?:\/\//.test(e))return e;let r=t==null?void 0:t.query,s=new URLSearchParams(r).toString();return t!=null&&t.baseUrl?`${t.baseUrl}${e}${s?`?${s}`:""}`:`${e}${s?`?${s}`:""}`}});var Gt,Tn,Z,Be=f(()=>{"use strict";Jt();qt();q();Gt={"x-user-agent":tn()};(Tn=w.hostUserInfo)!=null&&Tn.token&&(Gt["x-joli-token"]=w.hostUserInfo.token);w.joliSource&&(Gt["x-joli-source"]=w.joliSource);Z=Le("createRequestTaskSync","operateRequestTaskSync",{type:"inner",baseUrl:w.testMode?"https://stg-api.jolibox.com":"https://api.jolibox.com",defaultHeaders:Gt})});var je,kn=f(()=>{"use strict";q();gn();Be();$();je=class extends Me{constructor(t,r,n){super(r,n),this.gameId=w.mpId,this.sessionId=w.sessionId,this.track=t}reporter(t){return y(this,null,function*(){let{event:r,params:n}=t,s=[];s.push(Z("/api/base/app-event",{method:"POST",data:{eventType:r,gameInfo:g({gameId:this.gameId,sessionId:this.sessionId},n)}})),yield Promise.all(s)})}reportToNative(t){return y(this,null,function*(){let{event:r,params:n}=t;yield J("userTrackAsync",{event:r,params:g({},n),gameId:this.gameId})})}tracker(t,r=null){this.track(t,r)}}});var An={};lr(An,{nativeTaskEmitter:()=>Ie,taskTracker:()=>B,track:()=>H,trackPerformance:()=>Sn});var ao,En,wn,H,Sn,In,Ie,B,ie=f(()=>{"use strict";cn();E();Vt();hn();q();kn();$();ao=(e,t,r)=>{var i,a;let n=t,s=M(n.extra)?n.extra:ce(n.extra)?JSON.parse(n.extra):{},o=_(g({},s),{mp_id:(i=n.mp_id)!=null?i:"",mp_version:(a=n.mp_version)!=null?a:""});x("trackAsync",{event:e,data:o,webviewId:r})},{track:H,trackPerformance:Sn}=mn(ao,{type:Rt.AppSDK,platform:"native",jssdk_version:(wn=(En=w.sdkInfo)==null?void 0:En.jssdkVersion)!=null?wn:"1.0.0",mp_id:w.mpId,mp_version:w.mpVersion}),In=O();In.registerCommand("ReportSDK.traceSystemTimeline",({event:e,duration:t,extra:r})=>{Sn(e,t,r)});In.registerCommand("ReportSDK.traceSystem",({event:e,info:t})=>{H(e,t)});Ie=new z,B=new je(H,Ie)});function Rn(){let e=null,t=window.fetch,r=()=>{e=document.createElement("style"),e.setAttribute("data-jolibox-sdk","default-styles");let o=`
2
2
  html[data-jolibox-root] {
3
3
  height: 100%;
4
4
  margin: 0;
@@ -1,9 +1,9 @@
1
1
  Invoking: npm run clean && npm run build:esm && tsc
2
2
 
3
- > @jolibox/implement@1.1.8-beta.1 clean
3
+ > @jolibox/implement@1.1.8 clean
4
4
  > rimraf ./dist
5
5
 
6
6
 
7
- > @jolibox/implement@1.1.8-beta.1 build:esm
7
+ > @jolibox/implement@1.1.8 build:esm
8
8
  > BUILD_VERSION=$(node -p "require('./package.json').version") node esbuild.config.js --format=esm
9
9
 
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@jolibox/implement",
3
3
  "description": "This project is Jolibox JS-SDk implement for Native && H5",
4
- "version": "1.1.8-beta.1",
4
+ "version": "1.1.8",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
7
7
  "license": "MIT",
8
8
  "dependencies": {
9
- "@jolibox/common": "1.1.8-beta.1",
10
- "@jolibox/types": "1.1.8-beta.1",
9
+ "@jolibox/common": "1.1.8",
10
+ "@jolibox/types": "1.1.8",
11
11
  "localforage": "1.10.0",
12
12
  "web-vitals": "4.2.4"
13
13
  },