@d-i-t-a/reader 2.1.6 → 2.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/reader.js
CHANGED
|
@@ -63,7 +63,7 @@ __p += '`),ht&&(ce+=`' +
|
|
|
63
63
|
function print() { __p += __j.call(arguments, '') }
|
|
64
64
|
`:`;
|
|
65
65
|
`)+ce+`return __p
|
|
66
|
-
}`;var nt=Iy(function(){return vt(L,ke+"return "+ce).apply(i,H)});if(nt.source=ce,nh(nt))throw nt;return nt}function fR(s){return St(s).toLowerCase()}function hR(s){return St(s).toUpperCase()}function pR(s,c,g){if(s=St(s),s&&(g||c===i))return $g(s);if(!s||!(c=Qn(c)))return s;var x=Pr(s),R=Pr(c),L=Ug(x,R),H=qg(x,R)+1;return Wi(x,L,H).join("")}function gR(s,c,g){if(s=St(s),s&&(g||c===i))return s.slice(0,Wg(s)+1);if(!s||!(c=Qn(c)))return s;var x=Pr(s),R=qg(x,Pr(c))+1;return Wi(x,0,R).join("")}function mR(s,c,g){if(s=St(s),s&&(g||c===i))return s.replace(Zo,"");if(!s||!(c=Qn(c)))return s;var x=Pr(s),R=Ug(x,Pr(c));return Wi(x,R).join("")}function yR(s,c){var g=I,x=q;if($t(c)){var R="separator"in c?c.separator:R;g="length"in c?tt(c.length):g,x="omission"in c?Qn(c.omission):x}s=St(s);var L=s.length;if(es(s)){var H=Pr(s);L=H.length}if(g>=L)return s;var F=g-ts(x);if(F<1)return x;var J=H?Wi(H,0,F).join(""):s.slice(0,F);if(R===i)return J+x;if(H&&(F+=J.length-F),rh(R)){if(s.slice(F).search(R)){var ie,se=J;for(R.global||(R=vf(R.source,St(cg.exec(R))+"g")),R.lastIndex=0;ie=R.exec(se);)var ce=ie.index;J=J.slice(0,ce===i?F:ce)}}else if(s.indexOf(Qn(R),F)!=F){var Te=J.lastIndexOf(R);Te>-1&&(J=J.slice(0,Te))}return J+x}function bR(s){return s=St(s),s&&Yd.test(s)?s.replace(dl,VO):s}var vR=as(function(s,c,g){return s+(g?" ":"")+c.toUpperCase()}),sh=Lm("toUpperCase");function Py(s,c,g){return s=St(s),c=g?i:c,c===i?UO(s)?YO(s):LO(s):s.match(c)||[]}var Iy=rt(function(s,c){try{return Zn(s,i,c)}catch(g){return nh(g)?g:new Ze(g)}}),wR=hi(function(s,c){return gr(c,function(g){g=Vr(g),di(s,g,eh(s[g],s))}),s});function ER(s){var c=s==null?0:s.length,g=Ue();return s=c?Ht(s,function(x){if(typeof x[1]!="function")throw new mr(o);return[g(x[0]),x[1]]}):[],rt(function(x){for(var R=-1;++R<c;){var L=s[R];if(Zn(L[0],this,x))return Zn(L[1],this,x)}})}function SR(s){return Vx(br(s,f))}function ah(s){return function(){return s}}function OR(s,c){return s==null||s!==s?c:s}var xR=km(),_R=km(!0);function Dn(s){return s}function lh(s){return dm(typeof s=="function"?s:br(s,f))}function TR(s){return hm(br(s,f))}function CR(s,c){return pm(s,br(c,f))}var AR=rt(function(s,c){return function(g){return aa(g,s,c)}}),RR=rt(function(s,c){return function(g){return aa(s,g,c)}});function ch(s,c,g){var x=tn(c),R=Fl(c,x);g==null&&!($t(c)&&(R.length||!x.length))&&(g=c,c=s,s=this,R=Fl(c,tn(c)));var L=!($t(g)&&"chain"in g)||!!g.chain,H=gi(s);return gr(R,function(F){var J=c[F];s[F]=J,H&&(s.prototype[F]=function(){var ie=this.__chain__;if(L||ie){var se=s(this.__wrapped__),ce=se.__actions__=Nn(this.__actions__);return ce.push({func:J,args:arguments,thisArg:s}),se.__chain__=ie,se}return J.apply(s,ji([this.value()],arguments))})}),s}function MR(){return en._===this&&(en._=nx),this}function uh(){}function PR(s){return s=tt(s),rt(function(c){return gm(c,s)})}var IR=$f(Ht),LR=$f(Ng),BR=$f(ff);function Ly(s){return Jf(s)?hf(Vr(s)):u_(s)}function kR(s){return function(c){return s==null?i:wo(s,c)}}var NR=Hm(),HR=Hm(!0);function dh(){return[]}function fh(){return!1}function jR(){return{}}function DR(){return""}function FR(){return!0}function $R(s,c){if(s=tt(s),s<1||s>be)return[];var g=he,x=mn(s,he);c=Ue(c),s-=he;for(var R=mf(x,c);++g<s;)c(g);return R}function UR(s){return Qe(s)?Ht(s,Vr):er(s)?[s]:Nn(Qm(St(s)))}function qR(s){var c=++ex;return St(s)+c}var zR=Gl(function(s,c){return s+c},0),WR=Uf("ceil"),GR=Gl(function(s,c){return s/c},1),VR=Uf("floor");function JR(s){return s&&s.length?Dl(s,Dn,Cf):i}function KR(s,c){return s&&s.length?Dl(s,Ue(c,2),Cf):i}function YR(s){return Dg(s,Dn)}function ZR(s,c){return Dg(s,Ue(c,2))}function XR(s){return s&&s.length?Dl(s,Dn,Pf):i}function QR(s,c){return s&&s.length?Dl(s,Ue(c,2),Pf):i}var eM=Gl(function(s,c){return s*c},1),tM=Uf("round"),nM=Gl(function(s,c){return s-c},0);function rM(s){return s&&s.length?gf(s,Dn):0}function iM(s,c){return s&&s.length?gf(s,Ue(c,2)):0}return M.after=TC,M.ary=uy,M.assign=hA,M.assignIn=xy,M.assignInWith=oc,M.assignWith=pA,M.at=gA,M.before=dy,M.bind=eh,M.bindAll=wR,M.bindKey=fy,M.castArray=jC,M.chain=ay,M.chunk=V_,M.compact=J_,M.concat=K_,M.cond=ER,M.conforms=SR,M.constant=ah,M.countBy=rC,M.create=mA,M.curry=hy,M.curryRight=py,M.debounce=gy,M.defaults=yA,M.defaultsDeep=bA,M.defer=CC,M.delay=AC,M.difference=Y_,M.differenceBy=Z_,M.differenceWith=X_,M.drop=Q_,M.dropRight=eT,M.dropRightWhile=tT,M.dropWhile=nT,M.fill=rT,M.filter=oC,M.flatMap=lC,M.flatMapDeep=cC,M.flatMapDepth=uC,M.flatten=ry,M.flattenDeep=iT,M.flattenDepth=oT,M.flip=RC,M.flow=xR,M.flowRight=_R,M.fromPairs=sT,M.functions=_A,M.functionsIn=TA,M.groupBy=dC,M.initial=lT,M.intersection=cT,M.intersectionBy=uT,M.intersectionWith=dT,M.invert=AA,M.invertBy=RA,M.invokeMap=hC,M.iteratee=lh,M.keyBy=pC,M.keys=tn,M.keysIn=jn,M.map=Ql,M.mapKeys=PA,M.mapValues=IA,M.matches=TR,M.matchesProperty=CR,M.memoize=tc,M.merge=LA,M.mergeWith=_y,M.method=AR,M.methodOf=RR,M.mixin=ch,M.negate=nc,M.nthArg=PR,M.omit=BA,M.omitBy=kA,M.once=MC,M.orderBy=gC,M.over=IR,M.overArgs=PC,M.overEvery=LR,M.overSome=BR,M.partial=th,M.partialRight=my,M.partition=mC,M.pick=NA,M.pickBy=Ty,M.property=Ly,M.propertyOf=kR,M.pull=gT,M.pullAll=oy,M.pullAllBy=mT,M.pullAllWith=yT,M.pullAt=bT,M.range=NR,M.rangeRight=HR,M.rearg=IC,M.reject=vC,M.remove=vT,M.rest=LC,M.reverse=Xf,M.sampleSize=EC,M.set=jA,M.setWith=DA,M.shuffle=SC,M.slice=wT,M.sortBy=_C,M.sortedUniq=CT,M.sortedUniqBy=AT,M.split=lR,M.spread=BC,M.tail=RT,M.take=MT,M.takeRight=PT,M.takeRightWhile=IT,M.takeWhile=LT,M.tap=JT,M.throttle=kC,M.thru=Xl,M.toArray=Ey,M.toPairs=Cy,M.toPairsIn=Ay,M.toPath=UR,M.toPlainObject=Oy,M.transform=FA,M.unary=NC,M.union=BT,M.unionBy=kT,M.unionWith=NT,M.uniq=HT,M.uniqBy=jT,M.uniqWith=DT,M.unset=$A,M.unzip=Qf,M.unzipWith=sy,M.update=UA,M.updateWith=qA,M.values=us,M.valuesIn=zA,M.without=FT,M.words=Py,M.wrap=HC,M.xor=$T,M.xorBy=UT,M.xorWith=qT,M.zip=zT,M.zipObject=WT,M.zipObjectDeep=GT,M.zipWith=VT,M.entries=Cy,M.entriesIn=Ay,M.extend=xy,M.extendWith=oc,ch(M,M),M.add=zR,M.attempt=Iy,M.camelCase=JA,M.capitalize=Ry,M.ceil=WR,M.clamp=WA,M.clone=DC,M.cloneDeep=$C,M.cloneDeepWith=UC,M.cloneWith=FC,M.conformsTo=qC,M.deburr=My,M.defaultTo=OR,M.divide=GR,M.endsWith=KA,M.eq=Lr,M.escape=YA,M.escapeRegExp=ZA,M.every=iC,M.find=sC,M.findIndex=ty,M.findKey=vA,M.findLast=aC,M.findLastIndex=ny,M.findLastKey=wA,M.floor=VR,M.forEach=ly,M.forEachRight=cy,M.forIn=EA,M.forInRight=SA,M.forOwn=OA,M.forOwnRight=xA,M.get=ih,M.gt=zC,M.gte=WC,M.has=CA,M.hasIn=oh,M.head=iy,M.identity=Dn,M.includes=fC,M.indexOf=aT,M.inRange=GA,M.invoke=MA,M.isArguments=Oo,M.isArray=Qe,M.isArrayBuffer=GC,M.isArrayLike=Hn,M.isArrayLikeObject=Wt,M.isBoolean=VC,M.isBuffer=Gi,M.isDate=JC,M.isElement=KC,M.isEmpty=YC,M.isEqual=ZC,M.isEqualWith=XC,M.isError=nh,M.isFinite=QC,M.isFunction=gi,M.isInteger=yy,M.isLength=rc,M.isMap=by,M.isMatch=eA,M.isMatchWith=tA,M.isNaN=nA,M.isNative=rA,M.isNil=oA,M.isNull=iA,M.isNumber=vy,M.isObject=$t,M.isObjectLike=Ut,M.isPlainObject=ha,M.isRegExp=rh,M.isSafeInteger=sA,M.isSet=wy,M.isString=ic,M.isSymbol=er,M.isTypedArray=cs,M.isUndefined=aA,M.isWeakMap=lA,M.isWeakSet=cA,M.join=fT,M.kebabCase=XA,M.last=wr,M.lastIndexOf=hT,M.lowerCase=QA,M.lowerFirst=eR,M.lt=uA,M.lte=dA,M.max=JR,M.maxBy=KR,M.mean=YR,M.meanBy=ZR,M.min=XR,M.minBy=QR,M.stubArray=dh,M.stubFalse=fh,M.stubObject=jR,M.stubString=DR,M.stubTrue=FR,M.multiply=eM,M.nth=pT,M.noConflict=MR,M.noop=uh,M.now=ec,M.pad=tR,M.padEnd=nR,M.padStart=rR,M.parseInt=iR,M.random=VA,M.reduce=yC,M.reduceRight=bC,M.repeat=oR,M.replace=sR,M.result=HA,M.round=tM,M.runInContext=G,M.sample=wC,M.size=OC,M.snakeCase=aR,M.some=xC,M.sortedIndex=ET,M.sortedIndexBy=ST,M.sortedIndexOf=OT,M.sortedLastIndex=xT,M.sortedLastIndexBy=_T,M.sortedLastIndexOf=TT,M.startCase=cR,M.startsWith=uR,M.subtract=nM,M.sum=rM,M.sumBy=iM,M.template=dR,M.times=$R,M.toFinite=mi,M.toInteger=tt,M.toLength=Sy,M.toLower=fR,M.toNumber=Er,M.toSafeInteger=fA,M.toString=St,M.toUpper=hR,M.trim=pR,M.trimEnd=gR,M.trimStart=mR,M.truncate=yR,M.unescape=bR,M.uniqueId=qR,M.upperCase=vR,M.upperFirst=sh,M.each=ly,M.eachRight=cy,M.first=iy,ch(M,function(){var s={};return Wr(M,function(c,g){xt.call(M.prototype,g)||(s[g]=c)}),s}(),{chain:!1}),M.VERSION=t,gr(["bind","bindKey","curry","curryRight","partial","partialRight"],function(s){M[s].placeholder=M}),gr(["drop","take"],function(s,c){ut.prototype[s]=function(g){g=g===i?1:Zt(tt(g),0);var x=this.__filtered__&&!c?new ut(this):this.clone();return x.__filtered__?x.__takeCount__=mn(g,x.__takeCount__):x.__views__.push({size:mn(g,he),type:s+(x.__dir__<0?"Right":"")}),x},ut.prototype[s+"Right"]=function(g){return this.reverse()[s](g).reverse()}}),gr(["filter","map","takeWhile"],function(s,c){var g=c+1,x=g==B||g==W;ut.prototype[s]=function(R){var L=this.clone();return L.__iteratees__.push({iteratee:Ue(R,3),type:g}),L.__filtered__=L.__filtered__||x,L}}),gr(["head","last"],function(s,c){var g="take"+(c?"Right":"");ut.prototype[s]=function(){return this[g](1).value()[0]}}),gr(["initial","tail"],function(s,c){var g="drop"+(c?"":"Right");ut.prototype[s]=function(){return this.__filtered__?new ut(this):this[g](1)}}),ut.prototype.compact=function(){return this.filter(Dn)},ut.prototype.find=function(s){return this.filter(s).head()},ut.prototype.findLast=function(s){return this.reverse().find(s)},ut.prototype.invokeMap=rt(function(s,c){return typeof s=="function"?new ut(this):this.map(function(g){return aa(g,s,c)})}),ut.prototype.reject=function(s){return this.filter(nc(Ue(s)))},ut.prototype.slice=function(s,c){s=tt(s);var g=this;return g.__filtered__&&(s>0||c<0)?new ut(g):(s<0?g=g.takeRight(-s):s&&(g=g.drop(s)),c!==i&&(c=tt(c),g=c<0?g.dropRight(-c):g.take(c-s)),g)},ut.prototype.takeRightWhile=function(s){return this.reverse().takeWhile(s).reverse()},ut.prototype.toArray=function(){return this.take(he)},Wr(ut.prototype,function(s,c){var g=/^(?:filter|find|map|reject)|While$/.test(c),x=/^(?:head|last)$/.test(c),R=M[x?"take"+(c=="last"?"Right":""):c],L=x||/^find/.test(c);!R||(M.prototype[c]=function(){var H=this.__wrapped__,F=x?[1]:arguments,J=H instanceof ut,ie=F[0],se=J||Qe(H),ce=function(at){var ht=R.apply(M,ji([at],F));return x&&Te?ht[0]:ht};se&&g&&typeof ie=="function"&&ie.length!=1&&(J=se=!1);var Te=this.__chain__,ke=!!this.__actions__.length,We=L&&!Te,nt=J&&!ke;if(!L&&se){H=nt?H:new ut(this);var Ge=s.apply(H,F);return Ge.__actions__.push({func:Xl,args:[ce],thisArg:i}),new yr(Ge,Te)}return We&&nt?s.apply(this,F):(Ge=this.thru(ce),We?x?Ge.value()[0]:Ge.value():Ge)})}),gr(["pop","push","shift","sort","splice","unshift"],function(s){var c=xl[s],g=/^(?:push|sort|unshift)$/.test(s)?"tap":"thru",x=/^(?:pop|shift)$/.test(s);M.prototype[s]=function(){var R=arguments;if(x&&!this.__chain__){var L=this.value();return c.apply(Qe(L)?L:[],R)}return this[g](function(H){return c.apply(Qe(H)?H:[],R)})}}),Wr(ut.prototype,function(s,c){var g=M[c];if(g){var x=g.name+"";xt.call(is,x)||(is[x]=[]),is[x].push({name:c,func:g})}}),is[Wl(i,y).name]=[{name:"wrapper",func:i}],ut.prototype.clone=bx,ut.prototype.reverse=vx,ut.prototype.value=wx,M.prototype.at=KT,M.prototype.chain=YT,M.prototype.commit=ZT,M.prototype.next=XT,M.prototype.plant=eC,M.prototype.reverse=tC,M.prototype.toJSON=M.prototype.valueOf=M.prototype.value=nC,M.prototype.first=M.prototype.head,ea&&(M.prototype[ea]=QT),M},Fi=ZO();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(en._=Fi,define(function(){return Fi})):go?((go.exports=Fi)._=Fi,lf._=Fi):en._=Fi}).call(qs)});var w0=Y((S9,v0)=>{A();var T4=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof window.msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto);T4?(y0=new Uint8Array(16),v0.exports=function(){return T4(y0),y0}):(b0=new Array(16),v0.exports=function(){for(var t=0,n;t<16;t++)(t&3)==0&&(n=Math.random()*4294967296),b0[t]=n>>>((t&3)<<3)&255;return b0});var y0,b0});var E0=Y((O9,A4)=>{A();var C4=[];for(Xa=0;Xa<256;++Xa)C4[Xa]=(Xa+256).toString(16).substr(1);var Xa;function T8(i,t){var n=t||0,r=C4;return[r[i[n++]],r[i[n++]],r[i[n++]],r[i[n++]],"-",r[i[n++]],r[i[n++]],"-",r[i[n++]],r[i[n++]],"-",r[i[n++]],r[i[n++]],"-",r[i[n++]],r[i[n++]],r[i[n++]],r[i[n++]],r[i[n++]],r[i[n++]]].join("")}A4.exports=T8});var P4=Y((x9,M4)=>{A();var C8=w0(),A8=E0(),R4,S0,O0=0,x0=0;function R8(i,t,n){var r=t&&n||0,o=t||[];i=i||{};var a=i.node||R4,l=i.clockseq!==void 0?i.clockseq:S0;if(a==null||l==null){var u=C8();a==null&&(a=R4=[u[0]|1,u[1],u[2],u[3],u[4],u[5]]),l==null&&(l=S0=(u[6]<<8|u[7])&16383)}var d=i.msecs!==void 0?i.msecs:new Date().getTime(),f=i.nsecs!==void 0?i.nsecs:x0+1,m=d-O0+(f-x0)/1e4;if(m<0&&i.clockseq===void 0&&(l=l+1&16383),(m<0||d>O0)&&i.nsecs===void 0&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");O0=d,x0=f,S0=l,d+=122192928e5;var p=((d&268435455)*1e4+f)%4294967296;o[r++]=p>>>24&255,o[r++]=p>>>16&255,o[r++]=p>>>8&255,o[r++]=p&255;var E=d/4294967296*1e4&268435455;o[r++]=E>>>8&255,o[r++]=E&255,o[r++]=E>>>24&15|16,o[r++]=E>>>16&255,o[r++]=l>>>8|128,o[r++]=l&255;for(var S=0;S<6;++S)o[r+S]=a[S];return t||A8(o)}M4.exports=R8});var L4=Y((_9,I4)=>{A();var M8=w0(),P8=E0();function I8(i,t,n){var r=t&&n||0;typeof i=="string"&&(t=i==="binary"?new Array(16):null,i=null),i=i||{};var o=i.random||(i.rng||M8)();if(o[6]=o[6]&15|64,o[8]=o[8]&63|128,t)for(var a=0;a<16;++a)t[r+a]=o[a];return t||P8(o)}I4.exports=I8});var T0=Y((T9,k4)=>{A();var L8=P4(),B4=L4(),_0=B4;_0.v1=L8;_0.v4=B4;k4.exports=_0});var j4=Y(Ws=>{A();"use strict";var A0;Object.defineProperty(Ws,"__esModule",{value:!0});Ws.MediaOverlayNode=Ws.timeStrToSeconds=void 0;var Li=Yr(),io=Rn(),k8=_s();function N8(i){if(!i)return 0;i=i.replace("npt=","");let t=0,n=0,r=0;try{let o=i.indexOf("min");if(o>0){let a=i.substr(0,o);n=parseFloat(a)}else{let a=i.indexOf("ms");if(a>0){let l=i.substr(0,a);r=parseFloat(l)/1e3}else{let l=i.indexOf("s");if(l>0){let u=i.substr(0,l);r=parseFloat(u)}else{let u=i.indexOf("h");if(u>0){let d=i.substr(0,u);t=parseFloat(d)}else{let d=i.split(":");d.length===1?r=parseFloat(d[0]):d.length===2?(n=parseFloat(d[0]),r=parseFloat(d[1])):d.length===3?(t=parseFloat(d[0]),n=parseFloat(d[1]),r=parseFloat(d[2])):(console.log("SMIL TIME CLOCK SYNTAX PARSING ERROR ??"),console.log(i))}}}}}catch(o){return console.log(o),console.log("SMIL TIME CLOCK SYNTAX PARSING ERROR!"),console.log(i),0}return t*3600+n*60+r}Ws.timeStrToSeconds=N8;var Uo=A0=class{constructor(){this.initialized=!1}};Li.__decorate([(0,io.JsonProperty)("text"),Li.__metadata("design:type",String)],Uo.prototype,"Text",void 0);Li.__decorate([(0,io.JsonProperty)("audio"),Li.__metadata("design:type",String)],Uo.prototype,"Audio",void 0);Li.__decorate([(0,io.JsonProperty)("role"),(0,io.JsonConverter)(k8.JsonStringConverter),(0,io.JsonElementType)(String),Li.__metadata("design:type",Array)],Uo.prototype,"Role",void 0);Li.__decorate([(0,io.JsonProperty)("narration"),(0,io.JsonElementType)(A0),Li.__metadata("design:type",Array)],Uo.prototype,"Children",void 0);Uo=A0=Li.__decorate([(0,io.JsonObject)()],Uo);Ws.MediaOverlayNode=Uo});var U4=Y(h=>{A();"use strict";var e;h.browser=Object.create(null);e=Object.create(null);e[0]=new RegExp("(Rival IQ, rivaliq.com)");e[1]="Rival IQ";e[2]=0;e[3]=0;e[4]=0;h.browser[0]=e;e=Object.create(null);e[0]=new RegExp("(ESPN)[%20| ]+Radio/(\\d+)\\.(\\d+)\\.(\\d+) CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[1]=e;e=Object.create(null);e[0]=new RegExp("(Antenna)/(\\d+) CFNetwork");e[1]="AntennaPod";e[2]=0;e[3]=0;e[4]=0;h.browser[2]=e;e=Object.create(null);e[0]=new RegExp("(TopPodcasts)Pro/(\\d+) CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[3]=e;e=Object.create(null);e[0]=new RegExp("(MusicDownloader)Lite/(\\d+)\\.(\\d+)\\.(\\d+) CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[4]=e;e=Object.create(null);e[0]=new RegExp("^(.*)-iPad/(\\d+)\\.?(\\d+)?.?(\\d+)?.?(\\d+)? CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[5]=e;e=Object.create(null);e[0]=new RegExp("^(.*)-iPhone/(\\d+)\\.?(\\d+)?.?(\\d+)?.?(\\d+)? CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[6]=e;e=Object.create(null);e[0]=new RegExp("^(.*)/(\\d+)\\.?(\\d+)?.?(\\d+)?.?(\\d+)? CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[7]=e;e=Object.create(null);e[0]=new RegExp("(espn\\.go)");e[1]="ESPN";e[2]=0;e[3]=0;e[4]=0;h.browser[8]=e;e=Object.create(null);e[0]=new RegExp("(espnradio\\.com)");e[1]="ESPN";e[2]=0;e[3]=0;e[4]=0;h.browser[9]=e;e=Object.create(null);e[0]=new RegExp("ESPN APP$");e[1]="ESPN";e[2]=0;e[3]=0;e[4]=0;h.browser[10]=e;e=Object.create(null);e[0]=new RegExp("(audioboom\\.com)");e[1]="AudioBoom";e[2]=0;e[3]=0;e[4]=0;h.browser[11]=e;e=Object.create(null);e[0]=new RegExp(" (Rivo) RHYTHM");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[12]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)(?:/(\\d+)\\.(\\d+)\\.?(\\d+)?)?");e[1]="CFNetwork";e[2]=0;e[3]=0;e[4]=0;h.browser[13]=e;e=Object.create(null);e[0]=new RegExp("(Pingdom.com_bot_version_)(\\d+)\\.(\\d+)");e[1]="PingdomBot";e[2]=0;e[3]=0;e[4]=0;h.browser[14]=e;e=Object.create(null);e[0]=new RegExp("(PingdomTMS)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="PingdomBot";e[2]=0;e[3]=0;e[4]=0;h.browser[15]=e;e=Object.create(null);e[0]=new RegExp("(NewRelicPinger)/(\\d+)\\.(\\d+)");e[1]="NewRelicPingerBot";e[2]=0;e[3]=0;e[4]=0;h.browser[16]=e;e=Object.create(null);e[0]=new RegExp("(\\(StatusCake\\))");e[1]="StatusCakeBot";e[2]=0;e[3]=0;e[4]=0;h.browser[17]=e;e=Object.create(null);e[0]=new RegExp("(facebookexternalhit)/(\\d+)\\.(\\d+)");e[1]="FacebookBot";e[2]=0;e[3]=0;e[4]=0;h.browser[18]=e;e=Object.create(null);e[0]=new RegExp("Google.*/\\+/web/snippet");e[1]="GooglePlusBot";e[2]=0;e[3]=0;e[4]=0;h.browser[19]=e;e=Object.create(null);e[0]=new RegExp("via ggpht.com GoogleImageProxy");e[1]="GmailImageProxy";e[2]=0;e[3]=0;e[4]=0;h.browser[20]=e;e=Object.create(null);e[0]=new RegExp("(Twitterbot)/(\\d+)\\.(\\d+)");e[1]="TwitterBot";e[2]=0;e[3]=0;e[4]=0;h.browser[21]=e;e=Object.create(null);e[0]=new RegExp("/((?:Ant-)?Nutch|[A-z]+[Bb]ot|[A-z]+[Ss]pider|Axtaris|fetchurl|Isara|ShopSalad|Tailsweep)[ \\-](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[22]=e;e=Object.create(null);e[0]=new RegExp("\\b(008|Altresium|Argus|BaiduMobaider|BoardReader|DNSGroup|DataparkSearch|EDI|Goodzer|Grub|INGRID|Infohelfer|LinkedInBot|LOOQ|Nutch|PathDefender|Peew|PostPost|Steeler|Twitterbot|VSE|WebCrunch|WebZIP|Y!J-BR[A-Z]|YahooSeeker|envolk|sproose|wminer)/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[23]=e;e=Object.create(null);e[0]=new RegExp("(MSIE) (\\d+)\\.(\\d+)([a-z]\\d?)?;.* MSIECrawler");e[1]="MSIECrawler";e[2]=0;e[3]=0;e[4]=0;h.browser[24]=e;e=Object.create(null);e[0]=new RegExp("(DAVdroid)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[25]=e;e=Object.create(null);e[0]=new RegExp("(Google-HTTP-Java-Client|Apache-HttpClient|http%20client|Python-urllib|HttpMonitor|TLSProber|WinHTTP|JNLP|okhttp)(?:[ /](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[26]=e;e=Object.create(null);e[0]=new RegExp("(Pinterest(?:bot)?)/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?[;\\s\\(]+\\+https://www.pinterest.com/bot.html");e[1]="Pinterestbot";e[2]=0;e[3]=0;e[4]=0;h.browser[27]=e;e=Object.create(null);e[0]=new RegExp("(1470\\.net crawler|50\\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]+-Agent|AdsBot-Google(?:-[a-z]+)?|altavista|AppEngine-Google|archive.*?\\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]+)*|bingbot|BingPreview|blitzbot|BlogBridge|Bloglovin|BoardReader(?: [A-Za-z]+)*|boitho.com-dc|BotSeer|\\b\\w*favicon\\w*\\b|\\bYeti(?:-[a-z]+)?|Catchpoint(?: bot)?|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\\(S\\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher)?|Feed Seeker Bot|Feedbin|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]+-)?Googlebot(?:-[a-zA-Z]+)?|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile)?|IconSurf|IlTrovatore(?:-Setaccio)?|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]+Bot|jbot\\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\\.RU_Bot|masscan|masidani_bot|Mediapartners-Google|Microsoft .*? Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media *)?|msrbot|Mtps Feed Aggregation System|netresearch|Netvibes|NewsGator[^/]*|^NING|Nutch[^/]*|Nymesis|ObjectsSearch|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PlantyNet_WebRobot|Pompos|Qwantify|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|Stringer|TheUsefulbot|ThumbShotsBot|Thumbshots\\.ru|Tiny Tiny RSS|TwitterBot|WhatsApp|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]+|WhatWeb|WIRE|WordPress|Wotbox|www\\.almaden\\.ibm\\.com|Xenu(?:.s)? Link Sleuth|Xerka [A-z]+Bot|yacy(?:bot)?|Yahoo[a-z]*Seeker|Yahoo! Slurp|Yandex\\w+|YodaoBot(?:-[A-z]+)?|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\\.ze\\.bz|ZooShot|ZyBorg)(?:[ /]v?(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[28]=e;e=Object.create(null);e[0]=new RegExp("(?:\\/[A-Za-z0-9\\.]+)? *([A-Za-z0-9 \\-_\\!\\[\\]:]*(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]*))/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[29]=e;e=Object.create(null);e[0]=new RegExp("(?:\\/[A-Za-z0-9\\.]+)? *([A-Za-z0-9 _\\!\\[\\]:]*(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]*)) (\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[30]=e;e=Object.create(null);e[0]=new RegExp("((?:[A-z0-9]+|[A-z\\-]+ ?)?(?: the )?(?:[Ss][Pp][Ii][Dd][Ee][Rr]|[Ss]crape|[A-Za-z0-9-]*(?:[^C][^Uu])[Bb]ot|[Cc][Rr][Aa][Ww][Ll])[A-z0-9]*)(?:(?:[ /]| v)(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[31]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/(\\d+)\\.(\\d+)\\.(\\d+) \\(");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[32]=e;e=Object.create(null);e[0]=new RegExp("(Chimera|SeaMonkey|Camino)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[33]=e;e=Object.create(null);e[0]=new RegExp("\\[FB.*;(FBAV)/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]="Facebook";e[2]=0;e[3]=0;e[4]=0;h.browser[34]=e;e=Object.create(null);e[0]=new RegExp("\\[(Pinterest)/[^\\]]+\\]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[35]=e;e=Object.create(null);e[0]=new RegExp("(Pinterest)(?: for Android(?: Tablet)?)?/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[36]=e;e=Object.create(null);e[0]=new RegExp("(PaleMoon)/(\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]="Pale Moon";e[2]=0;e[3]=0;e[4]=0;h.browser[37]=e;e=Object.create(null);e[0]=new RegExp("(Fennec)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)");e[1]="Firefox Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[38]=e;e=Object.create(null);e[0]=new RegExp("(Fennec)/(\\d+)\\.(\\d+)(pre)");e[1]="Firefox Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[39]=e;e=Object.create(null);e[0]=new RegExp("(Fennec)/(\\d+)\\.(\\d+)");e[1]="Firefox Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[40]=e;e=Object.create(null);e[0]=new RegExp("(?:Mobile|Tablet);.*(Firefox)/(\\d+)\\.(\\d+)");e[1]="Firefox Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[41]=e;e=Object.create(null);e[0]=new RegExp("(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?)");e[1]="Firefox ($1)";e[2]=0;e[3]=0;e[4]=0;h.browser[42]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)(a\\d+[a-z]*)");e[1]="Firefox Alpha";e[2]=0;e[3]=0;e[4]=0;h.browser[43]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)(b\\d+[a-z]*)");e[1]="Firefox Beta";e[2]=0;e[3]=0;e[4]=0;h.browser[44]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)-(?:\\d+\\.\\d+)?/(\\d+)\\.(\\d+)(a\\d+[a-z]*)");e[1]="Firefox Alpha";e[2]=0;e[3]=0;e[4]=0;h.browser[45]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)-(?:\\d+\\.\\d+)?/(\\d+)\\.(\\d+)(b\\d+[a-z]*)");e[1]="Firefox Beta";e[2]=0;e[3]=0;e[4]=0;h.browser[46]=e;e=Object.create(null);e[0]=new RegExp("(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)?");e[1]="Firefox ($1)";e[2]=0;e[3]=0;e[4]=0;h.browser[47]=e;e=Object.create(null);e[0]=new RegExp("(Firefox).*Tablet browser (\\d+)\\.(\\d+)\\.(\\d+)");e[1]="MicroB";e[2]=0;e[3]=0;e[4]=0;h.browser[48]=e;e=Object.create(null);e[0]=new RegExp("(MozillaDeveloperPreview)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[49]=e;e=Object.create(null);e[0]=new RegExp("(FxiOS)/(\\d+)\\.(\\d+)(\\.(\\d+))?(\\.(\\d+))?");e[1]="Firefox iOS";e[2]=0;e[3]=0;e[4]=0;h.browser[50]=e;e=Object.create(null);e[0]=new RegExp("(Flock)/(\\d+)\\.(\\d+)(b\\d+?)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[51]=e;e=Object.create(null);e[0]=new RegExp("(RockMelt)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[52]=e;e=Object.create(null);e[0]=new RegExp("(Navigator)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Netscape";e[2]=0;e[3]=0;e[4]=0;h.browser[53]=e;e=Object.create(null);e[0]=new RegExp("(Navigator)/(\\d+)\\.(\\d+)([ab]\\d+)");e[1]="Netscape";e[2]=0;e[3]=0;e[4]=0;h.browser[54]=e;e=Object.create(null);e[0]=new RegExp("(Netscape6)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+)?");e[1]="Netscape";e[2]=0;e[3]=0;e[4]=0;h.browser[55]=e;e=Object.create(null);e[0]=new RegExp("(MyIBrow)/(\\d+)\\.(\\d+)");e[1]="My Internet Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[56]=e;e=Object.create(null);e[0]=new RegExp("(UC? ?Browser|UCWEB|U3)[ /]?(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="UC Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[57]=e;e=Object.create(null);e[0]=new RegExp("(Opera Tablet).*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[58]=e;e=Object.create(null);e[0]=new RegExp("(Opera Mini)(?:/att)?/?(\\d+)?(?:\\.(\\d+))?(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[59]=e;e=Object.create(null);e[0]=new RegExp("(Opera)/.+Opera Mobi.+Version/(\\d+)\\.(\\d+)");e[1]="Opera Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[60]=e;e=Object.create(null);e[0]=new RegExp("(Opera)/(\\d+)\\.(\\d+).+Opera Mobi");e[1]="Opera Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[61]=e;e=Object.create(null);e[0]=new RegExp("Opera Mobi.+(Opera)(?:/|\\s+)(\\d+)\\.(\\d+)");e[1]="Opera Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[62]=e;e=Object.create(null);e[0]=new RegExp("Opera Mobi");e[1]="Opera Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[63]=e;e=Object.create(null);e[0]=new RegExp("(Opera)/9.80.*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[64]=e;e=Object.create(null);e[0]=new RegExp("(?:Mobile Safari).*(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Opera Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[65]=e;e=Object.create(null);e[0]=new RegExp("(?:Chrome).*(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Opera";e[2]=0;e[3]=0;e[4]=0;h.browser[66]=e;e=Object.create(null);e[0]=new RegExp("(Coast)/(\\d+).(\\d+).(\\d+)");e[1]="Opera Coast";e[2]=0;e[3]=0;e[4]=0;h.browser[67]=e;e=Object.create(null);e[0]=new RegExp("(OPiOS)/(\\d+).(\\d+).(\\d+)");e[1]="Opera Mini";e[2]=0;e[3]=0;e[4]=0;h.browser[68]=e;e=Object.create(null);e[0]=new RegExp("Chrome/.+( MMS)/(\\d+).(\\d+).(\\d+)");e[1]="Opera Neon";e[2]=0;e[3]=0;e[4]=0;h.browser[69]=e;e=Object.create(null);e[0]=new RegExp("(hpw|web)OS/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="webOS Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[70]=e;e=Object.create(null);e[0]=new RegExp("(luakit)");e[1]="LuaKit";e[2]=0;e[3]=0;e[4]=0;h.browser[71]=e;e=Object.create(null);e[0]=new RegExp("(Snowshoe)/(\\d+)\\.(\\d+).(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[72]=e;e=Object.create(null);e[0]=new RegExp("Gecko/\\d+ (Lightning)/(\\d+)\\.(\\d+)\\.?((?:[ab]?\\d+[a-z]*)|(?:\\d*))");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[73]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?) \\(Swiftfox\\)");e[1]="Swiftfox";e[2]=0;e[3]=0;e[4]=0;h.browser[74]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)? \\(Swiftfox\\)");e[1]="Swiftfox";e[2]=0;e[3]=0;e[4]=0;h.browser[75]=e;e=Object.create(null);e[0]=new RegExp("(rekonq)/(\\d+)\\.(\\d+)\\.?(\\d+)? Safari");e[1]="Rekonq";e[2]=0;e[3]=0;e[4]=0;h.browser[76]=e;e=Object.create(null);e[0]=new RegExp("rekonq");e[1]="Rekonq";e[2]=0;e[3]=0;e[4]=0;h.browser[77]=e;e=Object.create(null);e[0]=new RegExp("(conkeror|Conkeror)/(\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]="Conkeror";e[2]=0;e[3]=0;e[4]=0;h.browser[78]=e;e=Object.create(null);e[0]=new RegExp("(konqueror)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Konqueror";e[2]=0;e[3]=0;e[4]=0;h.browser[79]=e;e=Object.create(null);e[0]=new RegExp("(WeTab)-Browser");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[80]=e;e=Object.create(null);e[0]=new RegExp("(Comodo_Dragon)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Comodo Dragon";e[2]=0;e[3]=0;e[4]=0;h.browser[81]=e;e=Object.create(null);e[0]=new RegExp("(Symphony) (\\d+).(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[82]=e;e=Object.create(null);e[0]=new RegExp("PLAYSTATION 3.+WebKit");e[1]="NetFront NX";e[2]=0;e[3]=0;e[4]=0;h.browser[83]=e;e=Object.create(null);e[0]=new RegExp("PLAYSTATION 3");e[1]="NetFront";e[2]=0;e[3]=0;e[4]=0;h.browser[84]=e;e=Object.create(null);e[0]=new RegExp("(PlayStation Portable)");e[1]="NetFront";e[2]=0;e[3]=0;e[4]=0;h.browser[85]=e;e=Object.create(null);e[0]=new RegExp("(PlayStation Vita)");e[1]="NetFront NX";e[2]=0;e[3]=0;e[4]=0;h.browser[86]=e;e=Object.create(null);e[0]=new RegExp("AppleWebKit.+ (NX)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="NetFront NX";e[2]=0;e[3]=0;e[4]=0;h.browser[87]=e;e=Object.create(null);e[0]=new RegExp("(Nintendo 3DS)");e[1]="NetFront NX";e[2]=0;e[3]=0;e[4]=0;h.browser[88]=e;e=Object.create(null);e[0]=new RegExp("(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+))?");e[1]="Amazon Silk";e[2]=0;e[3]=0;e[4]=0;h.browser[89]=e;e=Object.create(null);e[0]=new RegExp("(Puffin)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[90]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone .*(Edge)/(\\d+)\\.(\\d+)");e[1]="Edge Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[91]=e;e=Object.create(null);e[0]=new RegExp("(SamsungBrowser)/(\\d+)\\.(\\d+)");e[1]="Samsung Internet";e[2]=0;e[3]=0;e[4]=0;h.browser[92]=e;e=Object.create(null);e[0]=new RegExp("(SznProhlizec)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Seznam.cz";e[2]=0;e[3]=0;e[4]=0;h.browser[93]=e;e=Object.create(null);e[0]=new RegExp("(coc_coc_browser)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Coc Coc";e[2]=0;e[3]=0;e[4]=0;h.browser[94]=e;e=Object.create(null);e[0]=new RegExp("(baidubrowser)[/\\s](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]="Baidu Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[95]=e;e=Object.create(null);e[0]=new RegExp("(FlyFlow)/(\\d+)\\.(\\d+)");e[1]="Baidu Explorer";e[2]=0;e[3]=0;e[4]=0;h.browser[96]=e;e=Object.create(null);e[0]=new RegExp("(MxBrowser)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Maxthon";e[2]=0;e[3]=0;e[4]=0;h.browser[97]=e;e=Object.create(null);e[0]=new RegExp("(Crosswalk)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[98]=e;e=Object.create(null);e[0]=new RegExp("; wv\\).+(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Chrome Mobile WebView";e[2]=0;e[3]=0;e[4]=0;h.browser[99]=e;e=Object.create(null);e[0]=new RegExp("(CrMo)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Chrome Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[100]=e;e=Object.create(null);e[0]=new RegExp("(CriOS)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Chrome Mobile iOS";e[2]=0;e[3]=0;e[4]=0;h.browser[101]=e;e=Object.create(null);e[0]=new RegExp("(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) Mobile(?:[ /]|$)");e[1]="Chrome Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[102]=e;e=Object.create(null);e[0]=new RegExp(" Mobile .*(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Chrome Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[103]=e;e=Object.create(null);e[0]=new RegExp("(chromeframe)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Chrome Frame";e[2]=0;e[3]=0;e[4]=0;h.browser[104]=e;e=Object.create(null);e[0]=new RegExp("(SLP Browser)/(\\d+)\\.(\\d+)");e[1]="Tizen Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[105]=e;e=Object.create(null);e[0]=new RegExp("(SE 2\\.X) MetaSr (\\d+)\\.(\\d+)");e[1]="Sogou Explorer";e[2]=0;e[3]=0;e[4]=0;h.browser[106]=e;e=Object.create(null);e[0]=new RegExp("(MQQBrowser/Mini)(?:(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]="QQ Browser Mini";e[2]=0;e[3]=0;e[4]=0;h.browser[107]=e;e=Object.create(null);e[0]=new RegExp("(MQQBrowser)(?:/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]="QQ Browser Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[108]=e;e=Object.create(null);e[0]=new RegExp("(QQBrowser)(?:/(\\d+)(?:\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]="QQ Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[109]=e;e=Object.create(null);e[0]=new RegExp("(Rackspace Monitoring)/(\\d+)\\.(\\d+)");e[1]="RackspaceBot";e[2]=0;e[3]=0;e[4]=0;h.browser[110]=e;e=Object.create(null);e[0]=new RegExp("(PyAMF)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[111]=e;e=Object.create(null);e[0]=new RegExp("(YaBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Yandex Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[112]=e;e=Object.create(null);e[0]=new RegExp("(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+).* MRCHROME");e[1]="Mail.ru Chromium Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[113]=e;e=Object.create(null);e[0]=new RegExp("(AOL) (\\d+)\\.(\\d+); AOLBuild (\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[114]=e;e=Object.create(null);e[0]=new RegExp("(PodCruncher|Downcast)[ /]?(\\d+)\\.?(\\d+)?\\.?(\\d+)?\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[115]=e;e=Object.create(null);e[0]=new RegExp(" (BoxNotes)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[116]=e;e=Object.create(null);e[0]=new RegExp("(Slack_SSB)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Slack Desktop Client";e[2]=0;e[3]=0;e[4]=0;h.browser[117]=e;e=Object.create(null);e[0]=new RegExp("(HipChat)/?(\\d+)?");e[1]="HipChat Desktop Client";e[2]=0;e[3]=0;e[4]=0;h.browser[118]=e;e=Object.create(null);e[0]=new RegExp("\\b(MobileIron|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Spotify|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave|MacOutlook|Electron)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[119]=e;e=Object.create(null);e[0]=new RegExp("Microsoft Office Outlook 12\\.\\d+\\.\\d+|MSOffice 12");e[1]="Outlook";e[2]="2007";e[3]=0;e[4]=0;h.browser[120]=e;e=Object.create(null);e[0]=new RegExp("Microsoft Outlook 14\\.\\d+\\.\\d+|MSOffice 14");e[1]="Outlook";e[2]="2010";e[3]=0;e[4]=0;h.browser[121]=e;e=Object.create(null);e[0]=new RegExp("Microsoft Outlook 15\\.\\d+\\.\\d+");e[1]="Outlook";e[2]="2013";e[3]=0;e[4]=0;h.browser[122]=e;e=Object.create(null);e[0]=new RegExp("Microsoft Outlook (?:Mail )?16\\.\\d+\\.\\d+");e[1]="Outlook";e[2]="2016";e[3]=0;e[4]=0;h.browser[123]=e;e=Object.create(null);e[0]=new RegExp("Outlook-Express\\/7\\.0.*");e[1]="Windows Live Mail";e[2]=0;e[3]=0;e[4]=0;h.browser[124]=e;e=Object.create(null);e[0]=new RegExp("(Airmail) (\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[125]=e;e=Object.create(null);e[0]=new RegExp("(Thunderbird)/(\\d+)\\.(\\d+)(?:\\.(\\d+(?:pre)?))?");e[1]="Thunderbird";e[2]=0;e[3]=0;e[4]=0;h.browser[126]=e;e=Object.create(null);e[0]=new RegExp("(Postbox)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Postbox";e[2]=0;e[3]=0;e[4]=0;h.browser[127]=e;e=Object.create(null);e[0]=new RegExp("(Barca(?:Pro)?)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Barca";e[2]=0;e[3]=0;e[4]=0;h.browser[128]=e;e=Object.create(null);e[0]=new RegExp("(Lotus-Notes)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Lotus Notes";e[2]=0;e[3]=0;e[4]=0;h.browser[129]=e;e=Object.create(null);e[0]=new RegExp("(Vivaldi)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[130]=e;e=Object.create(null);e[0]=new RegExp("(Edge)/(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[131]=e;e=Object.create(null);e[0]=new RegExp("(brave)/(\\d+)\\.(\\d+)\\.(\\d+) Chrome");e[1]="Brave";e[2]=0;e[3]=0;e[4]=0;h.browser[132]=e;e=Object.create(null);e[0]=new RegExp("(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)[\\d.]* Iron[^/]");e[1]="Iron";e[2]=0;e[3]=0;e[4]=0;h.browser[133]=e;e=Object.create(null);e[0]=new RegExp("\\b(Dolphin)(?: |HDCN/|/INT\\-)(\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[134]=e;e=Object.create(null);e[0]=new RegExp("(HeadlessChrome)(?:/(\\d+)\\.(\\d+)\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[135]=e;e=Object.create(null);e[0]=new RegExp("(Evolution)/(\\d+)\\.(\\d+)\\.(\\d+\\.\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[136]=e;e=Object.create(null);e[0]=new RegExp("(RCM CardDAV plugin)/(\\d+)\\.(\\d+)\\.(\\d+(?:-dev)?)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[137]=e;e=Object.create(null);e[0]=new RegExp("(bingbot|Bolt|AdobeAIR|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|iTunes|MacAppStore|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin|qutebrowser|Otter|QupZilla|MailBar|kmail2|YahooMobileMail|ExchangeWebServices|ExchangeServicesClient|Dragon|Outlook-iOS-Android)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[138]=e;e=Object.create(null);e[0]=new RegExp("(Chromium|Chrome)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[139]=e;e=Object.create(null);e[0]=new RegExp("(IEMobile)[ /](\\d+)\\.(\\d+)");e[1]="IE Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[140]=e;e=Object.create(null);e[0]=new RegExp("(BacaBerita App)\\/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[141]=e;e=Object.create(null);e[0]=new RegExp("^(bPod|Pocket Casts|Player FM)$");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[142]=e;e=Object.create(null);e[0]=new RegExp("^(AlexaMediaPlayer|VLC)/(\\d+)\\.(\\d+)\\.([^.\\s]+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[143]=e;e=Object.create(null);e[0]=new RegExp("^(AntennaPod|WMPlayer|Zune|Podkicker|Radio|ExoPlayerDemo|Overcast|PocketTunes|NSPlayer|okhttp|DoggCatcher|QuickNews|QuickTime|Peapod|Podcasts|GoldenPod|VLC|Spotify|Miro|MediaGo|Juice|iPodder|gPodder|Banshee)/(\\d+)\\.(\\d+)\\.?(\\d+)?\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[144]=e;e=Object.create(null);e[0]=new RegExp("^(Peapod|Liferea)/([^.\\s]+)\\.([^.\\s]+)?\\.?([^.\\s]+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[145]=e;e=Object.create(null);e[0]=new RegExp("^(bPod|Player FM) BMID/(\\S+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[146]=e;e=Object.create(null);e[0]=new RegExp("^(Podcast ?Addict)/v(\\d+) ");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[147]=e;e=Object.create(null);e[0]=new RegExp("^(Podcast ?Addict) ");e[1]="PodcastAddict";e[2]=0;e[3]=0;e[4]=0;h.browser[148]=e;e=Object.create(null);e[0]=new RegExp("(Replay) AV");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[149]=e;e=Object.create(null);e[0]=new RegExp("(VOX) Music Player");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[150]=e;e=Object.create(null);e[0]=new RegExp("(CITA) RSS Aggregator/(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[151]=e;e=Object.create(null);e[0]=new RegExp("(Pocket Casts)$");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[152]=e;e=Object.create(null);e[0]=new RegExp("(Player FM)$");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[153]=e;e=Object.create(null);e[0]=new RegExp("(LG Player|Doppler|FancyMusic|MediaMonkey|Clementine) (\\d+)\\.(\\d+)\\.?([^.\\s]+)?\\.?([^.\\s]+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[154]=e;e=Object.create(null);e[0]=new RegExp("(philpodder)/(\\d+)\\.(\\d+)\\.?([^.\\s]+)?\\.?([^.\\s]+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[155]=e;e=Object.create(null);e[0]=new RegExp("(Player FM|Pocket Casts|DoggCatcher|Spotify|MediaMonkey|MediaGo|BashPodder)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[156]=e;e=Object.create(null);e[0]=new RegExp("(QuickTime)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[157]=e;e=Object.create(null);e[0]=new RegExp("(Kinoma)(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[158]=e;e=Object.create(null);e[0]=new RegExp("(Fancy) Cloud Music (\\d+)\\.(\\d+)");e[1]="FancyMusic";e[2]=0;e[3]=0;e[4]=0;h.browser[159]=e;e=Object.create(null);e[0]=new RegExp("EspnDownloadManager");e[1]="ESPN";e[2]=0;e[3]=0;e[4]=0;h.browser[160]=e;e=Object.create(null);e[0]=new RegExp("(ESPN) Radio (\\d+)\\.(\\d+)\\.?(\\d+)? ?[rv:]?(\\d+)? ");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[161]=e;e=Object.create(null);e[0]=new RegExp("(podracer|jPodder) v ?(\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[162]=e;e=Object.create(null);e[0]=new RegExp("(ZDM)/(\\d+)\\.(\\d+)[; ]?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[163]=e;e=Object.create(null);e[0]=new RegExp("(Zune|BeyondPod) (\\d+)\\.?(\\d+)?[\\);]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[164]=e;e=Object.create(null);e[0]=new RegExp("(WMPlayer)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[165]=e;e=Object.create(null);e[0]=new RegExp("^(Lavf)");e[1]="WMPlayer";e[2]=0;e[3]=0;e[4]=0;h.browser[166]=e;e=Object.create(null);e[0]=new RegExp("^(RSSRadio)[ /]?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[167]=e;e=Object.create(null);e[0]=new RegExp("(RSS_Radio) (\\d+)\\.(\\d+)");e[1]="RSSRadio";e[2]=0;e[3]=0;e[4]=0;h.browser[168]=e;e=Object.create(null);e[0]=new RegExp("(Podkicker) \\S+/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Podkicker";e[2]=0;e[3]=0;e[4]=0;h.browser[169]=e;e=Object.create(null);e[0]=new RegExp("^(HTC) Streaming Player \\S+ / \\S+ / \\S+ / (\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[170]=e;e=Object.create(null);e[0]=new RegExp("^(Stitcher)/iOS");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[171]=e;e=Object.create(null);e[0]=new RegExp("^(Stitcher)/Android");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[172]=e;e=Object.create(null);e[0]=new RegExp("^(VLC) .*version (\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[173]=e;e=Object.create(null);e[0]=new RegExp(" (VLC) for");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[174]=e;e=Object.create(null);e[0]=new RegExp("(vlc)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="VLC";e[2]=0;e[3]=0;e[4]=0;h.browser[175]=e;e=Object.create(null);e[0]=new RegExp("^(foobar)\\S+/([^.\\s]+)\\.([^.\\s]+)?\\.?([^.\\s]+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[176]=e;e=Object.create(null);e[0]=new RegExp("^(Clementine)\\S+ ([^.\\s]+)\\.([^.\\s]+)?\\.?([^.\\s]+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[177]=e;e=Object.create(null);e[0]=new RegExp("(amarok)/([^.\\s]+)\\.([^.\\s]+)?\\.?([^.\\s]+)?");e[1]="Amarok";e[2]=0;e[3]=0;e[4]=0;h.browser[178]=e;e=Object.create(null);e[0]=new RegExp("(Custom)-Feed Reader");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[179]=e;e=Object.create(null);e[0]=new RegExp("(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[180]=e;e=Object.create(null);e[0]=new RegExp("(iCab|Lunascape|Opera|Android|Jasmine|Polaris|Microsoft SkyDriveSync|The Bat!) (\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[181]=e;e=Object.create(null);e[0]=new RegExp("(Kindle)/(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[182]=e;e=Object.create(null);e[0]=new RegExp("(Android) Donut");e[1]=0;e[2]="1";e[3]="2";e[4]=0;h.browser[183]=e;e=Object.create(null);e[0]=new RegExp("(Android) Eclair");e[1]=0;e[2]="2";e[3]="1";e[4]=0;h.browser[184]=e;e=Object.create(null);e[0]=new RegExp("(Android) Froyo");e[1]=0;e[2]="2";e[3]="2";e[4]=0;h.browser[185]=e;e=Object.create(null);e[0]=new RegExp("(Android) Gingerbread");e[1]=0;e[2]="2";e[3]="3";e[4]=0;h.browser[186]=e;e=Object.create(null);e[0]=new RegExp("(Android) Honeycomb");e[1]=0;e[2]="3";e[3]=0;e[4]=0;h.browser[187]=e;e=Object.create(null);e[0]=new RegExp("(MSIE) (\\d+)\\.(\\d+).*XBLWP7");e[1]="IE Large Screen";e[2]=0;e[3]=0;e[4]=0;h.browser[188]=e;e=Object.create(null);e[0]=new RegExp("(Nextcloud)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[189]=e;e=Object.create(null);e[0]=new RegExp("(mirall)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[190]=e;e=Object.create(null);e[0]=new RegExp("(ownCloud-android)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Owncloud";e[2]=0;e[3]=0;e[4]=0;h.browser[191]=e;e=Object.create(null);e[0]=new RegExp("(Obigo)InternetBrowser");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[192]=e;e=Object.create(null);e[0]=new RegExp("(Obigo)\\-Browser");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[193]=e;e=Object.create(null);e[0]=new RegExp("(Obigo|OBIGO)[^\\d]*(\\d+)(?:.(\\d+))?");e[1]="Obigo";e[2]=0;e[3]=0;e[4]=0;h.browser[194]=e;e=Object.create(null);e[0]=new RegExp("(MAXTHON|Maxthon) (\\d+)\\.(\\d+)");e[1]="Maxthon";e[2]=0;e[3]=0;e[4]=0;h.browser[195]=e;e=Object.create(null);e[0]=new RegExp("(Maxthon|MyIE2|Uzbl|Shiira)");e[1]=0;e[2]="0";e[3]=0;e[4]=0;h.browser[196]=e;e=Object.create(null);e[0]=new RegExp("(BrowseX) \\((\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[197]=e;e=Object.create(null);e[0]=new RegExp("(NCSA_Mosaic)/(\\d+)\\.(\\d+)");e[1]="NCSA Mosaic";e[2]=0;e[3]=0;e[4]=0;h.browser[198]=e;e=Object.create(null);e[0]=new RegExp("(POLARIS)/(\\d+)\\.(\\d+)");e[1]="Polaris";e[2]=0;e[3]=0;e[4]=0;h.browser[199]=e;e=Object.create(null);e[0]=new RegExp("(Embider)/(\\d+)\\.(\\d+)");e[1]="Polaris";e[2]=0;e[3]=0;e[4]=0;h.browser[200]=e;e=Object.create(null);e[0]=new RegExp("(BonEcho)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+)?");e[1]="Bon Echo";e[2]=0;e[3]=0;e[4]=0;h.browser[201]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*[ +]Safari");e[1]="Mobile Safari";e[2]=0;e[3]=0;e[4]=0;h.browser[202]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+))?.* AppleNews\\/\\d+\\.\\d+\\.\\d+?");e[1]="Mobile Safari UI/WKWebView";e[2]=0;e[3]=0;e[4]=0;h.browser[203]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Mobile Safari UI/WKWebView";e[2]=0;e[3]=0;e[4]=0;h.browser[204]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+))?.*Mobile.*[ +]Safari");e[1]="Mobile Safari";e[2]=0;e[3]=0;e[4]=0;h.browser[205]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+))?.*Mobile");e[1]="Mobile Safari UI/WKWebView";e[2]=0;e[3]=0;e[4]=0;h.browser[206]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPhone|iPad).* Safari");e[1]="Mobile Safari";e[2]=0;e[3]=0;e[4]=0;h.browser[207]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPhone|iPad)");e[1]="Mobile Safari UI/WKWebView";e[2]=0;e[3]=0;e[4]=0;h.browser[208]=e;e=Object.create(null);e[0]=new RegExp("(AvantGo) (\\d+).(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[209]=e;e=Object.create(null);e[0]=new RegExp("(OneBrowser)/(\\d+).(\\d+)");e[1]="ONE Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[210]=e;e=Object.create(null);e[0]=new RegExp("(Avant)");e[1]=0;e[2]="1";e[3]=0;e[4]=0;h.browser[211]=e;e=Object.create(null);e[0]=new RegExp("(QtCarBrowser)");e[1]=0;e[2]="1";e[3]=0;e[4]=0;h.browser[212]=e;e=Object.create(null);e[0]=new RegExp("^(iBrowser/Mini)(\\d+).(\\d+)");e[1]="iBrowser Mini";e[2]=0;e[3]=0;e[4]=0;h.browser[213]=e;e=Object.create(null);e[0]=new RegExp("^(iBrowser|iRAPP)/(\\d+).(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[214]=e;e=Object.create(null);e[0]=new RegExp("^(Nokia)");e[1]="Nokia Services (WAP) Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[215]=e;e=Object.create(null);e[0]=new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)\\.(\\d+)");e[1]="Nokia Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[216]=e;e=Object.create(null);e[0]=new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)");e[1]="Nokia Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[217]=e;e=Object.create(null);e[0]=new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+)");e[1]="Nokia Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[218]=e;e=Object.create(null);e[0]=new RegExp("(BrowserNG)/(\\d+)\\.(\\d+).(\\d+)");e[1]="Nokia Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[219]=e;e=Object.create(null);e[0]=new RegExp("(Series60)/5\\.0");e[1]="Nokia Browser";e[2]="7";e[3]="0";e[4]=0;h.browser[220]=e;e=Object.create(null);e[0]=new RegExp("(Series60)/(\\d+)\\.(\\d+)");e[1]="Nokia OSS Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[221]=e;e=Object.create(null);e[0]=new RegExp("(S40OviBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Ovi Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[222]=e;e=Object.create(null);e[0]=new RegExp("(Nokia)[EN]?(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[223]=e;e=Object.create(null);e[0]=new RegExp("(PlayBook).+RIM Tablet OS (\\d+)\\.(\\d+)\\.(\\d+)");e[1]="BlackBerry WebKit";e[2]=0;e[3]=0;e[4]=0;h.browser[224]=e;e=Object.create(null);e[0]=new RegExp("(Black[bB]erry|BB10).+Version/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="BlackBerry WebKit";e[2]=0;e[3]=0;e[4]=0;h.browser[225]=e;e=Object.create(null);e[0]=new RegExp("(Black[bB]erry)\\s?(\\d+)");e[1]="BlackBerry";e[2]=0;e[3]=0;e[4]=0;h.browser[226]=e;e=Object.create(null);e[0]=new RegExp("(OmniWeb)/v(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[227]=e;e=Object.create(null);e[0]=new RegExp("(Blazer)/(\\d+)\\.(\\d+)");e[1]="Palm Blazer";e[2]=0;e[3]=0;e[4]=0;h.browser[228]=e;e=Object.create(null);e[0]=new RegExp("(Pre)/(\\d+)\\.(\\d+)");e[1]="Palm Pre";e[2]=0;e[3]=0;e[4]=0;h.browser[229]=e;e=Object.create(null);e[0]=new RegExp("(ELinks)/(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[230]=e;e=Object.create(null);e[0]=new RegExp("(ELinks) \\((\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[231]=e;e=Object.create(null);e[0]=new RegExp("(Links) \\((\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[232]=e;e=Object.create(null);e[0]=new RegExp("(QtWeb) Internet Browser/(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[233]=e;e=Object.create(null);e[0]=new RegExp("(PhantomJS)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[234]=e;e=Object.create(null);e[0]=new RegExp("(AppleWebKit)/(\\d+)\\.?(\\d+)?\\+ .* Safari");e[1]="WebKit Nightly";e[2]=0;e[3]=0;e[4]=0;h.browser[235]=e;e=Object.create(null);e[0]=new RegExp("(Version)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari/");e[1]="Safari";e[2]=0;e[3]=0;e[4]=0;h.browser[236]=e;e=Object.create(null);e[0]=new RegExp("(Safari)/\\d+");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[237]=e;e=Object.create(null);e[0]=new RegExp("(OLPC)/Update(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[238]=e;e=Object.create(null);e[0]=new RegExp("(OLPC)/Update()\\.(\\d+)");e[1]=0;e[2]="0";e[3]=0;e[4]=0;h.browser[239]=e;e=Object.create(null);e[0]=new RegExp("(SEMC\\-Browser)/(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[240]=e;e=Object.create(null);e[0]=new RegExp("(Teleca)");e[1]="Teleca Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[241]=e;e=Object.create(null);e[0]=new RegExp("(Phantom)/V(\\d+)\\.(\\d+)");e[1]="Phantom Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[242]=e;e=Object.create(null);e[0]=new RegExp("(Trident)/(7)\\.(0)");e[1]="IE";e[2]="11";e[3]=0;e[4]=0;h.browser[243]=e;e=Object.create(null);e[0]=new RegExp("(Trident)/(6)\\.(0)");e[1]="IE";e[2]="10";e[3]=0;e[4]=0;h.browser[244]=e;e=Object.create(null);e[0]=new RegExp("(Trident)/(5)\\.(0)");e[1]="IE";e[2]="9";e[3]=0;e[4]=0;h.browser[245]=e;e=Object.create(null);e[0]=new RegExp("(Trident)/(4)\\.(0)");e[1]="IE";e[2]="8";e[3]=0;e[4]=0;h.browser[246]=e;e=Object.create(null);e[0]=new RegExp("(Espial)/(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[247]=e;e=Object.create(null);e[0]=new RegExp("(AppleWebKit)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Apple Mail";e[2]=0;e[3]=0;e[4]=0;h.browser[248]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[249]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)(pre|[ab]\\d+[a-z]*)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[250]=e;e=Object.create(null);e[0]=new RegExp("([MS]?IE) (\\d+)\\.(\\d+)");e[1]="IE";e[2]=0;e[3]=0;e[4]=0;h.browser[251]=e;e=Object.create(null);e[0]=new RegExp("(python-requests)/(\\d+)\\.(\\d+)");e[1]="Python Requests";e[2]=0;e[3]=0;e[4]=0;h.browser[252]=e;e=Object.create(null);e[0]=new RegExp("\\b(Windows-Update-Agent|Microsoft-CryptoAPI|SophosUpdateManager|SophosAgent|Debian APT-HTTP|Ubuntu APT-HTTP|libcurl-agent|libwww-perl|urlgrabber|curl|Wget|OpenBSD ftp|jupdate)(?:[ /](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[253]=e;e=Object.create(null);e[0]=new RegExp("(Java)[/ ]{0,1}\\d+\\.(\\d+)\\.(\\d+)[_-]*([a-zA-Z0-9]+)*");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[254]=e;e=Object.create(null);e[0]=new RegExp("^(Roku)/DVP-(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[255]=e;e=Object.create(null);e[0]=new RegExp("(Kurio)\\/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Kurio App";e[2]=0;e[3]=0;e[4]=0;h.browser[256]=e;e=Object.create(null);e[0]=new RegExp("^(Box(?: Sync)?)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[257]=e;e=Object.create(null);e[0]=new RegExp("(Wget)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[258]=e;e=Object.create(null);e[0]=new RegExp("(curl)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="cURL";e[2]=0;e[3]=0;e[4]=0;h.browser[259]=e;h.browser.length=260;h.device=Object.create(null);e=Object.create(null);e[0]=new RegExp("(Rival IQ, rivaliq.com)");e[1]="Spider";e[2]=0;e[3]=0;e[4]=0;h.device[0]=e;e=Object.create(null);e[0]=new RegExp("(?:(?:iPhone|Windows CE|Windows Phone|Android).*(?:(?:Bot|Yeti)-Mobile|YRSpider|BingPreview|bots?/\\d|(?:bot|spider)\\.html)|AdsBot-Google-Mobile.*iPhone)");e[1]="Spider";e[2]=0;e[3]=0;e[4]=0;h.device[1]=e;e=Object.create(null);e[0]=new RegExp("(?:DoCoMo|\\bMOT\\b|\\bLG\\b|Nokia|Samsung|SonyEricsson).*(?:(?:Bot|Yeti)-Mobile|bots?/\\d|(?:bot|crawler)\\.html|(?:jump|google|Wukong)bot|ichiro/mobile|/spider|YahooSeeker)");e[1]="Spider";e[2]=0;e[3]=0;e[4]=0;h.device[2]=e;e=Object.create(null);e[0]=new RegExp("\\bSmartWatch *\\( *([^;]+) *; *([^;]+) *;");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[3]=e;e=Object.create(null);e[0]=new RegExp("Android Application[^\\-]+ - (Sony) ?(Ericsson)? (.+) \\w+ - ");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[4]=e;e=Object.create(null);e[0]=new RegExp("Android Application[^\\-]+ - (?:HTC|HUAWEI|LGE|LENOVO|MEDION|TCT) (HTC|HUAWEI|LG|LENOVO|MEDION|ALCATEL)[ _\\-](.+) \\w+ - ");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[5]=e;e=Object.create(null);e[0]=new RegExp("Android Application[^\\-]+ - ([^ ]+) (.+) \\w+ - ");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[6]=e;e=Object.create(null);e[0]=new RegExp("; *([BLRQ]C\\d{4}[A-Z]+) +Build/");e[1]="3Q $1";e[2]=0;e[3]=0;e[4]=0;h.device[7]=e;e=Object.create(null);e[0]=new RegExp("; *(?:3Q_)([^;/]+) +Build");e[1]="3Q $1";e[2]=0;e[3]=0;e[4]=0;h.device[8]=e;e=Object.create(null);e[0]=new RegExp("Android [34].*; *(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700(?: Lite| 3G)?|A701|B1-A71|A1-\\d{3}|B1-\\d{3}|V360|V370|W500|W500P|W501|W501P|W510|W511|W700|Slider SL101|DA22[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[9]=e;e=Object.create(null);e[0]=new RegExp("; *Acer Iconia Tab ([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[10]=e;e=Object.create(null);e[0]=new RegExp("; *(Z1[1235]0|E320[^/]*|S500|S510|Liquid[^;/]*|Iconia A\\d+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[11]=e;e=Object.create(null);e[0]=new RegExp("; *(Acer |ACER )([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[12]=e;e=Object.create(null);e[0]=new RegExp("; *(Advent )?(Vega(?:Bean|Comb)?).* Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[13]=e;e=Object.create(null);e[0]=new RegExp("; *(Ainol )?((?:NOVO|[Nn]ovo)[^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[14]=e;e=Object.create(null);e[0]=new RegExp("; *AIRIS[ _\\-]?([^/;\\)]+) *(?:;|\\)|Build)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[15]=e;e=Object.create(null);e[0]=new RegExp("; *(OnePAD[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[16]=e;e=Object.create(null);e[0]=new RegExp("; *Airpad[ \\-]([^;/]+) Build");e[1]="Airpad $1";e[2]=0;e[3]=0;e[4]=0;h.device[17]=e;e=Object.create(null);e[0]=new RegExp("; *(one ?touch) (EVO7|T10|T20) Build");e[1]="Alcatel One Touch $2";e[2]=0;e[3]=0;e[4]=0;h.device[18]=e;e=Object.create(null);e[0]=new RegExp("; *(?:alcatel[ _])?(?:(?:one[ _]?touch[ _])|ot[ \\-])([^;/]+);? Build");e[1]="Alcatel One Touch $1";e[2]=0;e[3]=0;e[4]=0;h.device[19]=e;e=Object.create(null);e[0]=new RegExp("; *(TCL)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[20]=e;e=Object.create(null);e[0]=new RegExp("; *(Vodafone Smart II|Optimus_Madrid) Build");e[1]="Alcatel $1";e[2]=0;e[3]=0;e[4]=0;h.device[21]=e;e=Object.create(null);e[0]=new RegExp("; *BASE_Lutea_3 Build");e[1]="Alcatel One Touch 998";e[2]=0;e[3]=0;e[4]=0;h.device[22]=e;e=Object.create(null);e[0]=new RegExp("; *BASE_Varia Build");e[1]="Alcatel One Touch 918D";e[2]=0;e[3]=0;e[4]=0;h.device[23]=e;e=Object.create(null);e[0]=new RegExp("; *((?:FINE|Fine)\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[24]=e;e=Object.create(null);e[0]=new RegExp("; *(ALLVIEW[ _]?|Allview[ _]?)((?:Speed|SPEED).*) Build/");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[25]=e;e=Object.create(null);e[0]=new RegExp("; *(ALLVIEW[ _]?|Allview[ _]?)?(AX1_Shine|AX2_Frenzy) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[26]=e;e=Object.create(null);e[0]=new RegExp("; *(ALLVIEW[ _]?|Allview[ _]?)([^;/]*) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[27]=e;e=Object.create(null);e[0]=new RegExp("; *(A13-MID) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[28]=e;e=Object.create(null);e[0]=new RegExp("; *(Allwinner)[ _\\-]?([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[29]=e;e=Object.create(null);e[0]=new RegExp("; *(A651|A701B?|A702|A703|A705|A706|A707|A711|A712|A713|A717|A722|A785|A801|A802|A803|A901|A902|A1002|A1003|A1006|A1007|A9701|A9703|Q710|Q80) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[30]=e;e=Object.create(null);e[0]=new RegExp("; *(?:AMOI|Amoi)[ _]([^;/]+) Build");e[1]="Amoi $1";e[2]=0;e[3]=0;e[4]=0;h.device[31]=e;e=Object.create(null);e[0]=new RegExp("^(?:AMOI|Amoi)[ _]([^;/]+) Linux");e[1]="Amoi $1";e[2]=0;e[3]=0;e[4]=0;h.device[32]=e;e=Object.create(null);e[0]=new RegExp("; *(MW(?:0[789]|10)[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[33]=e;e=Object.create(null);e[0]=new RegExp("; *(G7|M1013|M1015G|M11[CG]?|M-?12[B]?|M15|M19[G]?|M30[ACQ]?|M31[GQ]|M32|M33[GQ]|M36|M37|M38|M701T|M710|M712B|M713|M715G|M716G|M71(?:G|GS|T)?|M72[T]?|M73[T]?|M75[GT]?|M77G|M79T|M7L|M7LN|M81|M810|M81T|M82|M92|M92KS|M92S|M717G|M721|M722G|M723|M725G|M739|M785|M791|M92SK|M93D) Build");e[1]="Aoson $1";e[2]=0;e[3]=0;e[4]=0;h.device[34]=e;e=Object.create(null);e[0]=new RegExp("; *Aoson ([^;/]+) Build");e[1]="Aoson $1";e[2]=0;e[3]=0;e[4]=0;h.device[35]=e;e=Object.create(null);e[0]=new RegExp("; *[Aa]panda[ _\\-]([^;/]+) Build");e[1]="Apanda $1";e[2]=0;e[3]=0;e[4]=0;h.device[36]=e;e=Object.create(null);e[0]=new RegExp("; *(?:ARCHOS|Archos) ?(GAMEPAD.*?)(?: Build|[;/\\(\\)\\-])");e[1]="Archos $1";e[2]=0;e[3]=0;e[4]=0;h.device[37]=e;e=Object.create(null);e[0]=new RegExp("ARCHOS; GOGI; ([^;]+);");e[1]="Archos $1";e[2]=0;e[3]=0;e[4]=0;h.device[38]=e;e=Object.create(null);e[0]=new RegExp("(?:ARCHOS|Archos)[ _]?(.*?)(?: Build|[;/\\(\\)\\-]|$)");e[1]="Archos $1";e[2]=0;e[3]=0;e[4]=0;h.device[39]=e;e=Object.create(null);e[0]=new RegExp("; *(AN(?:7|8|9|10|13)[A-Z0-9]{1,4}) Build");e[1]="Archos $1";e[2]=0;e[3]=0;e[4]=0;h.device[40]=e;e=Object.create(null);e[0]=new RegExp("; *(A28|A32|A43|A70(?:BHT|CHT|HB|S|X)|A101(?:B|C|IT)|A7EB|A7EB-WK|101G9|80G9) Build");e[1]="Archos $1";e[2]=0;e[3]=0;e[4]=0;h.device[41]=e;e=Object.create(null);e[0]=new RegExp("; *(PAD-FMD[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[42]=e;e=Object.create(null);e[0]=new RegExp("; *(BioniQ) ?([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[43]=e;e=Object.create(null);e[0]=new RegExp("; *(AN\\d[^;/]+|ARCHM\\d+) Build");e[1]="Arnova $1";e[2]=0;e[3]=0;e[4]=0;h.device[44]=e;e=Object.create(null);e[0]=new RegExp("; *(?:ARNOVA|Arnova) ?([^;/]+) Build");e[1]="Arnova $1";e[2]=0;e[3]=0;e[4]=0;h.device[45]=e;e=Object.create(null);e[0]=new RegExp("; *(?:ASSISTANT )?(AP)-?([1789]\\d{2}[A-Z]{0,2}|80104) Build");e[1]="Assistant $1-$2";e[2]=0;e[3]=0;e[4]=0;h.device[46]=e;e=Object.create(null);e[0]=new RegExp("; *(ME17\\d[^;/]*|ME3\\d{2}[^;/]+|K00[A-Z]|Nexus 10|Nexus 7(?: 2013)?|PadFone[^;/]*|Transformer[^;/]*|TF\\d{3}[^;/]*|eeepc) Build");e[1]="Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[47]=e;e=Object.create(null);e[0]=new RegExp("; *ASUS[ _]*([^;/]+) Build");e[1]="Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[48]=e;e=Object.create(null);e[0]=new RegExp("; *Garmin-Asus ([^;/]+) Build");e[1]="Garmin-Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[49]=e;e=Object.create(null);e[0]=new RegExp("; *(Garminfone) Build");e[1]="Garmin $1";e[2]=0;e[3]=0;e[4]=0;h.device[50]=e;e=Object.create(null);e[0]=new RegExp("; (@TAB-[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[51]=e;e=Object.create(null);e[0]=new RegExp("; *(T-(?:07|[^0]\\d)[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[52]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Axioo[ _\\-]([^;/]+)|(picopad)[ _\\-]([^;/]+)) Build");e[1]="Axioo $1$2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[53]=e;e=Object.create(null);e[0]=new RegExp("; *(V(?:100|700|800)[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[54]=e;e=Object.create(null);e[0]=new RegExp("; *(IBAK\\-[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[55]=e;e=Object.create(null);e[0]=new RegExp("; *(HY5001|HY6501|X12|X21|I5) Build");e[1]="Bedove $1";e[2]=0;e[3]=0;e[4]=0;h.device[56]=e;e=Object.create(null);e[0]=new RegExp("; *(JC-[^;/]*) Build");e[1]="Benss $1";e[2]=0;e[3]=0;e[4]=0;h.device[57]=e;e=Object.create(null);e[0]=new RegExp("; *(BB) ([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[58]=e;e=Object.create(null);e[0]=new RegExp("; *(BlackBird)[ _](I8.*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[59]=e;e=Object.create(null);e[0]=new RegExp("; *(BlackBird)[ _](.*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[60]=e;e=Object.create(null);e[0]=new RegExp("; *([0-9]+BP[EM][^;/]*|Endeavour[^;/]+) Build");e[1]="Blaupunkt $1";e[2]=0;e[3]=0;e[4]=0;h.device[61]=e;e=Object.create(null);e[0]=new RegExp("; *((?:BLU|Blu)[ _\\-])([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[62]=e;e=Object.create(null);e[0]=new RegExp("; *(?:BMOBILE )?(Blu|BLU|DASH [^;/]+|VIVO 4\\.3|TANK 4\\.5) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[63]=e;e=Object.create(null);e[0]=new RegExp("; *(TOUCH\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[64]=e;e=Object.create(null);e[0]=new RegExp("; *(AX5\\d+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[65]=e;e=Object.create(null);e[0]=new RegExp("; *([Bb]q) ([^;/]+);? Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[66]=e;e=Object.create(null);e[0]=new RegExp("; *(Maxwell [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[67]=e;e=Object.create(null);e[0]=new RegExp("; *((?:B-Tab|B-TAB) ?\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[68]=e;e=Object.create(null);e[0]=new RegExp("; *(Broncho) ([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[69]=e;e=Object.create(null);e[0]=new RegExp("; *CAPTIVA ([^;/]+) Build");e[1]="Captiva $1";e[2]=0;e[3]=0;e[4]=0;h.device[70]=e;e=Object.create(null);e[0]=new RegExp("; *(C771|CAL21|IS11CA) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[71]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Cat|CAT) ([^;/]+) Build");e[1]="Cat $1";e[2]=0;e[3]=0;e[4]=0;h.device[72]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Cat)(Nova.*) Build");e[1]="Cat $1";e[2]=0;e[3]=0;e[4]=0;h.device[73]=e;e=Object.create(null);e[0]=new RegExp("; *(INM8002KP|ADM8000KP_[AB]) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[74]=e;e=Object.create(null);e[0]=new RegExp("; *(?:[Cc]elkon[ _\\*]|CELKON[ _\\*])([^;/\\)]+) ?(?:Build|;|\\))");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[75]=e;e=Object.create(null);e[0]=new RegExp("Build/(?:[Cc]elkon)+_?([^;/_\\)]+)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[76]=e;e=Object.create(null);e[0]=new RegExp("; *(CT)-?(\\d+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[77]=e;e=Object.create(null);e[0]=new RegExp("; *(A19|A19Q|A105|A107[^;/\\)]*) ?(?:Build|;|\\))");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[78]=e;e=Object.create(null);e[0]=new RegExp("; *(TPC[0-9]{4,5}) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[79]=e;e=Object.create(null);e[0]=new RegExp("; *(Cloudfone)[ _](Excite)([^ ][^;/]+) Build");e[1]="$1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[80]=e;e=Object.create(null);e[0]=new RegExp("; *(Excite|ICE)[ _](\\d+[^;/]+) Build");e[1]="Cloudfone $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[81]=e;e=Object.create(null);e[0]=new RegExp("; *(Cloudfone|CloudPad)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[82]=e;e=Object.create(null);e[0]=new RegExp("; *((?:Aquila|Clanga|Rapax)[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[83]=e;e=Object.create(null);e[0]=new RegExp("; *(?:CFW-|Kyros )?(MID[0-9]{4}(?:[ABC]|SR|TV)?)(\\(3G\\)-4G| GB 8K| 3G| 8K| GB)? *(?:Build|[;\\)])");e[1]="CobyKyros $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[84]=e;e=Object.create(null);e[0]=new RegExp("; *([^;/]*)Coolpad[ _]([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[85]=e;e=Object.create(null);e[0]=new RegExp("; *(CUBE[ _])?([KU][0-9]+ ?GT.*|A5300) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[86]=e;e=Object.create(null);e[0]=new RegExp("; *CUBOT ([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[87]=e;e=Object.create(null);e[0]=new RegExp("; *(BOBBY) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[88]=e;e=Object.create(null);e[0]=new RegExp("; *(Dslide [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[89]=e;e=Object.create(null);e[0]=new RegExp("; *(XCD)[ _]?(28|35) Build");e[1]="Dell $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[90]=e;e=Object.create(null);e[0]=new RegExp("; *(001DL) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[91]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Dell|DELL) (Streak) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[92]=e;e=Object.create(null);e[0]=new RegExp("; *(101DL|GS01|Streak Pro[^;/]*) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[93]=e;e=Object.create(null);e[0]=new RegExp("; *([Ss]treak ?7) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[94]=e;e=Object.create(null);e[0]=new RegExp("; *(Mini-3iX) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[95]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Dell|DELL)[ _](Aero|Venue|Thunder|Mini.*|Streak[ _]Pro) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[96]=e;e=Object.create(null);e[0]=new RegExp("; *Dell[ _]([^;/]+) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[97]=e;e=Object.create(null);e[0]=new RegExp("; *Dell ([^;/]+) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[98]=e;e=Object.create(null);e[0]=new RegExp("; *(TA[CD]-\\d+[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[99]=e;e=Object.create(null);e[0]=new RegExp("; *(iP[789]\\d{2}(?:-3G)?|IP10\\d{2}(?:-8GB)?) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[100]=e;e=Object.create(null);e[0]=new RegExp("; *(AirTab)[ _\\-]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[101]=e;e=Object.create(null);e[0]=new RegExp("; *(F\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[102]=e;e=Object.create(null);e[0]=new RegExp("; *(HT-03A) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[103]=e;e=Object.create(null);e[0]=new RegExp("; *(HT\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[104]=e;e=Object.create(null);e[0]=new RegExp("; *(L\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[105]=e;e=Object.create(null);e[0]=new RegExp("; *(N\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[106]=e;e=Object.create(null);e[0]=new RegExp("; *(P\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[107]=e;e=Object.create(null);e[0]=new RegExp("; *(SC\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[108]=e;e=Object.create(null);e[0]=new RegExp("; *(SH\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[109]=e;e=Object.create(null);e[0]=new RegExp("; *(SO\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[110]=e;e=Object.create(null);e[0]=new RegExp("; *(T\\-0[12][^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[111]=e;e=Object.create(null);e[0]=new RegExp("; *(DOOV)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[112]=e;e=Object.create(null);e[0]=new RegExp("; *(Enot|ENOT)[ -]?([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[113]=e;e=Object.create(null);e[0]=new RegExp("; *[^;/]+ Build/(?:CROSS|Cross)+[ _\\-]([^\\)]+)");e[1]="CROSS $1";e[2]=0;e[3]=0;e[4]=0;h.device[114]=e;e=Object.create(null);e[0]=new RegExp("; *(CROSS|Cross)[ _\\-]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[115]=e;e=Object.create(null);e[0]=new RegExp("; *Explay[_ ](.+?)(?:[\\)]| Build)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[116]=e;e=Object.create(null);e[0]=new RegExp("; *(IQ.*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[117]=e;e=Object.create(null);e[0]=new RegExp("; *(Fly|FLY)[ _](IQ[^;]+|F[34]\\d+[^;]*);? Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[118]=e;e=Object.create(null);e[0]=new RegExp("; *(M532|Q572|FJL21) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[119]=e;e=Object.create(null);e[0]=new RegExp("; *(G1) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[120]=e;e=Object.create(null);e[0]=new RegExp("; *(Geeksphone) ([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[121]=e;e=Object.create(null);e[0]=new RegExp("; *(G[^F]?FIVE) ([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[122]=e;e=Object.create(null);e[0]=new RegExp("; *(Gionee)[ _\\-]([^;/]+)(?:/[^;/]+)? Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[123]=e;e=Object.create(null);e[0]=new RegExp("; *(GN\\d+[A-Z]?|INFINITY_PASSION|Ctrl_V1) Build");e[1]="Gionee $1";e[2]=0;e[3]=0;e[4]=0;h.device[124]=e;e=Object.create(null);e[0]=new RegExp("; *(E3) Build/JOP40D");e[1]="Gionee $1";e[2]=0;e[3]=0;e[4]=0;h.device[125]=e;e=Object.create(null);e[0]=new RegExp("\\sGIONEE[-\\s_](\\w*)");e[1]="Gionee $1";e[2]=0;e[3]=0;e[4]=0;h.device[126]=e;e=Object.create(null);e[0]=new RegExp("; *((?:FONE|QUANTUM|INSIGNIA) \\d+[^;/]*|PLAYTAB) Build");e[1]="GoClever $1";e[2]=0;e[3]=0;e[4]=0;h.device[127]=e;e=Object.create(null);e[0]=new RegExp("; *GOCLEVER ([^;/]+) Build");e[1]="GoClever $1";e[2]=0;e[3]=0;e[4]=0;h.device[128]=e;e=Object.create(null);e[0]=new RegExp("; *(Glass \\d+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[129]=e;e=Object.create(null);e[0]=new RegExp("; *(Pixel \\w+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[130]=e;e=Object.create(null);e[0]=new RegExp("; *(GSmart)[ -]([^/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[131]=e;e=Object.create(null);e[0]=new RegExp("; *(imx5[13]_[^/]+) Build");e[1]="Freescale $1";e[2]=0;e[3]=0;e[4]=0;h.device[132]=e;e=Object.create(null);e[0]=new RegExp("; *Haier[ _\\-]([^/]+) Build");e[1]="Haier $1";e[2]=0;e[3]=0;e[4]=0;h.device[133]=e;e=Object.create(null);e[0]=new RegExp("; *(PAD1016) Build");e[1]="Haipad $1";e[2]=0;e[3]=0;e[4]=0;h.device[134]=e;e=Object.create(null);e[0]=new RegExp("; *(M701|M7|M8|M9) Build");e[1]="Haipad $1";e[2]=0;e[3]=0;e[4]=0;h.device[135]=e;e=Object.create(null);e[0]=new RegExp("; *(SN\\d+T[^;\\)/]*)(?: Build|[;\\)])");e[1]="Hannspree $1";e[2]=0;e[3]=0;e[4]=0;h.device[136]=e;e=Object.create(null);e[0]=new RegExp("Build/HCL ME Tablet ([^;\\)]+)[\\);]");e[1]="HCLme $1";e[2]=0;e[3]=0;e[4]=0;h.device[137]=e;e=Object.create(null);e[0]=new RegExp("; *([^;\\/]+) Build/HCL");e[1]="HCLme $1";e[2]=0;e[3]=0;e[4]=0;h.device[138]=e;e=Object.create(null);e[0]=new RegExp("; *(MID-?\\d{4}C[EM]) Build");e[1]="Hena $1";e[2]=0;e[3]=0;e[4]=0;h.device[139]=e;e=Object.create(null);e[0]=new RegExp("; *(EG\\d{2,}|HS-[^;/]+|MIRA[^;/]+) Build");e[1]="Hisense $1";e[2]=0;e[3]=0;e[4]=0;h.device[140]=e;e=Object.create(null);e[0]=new RegExp("; *(andromax[^;/]+) Build");e[1]="Hisense $1";e[2]=0;e[3]=0;e[4]=0;h.device[141]=e;e=Object.create(null);e[0]=new RegExp("; *(?:AMAZE[ _](S\\d+)|(S\\d+)[ _]AMAZE) Build");e[1]="AMAZE $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[142]=e;e=Object.create(null);e[0]=new RegExp("; *(PlayBook) Build");e[1]="HP $1";e[2]=0;e[3]=0;e[4]=0;h.device[143]=e;e=Object.create(null);e[0]=new RegExp("; *HP ([^/]+) Build");e[1]="HP $1";e[2]=0;e[3]=0;e[4]=0;h.device[144]=e;e=Object.create(null);e[0]=new RegExp("; *([^/]+_tenderloin) Build");e[1]="HP TouchPad";e[2]=0;e[3]=0;e[4]=0;h.device[145]=e;e=Object.create(null);e[0]=new RegExp("; *(HUAWEI |Huawei-)?([UY][^;/]+) Build/(?:Huawei|HUAWEI)([UY][^\\);]+)\\)");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[146]=e;e=Object.create(null);e[0]=new RegExp("; *([^;/]+) Build[/ ]Huawei(MT1-U06|[A-Z]+\\d+[^\\);]+)[^\\);]*\\)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[147]=e;e=Object.create(null);e[0]=new RegExp("; *(S7|M860) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[148]=e;e=Object.create(null);e[0]=new RegExp("; *((?:HUAWEI|Huawei)[ \\-]?)(MediaPad) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[149]=e;e=Object.create(null);e[0]=new RegExp("; *((?:HUAWEI[ _]?|Huawei[ _])?Ascend[ _])([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[150]=e;e=Object.create(null);e[0]=new RegExp("; *((?:HUAWEI|Huawei)[ _\\-]?)((?:G700-|MT-)[^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[151]=e;e=Object.create(null);e[0]=new RegExp("; *((?:HUAWEI|Huawei)[ _\\-]?)([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[152]=e;e=Object.create(null);e[0]=new RegExp("; *(MediaPad[^;]+|SpringBoard) Build/Huawei");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[153]=e;e=Object.create(null);e[0]=new RegExp("; *([^;]+) Build/(?:Huawei|HUAWEI)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[154]=e;e=Object.create(null);e[0]=new RegExp("; *([Uu])([89]\\d{3}) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[155]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Ideos |IDEOS )(S7) Build");e[1]="Huawei Ideos$1";e[2]=0;e[3]=0;e[4]=0;h.device[156]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Ideos |IDEOS )([^;/]+\\s*|\\s*)Build");e[1]="Huawei Ideos$1";e[2]=0;e[3]=0;e[4]=0;h.device[157]=e;e=Object.create(null);e[0]=new RegExp("; *(Orange Daytona|Pulse|Pulse Mini|Vodafone 858|C8500|C8600|C8650|C8660|Nexus 6P|ATH-.+?) Build[/ ]");e[1]="Huawei $1";e[2]=0;e[3]=0;e[4]=0;h.device[158]=e;e=Object.create(null);e[0]=new RegExp("; *HTC[ _]([^;]+); Windows Phone");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[159]=e;e=Object.create(null);e[0]=new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[160]=e;e=Object.create(null);e[0]=new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+))?(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))");e[1]="HTC $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[161]=e;e=Object.create(null);e[0]=new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+))?)?(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))");e[1]="HTC $1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[162]=e;e=Object.create(null);e[0]=new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+))?)?)?(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))");e[1]="HTC $1 $2 $3 $4";e[2]=0;e[3]=0;e[4]=0;h.device[163]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/;]+)(?: *Build|[;\\)]| - )");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[164]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/;\\)]+))?(?: *Build|[;\\)]| - )");e[1]="HTC $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[165]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/;\\)]+))?)?(?: *Build|[;\\)]| - )");e[1]="HTC $1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[166]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ /;]+))?)?)?(?: *Build|[;\\)]| - )");e[1]="HTC $1 $2 $3 $4";e[2]=0;e[3]=0;e[4]=0;h.device[167]=e;e=Object.create(null);e[0]=new RegExp("HTC Streaming Player [^\\/]*/[^\\/]*/ htc_([^/]+) /");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[168]=e;e=Object.create(null);e[0]=new RegExp("(?:[;,] *|^)(?:htccn_chs-)?HTC[ _-]?([^;]+?)(?: *Build|clay|Android|-?Mozilla| Opera| Profile| UNTRUSTED|[;/\\(\\)]|$)");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[169]=e;e=Object.create(null);e[0]=new RegExp("; *(A6277|ADR6200|ADR6300|ADR6350|ADR6400[A-Z]*|ADR6425[A-Z]*|APX515CKT|ARIA|Desire[^_ ]*|Dream|EndeavorU|Eris|Evo|Flyer|HD2|Hero|HERO200|Hero CDMA|HTL21|Incredible|Inspire[A-Z0-9]*|Legend|Liberty|Nexus ?(?:One|HD2)|One|One S C2|One[ _]?(?:S|V|X\\+?)\\w*|PC36100|PG06100|PG86100|S31HT|Sensation|Wildfire)(?: Build|[/;\\(\\)])");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[170]=e;e=Object.create(null);e[0]=new RegExp("; *(ADR6200|ADR6400L|ADR6425LVW|Amaze|DesireS?|EndeavorU|Eris|EVO|Evo\\d[A-Z]+|HD2|IncredibleS?|Inspire[A-Z0-9]*|Inspire[A-Z0-9]*|Sensation[A-Z0-9]*|Wildfire)[ _-](.+?)(?:[/;\\)]|Build|MIUI|1\\.0)");e[1]="HTC $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[171]=e;e=Object.create(null);e[0]=new RegExp("; *HYUNDAI (T\\d[^/]*) Build");e[1]="Hyundai $1";e[2]=0;e[3]=0;e[4]=0;h.device[172]=e;e=Object.create(null);e[0]=new RegExp("; *HYUNDAI ([^;/]+) Build");e[1]="Hyundai $1";e[2]=0;e[3]=0;e[4]=0;h.device[173]=e;e=Object.create(null);e[0]=new RegExp("; *(X700|Hold X|MB-6900) Build");e[1]="Hyundai $1";e[2]=0;e[3]=0;e[4]=0;h.device[174]=e;e=Object.create(null);e[0]=new RegExp("; *(?:iBall[ _\\-])?(Andi)[ _]?(\\d[^;/]*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[175]=e;e=Object.create(null);e[0]=new RegExp("; *(IBall)(?:[ _]([^;/]+)|) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[176]=e;e=Object.create(null);e[0]=new RegExp("; *(NT-\\d+[^ ;/]*|Net[Tt]AB [^;/]+|Mercury [A-Z]+|iconBIT)(?: S/N:[^;/]+)? Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[177]=e;e=Object.create(null);e[0]=new RegExp("; *(IMO)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[178]=e;e=Object.create(null);e[0]=new RegExp("; *i-?mobile[ _]([^/]+) Build/");e[1]="i-mobile $1";e[2]=0;e[3]=0;e[4]=0;h.device[179]=e;e=Object.create(null);e[0]=new RegExp("; *(i-(?:style|note)[^/]*) Build/");e[1]="i-mobile $1";e[2]=0;e[3]=0;e[4]=0;h.device[180]=e;e=Object.create(null);e[0]=new RegExp("; *(ImPAD) ?(\\d+(?:.)*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[181]=e;e=Object.create(null);e[0]=new RegExp("; *(Infinix)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[182]=e;e=Object.create(null);e[0]=new RegExp("; *(Informer)[ \\-]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[183]=e;e=Object.create(null);e[0]=new RegExp("; *(TAB) ?([78][12]4) Build");e[1]="Intenso $1";e[2]=0;e[3]=0;e[4]=0;h.device[184]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Intex[ _])?(AQUA|Aqua)([ _\\.\\-])([^;/]+) *(?:Build|;)");e[1]="$1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[185]=e;e=Object.create(null);e[0]=new RegExp("; *(?:INTEX|Intex)(?:[_ ]([^\\ _;/]+))(?:[_ ]([^\\ _;/]+))? *(?:Build|;)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[186]=e;e=Object.create(null);e[0]=new RegExp("; *([iI]Buddy)[ _]?(Connect)(?:_|\\?_| )?([^;/]*) *(?:Build|;)");e[1]="$1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[187]=e;e=Object.create(null);e[0]=new RegExp("; *(I-Buddy)[ _]([^;/]+) *(?:Build|;)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[188]=e;e=Object.create(null);e[0]=new RegExp("; *(iOCEAN) ([^/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[189]=e;e=Object.create(null);e[0]=new RegExp("; *(TP\\d+(?:\\.\\d+)?\\-\\d[^;/]+) Build");e[1]="ionik $1";e[2]=0;e[3]=0;e[4]=0;h.device[190]=e;e=Object.create(null);e[0]=new RegExp("; *(M702pro) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[191]=e;e=Object.create(null);e[0]=new RegExp("; *(DE88Plus|MD70) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[192]=e;e=Object.create(null);e[0]=new RegExp("; *IVIO[_\\-]([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[193]=e;e=Object.create(null);e[0]=new RegExp("; *(TPC-\\d+|JAY-TECH) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[194]=e;e=Object.create(null);e[0]=new RegExp("; *(JY-[^;/]+|G[234]S?) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[195]=e;e=Object.create(null);e[0]=new RegExp("; *(JXD)[ _\\-]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[196]=e;e=Object.create(null);e[0]=new RegExp("; *Karbonn[ _]?([^;/]+) *(?:Build|;)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[197]=e;e=Object.create(null);e[0]=new RegExp("; *([^;]+) Build/Karbonn");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[198]=e;e=Object.create(null);e[0]=new RegExp("; *(A11|A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2|Titanium S\\d) +Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[199]=e;e=Object.create(null);e[0]=new RegExp("; *(IS01|IS03|IS05|IS\\d{2}SH) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[200]=e;e=Object.create(null);e[0]=new RegExp("; *(IS04) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[201]=e;e=Object.create(null);e[0]=new RegExp("; *(IS06|IS\\d{2}PT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[202]=e;e=Object.create(null);e[0]=new RegExp("; *(IS11S) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[203]=e;e=Object.create(null);e[0]=new RegExp("; *(IS11CA) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[204]=e;e=Object.create(null);e[0]=new RegExp("; *(IS11LG) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[205]=e;e=Object.create(null);e[0]=new RegExp("; *(IS11N) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[206]=e;e=Object.create(null);e[0]=new RegExp("; *(IS11PT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[207]=e;e=Object.create(null);e[0]=new RegExp("; *(IS12F) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[208]=e;e=Object.create(null);e[0]=new RegExp("; *(IS12M) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[209]=e;e=Object.create(null);e[0]=new RegExp("; *(IS12S) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[210]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW11F) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[211]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW11HT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[212]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW11K) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[213]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW11M) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[214]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW11SC) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[215]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW12HT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[216]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW13HT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[217]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW?[0-9]{2}[A-Z]{0,2}) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[218]=e;e=Object.create(null);e[0]=new RegExp("; *(INFOBAR [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[219]=e;e=Object.create(null);e[0]=new RegExp("; *(JOYPAD|Joypad)[ _]([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[220]=e;e=Object.create(null);e[0]=new RegExp("; *(Vox|VOX|Arc|K080) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[221]=e;e=Object.create(null);e[0]=new RegExp("\\b(Kobo Touch)\\b");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[222]=e;e=Object.create(null);e[0]=new RegExp("; *(K-Touch)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[223]=e;e=Object.create(null);e[0]=new RegExp("; *((?:EV|KM)-S\\d+[A-Z]?) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[224]=e;e=Object.create(null);e[0]=new RegExp("; *(Zio|Hydro|Torque|Event|EVENT|Echo|Milano|Rise|URBANO PROGRESSO|WX04K|WX06K|WX10K|KYL21|101K|C5[12]\\d{2}) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[225]=e;e=Object.create(null);e[0]=new RegExp("; *(?:LAVA[ _])?IRIS[ _\\-]?([^/;\\)]+) *(?:;|\\)|Build)");e[1]="Iris $1";e[2]=0;e[3]=0;e[4]=0;h.device[226]=e;e=Object.create(null);e[0]=new RegExp("; *LAVA[ _]([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[227]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(Aspire A1)|(?:LEMON|Lemon)[ _]([^;/]+))_? Build");e[1]="Lemon $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[228]=e;e=Object.create(null);e[0]=new RegExp("; *(TAB-1012) Build/");e[1]="Lenco $1";e[2]=0;e[3]=0;e[4]=0;h.device[229]=e;e=Object.create(null);e[0]=new RegExp("; Lenco ([^;/]+) Build/");e[1]="Lenco $1";e[2]=0;e[3]=0;e[4]=0;h.device[230]=e;e=Object.create(null);e[0]=new RegExp("; *(A1_07|A2107A-H|S2005A-H|S1-37AH0) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[231]=e;e=Object.create(null);e[0]=new RegExp("; *(Idea[Tp]ab)[ _]([^;/]+);? Build");e[1]="Lenovo $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[232]=e;e=Object.create(null);e[0]=new RegExp("; *(Idea(?:Tab|pad)) ?([^;/]+) Build");e[1]="Lenovo $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[233]=e;e=Object.create(null);e[0]=new RegExp("; *(ThinkPad) ?(Tablet) Build/");e[1]="Lenovo $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[234]=e;e=Object.create(null);e[0]=new RegExp("; *(?:LNV-)?(?:=?[Ll]enovo[ _\\-]?|LENOVO[ _])+(.+?)(?:Build|[;/\\)])");e[1]="Lenovo $1";e[2]=0;e[3]=0;e[4]=0;h.device[235]=e;e=Object.create(null);e[0]=new RegExp("[;,] (?:Vodafone )?(SmartTab) ?(II) ?(\\d+) Build/");e[1]="Lenovo $1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[236]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Ideapad )?K1 Build/");e[1]="Lenovo Ideapad K1";e[2]=0;e[3]=0;e[4]=0;h.device[237]=e;e=Object.create(null);e[0]=new RegExp("; *(3GC101|3GW10[01]|A390) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[238]=e;e=Object.create(null);e[0]=new RegExp("\\b(?:Lenovo|LENOVO)+[ _\\-]?([^,;:/ ]+)");e[1]="Lenovo $1";e[2]=0;e[3]=0;e[4]=0;h.device[239]=e;e=Object.create(null);e[0]=new RegExp("; *(MFC\\d+)[A-Z]{2}([^;,/]*),? Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[240]=e;e=Object.create(null);e[0]=new RegExp("; *(E[34][0-9]{2}|LS[6-8][0-9]{2}|VS[6-9][0-9]+[^;/]+|Nexus 4|Nexus 5X?|GT540f?|Optimus (?:2X|G|4X HD)|OptimusX4HD) *(?:Build|;)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[241]=e;e=Object.create(null);e[0]=new RegExp("[;:] *(L-\\d+[A-Z]|LGL\\d+[A-Z]?)(?:/V\\d+)? *(?:Build|[;\\)])");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[242]=e;e=Object.create(null);e[0]=new RegExp("; *(LG-)([A-Z]{1,2}\\d{2,}[^,;/\\)\\(]*?)(?:Build| V\\d+|[,;/\\)\\(]|$)");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[243]=e;e=Object.create(null);e[0]=new RegExp("; *(LG[ \\-]|LG)([^;/]+)[;/]? Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[244]=e;e=Object.create(null);e[0]=new RegExp("^(LG)-([^;/]+)/ Mozilla/.*; Android");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[245]=e;e=Object.create(null);e[0]=new RegExp("(Web0S); Linux/(SmartTV)");e[1]="LG $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[246]=e;e=Object.create(null);e[0]=new RegExp("; *((?:SMB|smb)[^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[247]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Malata|MALATA) ([^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[248]=e;e=Object.create(null);e[0]=new RegExp("; *(MS[45][0-9]{3}|MID0[568][NS]?|MID[1-9]|MID[78]0[1-9]|MID970[1-9]|MID100[1-9]) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[249]=e;e=Object.create(null);e[0]=new RegExp("; *(M1052|M806|M9000|M9100|M9701|MID100|MID120|MID125|MID130|MID135|MID140|MID701|MID710|MID713|MID727|MID728|MID731|MID732|MID733|MID735|MID736|MID737|MID760|MID800|MID810|MID820|MID830|MID833|MID835|MID860|MID900|MID930|MID933|MID960|MID980) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[250]=e;e=Object.create(null);e[0]=new RegExp("; *(GenxDroid7|MSD7.*|AX\\d.*|Tab 701|Tab 722) Build/");e[1]="Maxx $1";e[2]=0;e[3]=0;e[4]=0;h.device[251]=e;e=Object.create(null);e[0]=new RegExp("; *(M-PP[^;/]+|PhonePad ?\\d{2,}[^;/]+) Build");e[1]="Mediacom $1";e[2]=0;e[3]=0;e[4]=0;h.device[252]=e;e=Object.create(null);e[0]=new RegExp("; *(M-MP[^;/]+|SmartPad ?\\d{2,}[^;/]+) Build");e[1]="Mediacom $1";e[2]=0;e[3]=0;e[4]=0;h.device[253]=e;e=Object.create(null);e[0]=new RegExp("; *(?:MD_)?LIFETAB[ _]([^;/]+) Build");e[1]="Medion Lifetab $1";e[2]=0;e[3]=0;e[4]=0;h.device[254]=e;e=Object.create(null);e[0]=new RegExp("; *MEDION ([^;/]+) Build");e[1]="Medion $1";e[2]=0;e[3]=0;e[4]=0;h.device[255]=e;e=Object.create(null);e[0]=new RegExp("; *(M030|M031|M035|M040|M065|m9) Build");e[1]="Meizu $1";e[2]=0;e[3]=0;e[4]=0;h.device[256]=e;e=Object.create(null);e[0]=new RegExp("; *(?:meizu_|MEIZU )(.+?) *(?:Build|[;\\)])");e[1]="Meizu $1";e[2]=0;e[3]=0;e[4]=0;h.device[257]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Micromax[ _](A111|A240)|(A111|A240)) Build");e[1]="Micromax $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[258]=e;e=Object.create(null);e[0]=new RegExp("; *Micromax[ _](A\\d{2,3}[^;/]*) Build");e[1]="Micromax $1";e[2]=0;e[3]=0;e[4]=0;h.device[259]=e;e=Object.create(null);e[0]=new RegExp("; *(A\\d{2}|A[12]\\d{2}|A90S|A110Q) Build");e[1]="Micromax $1";e[2]=0;e[3]=0;e[4]=0;h.device[260]=e;e=Object.create(null);e[0]=new RegExp("; *Micromax[ _](P\\d{3}[^;/]*) Build");e[1]="Micromax $1";e[2]=0;e[3]=0;e[4]=0;h.device[261]=e;e=Object.create(null);e[0]=new RegExp("; *(P\\d{3}|P\\d{3}\\(Funbook\\)) Build");e[1]="Micromax $1";e[2]=0;e[3]=0;e[4]=0;h.device[262]=e;e=Object.create(null);e[0]=new RegExp("; *(MITO)[ _\\-]?([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[263]=e;e=Object.create(null);e[0]=new RegExp("; *(Cynus)[ _](F5|T\\d|.+?) *(?:Build|[;/\\)])");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[264]=e;e=Object.create(null);e[0]=new RegExp("; *(MODECOM )?(FreeTab) ?([^;/]+) Build");e[1]="$1$2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[265]=e;e=Object.create(null);e[0]=new RegExp("; *(MODECOM )([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[266]=e;e=Object.create(null);e[0]=new RegExp("; *(MZ\\d{3}\\+?|MZ\\d{3} 4G|Xoom|XOOM[^;/]*) Build");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[267]=e;e=Object.create(null);e[0]=new RegExp("; *(Milestone )(XT[^;/]*) Build");e[1]="Motorola $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[268]=e;e=Object.create(null);e[0]=new RegExp("; *(Motoroi ?x|Droid X|DROIDX) Build");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[269]=e;e=Object.create(null);e[0]=new RegExp("; *(Droid[^;/]*|DROID[^;/]*|Milestone[^;/]*|Photon|Triumph|Devour|Titanium) Build");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[270]=e;e=Object.create(null);e[0]=new RegExp("; *(A555|A85[34][^;/]*|A95[356]|ME[58]\\d{2}\\+?|ME600|ME632|ME722|MB\\d{3}\\+?|MT680|MT710|MT870|MT887|MT917|WX435|WX453|WX44[25]|XT\\d{3,4}[A-Z\\+]*|CL[iI]Q|CL[iI]Q XT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[271]=e;e=Object.create(null);e[0]=new RegExp("; *(Motorola MOT-|Motorola[ _\\-]|MOT\\-?)([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[272]=e;e=Object.create(null);e[0]=new RegExp("; *(Moto[_ ]?|MOT\\-)([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[273]=e;e=Object.create(null);e[0]=new RegExp("; *((?:MP[DQ]C|MPG\\d{1,4}|MP\\d{3,4}|MID(?:(?:10[234]|114|43|7[247]|8[24]|7)C|8[01]1))[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[274]=e;e=Object.create(null);e[0]=new RegExp("; *(?:MSI[ _])?(Primo\\d+|Enjoy[ _\\-][^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[275]=e;e=Object.create(null);e[0]=new RegExp("; *Multilaser[ _]([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[276]=e;e=Object.create(null);e[0]=new RegExp("; *(My)[_]?(Pad)[ _]([^;/]+) Build");e[1]="$1$2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[277]=e;e=Object.create(null);e[0]=new RegExp("; *(My)\\|?(Phone)[ _]([^;/]+) Build");e[1]="$1$2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[278]=e;e=Object.create(null);e[0]=new RegExp("; *(A\\d+)[ _](Duo)? Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[279]=e;e=Object.create(null);e[0]=new RegExp("; *(myTab[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[280]=e;e=Object.create(null);e[0]=new RegExp("; *(NABI2?-)([^;/]+) Build/");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[281]=e;e=Object.create(null);e[0]=new RegExp("; *(N-\\d+[CDE]) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[282]=e;e=Object.create(null);e[0]=new RegExp("; ?(NEC-)(.*) Build/");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[283]=e;e=Object.create(null);e[0]=new RegExp("; *(LT-NA7) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[284]=e;e=Object.create(null);e[0]=new RegExp("; *(NXM\\d+[A-z0-9_]*|Next\\d[A-z0-9_ \\-]*|NEXT\\d[A-z0-9_ \\-]*|Nextbook [A-z0-9_ ]*|DATAM803HC|M805)(?: Build|[\\);])");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[285]=e;e=Object.create(null);e[0]=new RegExp("; *(Nokia)([ _\\-]*)([^;/]*) Build");e[1]="$1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[286]=e;e=Object.create(null);e[0]=new RegExp("; *(Nook ?|Barnes & Noble Nook |BN )([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[287]=e;e=Object.create(null);e[0]=new RegExp("; *(NOOK )?(BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[288]=e;e=Object.create(null);e[0]=new RegExp("; Build/(Nook)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[289]=e;e=Object.create(null);e[0]=new RegExp("; *(OP110|OliPad[^;/]+) Build");e[1]="Olivetti $1";e[2]=0;e[3]=0;e[4]=0;h.device[290]=e;e=Object.create(null);e[0]=new RegExp("; *OMEGA[ _\\-](MID[^;/]+) Build");e[1]="Omega $1";e[2]=0;e[3]=0;e[4]=0;h.device[291]=e;e=Object.create(null);e[0]=new RegExp("^(MID7500|MID\\d+) Mozilla/5\\.0 \\(iPad;");e[1]="Omega $1";e[2]=0;e[3]=0;e[4]=0;h.device[292]=e;e=Object.create(null);e[0]=new RegExp("; *((?:CIUS|cius)[^;/]*) Build");e[1]="Openpeak $1";e[2]=0;e[3]=0;e[4]=0;h.device[293]=e;e=Object.create(null);e[0]=new RegExp("; *(Find ?(?:5|7a)|R8[012]\\d{1,2}|T703\\d{0,1}|U70\\d{1,2}T?|X90\\d{1,2}) Build");e[1]="Oppo $1";e[2]=0;e[3]=0;e[4]=0;h.device[294]=e;e=Object.create(null);e[0]=new RegExp("; *OPPO ?([^;/]+) Build/");e[1]="Oppo $1";e[2]=0;e[3]=0;e[4]=0;h.device[295]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Odys\\-|ODYS\\-|ODYS )([^;/]+) Build");e[1]="Odys $1";e[2]=0;e[3]=0;e[4]=0;h.device[296]=e;e=Object.create(null);e[0]=new RegExp("; *(SELECT) ?(7) Build");e[1]="Odys $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[297]=e;e=Object.create(null);e[0]=new RegExp("; *(PEDI)_(PLUS)_(W) Build");e[1]="Odys $1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[298]=e;e=Object.create(null);e[0]=new RegExp("; *(AEON|BRAVIO|FUSION|FUSION2IN1|Genio|EOS10|IEOS[^;/]*|IRON|Loox|LOOX|LOOX Plus|Motion|NOON|NOON_PRO|NEXT|OPOS|PEDI[^;/]*|PRIME[^;/]*|STUDYTAB|TABLO|Tablet-PC-4|UNO_X8|XELIO[^;/]*|Xelio ?\\d+ ?[Pp]ro|XENO10|XPRESS PRO) Build");e[1]="Odys $1";e[2]=0;e[3]=0;e[4]=0;h.device[299]=e;e=Object.create(null);e[0]=new RegExp("; (ONE [a-zA-Z]\\d+) Build/");e[1]="OnePlus $1";e[2]=0;e[3]=0;e[4]=0;h.device[300]=e;e=Object.create(null);e[0]=new RegExp("; (ONEPLUS [a-zA-Z]\\d+) Build/");e[1]="OnePlus $1";e[2]=0;e[3]=0;e[4]=0;h.device[301]=e;e=Object.create(null);e[0]=new RegExp("; *(TP-\\d+) Build/");e[1]="Orion $1";e[2]=0;e[3]=0;e[4]=0;h.device[302]=e;e=Object.create(null);e[0]=new RegExp("; *(G100W?) Build/");e[1]="PackardBell $1";e[2]=0;e[3]=0;e[4]=0;h.device[303]=e;e=Object.create(null);e[0]=new RegExp("; *(Panasonic)[_ ]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[304]=e;e=Object.create(null);e[0]=new RegExp("; *(FZ-A1B|JT-B1) Build");e[1]="Panasonic $1";e[2]=0;e[3]=0;e[4]=0;h.device[305]=e;e=Object.create(null);e[0]=new RegExp("; *(dL1|DL1) Build");e[1]="Panasonic $1";e[2]=0;e[3]=0;e[4]=0;h.device[306]=e;e=Object.create(null);e[0]=new RegExp("; *(SKY[ _])?(IM\\-[AT]\\d{3}[^;/]+).* Build/");e[1]="Pantech $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[307]=e;e=Object.create(null);e[0]=new RegExp("; *((?:ADR8995|ADR910L|ADR930L|ADR930VW|PTL21|P8000)(?: 4G)?) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[308]=e;e=Object.create(null);e[0]=new RegExp("; *Pantech([^;/]+).* Build/");e[1]="Pantech $1";e[2]=0;e[3]=0;e[4]=0;h.device[309]=e;e=Object.create(null);e[0]=new RegExp("; *(papyre)[ _\\-]([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[310]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Touchlet )?(X10\\.[^;/]+) Build/");e[1]="Pearl $1";e[2]=0;e[3]=0;e[4]=0;h.device[311]=e;e=Object.create(null);e[0]=new RegExp("; PHICOMM (i800) Build/");e[1]="Phicomm $1";e[2]=0;e[3]=0;e[4]=0;h.device[312]=e;e=Object.create(null);e[0]=new RegExp("; PHICOMM ([^;/]+) Build/");e[1]="Phicomm $1";e[2]=0;e[3]=0;e[4]=0;h.device[313]=e;e=Object.create(null);e[0]=new RegExp("; *(FWS\\d{3}[^;/]+) Build/");e[1]="Phicomm $1";e[2]=0;e[3]=0;e[4]=0;h.device[314]=e;e=Object.create(null);e[0]=new RegExp("; *(D633|D822|D833|T539|T939|V726|W335|W336|W337|W3568|W536|W5510|W626|W632|W6350|W6360|W6500|W732|W736|W737|W7376|W820|W832|W8355|W8500|W8510|W930) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[315]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Philips|PHILIPS)[ _]([^;/]+) Build");e[1]="Philips $1";e[2]=0;e[3]=0;e[4]=0;h.device[316]=e;e=Object.create(null);e[0]=new RegExp("Android 4\\..*; *(M[12356789]|U[12368]|S[123])\\ ?(pro)? Build");e[1]="Pipo $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[317]=e;e=Object.create(null);e[0]=new RegExp("; *(MOMO[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[318]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Polaroid[ _])?((?:MIDC\\d{3,}|PMID\\d{2,}|PTAB\\d{3,})[^;/]*)(\\/[^;/]*)? Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[319]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Polaroid )(Tablet) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[320]=e;e=Object.create(null);e[0]=new RegExp("; *(POMP)[ _\\-](.+?) *(?:Build|[;/\\)])");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[321]=e;e=Object.create(null);e[0]=new RegExp("; *(TB07STA|TB10STA|TB07FTA|TB10FTA) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[322]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Positivo )?((?:YPY|Ypy)[^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[323]=e;e=Object.create(null);e[0]=new RegExp("; *(MOB-[^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[324]=e;e=Object.create(null);e[0]=new RegExp("; *POV[ _\\-]([^;/]+) Build/");e[1]="POV $1";e[2]=0;e[3]=0;e[4]=0;h.device[325]=e;e=Object.create(null);e[0]=new RegExp("; *((?:TAB-PLAYTAB|TAB-PROTAB|PROTAB|PlayTabPro|Mobii[ _\\-]|TAB-P)[^;/]*) Build/");e[1]="POV $1";e[2]=0;e[3]=0;e[4]=0;h.device[326]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Prestigio )?((?:PAP|PMP)\\d[^;/]+) Build/");e[1]="Prestigio $1";e[2]=0;e[3]=0;e[4]=0;h.device[327]=e;e=Object.create(null);e[0]=new RegExp("; *(PLT[0-9]{4}.*) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[328]=e;e=Object.create(null);e[0]=new RegExp("; *(A2|A5|A8|A900)_?(Classic)? Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[329]=e;e=Object.create(null);e[0]=new RegExp("; *(Q[Mm]obile)_([^_]+)_([^_]+) Build");e[1]="Qmobile $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[330]=e;e=Object.create(null);e[0]=new RegExp("; *(Q\\-?[Mm]obile)[_ ](A[^;/]+) Build");e[1]="Qmobile $2";e[2]=0;e[3]=0;e[4]=0;h.device[331]=e;e=Object.create(null);e[0]=new RegExp("; *(Q\\-Smart)[ _]([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[332]=e;e=Object.create(null);e[0]=new RegExp("; *(Q\\-?[Mm]obile)[ _\\-](S[^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[333]=e;e=Object.create(null);e[0]=new RegExp("; *(TA1013) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[334]=e;e=Object.create(null);e[0]=new RegExp("; (RCT\\w+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[335]=e;e=Object.create(null);e[0]=new RegExp("; *(RK\\d+),? Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[336]=e;e=Object.create(null);e[0]=new RegExp(" Build/(RK\\d+)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[337]=e;e=Object.create(null);e[0]=new RegExp("; *(SAMSUNG |Samsung )?((?:Galaxy (?:Note II|S\\d)|GT-I9082|GT-I9205|GT-N7\\d{3}|SM-N9005)[^;/]*)\\/?[^;/]* Build/");e[1]="Samsung $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[338]=e;e=Object.create(null);e[0]=new RegExp("; *(Google )?(Nexus [Ss](?: 4G)?) Build/");e[1]="Samsung $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[339]=e;e=Object.create(null);e[0]=new RegExp("; *(SAMSUNG |Samsung )([^\\/]*)\\/[^ ]* Build/");e[1]="Samsung $2";e[2]=0;e[3]=0;e[4]=0;h.device[340]=e;e=Object.create(null);e[0]=new RegExp("; *(Galaxy(?: Ace| Nexus| S ?II+|Nexus S| with MCR 1.2| Mini Plus 4G)?) Build/");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[341]=e;e=Object.create(null);e[0]=new RegExp("; *(SAMSUNG[ _\\-] *)+([^;/]+) Build");e[1]="Samsung $2";e[2]=0;e[3]=0;e[4]=0;h.device[342]=e;e=Object.create(null);e[0]=new RegExp("; *(SAMSUNG-)?(GT\\-[BINPS]\\d{4}[^\\/]*)(\\/[^ ]*) Build");e[1]="Samsung $1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[343]=e;e=Object.create(null);e[0]=new RegExp("(?:; *|^)((?:GT\\-[BIiNPS]\\d{4}|I9\\d{2}0[A-Za-z\\+]?\\b)[^;/\\)]*?)(?:Build|Linux|MIUI|[;/\\)])");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[344]=e;e=Object.create(null);e[0]=new RegExp("; (SAMSUNG-)([A-Za-z0-9\\-]+).* Build/");e[1]="Samsung $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[345]=e;e=Object.create(null);e[0]=new RegExp("; *((?:SCH|SGH|SHV|SHW|SPH|SC|SM)\\-[A-Za-z0-9 ]+)(/?[^ ]*)? Build");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[346]=e;e=Object.create(null);e[0]=new RegExp(" ((?:SCH)\\-[A-Za-z0-9 ]+)(/?[^ ]*)? Build");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[347]=e;e=Object.create(null);e[0]=new RegExp("; *(Behold ?(?:2|II)|YP\\-G[^;/]+|EK-GC100|SCL21|I9300) Build");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[348]=e;e=Object.create(null);e[0]=new RegExp("; *(SH\\-?\\d\\d[^;/]+|SBM\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[349]=e;e=Object.create(null);e[0]=new RegExp("; *(SHARP[ -])([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[350]=e;e=Object.create(null);e[0]=new RegExp("; *(SPX[_\\-]\\d[^;/]*) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[351]=e;e=Object.create(null);e[0]=new RegExp("; *(SX7\\-PEARL\\.GmbH) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[352]=e;e=Object.create(null);e[0]=new RegExp("; *(SP[T]?\\-\\d{2}[^;/]*) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[353]=e;e=Object.create(null);e[0]=new RegExp("; *(SK\\-.*) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[354]=e;e=Object.create(null);e[0]=new RegExp("; *(?:SKYTEX|SX)-([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[355]=e;e=Object.create(null);e[0]=new RegExp("; *(IMAGINE [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[356]=e;e=Object.create(null);e[0]=new RegExp("; *(SmartQ) ?([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[357]=e;e=Object.create(null);e[0]=new RegExp("; *(WF7C|WF10C|SBT[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[358]=e;e=Object.create(null);e[0]=new RegExp("; *(SBM(?:003SH|005SH|006SH|007SH|102SH)) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[359]=e;e=Object.create(null);e[0]=new RegExp("; *(003P|101P|101P11C|102P) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[360]=e;e=Object.create(null);e[0]=new RegExp("; *(00\\dZ) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[361]=e;e=Object.create(null);e[0]=new RegExp("; HTC(X06HT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[362]=e;e=Object.create(null);e[0]=new RegExp("; *(001HT|X06HT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[363]=e;e=Object.create(null);e[0]=new RegExp("; *(201M) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[364]=e;e=Object.create(null);e[0]=new RegExp("; *(ST\\d{4}.*)Build/ST");e[1]="Trekstor $1";e[2]=0;e[3]=0;e[4]=0;h.device[365]=e;e=Object.create(null);e[0]=new RegExp("; *(ST\\d{4}.*) Build/");e[1]="Trekstor $1";e[2]=0;e[3]=0;e[4]=0;h.device[366]=e;e=Object.create(null);e[0]=new RegExp("; *(Sony ?Ericsson ?)([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[367]=e;e=Object.create(null);e[0]=new RegExp("; *((?:SK|ST|E|X|LT|MK|MT|WT)\\d{2}[a-z0-9]*(?:-o)?|R800i|U20i) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[368]=e;e=Object.create(null);e[0]=new RegExp("; *(Xperia (?:A8|Arc|Acro|Active|Live with Walkman|Mini|Neo|Play|Pro|Ray|X\\d+)[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[369]=e;e=Object.create(null);e[0]=new RegExp("; Sony (Tablet[^;/]+) Build");e[1]="Sony $1";e[2]=0;e[3]=0;e[4]=0;h.device[370]=e;e=Object.create(null);e[0]=new RegExp("; Sony ([^;/]+) Build");e[1]="Sony $1";e[2]=0;e[3]=0;e[4]=0;h.device[371]=e;e=Object.create(null);e[0]=new RegExp("; *(Sony)([A-Za-z0-9\\-]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[372]=e;e=Object.create(null);e[0]=new RegExp("; *(Xperia [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[373]=e;e=Object.create(null);e[0]=new RegExp("; *(C(?:1[0-9]|2[0-9]|53|55|6[0-9])[0-9]{2}|D[25]\\d{3}|D6[56]\\d{2}) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[374]=e;e=Object.create(null);e[0]=new RegExp("; *(SGP\\d{3}|SGPT\\d{2}) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[375]=e;e=Object.create(null);e[0]=new RegExp("; *(NW-Z1000Series) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[376]=e;e=Object.create(null);e[0]=new RegExp("PLAYSTATION 3");e[1]="PlayStation 3";e[2]=0;e[3]=0;e[4]=0;h.device[377]=e;e=Object.create(null);e[0]=new RegExp("(PlayStation (?:Portable|Vita|\\d+))");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[378]=e;e=Object.create(null);e[0]=new RegExp("; *((?:CSL_Spice|Spice|SPICE|CSL)[ _\\-]?)?([Mm][Ii])([ _\\-])?(\\d{3}[^;/]*) Build/");e[1]="$1$2$3$4";e[2]=0;e[3]=0;e[4]=0;h.device[379]=e;e=Object.create(null);e[0]=new RegExp("; *(Sprint )(.+?) *(?:Build|[;/])");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[380]=e;e=Object.create(null);e[0]=new RegExp("\\b(Sprint)[: ]([^;,/ ]+)");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[381]=e;e=Object.create(null);e[0]=new RegExp("; *(TAGI[ ]?)(MID) ?([^;/]+) Build/");e[1]="$1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[382]=e;e=Object.create(null);e[0]=new RegExp("; *(Oyster500|Opal 800) Build");e[1]="Tecmobile $1";e[2]=0;e[3]=0;e[4]=0;h.device[383]=e;e=Object.create(null);e[0]=new RegExp("; *(TECNO[ _])([^;/]+) Build/");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[384]=e;e=Object.create(null);e[0]=new RegExp("; *Android for (Telechips|Techvision) ([^ ]+) ");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[385]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Hub2) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[386]=e;e=Object.create(null);e[0]=new RegExp("; *(PAD) ?(100[12]) Build/");e[1]="Terra $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[387]=e;e=Object.create(null);e[0]=new RegExp("; *(T[BM]-\\d{3}[^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[388]=e;e=Object.create(null);e[0]=new RegExp("; *(tolino [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[389]=e;e=Object.create(null);e[0]=new RegExp("; *Build/.* (TOLINO_BROWSER)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[390]=e;e=Object.create(null);e[0]=new RegExp("; *(?:CJ[ -])?(ThL|THL)[ -]([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[391]=e;e=Object.create(null);e[0]=new RegExp("; *(T100|T200|T5|W100|W200|W8s) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[392]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile[ _]G2[ _]Touch) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[393]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile[ _]G2) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[394]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile myTouch Q) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[395]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile myTouch) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[396]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile_Espresso) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[397]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile G1) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[398]=e;e=Object.create(null);e[0]=new RegExp("\\b(T-Mobile ?)?(myTouch)[ _]?([34]G)[ _]?([^\\/]*) (?:Mozilla|Build)");e[1]="$1$2 $3 $4";e[2]=0;e[3]=0;e[4]=0;h.device[399]=e;e=Object.create(null);e[0]=new RegExp("\\b(T-Mobile)_([^_]+)_(.*) Build");e[1]="$1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[400]=e;e=Object.create(null);e[0]=new RegExp("\\b(T-Mobile)[_ ]?(.*?)Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[401]=e;e=Object.create(null);e[0]=new RegExp(" (ATP[0-9]{4}) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[402]=e;e=Object.create(null);e[0]=new RegExp(" *(TOOKY)[ _\\-]([^;/]+) ?(?:Build|;)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[403]=e;e=Object.create(null);e[0]=new RegExp("\\b(TOSHIBA_AC_AND_AZ|TOSHIBA_FOLIO_AND_A|FOLIO_AND_A)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[404]=e;e=Object.create(null);e[0]=new RegExp("; *([Ff]olio ?100) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[405]=e;e=Object.create(null);e[0]=new RegExp("; *(AT[0-9]{2,3}(?:\\-A|LE\\-A|PE\\-A|SE|a)?|AT7-A|AT1S0|Hikari-iFrame/WDPF-[^;/]+|THRiVE|Thrive) Build/");e[1]="Toshiba $1";e[2]=0;e[3]=0;e[4]=0;h.device[406]=e;e=Object.create(null);e[0]=new RegExp("; *(TM-MID\\d+[^;/]+|TOUCHMATE|MID-750) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[407]=e;e=Object.create(null);e[0]=new RegExp("; *(TM-SM\\d+[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[408]=e;e=Object.create(null);e[0]=new RegExp("; *(A10 [Bb]asic2?) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[409]=e;e=Object.create(null);e[0]=new RegExp("; *(TREQ[ _\\-])([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[410]=e;e=Object.create(null);e[0]=new RegExp("; *(X-?5|X-?3) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[411]=e;e=Object.create(null);e[0]=new RegExp("; *(A502\\+?|A936|A603|X1|X2) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[412]=e;e=Object.create(null);e[0]=new RegExp("(TOUCH(?:TAB|PAD).+?) Build/");e[1]="Versus $1";e[2]=0;e[3]=0;e[4]=0;h.device[413]=e;e=Object.create(null);e[0]=new RegExp("(VERTU) ([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[414]=e;e=Object.create(null);e[0]=new RegExp("; *(Videocon)[ _\\-]([^;/]+) *(?:Build|;)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[415]=e;e=Object.create(null);e[0]=new RegExp(" (VT\\d{2}[A-Za-z]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[416]=e;e=Object.create(null);e[0]=new RegExp("; *((?:ViewPad|ViewPhone|VSD)[^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[417]=e;e=Object.create(null);e[0]=new RegExp("; *(ViewSonic-)([^;/]+) Build/");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[418]=e;e=Object.create(null);e[0]=new RegExp("; *(GTablet.*) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[419]=e;e=Object.create(null);e[0]=new RegExp("; *([Vv]ivo)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[420]=e;e=Object.create(null);e[0]=new RegExp("(Vodafone) (.*) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[421]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Walton[ _\\-])?(Primo[ _\\-][^;/]+) Build");e[1]="Walton $1";e[2]=0;e[3]=0;e[4]=0;h.device[422]=e;e=Object.create(null);e[0]=new RegExp("; *(?:WIKO[ \\-])?(CINK\\+?|BARRY|BLOOM|DARKFULL|DARKMOON|DARKNIGHT|DARKSIDE|FIZZ|HIGHWAY|IGGY|OZZY|RAINBOW|STAIRWAY|SUBLIM|WAX|CINK [^;/]+) Build/");e[1]="Wiko $1";e[2]=0;e[3]=0;e[4]=0;h.device[423]=e;e=Object.create(null);e[0]=new RegExp("; *WellcoM-([^;/]+) Build");e[1]="Wellcom $1";e[2]=0;e[3]=0;e[4]=0;h.device[424]=e;e=Object.create(null);e[0]=new RegExp("(?:(WeTab)-Browser|; (wetab) Build)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[425]=e;e=Object.create(null);e[0]=new RegExp("; *(AT-AS[^;/]+) Build");e[1]="Wolfgang $1";e[2]=0;e[3]=0;e[4]=0;h.device[426]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Woxter|Wxt) ([^;/]+) Build");e[1]="Woxter $1";e[2]=0;e[3]=0;e[4]=0;h.device[427]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Xenta |Luna )?(TAB[234][0-9]{2}|TAB0[78]-\\d{3}|TAB0?9-\\d{3}|TAB1[03]-\\d{3}|SMP\\d{2}-\\d{3}) Build/");e[1]="Yarvik $1";e[2]=0;e[3]=0;e[4]=0;h.device[428]=e;e=Object.create(null);e[0]=new RegExp("; *([A-Z]{2,4})(M\\d{3,}[A-Z]{2})([^;\\)\\/]*)(?: Build|[;\\)])");e[1]="Yifang $1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[429]=e;e=Object.create(null);e[0]=new RegExp("; *((MI|HM|MI-ONE|Redmi)[ -](NOTE |Note )?[^;/]*) (Build|MIUI)/");e[1]="XiaoMi $1";e[2]=0;e[3]=0;e[4]=0;h.device[430]=e;e=Object.create(null);e[0]=new RegExp("; *XOLO[ _]([^;/]*tab.*) Build");e[1]="Xolo $1";e[2]=0;e[3]=0;e[4]=0;h.device[431]=e;e=Object.create(null);e[0]=new RegExp("; *XOLO[ _]([^;/]+) Build");e[1]="Xolo $1";e[2]=0;e[3]=0;e[4]=0;h.device[432]=e;e=Object.create(null);e[0]=new RegExp("; *(q\\d0{2,3}[a-z]?) Build");e[1]="Xolo $1";e[2]=0;e[3]=0;e[4]=0;h.device[433]=e;e=Object.create(null);e[0]=new RegExp("; *(PAD ?[79]\\d+[^;/]*|TelePAD\\d+[^;/]) Build");e[1]="Xoro $1";e[2]=0;e[3]=0;e[4]=0;h.device[434]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(?:ZOPO|Zopo)[ _]([^;/]+)|(ZP ?(?:\\d{2}[^;/]+|C2))|(C[2379])) Build");e[1]="$1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[435]=e;e=Object.create(null);e[0]=new RegExp("; *(ZiiLABS) (Zii[^;/]*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[436]=e;e=Object.create(null);e[0]=new RegExp("; *(Zii)_([^;/]*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[437]=e;e=Object.create(null);e[0]=new RegExp("; *(ARIZONA|(?:ATLAS|Atlas) W|D930|Grand (?:[SX][^;]*|Era|Memo[^;]*)|JOE|(?:Kis|KIS)\\b[^;]*|Libra|Light [^;]*|N8[056][01]|N850L|N8000|N9[15]\\d{2}|N9810|NX501|Optik|(?:Vip )Racer[^;]*|RacerII|RACERII|San Francisco[^;]*|V9[AC]|V55|V881|Z[679][0-9]{2}[A-z]?) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[438]=e;e=Object.create(null);e[0]=new RegExp("; *([A-Z]\\d+)_USA_[^;]* Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[439]=e;e=Object.create(null);e[0]=new RegExp("; *(SmartTab\\d+)[^;]* Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[440]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Blade|BLADE|ZTE-BLADE)([^;/]*) Build");e[1]="ZTE Blade$1";e[2]=0;e[3]=0;e[4]=0;h.device[441]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Skate|SKATE|ZTE-SKATE)([^;/]*) Build");e[1]="ZTE Skate$1";e[2]=0;e[3]=0;e[4]=0;h.device[442]=e;e=Object.create(null);e[0]=new RegExp("; *(Orange |Optimus )(Monte Carlo|San Francisco) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[443]=e;e=Object.create(null);e[0]=new RegExp("; *(?:ZXY-ZTE_|ZTE\\-U |ZTE[\\- _]|ZTE-C[_ ])([^;/]+) Build");e[1]="ZTE $1";e[2]=0;e[3]=0;e[4]=0;h.device[444]=e;e=Object.create(null);e[0]=new RegExp("; (BASE) (lutea|Lutea 2|Tab[^;]*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[445]=e;e=Object.create(null);e[0]=new RegExp("; (Avea inTouch 2|soft stone|tmn smart a7|Movistar[ _]Link) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[446]=e;e=Object.create(null);e[0]=new RegExp("; *(vp9plus)\\)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[447]=e;e=Object.create(null);e[0]=new RegExp("; ?(Cloud[ _]Z5|z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[448]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFOT|Kindle Fire) Build\\b");e[1]="Kindle Fire";e[2]=0;e[3]=0;e[4]=0;h.device[449]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFOTE|Amazon Kindle Fire2) Build\\b");e[1]="Kindle Fire 2";e[2]=0;e[3]=0;e[4]=0;h.device[450]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFTT) Build\\b");e[1]="Kindle Fire HD";e[2]=0;e[3]=0;e[4]=0;h.device[451]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFJWI) Build\\b");e[1]='Kindle Fire HD 8.9" WiFi';e[2]=0;e[3]=0;e[4]=0;h.device[452]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFJWA) Build\\b");e[1]='Kindle Fire HD 8.9" 4G';e[2]=0;e[3]=0;e[4]=0;h.device[453]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFSOWI) Build\\b");e[1]='Kindle Fire HD 7" WiFi';e[2]=0;e[3]=0;e[4]=0;h.device[454]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFTHWI) Build\\b");e[1]='Kindle Fire HDX 7" WiFi';e[2]=0;e[3]=0;e[4]=0;h.device[455]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFTHWA) Build\\b");e[1]='Kindle Fire HDX 7" 4G';e[2]=0;e[3]=0;e[4]=0;h.device[456]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFAPWI) Build\\b");e[1]='Kindle Fire HDX 8.9" WiFi';e[2]=0;e[3]=0;e[4]=0;h.device[457]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFAPWA) Build\\b");e[1]='Kindle Fire HDX 8.9" 4G';e[2]=0;e[3]=0;e[4]=0;h.device[458]=e;e=Object.create(null);e[0]=new RegExp("; ?Amazon ([^;/]+) Build\\b");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[459]=e;e=Object.create(null);e[0]=new RegExp("; ?(Kindle) Build\\b");e[1]="Kindle";e[2]=0;e[3]=0;e[4]=0;h.device[460]=e;e=Object.create(null);e[0]=new RegExp("; ?(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+))? Build\\b");e[1]="Kindle Fire";e[2]=0;e[3]=0;e[4]=0;h.device[461]=e;e=Object.create(null);e[0]=new RegExp(" (Kindle)/(\\d+\\.\\d+)");e[1]="Kindle";e[2]=0;e[3]=0;e[4]=0;h.device[462]=e;e=Object.create(null);e[0]=new RegExp(" (Silk|Kindle)/(\\d+)\\.");e[1]="Kindle";e[2]=0;e[3]=0;e[4]=0;h.device[463]=e;e=Object.create(null);e[0]=new RegExp("(sprd)\\-([^/]+)/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[464]=e;e=Object.create(null);e[0]=new RegExp("; *(H\\d{2}00\\+?) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[465]=e;e=Object.create(null);e[0]=new RegExp("; *(iphone|iPhone5) Build/");e[1]="Xianghe $1";e[2]=0;e[3]=0;e[4]=0;h.device[466]=e;e=Object.create(null);e[0]=new RegExp("; *(e\\d{4}[a-z]?_?v\\d+|v89_[^;/]+)[^;/]+ Build/");e[1]="Xianghe $1";e[2]=0;e[3]=0;e[4]=0;h.device[467]=e;e=Object.create(null);e[0]=new RegExp("\\bUSCC[_\\-]?([^ ;/\\)]+)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[468]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:ALCATEL)[^;]*; *([^;,\\)]+)");e[1]="Alcatel $1";e[2]=0;e[3]=0;e[4]=0;h.device[469]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:ASUS|Asus)[^;]*; *([^;,\\)]+)");e[1]="Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[470]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:DELL|Dell)[^;]*; *([^;,\\)]+)");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[471]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:HTC|Htc|HTC_blocked[^;]*)[^;]*; *(?:HTC)?([^;,\\)]+)");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[472]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:HUAWEI)[^;]*; *(?:HUAWEI )?([^;,\\)]+)");e[1]="Huawei $1";e[2]=0;e[3]=0;e[4]=0;h.device[473]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:LG|Lg)[^;]*; *(?:LG[ \\-])?([^;,\\)]+)");e[1]="LG $1";e[2]=0;e[3]=0;e[4]=0;h.device[474]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:rv:11; )?(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?)*(\\d{3,}[^;\\)]*)");e[1]="Lumia $1";e[2]=0;e[3]=0;e[4]=0;h.device[475]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:NOKIA|Nokia)[^;]*; *(RM-\\d{3,})");e[1]="Nokia $1";e[2]=0;e[3]=0;e[4]=0;h.device[476]=e;e=Object.create(null);e[0]=new RegExp("(?:Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)]|WPDesktop;) ?(?:ARM; ?Touch; ?|Touch; ?)?(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?)*([^;\\)]+)");e[1]="Nokia $1";e[2]=0;e[3]=0;e[4]=0;h.device[477]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:Microsoft(?: Corporation)?)[^;]*; *([^;,\\)]+)");e[1]="Microsoft $1";e[2]=0;e[3]=0;e[4]=0;h.device[478]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:SAMSUNG)[^;]*; *(?:SAMSUNG )?([^;,\\.\\)]+)");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[479]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:TOSHIBA|FujitsuToshibaMobileCommun)[^;]*; *([^;,\\)]+)");e[1]="Toshiba $1";e[2]=0;e[3]=0;e[4]=0;h.device[480]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?([^;]+); *([^;,\\)]+)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[481]=e;e=Object.create(null);e[0]=new RegExp("(?:^|; )SAMSUNG\\-([A-Za-z0-9\\-]+).* Bada/");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[482]=e;e=Object.create(null);e[0]=new RegExp("\\(Mobile; ALCATEL ?(One|ONE) ?(Touch|TOUCH) ?([^;/]+)(?:/[^;]+)?; rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/");e[1]="Alcatel $1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[483]=e;e=Object.create(null);e[0]=new RegExp("\\(Mobile; (?:ZTE([^;]+)|(OpenC)); rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/");e[1]="ZTE $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[484]=e;e=Object.create(null);e[0]=new RegExp("Nokia(N[0-9]+)([A-z_\\-][A-z0-9_\\-]*)");e[1]="Nokia $1";e[2]=0;e[3]=0;e[4]=0;h.device[485]=e;e=Object.create(null);e[0]=new RegExp("(?:NOKIA|Nokia)(?:\\-| *)(?:([A-Za-z0-9]+)\\-[0-9a-f]{32}|([A-Za-z0-9\\-]+)(?:UCBrowser)|([A-Za-z0-9\\-]+))");e[1]="Nokia $1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[486]=e;e=Object.create(null);e[0]=new RegExp("Lumia ([A-Za-z0-9\\-]+)");e[1]="Lumia $1";e[2]=0;e[3]=0;e[4]=0;h.device[487]=e;e=Object.create(null);e[0]=new RegExp("\\(Symbian; U; S60 V5; [A-z]{2}\\-[A-z]{2}; (SonyEricsson|Samsung|Nokia|LG)([^;/]+)\\)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[488]=e;e=Object.create(null);e[0]=new RegExp("\\(Symbian(?:/3)?; U; ([^;]+);");e[1]="Nokia $1";e[2]=0;e[3]=0;e[4]=0;h.device[489]=e;e=Object.create(null);e[0]=new RegExp("BB10; ([A-Za-z0-9\\- ]+)\\)");e[1]="BlackBerry $1";e[2]=0;e[3]=0;e[4]=0;h.device[490]=e;e=Object.create(null);e[0]=new RegExp("Play[Bb]ook.+RIM Tablet OS");e[1]="BlackBerry Playbook";e[2]=0;e[3]=0;e[4]=0;h.device[491]=e;e=Object.create(null);e[0]=new RegExp("Black[Bb]erry ([0-9]+);");e[1]="BlackBerry $1";e[2]=0;e[3]=0;e[4]=0;h.device[492]=e;e=Object.create(null);e[0]=new RegExp("Black[Bb]erry([0-9]+)");e[1]="BlackBerry $1";e[2]=0;e[3]=0;e[4]=0;h.device[493]=e;e=Object.create(null);e[0]=new RegExp("Black[Bb]erry;");e[1]="BlackBerry";e[2]=0;e[3]=0;e[4]=0;h.device[494]=e;e=Object.create(null);e[0]=new RegExp("(Pre|Pixi)/\\d+\\.\\d+");e[1]="Palm $1";e[2]=0;e[3]=0;e[4]=0;h.device[495]=e;e=Object.create(null);e[0]=new RegExp("Palm([0-9]+)");e[1]="Palm $1";e[2]=0;e[3]=0;e[4]=0;h.device[496]=e;e=Object.create(null);e[0]=new RegExp("Treo([A-Za-z0-9]+)");e[1]="Palm Treo $1";e[2]=0;e[3]=0;e[4]=0;h.device[497]=e;e=Object.create(null);e[0]=new RegExp("webOS.*(P160U(?:NA)?)/(\\d+).(\\d+)");e[1]="HP Veer";e[2]=0;e[3]=0;e[4]=0;h.device[498]=e;e=Object.create(null);e[0]=new RegExp("(Touch[Pp]ad)/\\d+\\.\\d+");e[1]="HP TouchPad";e[2]=0;e[3]=0;e[4]=0;h.device[499]=e;e=Object.create(null);e[0]=new RegExp("HPiPAQ([A-Za-z0-9]+)/\\d+.\\d+");e[1]="HP iPAQ $1";e[2]=0;e[3]=0;e[4]=0;h.device[500]=e;e=Object.create(null);e[0]=new RegExp("PDA; (PalmOS)/sony/model ([a-z]+)/Revision");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[501]=e;e=Object.create(null);e[0]=new RegExp("(Apple\\s?TV)");e[1]="AppleTV";e[2]=0;e[3]=0;e[4]=0;h.device[502]=e;e=Object.create(null);e[0]=new RegExp("(QtCarBrowser)");e[1]="Tesla Model S";e[2]=0;e[3]=0;e[4]=0;h.device[503]=e;e=Object.create(null);e[0]=new RegExp("(iPhone|iPad|iPod)(\\d+,\\d+)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[504]=e;e=Object.create(null);e[0]=new RegExp("(iPad)(?:;| Simulator;)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[505]=e;e=Object.create(null);e[0]=new RegExp("(iPod)(?:;| touch;| Simulator;)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[506]=e;e=Object.create(null);e[0]=new RegExp("(iPhone)(?:;| Simulator;)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[507]=e;e=Object.create(null);e[0]=new RegExp("iPhone");e[1]="iPhone";e[2]=0;e[3]=0;e[4]=0;h.device[508]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/\\d.*\\(((?:Mac|iMac|PowerMac|PowerBook)[^\\d]*)(\\d+)(?:,|%2C)(\\d+)");e[1]="$1$2,$3";e[2]=0;e[3]=0;e[4]=0;h.device[509]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/\\d+\\.\\d+\\.\\d+ \\(x86_64\\)");e[1]="Mac";e[2]=0;e[3]=0;e[4]=0;h.device[510]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/\\d");e[1]="iOS-Device";e[2]=0;e[3]=0;e[4]=0;h.device[511]=e;e=Object.create(null);e[0]=new RegExp("acer_([A-Za-z0-9]+)_");e[1]="Acer $1";e[2]=0;e[3]=0;e[4]=0;h.device[512]=e;e=Object.create(null);e[0]=new RegExp("(?:ALCATEL|Alcatel)-([A-Za-z0-9\\-]+)");e[1]="Alcatel $1";e[2]=0;e[3]=0;e[4]=0;h.device[513]=e;e=Object.create(null);e[0]=new RegExp("(?:Amoi|AMOI)\\-([A-Za-z0-9]+)");e[1]="Amoi $1";e[2]=0;e[3]=0;e[4]=0;h.device[514]=e;e=Object.create(null);e[0]=new RegExp("(?:; |\\/|^)((?:Transformer (?:Pad|Prime) |Transformer |PadFone[ _]?)[A-Za-z0-9]*)");e[1]="Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[515]=e;e=Object.create(null);e[0]=new RegExp("(?:asus.*?ASUS|Asus|ASUS|asus)[\\- ;]*((?:Transformer (?:Pad|Prime) |Transformer |Padfone |Nexus[ _])?[A-Za-z0-9]+)");e[1]="Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[516]=e;e=Object.create(null);e[0]=new RegExp("\\bBIRD[ \\-\\.]([A-Za-z0-9]+)");e[1]="Bird $1";e[2]=0;e[3]=0;e[4]=0;h.device[517]=e;e=Object.create(null);e[0]=new RegExp("\\bDell ([A-Za-z0-9]+)");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[518]=e;e=Object.create(null);e[0]=new RegExp("DoCoMo/2\\.0 ([A-Za-z0-9]+)");e[1]="DoCoMo $1";e[2]=0;e[3]=0;e[4]=0;h.device[519]=e;e=Object.create(null);e[0]=new RegExp("([A-Za-z0-9]+)_W;FOMA");e[1]="DoCoMo $1";e[2]=0;e[3]=0;e[4]=0;h.device[520]=e;e=Object.create(null);e[0]=new RegExp("([A-Za-z0-9]+);FOMA");e[1]="DoCoMo $1";e[2]=0;e[3]=0;e[4]=0;h.device[521]=e;e=Object.create(null);e[0]=new RegExp("\\b(?:HTC/|HTC/[a-z0-9]+/)?HTC[ _\\-;]? *(.*?)(?:-?Mozilla|fingerPrint|[;/\\(\\)]|$)");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[522]=e;e=Object.create(null);e[0]=new RegExp("Huawei([A-Za-z0-9]+)");e[1]="Huawei $1";e[2]=0;e[3]=0;e[4]=0;h.device[523]=e;e=Object.create(null);e[0]=new RegExp("HUAWEI-([A-Za-z0-9]+)");e[1]="Huawei $1";e[2]=0;e[3]=0;e[4]=0;h.device[524]=e;e=Object.create(null);e[0]=new RegExp("vodafone([A-Za-z0-9]+)");e[1]="Huawei Vodafone $1";e[2]=0;e[3]=0;e[4]=0;h.device[525]=e;e=Object.create(null);e[0]=new RegExp("i\\-mate ([A-Za-z0-9]+)");e[1]="i-mate $1";e[2]=0;e[3]=0;e[4]=0;h.device[526]=e;e=Object.create(null);e[0]=new RegExp("Kyocera\\-([A-Za-z0-9]+)");e[1]="Kyocera $1";e[2]=0;e[3]=0;e[4]=0;h.device[527]=e;e=Object.create(null);e[0]=new RegExp("KWC\\-([A-Za-z0-9]+)");e[1]="Kyocera $1";e[2]=0;e[3]=0;e[4]=0;h.device[528]=e;e=Object.create(null);e[0]=new RegExp("Lenovo[_\\-]([A-Za-z0-9]+)");e[1]="Lenovo $1";e[2]=0;e[3]=0;e[4]=0;h.device[529]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+ \\([^;]*; *(LG)E *; *([^;]*) *;[^;]*;[^;]*;\\)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[530]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/1\\.1\\.1.*CE-HTML/1\\.\\d;(Vendor/)*(THOM[^;]*?)[;\\s](?:.*SW-Version/.*)*(LF[^;]+);?");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[531]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)(?:/1\\.1\\.1)?(?: ?\\(;;;;;\\))?; *CE-HTML(?:/1\\.\\d)?; *([^ ]+) ([^;]+);");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[532]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/1\\.1\\.1 \\(;;;;;\\) Maple_2011");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[533]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+ \\([^;]*; *(?:CUS:([^;]*)|([^;]+)) *; *([^;]*) *;.*;");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[534]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[535]=e;e=Object.create(null);e[0]=new RegExp('LGE; (?:Media\\/)?([^;]*);[^;]*;[^;]*;?\\); "?LG NetCast(\\.TV|\\.Media|)-\\d+');e[1]="NetCast$2";e[2]=0;e[3]=0;e[4]=0;h.device[536]=e;e=Object.create(null);e[0]=new RegExp("InettvBrowser/[0-9]+\\.[0-9A-Z]+ \\([^;]*;(Sony)([^;]*);[^;]*;[^\\)]*\\)");e[1]="Inettv";e[2]=0;e[3]=0;e[4]=0;h.device[537]=e;e=Object.create(null);e[0]=new RegExp("InettvBrowser/[0-9]+\\.[0-9A-Z]+ \\([^;]*;([^;]*);[^;]*;[^\\)]*\\)");e[1]="Inettv";e[2]=0;e[3]=0;e[4]=0;h.device[538]=e;e=Object.create(null);e[0]=new RegExp("(?:InettvBrowser|TSBNetTV|NETTV|HBBTV)");e[1]="Inettv";e[2]=0;e[3]=0;e[4]=0;h.device[539]=e;e=Object.create(null);e[0]=new RegExp("Series60/\\d\\.\\d (LG)[\\-]?([A-Za-z0-9 \\-]+)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[540]=e;e=Object.create(null);e[0]=new RegExp("\\b(?:LGE[ \\-]LG\\-(?:AX)?|LGE |LGE?-LG|LGE?[ \\-]|LG[ /\\-]|lg[\\-])([A-Za-z0-9]+)\\b");e[1]="LG $1";e[2]=0;e[3]=0;e[4]=0;h.device[541]=e;e=Object.create(null);e[0]=new RegExp("(?:^LG[\\-]?|^LGE[\\-/]?)([A-Za-z]+[0-9]+[A-Za-z]*)");e[1]="LG $1";e[2]=0;e[3]=0;e[4]=0;h.device[542]=e;e=Object.create(null);e[0]=new RegExp("^LG([0-9]+[A-Za-z]*)");e[1]="LG $1";e[2]=0;e[3]=0;e[4]=0;h.device[543]=e;e=Object.create(null);e[0]=new RegExp("(KIN\\.[^ ]+) (\\d+)\\.(\\d+)");e[1]="Microsoft $1";e[2]=0;e[3]=0;e[4]=0;h.device[544]=e;e=Object.create(null);e[0]=new RegExp("(?:MSIE|XBMC).*\\b(Xbox)\\b");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[545]=e;e=Object.create(null);e[0]=new RegExp("; ARM; Trident/6\\.0; Touch[\\);]");e[1]="Microsoft Surface RT";e[2]=0;e[3]=0;e[4]=0;h.device[546]=e;e=Object.create(null);e[0]=new RegExp("Motorola\\-([A-Za-z0-9]+)");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[547]=e;e=Object.create(null);e[0]=new RegExp("MOTO\\-([A-Za-z0-9]+)");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[548]=e;e=Object.create(null);e[0]=new RegExp("MOT\\-([A-z0-9][A-z0-9\\-]*)");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[549]=e;e=Object.create(null);e[0]=new RegExp("Nintendo WiiU");e[1]="Nintendo Wii U";e[2]=0;e[3]=0;e[4]=0;h.device[550]=e;e=Object.create(null);e[0]=new RegExp("Nintendo (DS|3DS|DSi|Wii);");e[1]="Nintendo $1";e[2]=0;e[3]=0;e[4]=0;h.device[551]=e;e=Object.create(null);e[0]=new RegExp("(?:Pantech|PANTECH)[ _-]?([A-Za-z0-9\\-]+)");e[1]="Pantech $1";e[2]=0;e[3]=0;e[4]=0;h.device[552]=e;e=Object.create(null);e[0]=new RegExp("Philips([A-Za-z0-9]+)");e[1]="Philips $1";e[2]=0;e[3]=0;e[4]=0;h.device[553]=e;e=Object.create(null);e[0]=new RegExp("Philips ([A-Za-z0-9]+)");e[1]="Philips $1";e[2]=0;e[3]=0;e[4]=0;h.device[554]=e;e=Object.create(null);e[0]=new RegExp("(SMART-TV); .* Tizen ");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[555]=e;e=Object.create(null);e[0]=new RegExp("SymbianOS/9\\.\\d.* Samsung[/\\-]([A-Za-z0-9 \\-]+)");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[556]=e;e=Object.create(null);e[0]=new RegExp("(Samsung)(SGH)(i[0-9]+)");e[1]="$1 $2$3";e[2]=0;e[3]=0;e[4]=0;h.device[557]=e;e=Object.create(null);e[0]=new RegExp("SAMSUNG-ANDROID-MMS/([^;/]+)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[558]=e;e=Object.create(null);e[0]=new RegExp("SAMSUNG(?:; |[ -/])([A-Za-z0-9\\-]+)");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[559]=e;e=Object.create(null);e[0]=new RegExp("(Dreamcast)");e[1]="Sega $1";e[2]=0;e[3]=0;e[4]=0;h.device[560]=e;e=Object.create(null);e[0]=new RegExp("^SIE-([A-Za-z0-9]+)");e[1]="Siemens $1";e[2]=0;e[3]=0;e[4]=0;h.device[561]=e;e=Object.create(null);e[0]=new RegExp("Softbank/[12]\\.0/([A-Za-z0-9]+)");e[1]="Softbank $1";e[2]=0;e[3]=0;e[4]=0;h.device[562]=e;e=Object.create(null);e[0]=new RegExp("SonyEricsson ?([A-Za-z0-9\\-]+)");e[1]="Ericsson $1";e[2]=0;e[3]=0;e[4]=0;h.device[563]=e;e=Object.create(null);e[0]=new RegExp("Android [^;]+; ([^ ]+) (Sony)/");e[1]="$2 $1";e[2]=0;e[3]=0;e[4]=0;h.device[564]=e;e=Object.create(null);e[0]=new RegExp("(Sony)(?:BDP\\/|\\/)?([^ /;\\)]+)[ /;\\)]");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[565]=e;e=Object.create(null);e[0]=new RegExp("Puffin/[\\d\\.]+IT");e[1]="iPad";e[2]=0;e[3]=0;e[4]=0;h.device[566]=e;e=Object.create(null);e[0]=new RegExp("Puffin/[\\d\\.]+IP");e[1]="iPhone";e[2]=0;e[3]=0;e[4]=0;h.device[567]=e;e=Object.create(null);e[0]=new RegExp("Puffin/[\\d\\.]+AT");e[1]="Generic Tablet";e[2]=0;e[3]=0;e[4]=0;h.device[568]=e;e=Object.create(null);e[0]=new RegExp("Puffin/[\\d\\.]+AP");e[1]="Generic Smartphone";e[2]=0;e[3]=0;e[4]=0;h.device[569]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+\\.[\\d]+; [A-Za-z]{2}\\-[A-Za-z]{0,2}; WOWMobile (.+) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[570]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+\\.[\\d]+\\-update1; [A-Za-z]{2}\\-[A-Za-z]{0,2} *; *(.+?) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[571]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *[A-Za-z]{2}[_\\-][A-Za-z]{0,2}\\-? *; *(.+?) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[572]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *[A-Za-z]{0,2}\\- *; *(.+?) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[573]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *[a-z]{0,2}[_\\-]?[A-Za-z]{0,2};? Build[/ ]");e[1]="Generic Smartphone";e[2]=0;e[3]=0;e[4]=0;h.device[574]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *\\-?[A-Za-z]{2}; *(.+?) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[575]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}(?:;.*)?; *(.+?) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[576]=e;e=Object.create(null);e[0]=new RegExp("(GoogleTV)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[577]=e;e=Object.create(null);e[0]=new RegExp("(WebTV)/\\d+.\\d+");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[578]=e;e=Object.create(null);e[0]=new RegExp("^(Roku)/DVP-\\d+\\.\\d+");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[579]=e;e=Object.create(null);e[0]=new RegExp("(Android 3\\.\\d|Opera Tablet|Tablet; .+Firefox/|Android.*(?:Tab|Pad))");e[1]="Generic Tablet";e[2]=0;e[3]=0;e[4]=0;h.device[580]=e;e=Object.create(null);e[0]=new RegExp("(Symbian|\\bS60(Version|V\\d)|\\bS60\\b|\\((Series 60|Windows Mobile|Palm OS|Bada); Opera Mini|Windows CE|Opera Mobi|BREW|Brew|Mobile; .+Firefox/|iPhone OS|Android|MobileSafari|Windows *Phone|\\(webOS/|PalmOS)");e[1]="Generic Smartphone";e[2]=0;e[3]=0;e[4]=0;h.device[581]=e;e=Object.create(null);e[0]=new RegExp("(hiptop|avantgo|plucker|xiino|blazer|elaine)");e[1]="Generic Smartphone";e[2]=0;e[3]=0;e[4]=0;h.device[582]=e;e=Object.create(null);e[0]=new RegExp("(bot|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|BingPreview|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.*/\\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes|NL-Crawler|Pingdom|StatusCake|WhatsApp|masscan|Google Web Preview|Qwantify)");e[1]="Spider";e[2]=0;e[3]=0;e[4]=0;h.device[583]=e;e=Object.create(null);e[0]=new RegExp("^(1207|3gso|4thp|501i|502i|503i|504i|505i|506i|6310|6590|770s|802s|a wa|acer|acs\\-|airn|alav|asus|attw|au\\-m|aur |aus |abac|acoo|aiko|alco|alca|amoi|anex|anny|anyw|aptu|arch|argo|bmobile|bell|bird|bw\\-n|bw\\-u|beck|benq|bilb|blac|c55/|cdm\\-|chtm|capi|comp|cond|dall|dbte|dc\\-s|dica|ds\\-d|ds12|dait|devi|dmob|doco|dopo|dorado|el(?:38|39|48|49|50|55|58|68)|el[3456]\\d{2}dual|erk0|esl8|ex300|ez40|ez60|ez70|ezos|ezze|elai|emul|eric|ezwa|fake|fly\\-|fly_|g\\-mo|g1 u|g560|gf\\-5|grun|gene|go.w|good|grad|hcit|hd\\-m|hd\\-p|hd\\-t|hei\\-|hp i|hpip|hs\\-c|htc |htc\\-|htca|htcg)");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[584]=e;e=Object.create(null);e[0]=new RegExp("^(htcp|htcs|htct|htc_|haie|hita|huaw|hutc|i\\-20|i\\-go|i\\-ma|i\\-mobile|i230|iac|iac\\-|iac/|ig01|im1k|inno|iris|jata|kddi|kgt|kgt/|kpt |kwc\\-|klon|lexi|lg g|lg\\-a|lg\\-b|lg\\-c|lg\\-d|lg\\-f|lg\\-g|lg\\-k|lg\\-l|lg\\-m|lg\\-o|lg\\-p|lg\\-s|lg\\-t|lg\\-u|lg\\-w|lg/k|lg/l|lg/u|lg50|lg54|lge\\-|lge/|leno|m1\\-w|m3ga|m50/|maui|mc01|mc21|mcca|medi|meri|mio8|mioa|mo01|mo02|mode|modo|mot |mot\\-|mt50|mtp1|mtv |mate|maxo|merc|mits|mobi|motv|mozz|n100|n101|n102|n202|n203|n300|n302|n500|n502|n505|n700|n701|n710|nec\\-|nem\\-|newg|neon)");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[585]=e;e=Object.create(null);e[0]=new RegExp("^(netf|noki|nzph|o2 x|o2\\-x|opwv|owg1|opti|oran|ot\\-s|p800|pand|pg\\-1|pg\\-2|pg\\-3|pg\\-6|pg\\-8|pg\\-c|pg13|phil|pn\\-2|pt\\-g|palm|pana|pire|pock|pose|psio|qa\\-a|qc\\-2|qc\\-3|qc\\-5|qc\\-7|qc07|qc12|qc21|qc32|qc60|qci\\-|qwap|qtek|r380|r600|raks|rim9|rove|s55/|sage|sams|sc01|sch\\-|scp\\-|sdk/|se47|sec\\-|sec0|sec1|semc|sgh\\-|shar|sie\\-|sk\\-0|sl45|slid|smb3|smt5|sp01|sph\\-|spv |spv\\-|sy01|samm|sany|sava|scoo|send|siem|smar|smit|soft|sony|t\\-mo|t218|t250|t600|t610|t618|tcl\\-|tdg\\-|telm|tim\\-|ts70|tsm\\-|tsm3|tsm5|tx\\-9|tagt)");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[586]=e;e=Object.create(null);e[0]=new RegExp("^(talk|teli|topl|tosh|up.b|upg1|utst|v400|v750|veri|vk\\-v|vk40|vk50|vk52|vk53|vm40|vx98|virg|vertu|vite|voda|vulc|w3c |w3c\\-|wapj|wapp|wapu|wapm|wig |wapi|wapr|wapv|wapy|wapa|waps|wapt|winc|winw|wonu|x700|xda2|xdag|yas\\-|your|zte\\-|zeto|aste|audi|avan|blaz|brew|brvw|bumb|ccwa|cell|cldc|cmd\\-|dang|eml2|fetc|hipt|http|ibro|idea|ikom|ipaq|jbro|jemu|jigs|keji|kyoc|kyok|libw|m\\-cr|midp|mmef|moto|mwbp|mywa|newt|nok6|o2im|pant|pdxg|play|pluc|port|prox|rozo|sama|seri|smal|symb|treo|upsi|vx52|vx53|vx60|vx61|vx70|vx80|vx81|vx83|vx85|wap\\-|webc|whit|wmlb|xda\\-|xda_)");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[587]=e;e=Object.create(null);e[0]=new RegExp("^(Ice)$");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[588]=e;e=Object.create(null);e[0]=new RegExp("(wap[\\-\\ ]browser|maui|netfront|obigo|teleca|up\\.browser|midp|Opera Mini)");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[589]=e;h.device.length=590;h.os=Object.create(null);e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+ \\( ;(LG)E ;NetCast 4.0");e[1]=0;e[2]="2013";e[3]=0;e[4]=0;h.os[0]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+ \\( ;(LG)E ;NetCast 3.0");e[1]=0;e[2]="2012";e[3]=0;e[4]=0;h.os[1]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/1.1.1 \\(;;;;;\\) Maple_2011");e[1]="Samsung";e[2]="2011";e[3]=0;e[4]=0;h.os[2]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+ \\(;(Samsung);SmartTV([0-9]{4});.*FXPDEUC");e[1]=0;e[2]=0;e[3]="UE40F7000";e[4]=0;h.os[3]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+ \\(;(Samsung);SmartTV([0-9]{4});.*MST12DEUC");e[1]=0;e[2]=0;e[3]="UE32F4500";e[4]=0;h.os[4]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/1.1.1 \\(; (Philips);.*NETTV/4");e[1]=0;e[2]="2013";e[3]=0;e[4]=0;h.os[5]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/1.1.1 \\(; (Philips);.*NETTV/3");e[1]=0;e[2]="2012";e[3]=0;e[4]=0;h.os[6]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/1.1.1 \\(; (Philips);.*NETTV/2");e[1]=0;e[2]="2011";e[3]=0;e[4]=0;h.os[7]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+.*(firetv)-firefox-plugin (\\d+).(\\d+).(\\d+)");e[1]="FireHbbTV";e[2]=0;e[3]=0;e[4]=0;h.os[8]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+ \\(.*; ?([a-zA-Z]+) ?;.*(201[1-9]).*\\)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[9]=e;e=Object.create(null);e[0]=new RegExp("(Windows Phone) (?:OS[ /])?(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[10]=e;e=Object.create(null);e[0]=new RegExp("(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone)[ +]+(\\d+)[_\\.](\\d+)(?:[_\\.](\\d+))?.*Outlook-iOS-Android");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[11]=e;e=Object.create(null);e[0]=new RegExp("(Android)[ \\-/](\\d+)\\.(\\d+)(?:[.\\-]([a-z0-9]+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[12]=e;e=Object.create(null);e[0]=new RegExp("(Android) Donut");e[1]=0;e[2]="1";e[3]="2";e[4]=0;h.os[13]=e;e=Object.create(null);e[0]=new RegExp("(Android) Eclair");e[1]=0;e[2]="2";e[3]="1";e[4]=0;h.os[14]=e;e=Object.create(null);e[0]=new RegExp("(Android) Froyo");e[1]=0;e[2]="2";e[3]="2";e[4]=0;h.os[15]=e;e=Object.create(null);e[0]=new RegExp("(Android) Gingerbread");e[1]=0;e[2]="2";e[3]="3";e[4]=0;h.os[16]=e;e=Object.create(null);e[0]=new RegExp("(Android) Honeycomb");e[1]=0;e[2]="3";e[3]=0;e[4]=0;h.os[17]=e;e=Object.create(null);e[0]=new RegExp("^UCWEB.*; (Adr) (\\d+)\\.(\\d+)(?:[.\\-]([a-z0-9]+))?;");e[1]="Android";e[2]=0;e[3]=0;e[4]=0;h.os[18]=e;e=Object.create(null);e[0]=new RegExp("^UCWEB.*; (iPad|iPh|iPd) OS (\\d+)_(\\d+)(?:_(\\d+))?;");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[19]=e;e=Object.create(null);e[0]=new RegExp("^UCWEB.*; (wds) (\\d+)\\.(\\d+)(?:\\.(\\d+))?;");e[1]="Windows Phone";e[2]=0;e[3]=0;e[4]=0;h.os[20]=e;e=Object.create(null);e[0]=new RegExp("^(JUC).*; ?U; ?(?:Android)?(\\d+)\\.(\\d+)(?:[\\.\\-]([a-z0-9]+))?");e[1]="Android";e[2]=0;e[3]=0;e[4]=0;h.os[21]=e;e=Object.create(null);e[0]=new RegExp("(Silk-Accelerated=[a-z]{4,5})");e[1]="Android";e[2]=0;e[3]=0;e[4]=0;h.os[22]=e;e=Object.create(null);e[0]=new RegExp("(XBLWP7)");e[1]="Windows Phone";e[2]=0;e[3]=0;e[4]=0;h.os[23]=e;e=Object.create(null);e[0]=new RegExp("(Windows ?Mobile)");e[1]="Windows Mobile";e[2]=0;e[3]=0;e[4]=0;h.os[24]=e;e=Object.create(null);e[0]=new RegExp("(Windows (?:NT 5\\.2|NT 5\\.1))");e[1]="Windows";e[2]="XP";e[3]=0;e[4]=0;h.os[25]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.1)");e[1]="Windows";e[2]="7";e[3]=0;e[4]=0;h.os[26]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.0)");e[1]="Windows";e[2]="Vista";e[3]=0;e[4]=0;h.os[27]=e;e=Object.create(null);e[0]=new RegExp("(Win 9x 4\\.90)");e[1]="Windows";e[2]="ME";e[3]=0;e[4]=0;h.os[28]=e;e=Object.create(null);e[0]=new RegExp("(Windows 98|Windows XP|Windows ME|Windows 95|Windows CE|Windows 7|Windows NT 4\\.0|Windows Vista|Windows 2000|Windows 3.1)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[29]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.2; ARM;)");e[1]="Windows";e[2]="RT";e[3]=0;e[4]=0;h.os[30]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.2)");e[1]="Windows";e[2]="8";e[3]=0;e[4]=0;h.os[31]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.3; ARM;)");e[1]="Windows";e[2]="RT 8.1";e[3]=0;e[4]=0;h.os[32]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.3)");e[1]="Windows";e[2]="8.1";e[3]=0;e[4]=0;h.os[33]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.4)");e[1]="Windows";e[2]="10";e[3]=0;e[4]=0;h.os[34]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 10\\.0)");e[1]="Windows";e[2]="10";e[3]=0;e[4]=0;h.os[35]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 5\\.0)");e[1]="Windows";e[2]="2000";e[3]=0;e[4]=0;h.os[36]=e;e=Object.create(null);e[0]=new RegExp("(WinNT4.0)");e[1]="Windows";e[2]="NT 4.0";e[3]=0;e[4]=0;h.os[37]=e;e=Object.create(null);e[0]=new RegExp("(Windows ?CE)");e[1]="Windows";e[2]="CE";e[3]=0;e[4]=0;h.os[38]=e;e=Object.create(null);e[0]=new RegExp("Win ?(95|98|3.1|NT|ME|2000)");e[1]="Windows";e[2]="$1";e[3]=0;e[4]=0;h.os[39]=e;e=Object.create(null);e[0]=new RegExp("Win16");e[1]="Windows";e[2]="3.1";e[3]=0;e[4]=0;h.os[40]=e;e=Object.create(null);e[0]=new RegExp("Win32");e[1]="Windows";e[2]="95";e[3]=0;e[4]=0;h.os[41]=e;e=Object.create(null);e[0]=new RegExp("^Box.*Windows/([\\d.]+);");e[1]="Windows";e[2]="$1";e[3]=0;e[4]=0;h.os[42]=e;e=Object.create(null);e[0]=new RegExp("(Tizen)[/ ](\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[43]=e;e=Object.create(null);e[0]=new RegExp("((?:Mac[ +]?|; )OS[ +]X)[\\s+/](?:(\\d+)[_.](\\d+)(?:[_.](\\d+))?|Mach-O)");e[1]="Mac OS X";e[2]=0;e[3]=0;e[4]=0;h.os[44]=e;e=Object.create(null);e[0]=new RegExp(" (Dar)(win)/(9).(\\d+).*\\((?:i386|x86_64|Power Macintosh)\\)");e[1]="Mac OS X";e[2]="10";e[3]="5";e[4]=0;h.os[45]=e;e=Object.create(null);e[0]=new RegExp(" (Dar)(win)/(10).(\\d+).*\\((?:i386|x86_64)\\)");e[1]="Mac OS X";e[2]="10";e[3]="6";e[4]=0;h.os[46]=e;e=Object.create(null);e[0]=new RegExp(" (Dar)(win)/(11).(\\d+).*\\((?:i386|x86_64)\\)");e[1]="Mac OS X";e[2]="10";e[3]="7";e[4]=0;h.os[47]=e;e=Object.create(null);e[0]=new RegExp(" (Dar)(win)/(12).(\\d+).*\\((?:i386|x86_64)\\)");e[1]="Mac OS X";e[2]="10";e[3]="8";e[4]=0;h.os[48]=e;e=Object.create(null);e[0]=new RegExp(" (Dar)(win)/(13).(\\d+).*\\((?:i386|x86_64)\\)");e[1]="Mac OS X";e[2]="10";e[3]="9";e[4]=0;h.os[49]=e;e=Object.create(null);e[0]=new RegExp("Mac_PowerPC");e[1]="Mac OS";e[2]=0;e[3]=0;e[4]=0;h.os[50]=e;e=Object.create(null);e[0]=new RegExp("(?:PPC|Intel) (Mac OS X)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[51]=e;e=Object.create(null);e[0]=new RegExp("^Box.*;(Darwin)/(10)\\.(1\\d)(?:\\.(\\d+))?");e[1]="Mac OS X";e[2]=0;e[3]=0;e[4]=0;h.os[52]=e;e=Object.create(null);e[0]=new RegExp("(Apple\\s?TV)(?:/(\\d+)\\.(\\d+))?");e[1]="ATV OS X";e[2]=0;e[3]=0;e[4]=0;h.os[53]=e;e=Object.create(null);e[0]=new RegExp("(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS)[ +]+(\\d+)[_\\.](\\d+)(?:[_\\.](\\d+))?");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[54]=e;e=Object.create(null);e[0]=new RegExp("(iPhone|iPad|iPod); Opera");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[55]=e;e=Object.create(null);e[0]=new RegExp("(iPhone|iPad|iPod).*Mac OS X.*Version/(\\d+)\\.(\\d+)");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[56]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(5)48\\.0\\.3.* Darwin/11\\.0\\.0");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[57]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(5)48\\.(0)\\.4.* Darwin/(1)1\\.0\\.0");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[58]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(5)48\\.(1)\\.4");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[59]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(4)85\\.1(3)\\.9");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[60]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(6)09\\.(1)\\.4");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[61]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(6)(0)9");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[62]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/6(7)2\\.(1)\\.13");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[63]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/6(7)2\\.(1)\\.(1)4");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[64]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/6(7)(2)\\.1\\.15");e[1]="iOS";e[2]="7";e[3]="1";e[4]=0;h.os[65]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/6(7)2\\.(0)\\.(?:2|8)");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[66]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/709\\.1");e[1]="iOS";e[2]="8";e[3]="0.b5";e[4]=0;h.os[67]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/711\\.(\\d)");e[1]="iOS";e[2]="8";e[3]=0;e[4]=0;h.os[68]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/(720)\\.(\\d)");e[1]="Mac OS X";e[2]="10";e[3]="10";e[4]=0;h.os[69]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/(760)\\.(\\d)");e[1]="Mac OS X";e[2]="10";e[3]="11";e[4]=0;h.os[70]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/758\\.(\\d)");e[1]="iOS";e[2]="9";e[3]=0;e[4]=0;h.os[71]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/808\\.(\\d)");e[1]="iOS";e[2]="10";e[3]=0;e[4]=0;h.os[72]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/16\\.\\d+.*\\(x86_64\\)");e[1]="Mac OS X";e[2]="10";e[3]="12";e[4]=0;h.os[73]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/15\\.\\d+.*\\(x86_64\\)");e[1]="Mac OS X";e[2]="10";e[3]="11";e[4]=0;h.os[74]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/(9)\\.\\d+");e[1]="iOS";e[2]="1";e[3]=0;e[4]=0;h.os[75]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/(10)\\.\\d+");e[1]="iOS";e[2]="4";e[3]=0;e[4]=0;h.os[76]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/(11)\\.\\d+");e[1]="iOS";e[2]="5";e[3]=0;e[4]=0;h.os[77]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/(13)\\.\\d+");e[1]="iOS";e[2]="6";e[3]=0;e[4]=0;h.os[78]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/6.* Darwin/(14)\\.\\d+");e[1]="iOS";e[2]="7";e[3]=0;e[4]=0;h.os[79]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/7.* Darwin/(14)\\.\\d+");e[1]="iOS";e[2]="8";e[3]="0";e[4]=0;h.os[80]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/7.* Darwin/(15)\\.\\d+");e[1]="iOS";e[2]="9";e[3]="0";e[4]=0;h.os[81]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/16\\.5\\.\\d+");e[1]="iOS";e[2]="10";e[3]="3";e[4]=0;h.os[82]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/16\\.6\\.\\d+");e[1]="iOS";e[2]="10";e[3]="3";e[4]="2";h.os[83]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/16\\.7\\.\\d+");e[1]="iOS";e[2]="10";e[3]="3";e[4]="3";h.os[84]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/(16)\\.\\d+");e[1]="iOS";e[2]="10";e[3]=0;e[4]=0;h.os[85]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/17\\.0\\.\\d+");e[1]="iOS";e[2]="11";e[3]="0";e[4]=0;h.os[86]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/17\\.2\\.\\d+");e[1]="iOS";e[2]="11";e[3]="1";e[4]=0;h.os[87]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/17\\.3\\.\\d+");e[1]="iOS";e[2]="11";e[3]="2";e[4]=0;h.os[88]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/(17)\\.\\d+");e[1]="iOS";e[2]="11";e[3]=0;e[4]=0;h.os[89]=e;e=Object.create(null);e[0]=new RegExp("\\b(iOS[ /]|iOS; |iPhone(?:/| v|[ _]OS[/,]|; | OS : |\\d,\\d/|\\d,\\d; )|iPad/)(\\d{1,2})[_\\.](\\d{1,2})(?:[_\\.](\\d+))?");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[90]=e;e=Object.create(null);e[0]=new RegExp("\\((iOS);");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[91]=e;e=Object.create(null);e[0]=new RegExp("(tvOS)/(\\d+).(\\d+)");e[1]="tvOS";e[2]=0;e[3]=0;e[4]=0;h.os[92]=e;e=Object.create(null);e[0]=new RegExp("(CrOS) [a-z0-9_]+ (\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Chrome OS";e[2]=0;e[3]=0;e[4]=0;h.os[93]=e;e=Object.create(null);e[0]=new RegExp("([Dd]ebian)");e[1]="Debian";e[2]=0;e[3]=0;e[4]=0;h.os[94]=e;e=Object.create(null);e[0]=new RegExp("(Linux Mint)(?:/(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[95]=e;e=Object.create(null);e[0]=new RegExp("(Mandriva)(?: Linux)?/(?:[\\d.-]+m[a-z]{2}(\\d+).(\\d))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[96]=e;e=Object.create(null);e[0]=new RegExp("(Symbian[Oo][Ss])[/ ](\\d+)\\.(\\d+)");e[1]="Symbian OS";e[2]=0;e[3]=0;e[4]=0;h.os[97]=e;e=Object.create(null);e[0]=new RegExp("(Symbian/3).+NokiaBrowser/7\\.3");e[1]="Symbian^3 Anna";e[2]=0;e[3]=0;e[4]=0;h.os[98]=e;e=Object.create(null);e[0]=new RegExp("(Symbian/3).+NokiaBrowser/7\\.4");e[1]="Symbian^3 Belle";e[2]=0;e[3]=0;e[4]=0;h.os[99]=e;e=Object.create(null);e[0]=new RegExp("(Symbian/3)");e[1]="Symbian^3";e[2]=0;e[3]=0;e[4]=0;h.os[100]=e;e=Object.create(null);e[0]=new RegExp("\\b(Series 60|SymbOS|S60Version|S60V\\d|S60\\b)");e[1]="Symbian OS";e[2]=0;e[3]=0;e[4]=0;h.os[101]=e;e=Object.create(null);e[0]=new RegExp("(MeeGo)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[102]=e;e=Object.create(null);e[0]=new RegExp("Symbian [Oo][Ss]");e[1]="Symbian OS";e[2]=0;e[3]=0;e[4]=0;h.os[103]=e;e=Object.create(null);e[0]=new RegExp("Series40;");e[1]="Nokia Series 40";e[2]=0;e[3]=0;e[4]=0;h.os[104]=e;e=Object.create(null);e[0]=new RegExp("Series30Plus;");e[1]="Nokia Series 30 Plus";e[2]=0;e[3]=0;e[4]=0;h.os[105]=e;e=Object.create(null);e[0]=new RegExp("(BB10);.+Version/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="BlackBerry OS";e[2]=0;e[3]=0;e[4]=0;h.os[106]=e;e=Object.create(null);e[0]=new RegExp("(Black[Bb]erry)[0-9a-z]+/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="BlackBerry OS";e[2]=0;e[3]=0;e[4]=0;h.os[107]=e;e=Object.create(null);e[0]=new RegExp("(Black[Bb]erry).+Version/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="BlackBerry OS";e[2]=0;e[3]=0;e[4]=0;h.os[108]=e;e=Object.create(null);e[0]=new RegExp("(RIM Tablet OS) (\\d+)\\.(\\d+)\\.(\\d+)");e[1]="BlackBerry Tablet OS";e[2]=0;e[3]=0;e[4]=0;h.os[109]=e;e=Object.create(null);e[0]=new RegExp("(Play[Bb]ook)");e[1]="BlackBerry Tablet OS";e[2]=0;e[3]=0;e[4]=0;h.os[110]=e;e=Object.create(null);e[0]=new RegExp("(Black[Bb]erry)");e[1]="BlackBerry OS";e[2]=0;e[3]=0;e[4]=0;h.os[111]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/18.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="1";e[3]="0";e[4]="1";h.os[112]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/18.1 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="1";e[3]="1";e[4]=0;h.os[113]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/26.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="1";e[3]="2";e[4]=0;h.os[114]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/28.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="1";e[3]="3";e[4]=0;h.os[115]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/30.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="1";e[3]="4";e[4]=0;h.os[116]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/32.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="2";e[3]="0";e[4]=0;h.os[117]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/34.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="2";e[3]="1";e[4]=0;h.os[118]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]=0;e[3]=0;e[4]=0;h.os[119]=e;e=Object.create(null);e[0]=new RegExp("(BREW)[ /](\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[120]=e;e=Object.create(null);e[0]=new RegExp("(BREW);");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[121]=e;e=Object.create(null);e[0]=new RegExp("(Brew MP|BMP)[ /](\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Brew MP";e[2]=0;e[3]=0;e[4]=0;h.os[122]=e;e=Object.create(null);e[0]=new RegExp("BMP;");e[1]="Brew MP";e[2]=0;e[3]=0;e[4]=0;h.os[123]=e;e=Object.create(null);e[0]=new RegExp("(GoogleTV)(?: (\\d+)\\.(\\d+)(?:\\.(\\d+))?|/[\\da-z]+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[124]=e;e=Object.create(null);e[0]=new RegExp("(WebTV)/(\\d+).(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[125]=e;e=Object.create(null);e[0]=new RegExp("(CrKey)(?:[/](\\d+)\\.(\\d+)(?:\\.(\\d+))?)?");e[1]="Chromecast";e[2]=0;e[3]=0;e[4]=0;h.os[126]=e;e=Object.create(null);e[0]=new RegExp("(hpw|web)OS/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="webOS";e[2]=0;e[3]=0;e[4]=0;h.os[127]=e;e=Object.create(null);e[0]=new RegExp("(VRE);");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[128]=e;e=Object.create(null);e[0]=new RegExp("(Fedora|Red Hat|PCLinuxOS|Puppy|Ubuntu|Kindle|Bada|Lubuntu|BackTrack|Slackware|(?:Free|Open|Net|\\b)BSD)[/ ](\\d+)\\.(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[129]=e;e=Object.create(null);e[0]=new RegExp("(Linux)[ /](\\d+)\\.(\\d+)(?:\\.(\\d+))?.*gentoo");e[1]="Gentoo";e[2]=0;e[3]=0;e[4]=0;h.os[130]=e;e=Object.create(null);e[0]=new RegExp("\\((Bada);");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[131]=e;e=Object.create(null);e[0]=new RegExp("(Windows|Android|WeTab|Maemo|Web0S)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[132]=e;e=Object.create(null);e[0]=new RegExp("(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Mageia|(?:Free|Open|Net|\\b)BSD)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[133]=e;e=Object.create(null);e[0]=new RegExp("(Linux)(?:[ /](\\d+)\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[134]=e;e=Object.create(null);e[0]=new RegExp("SunOS");e[1]="Solaris";e[2]=0;e[3]=0;e[4]=0;h.os[135]=e;e=Object.create(null);e[0]=new RegExp("^(Roku)/DVP-(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[136]=e;e=Object.create(null);e[0]=new RegExp("(iOS) (\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[137]=e;h.os.length=138});var q4=Y((AD,j8)=>{j8.exports=[{name:"nodejs",version:"0.2.0",date:"2011-08-26",lts:!1,security:!1},{name:"nodejs",version:"0.3.0",date:"2011-08-26",lts:!1,security:!1},{name:"nodejs",version:"0.4.0",date:"2011-08-26",lts:!1,security:!1},{name:"nodejs",version:"0.5.0",date:"2011-08-26",lts:!1,security:!1},{name:"nodejs",version:"0.6.0",date:"2011-11-04",lts:!1,security:!1},{name:"nodejs",version:"0.7.0",date:"2012-01-17",lts:!1,security:!1},{name:"nodejs",version:"0.8.0",date:"2012-06-22",lts:!1,security:!1},{name:"nodejs",version:"0.9.0",date:"2012-07-20",lts:!1,security:!1},{name:"nodejs",version:"0.10.0",date:"2013-03-11",lts:!1,security:!1},{name:"nodejs",version:"0.11.0",date:"2013-03-28",lts:!1,security:!1},{name:"nodejs",version:"0.12.0",date:"2015-02-06",lts:!1,security:!1},{name:"iojs",version:"1.0.0",date:"2015-01-14"},{name:"iojs",version:"1.1.0",date:"2015-02-03"},{name:"iojs",version:"1.2.0",date:"2015-02-11"},{name:"iojs",version:"1.3.0",date:"2015-02-20"},{name:"iojs",version:"1.5.0",date:"2015-03-06"},{name:"iojs",version:"1.6.0",date:"2015-03-20"},{name:"iojs",version:"2.0.0",date:"2015-05-04"},{name:"iojs",version:"2.1.0",date:"2015-05-24"},{name:"iojs",version:"2.2.0",date:"2015-06-01"},{name:"iojs",version:"2.3.0",date:"2015-06-13"},{name:"iojs",version:"2.4.0",date:"2015-07-17"},{name:"iojs",version:"2.5.0",date:"2015-07-28"},{name:"iojs",version:"3.0.0",date:"2015-08-04"},{name:"iojs",version:"3.1.0",date:"2015-08-19"},{name:"iojs",version:"3.2.0",date:"2015-08-25"},{name:"iojs",version:"3.3.0",date:"2015-09-02"},{name:"nodejs",version:"4.0.0",date:"2015-09-08",lts:!1,security:!1},{name:"nodejs",version:"4.1.0",date:"2015-09-17",lts:!1,security:!1},{name:"nodejs",version:"4.2.0",date:"2015-10-12",lts:"Argon",security:!1},{name:"nodejs",version:"4.3.0",date:"2016-02-09",lts:"Argon",security:!1},{name:"nodejs",version:"4.4.0",date:"2016-03-08",lts:"Argon",security:!1},{name:"nodejs",version:"4.5.0",date:"2016-08-16",lts:"Argon",security:!1},{name:"nodejs",version:"4.6.0",date:"2016-09-27",lts:"Argon",security:!0},{name:"nodejs",version:"4.7.0",date:"2016-12-06",lts:"Argon",security:!1},{name:"nodejs",version:"4.8.0",date:"2017-02-21",lts:"Argon",security:!1},{name:"nodejs",version:"4.9.0",date:"2018-03-28",lts:"Argon",security:!0},{name:"nodejs",version:"5.0.0",date:"2015-10-29",lts:!1,security:!1},{name:"nodejs",version:"5.1.0",date:"2015-11-17",lts:!1,security:!1},{name:"nodejs",version:"5.2.0",date:"2015-12-09",lts:!1,security:!1},{name:"nodejs",version:"5.3.0",date:"2015-12-15",lts:!1,security:!1},{name:"nodejs",version:"5.4.0",date:"2016-01-06",lts:!1,security:!1},{name:"nodejs",version:"5.5.0",date:"2016-01-21",lts:!1,security:!1},{name:"nodejs",version:"5.6.0",date:"2016-02-09",lts:!1,security:!1},{name:"nodejs",version:"5.7.0",date:"2016-02-23",lts:!1,security:!1},{name:"nodejs",version:"5.8.0",date:"2016-03-09",lts:!1,security:!1},{name:"nodejs",version:"5.9.0",date:"2016-03-16",lts:!1,security:!1},{name:"nodejs",version:"5.10.0",date:"2016-04-01",lts:!1,security:!1},{name:"nodejs",version:"5.11.0",date:"2016-04-21",lts:!1,security:!1},{name:"nodejs",version:"5.12.0",date:"2016-06-23",lts:!1,security:!1},{name:"nodejs",version:"6.0.0",date:"2016-04-26",lts:!1,security:!1},{name:"nodejs",version:"6.1.0",date:"2016-05-05",lts:!1,security:!1},{name:"nodejs",version:"6.2.0",date:"2016-05-17",lts:!1,security:!1},{name:"nodejs",version:"6.3.0",date:"2016-07-06",lts:!1,security:!1},{name:"nodejs",version:"6.4.0",date:"2016-08-12",lts:!1,security:!1},{name:"nodejs",version:"6.5.0",date:"2016-08-26",lts:!1,security:!1},{name:"nodejs",version:"6.6.0",date:"2016-09-14",lts:!1,security:!1},{name:"nodejs",version:"6.7.0",date:"2016-09-27",lts:!1,security:!0},{name:"nodejs",version:"6.8.0",date:"2016-10-12",lts:!1,security:!1},{name:"nodejs",version:"6.9.0",date:"2016-10-18",lts:"Boron",security:!1},{name:"nodejs",version:"6.10.0",date:"2017-02-21",lts:"Boron",security:!1},{name:"nodejs",version:"6.11.0",date:"2017-06-06",lts:"Boron",security:!1},{name:"nodejs",version:"6.12.0",date:"2017-11-06",lts:"Boron",security:!1},{name:"nodejs",version:"6.13.0",date:"2018-02-10",lts:"Boron",security:!1},{name:"nodejs",version:"6.14.0",date:"2018-03-28",lts:"Boron",security:!0},{name:"nodejs",version:"6.15.0",date:"2018-11-27",lts:"Boron",security:!0},{name:"nodejs",version:"6.16.0",date:"2018-12-26",lts:"Boron",security:!1},{name:"nodejs",version:"6.17.0",date:"2019-02-28",lts:"Boron",security:!0},{name:"nodejs",version:"7.0.0",date:"2016-10-25",lts:!1,security:!1},{name:"nodejs",version:"7.1.0",date:"2016-11-08",lts:!1,security:!1},{name:"nodejs",version:"7.2.0",date:"2016-11-22",lts:!1,security:!1},{name:"nodejs",version:"7.3.0",date:"2016-12-20",lts:!1,security:!1},{name:"nodejs",version:"7.4.0",date:"2017-01-04",lts:!1,security:!1},{name:"nodejs",version:"7.5.0",date:"2017-01-31",lts:!1,security:!1},{name:"nodejs",version:"7.6.0",date:"2017-02-21",lts:!1,security:!1},{name:"nodejs",version:"7.7.0",date:"2017-02-28",lts:!1,security:!1},{name:"nodejs",version:"7.8.0",date:"2017-03-29",lts:!1,security:!1},{name:"nodejs",version:"7.9.0",date:"2017-04-11",lts:!1,security:!1},{name:"nodejs",version:"7.10.0",date:"2017-05-02",lts:!1,security:!1},{name:"nodejs",version:"8.0.0",date:"2017-05-30",lts:!1,security:!1},{name:"nodejs",version:"8.1.0",date:"2017-06-08",lts:!1,security:!1},{name:"nodejs",version:"8.2.0",date:"2017-07-19",lts:!1,security:!1},{name:"nodejs",version:"8.3.0",date:"2017-08-08",lts:!1,security:!1},{name:"nodejs",version:"8.4.0",date:"2017-08-15",lts:!1,security:!1},{name:"nodejs",version:"8.5.0",date:"2017-09-12",lts:!1,security:!1},{name:"nodejs",version:"8.6.0",date:"2017-09-26",lts:!1,security:!1},{name:"nodejs",version:"8.7.0",date:"2017-10-11",lts:!1,security:!1},{name:"nodejs",version:"8.8.0",date:"2017-10-24",lts:!1,security:!1},{name:"nodejs",version:"8.9.0",date:"2017-10-31",lts:"Carbon",security:!1},{name:"nodejs",version:"8.10.0",date:"2018-03-06",lts:"Carbon",security:!1},{name:"nodejs",version:"8.11.0",date:"2018-03-28",lts:"Carbon",security:!0},{name:"nodejs",version:"8.12.0",date:"2018-09-10",lts:"Carbon",security:!1},{name:"nodejs",version:"8.13.0",date:"2018-11-20",lts:"Carbon",security:!1},{name:"nodejs",version:"8.14.0",date:"2018-11-27",lts:"Carbon",security:!0},{name:"nodejs",version:"8.15.0",date:"2018-12-26",lts:"Carbon",security:!1},{name:"nodejs",version:"8.16.0",date:"2019-04-16",lts:"Carbon",security:!1},{name:"nodejs",version:"8.17.0",date:"2019-12-17",lts:"Carbon",security:!0},{name:"nodejs",version:"9.0.0",date:"2017-10-31",lts:!1,security:!1},{name:"nodejs",version:"9.1.0",date:"2017-11-07",lts:!1,security:!1},{name:"nodejs",version:"9.2.0",date:"2017-11-14",lts:!1,security:!1},{name:"nodejs",version:"9.3.0",date:"2017-12-12",lts:!1,security:!1},{name:"nodejs",version:"9.4.0",date:"2018-01-10",lts:!1,security:!1},{name:"nodejs",version:"9.5.0",date:"2018-01-31",lts:!1,security:!1},{name:"nodejs",version:"9.6.0",date:"2018-02-21",lts:!1,security:!1},{name:"nodejs",version:"9.7.0",date:"2018-03-01",lts:!1,security:!1},{name:"nodejs",version:"9.8.0",date:"2018-03-07",lts:!1,security:!1},{name:"nodejs",version:"9.9.0",date:"2018-03-21",lts:!1,security:!1},{name:"nodejs",version:"9.10.0",date:"2018-03-28",lts:!1,security:!0},{name:"nodejs",version:"9.11.0",date:"2018-04-04",lts:!1,security:!1},{name:"nodejs",version:"10.0.0",date:"2018-04-24",lts:!1,security:!1},{name:"nodejs",version:"10.1.0",date:"2018-05-08",lts:!1,security:!1},{name:"nodejs",version:"10.2.0",date:"2018-05-23",lts:!1,security:!1},{name:"nodejs",version:"10.3.0",date:"2018-05-29",lts:!1,security:!1},{name:"nodejs",version:"10.4.0",date:"2018-06-06",lts:!1,security:!1},{name:"nodejs",version:"10.5.0",date:"2018-06-20",lts:!1,security:!1},{name:"nodejs",version:"10.6.0",date:"2018-07-04",lts:!1,security:!1},{name:"nodejs",version:"10.7.0",date:"2018-07-18",lts:!1,security:!1},{name:"nodejs",version:"10.8.0",date:"2018-08-01",lts:!1,security:!1},{name:"nodejs",version:"10.9.0",date:"2018-08-15",lts:!1,security:!1},{name:"nodejs",version:"10.10.0",date:"2018-09-06",lts:!1,security:!1},{name:"nodejs",version:"10.11.0",date:"2018-09-19",lts:!1,security:!1},{name:"nodejs",version:"10.12.0",date:"2018-10-10",lts:!1,security:!1},{name:"nodejs",version:"10.13.0",date:"2018-10-30",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.14.0",date:"2018-11-27",lts:"Dubnium",security:!0},{name:"nodejs",version:"10.15.0",date:"2018-12-26",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.16.0",date:"2019-05-28",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.17.0",date:"2019-10-22",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.18.0",date:"2019-12-17",lts:"Dubnium",security:!0},{name:"nodejs",version:"10.19.0",date:"2020-02-05",lts:"Dubnium",security:!0},{name:"nodejs",version:"10.20.0",date:"2020-03-26",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.21.0",date:"2020-06-02",lts:"Dubnium",security:!0},{name:"nodejs",version:"10.22.0",date:"2020-07-21",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.23.0",date:"2020-10-27",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.24.0",date:"2021-02-23",lts:"Dubnium",security:!0},{name:"nodejs",version:"11.0.0",date:"2018-10-23",lts:!1,security:!1},{name:"nodejs",version:"11.1.0",date:"2018-10-30",lts:!1,security:!1},{name:"nodejs",version:"11.2.0",date:"2018-11-15",lts:!1,security:!1},{name:"nodejs",version:"11.3.0",date:"2018-11-27",lts:!1,security:!0},{name:"nodejs",version:"11.4.0",date:"2018-12-07",lts:!1,security:!1},{name:"nodejs",version:"11.5.0",date:"2018-12-18",lts:!1,security:!1},{name:"nodejs",version:"11.6.0",date:"2018-12-26",lts:!1,security:!1},{name:"nodejs",version:"11.7.0",date:"2019-01-17",lts:!1,security:!1},{name:"nodejs",version:"11.8.0",date:"2019-01-24",lts:!1,security:!1},{name:"nodejs",version:"11.9.0",date:"2019-01-30",lts:!1,security:!1},{name:"nodejs",version:"11.10.0",date:"2019-02-14",lts:!1,security:!1},{name:"nodejs",version:"11.11.0",date:"2019-03-05",lts:!1,security:!1},{name:"nodejs",version:"11.12.0",date:"2019-03-14",lts:!1,security:!1},{name:"nodejs",version:"11.13.0",date:"2019-03-28",lts:!1,security:!1},{name:"nodejs",version:"11.14.0",date:"2019-04-10",lts:!1,security:!1},{name:"nodejs",version:"11.15.0",date:"2019-04-30",lts:!1,security:!1},{name:"nodejs",version:"12.0.0",date:"2019-04-23",lts:!1,security:!1},{name:"nodejs",version:"12.1.0",date:"2019-04-29",lts:!1,security:!1},{name:"nodejs",version:"12.2.0",date:"2019-05-07",lts:!1,security:!1},{name:"nodejs",version:"12.3.0",date:"2019-05-21",lts:!1,security:!1},{name:"nodejs",version:"12.4.0",date:"2019-06-04",lts:!1,security:!1},{name:"nodejs",version:"12.5.0",date:"2019-06-26",lts:!1,security:!1},{name:"nodejs",version:"12.6.0",date:"2019-07-03",lts:!1,security:!1},{name:"nodejs",version:"12.7.0",date:"2019-07-23",lts:!1,security:!1},{name:"nodejs",version:"12.8.0",date:"2019-08-06",lts:!1,security:!1},{name:"nodejs",version:"12.9.0",date:"2019-08-20",lts:!1,security:!1},{name:"nodejs",version:"12.10.0",date:"2019-09-04",lts:!1,security:!1},{name:"nodejs",version:"12.11.0",date:"2019-09-25",lts:!1,security:!1},{name:"nodejs",version:"12.12.0",date:"2019-10-11",lts:!1,security:!1},{name:"nodejs",version:"12.13.0",date:"2019-10-21",lts:"Erbium",security:!1},{name:"nodejs",version:"12.14.0",date:"2019-12-17",lts:"Erbium",security:!0},{name:"nodejs",version:"12.15.0",date:"2020-02-05",lts:"Erbium",security:!0},{name:"nodejs",version:"12.16.0",date:"2020-02-11",lts:"Erbium",security:!1},{name:"nodejs",version:"12.17.0",date:"2020-05-26",lts:"Erbium",security:!1},{name:"nodejs",version:"12.18.0",date:"2020-06-02",lts:"Erbium",security:!0},{name:"nodejs",version:"12.19.0",date:"2020-10-06",lts:"Erbium",security:!1},{name:"nodejs",version:"12.20.0",date:"2020-11-24",lts:"Erbium",security:!1},{name:"nodejs",version:"12.21.0",date:"2021-02-23",lts:"Erbium",security:!0},{name:"nodejs",version:"13.0.0",date:"2019-10-22",lts:!1,security:!1},{name:"nodejs",version:"13.1.0",date:"2019-11-05",lts:!1,security:!1},{name:"nodejs",version:"13.2.0",date:"2019-11-21",lts:!1,security:!1},{name:"nodejs",version:"13.3.0",date:"2019-12-03",lts:!1,security:!1},{name:"nodejs",version:"13.4.0",date:"2019-12-17",lts:!1,security:!0},{name:"nodejs",version:"13.5.0",date:"2019-12-18",lts:!1,security:!1},{name:"nodejs",version:"13.6.0",date:"2020-01-07",lts:!1,security:!1},{name:"nodejs",version:"13.7.0",date:"2020-01-21",lts:!1,security:!1},{name:"nodejs",version:"13.8.0",date:"2020-02-05",lts:!1,security:!0},{name:"nodejs",version:"13.9.0",date:"2020-02-18",lts:!1,security:!1},{name:"nodejs",version:"13.10.0",date:"2020-03-04",lts:!1,security:!1},{name:"nodejs",version:"13.11.0",date:"2020-03-12",lts:!1,security:!1},{name:"nodejs",version:"13.12.0",date:"2020-03-26",lts:!1,security:!1},{name:"nodejs",version:"13.13.0",date:"2020-04-14",lts:!1,security:!1},{name:"nodejs",version:"13.14.0",date:"2020-04-29",lts:!1,security:!1},{name:"nodejs",version:"14.0.0",date:"2020-04-21",lts:!1,security:!1},{name:"nodejs",version:"14.1.0",date:"2020-04-29",lts:!1,security:!1},{name:"nodejs",version:"14.2.0",date:"2020-05-05",lts:!1,security:!1},{name:"nodejs",version:"14.3.0",date:"2020-05-19",lts:!1,security:!1},{name:"nodejs",version:"14.4.0",date:"2020-06-02",lts:!1,security:!0},{name:"nodejs",version:"14.5.0",date:"2020-06-30",lts:!1,security:!1},{name:"nodejs",version:"14.6.0",date:"2020-07-20",lts:!1,security:!1},{name:"nodejs",version:"14.7.0",date:"2020-07-29",lts:!1,security:!1},{name:"nodejs",version:"14.8.0",date:"2020-08-11",lts:!1,security:!1},{name:"nodejs",version:"14.9.0",date:"2020-08-27",lts:!1,security:!1},{name:"nodejs",version:"14.10.0",date:"2020-09-08",lts:!1,security:!1},{name:"nodejs",version:"14.11.0",date:"2020-09-15",lts:!1,security:!0},{name:"nodejs",version:"14.12.0",date:"2020-09-22",lts:!1,security:!1},{name:"nodejs",version:"14.13.0",date:"2020-09-29",lts:!1,security:!1},{name:"nodejs",version:"14.14.0",date:"2020-10-15",lts:!1,security:!1},{name:"nodejs",version:"14.15.0",date:"2020-10-27",lts:"Fermium",security:!1},{name:"nodejs",version:"14.16.0",date:"2021-02-23",lts:"Fermium",security:!0},{name:"nodejs",version:"15.0.0",date:"2020-10-20",lts:!1,security:!1},{name:"nodejs",version:"15.1.0",date:"2020-11-04",lts:!1,security:!1},{name:"nodejs",version:"15.2.0",date:"2020-11-10",lts:!1,security:!1},{name:"nodejs",version:"15.3.0",date:"2020-11-24",lts:!1,security:!1},{name:"nodejs",version:"15.4.0",date:"2020-12-09",lts:!1,security:!1},{name:"nodejs",version:"15.5.0",date:"2020-12-22",lts:!1,security:!1},{name:"nodejs",version:"15.6.0",date:"2021-01-14",lts:!1,security:!1},{name:"nodejs",version:"15.7.0",date:"2021-01-25",lts:!1,security:!1},{name:"nodejs",version:"15.8.0",date:"2021-02-02",lts:!1,security:!1},{name:"nodejs",version:"15.9.0",date:"2021-02-18",lts:!1,security:!1},{name:"nodejs",version:"15.10.0",date:"2021-02-23",lts:!1,security:!0}]});var W4=Y((RD,z4)=>{A();z4.exports={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"}});var V4=Y((MD,G4)=>{A();G4.exports.browsers=W4()});var K4=Y((PD,J4)=>{A();J4.exports={"0":"43","1":"44","2":"45","3":"46","4":"47","5":"48","6":"49","7":"50","8":"51","9":"52",A:"10",B:"11",C:"12",D:"7",E:"8",F:"9",G:"15",H:"91",I:"4",J:"6",K:"13",L:"14",M:"16",N:"17",O:"18",P:"89",Q:"62",R:"79",S:"80",T:"81",U:"83",V:"84",W:"85",X:"86",Y:"87",Z:"88",a:"90",b:"5",c:"19",d:"20",e:"21",f:"22",g:"23",h:"24",i:"25",j:"26",k:"27",l:"28",m:"29",n:"30",o:"31",p:"32",q:"33",r:"34",s:"35",t:"36",u:"37",v:"38",w:"39",x:"40",y:"41",z:"42",AB:"53",BB:"54",CB:"55",DB:"56",EB:"57",FB:"58",GB:"60",HB:"63",IB:"64",JB:"65",KB:"66",LB:"67",MB:"68",NB:"69",OB:"70",PB:"71",QB:"72",RB:"73",SB:"74",TB:"75",UB:"76",VB:"11.1",WB:"12.1",XB:"3",YB:"59",ZB:"61",aB:"77",bB:"78",cB:"3.2",dB:"10.1",eB:"11.5",fB:"4.2-4.3",gB:"5.5",hB:"2",iB:"82",jB:"3.5",kB:"3.6",lB:"92",mB:"93",nB:"94",oB:"3.1",pB:"5.1",qB:"6.1",rB:"7.1",sB:"9.1",tB:"13.1",uB:"14.1",vB:"TP",wB:"9.5-9.6",xB:"10.0-10.1",yB:"10.5",zB:"10.6","0B":"11.6","1B":"4.0-4.1","2B":"5.0-5.1","3B":"6.0-6.1","4B":"7.0-7.1","5B":"8.1-8.4","6B":"9.0-9.2","7B":"9.3","8B":"10.0-10.2","9B":"10.3",AC:"11.0-11.2",BC:"11.3-11.4",CC:"12.0-12.1",DC:"12.2-12.4",EC:"13.0-13.1",FC:"13.2",GC:"13.3",HC:"13.4-13.7",IC:"14.0-14.4",JC:"14.5-14.6",KC:"all",LC:"2.1",MC:"2.2",NC:"2.3",OC:"4.1",PC:"4.4",QC:"4.4.3-4.4.4",RC:"12.12",SC:"5.0-5.4",TC:"6.2-6.4",UC:"7.2-7.4",VC:"8.2",WC:"9.2",XC:"11.1-11.2",YC:"12.0",ZC:"13.0",aC:"14.0",bC:"10.4",cC:"7.12",dC:"2.5"}});var Z4=Y((ID,Y4)=>{A();Y4.exports.browserVersions=K4()});var Q4=Y((LD,X4)=>{A();X4.exports={A:{A:{J:.0131217,D:.00621152,E:.0199047,F:.0928884,A:.0132698,B:.849265,gB:.009298},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","gB","J","D","E","F","A","B","","",""],E:"IE",F:{gB:962323200,J:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968e3}},B:{A:{C:.008408,K:.004267,L:.004204,G:.004204,M:.008408,N:.033632,O:.092488,R:0,S:.004298,T:.00944,U:.00415,V:.008408,W:.008408,X:.012612,Y:.012612,Z:.016816,P:.079876,a:3.01006,H:.2102},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","K","L","G","M","N","O","R","S","T","U","V","W","X","Y","Z","P","a","H","","",""],E:"Edge",F:{C:1438128e3,K:1447286400,L:1470096e3,G:1491868800,M:1508198400,N:1525046400,O:1542067200,R:1579046400,S:1581033600,T:1586736e3,U:1590019200,V:1594857600,W:1598486400,X:1602201600,Y:1605830400,Z:161136e4,P:1614816e3,a:1618358400,H:1622073600},D:{C:"ms",K:"ms",L:"ms",G:"ms",M:"ms",N:"ms",O:"ms"}},C:{A:{"0":.058856,"1":.004204,"2":.004204,"3":.004525,"4":.004271,"5":.008408,"6":.004538,"7":.004267,"8":.004204,"9":.071468,hB:.012813,XB:.004271,I:.02102,b:.004879,J:.020136,D:.005725,E:.004525,F:.00533,A:.004283,B:.008408,C:.004471,K:.004486,L:.00453,G:.008542,M:.004417,N:.004425,O:.008542,c:.004443,d:.004283,e:.008542,f:.013698,g:.008542,h:.008786,i:.017084,j:.004317,k:.004393,l:.004418,m:.008834,n:.008542,o:.008928,p:.004471,q:.009284,r:.004707,s:.009076,t:.004425,u:.004783,v:.004271,w:.004783,x:.00487,y:.005029,z:.0047,AB:.004335,BB:.004204,CB:.004204,DB:.012612,EB:.004425,FB:.004204,YB:.004204,GB:.008408,ZB:.00472,Q:.004425,HB:.02102,IB:.00415,JB:.004267,KB:.008408,LB:.004267,MB:.012612,NB:.00415,OB:.004204,PB:.004425,QB:.008408,RB:.00415,SB:.00415,TB:.008542,UB:.004298,aB:.004204,bB:.14714,R:.008408,S:.008408,T:.012612,iB:.016816,U:.012612,V:.025224,W:.02102,X:.033632,Y:.071468,Z:2.3122,P:.029428,a:0,H:0,jB:.008786,kB:.00487},B:"moz",C:["hB","XB","jB","kB","I","b","J","D","E","F","A","B","C","K","L","G","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","YB","GB","ZB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","aB","bB","R","S","T","iB","U","V","W","X","Y","Z","P","a","H",""],E:"Firefox",F:{"0":1450137600,"1":1453852800,"2":1457395200,"3":1461628800,"4":1465257600,"5":1470096e3,"6":1474329600,"7":1479168e3,"8":1485216e3,"9":1488844800,hB:1161648e3,XB:1213660800,jB:124632e4,kB:1264032e3,I:1300752e3,b:1308614400,J:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968e3,C:1331596800,K:1335225600,L:1338854400,G:1342483200,M:1346112e3,N:1349740800,O:1353628800,c:1357603200,d:1361232e3,e:1364860800,f:1368489600,g:1372118400,h:1375747200,i:1379376e3,j:1386633600,k:1391472e3,l:1395100800,m:1398729600,n:1402358400,o:1405987200,p:1409616e3,q:1413244800,r:1417392e3,s:1421107200,t:1424736e3,u:1428278400,v:1431475200,w:1435881600,x:1439251200,y:144288e4,z:1446508800,AB:149256e4,BB:1497312e3,CB:1502150400,DB:1506556800,EB:1510617600,FB:1516665600,YB:1520985600,GB:1525824e3,ZB:1529971200,Q:1536105600,HB:1540252800,IB:1544486400,JB:154872e4,KB:1552953600,LB:1558396800,MB:1562630400,NB:1567468800,OB:1571788800,PB:1575331200,QB:1578355200,RB:1581379200,SB:1583798400,TB:1586304e3,UB:1588636800,aB:1591056e3,bB:1593475200,R:1595894400,S:1598313600,T:1600732800,iB:1603152e3,U:1605571200,V:1607990400,W:1611619200,X:1614038400,Y:1616457600,Z:1618790400,P:1622505600,a:null,H:null}},D:{A:{"0":.008408,"1":.004465,"2":.004642,"3":.004891,"4":.008408,"5":.02102,"6":.214404,"7":.004204,"8":.016816,"9":.004204,I:.004706,b:.004879,J:.004879,D:.005591,E:.005591,F:.005591,A:.004534,B:.004464,C:.010424,K:.0083,L:.004706,G:.015087,M:.004393,N:.004393,O:.008652,c:.008542,d:.004393,e:.004317,f:.012612,g:.008786,h:.008408,i:.004461,j:.004298,k:.004326,l:.0047,m:.004538,n:.008542,o:.008596,p:.004566,q:.004204,r:.008408,s:.012612,t:.004335,u:.004464,v:.025224,w:.004464,x:.012612,y:.0236,z:.004403,AB:.058856,BB:.008408,CB:.012612,DB:.04204,EB:.008408,FB:.008408,YB:.008408,GB:.016816,ZB:.121916,Q:.008408,HB:.02102,IB:.025224,JB:.02102,KB:.02102,LB:.033632,MB:.029428,NB:.067264,OB:.071468,PB:.025224,QB:.058856,RB:.02102,SB:.113508,TB:.092488,UB:.067264,aB:.029428,bB:.075672,R:.18918,S:.1051,T:.079876,U:.130324,V:.100896,W:.243832,X:.16816,Y:.311096,Z:.344728,P:1.0468,a:21.4866,H:.790352,lB:.025224,mB:.004204,nB:0},B:"webkit",C:["","","","I","b","J","D","E","F","A","B","C","K","L","G","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","YB","GB","ZB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","aB","bB","R","S","T","U","V","W","X","Y","Z","P","a","H","lB","mB","nB"],E:"Chrome",F:{"0":143208e4,"1":1437523200,"2":1441152e3,"3":1444780800,"4":1449014400,"5":1453248e3,"6":1456963200,"7":1460592e3,"8":1464134400,"9":1469059200,I:1264377600,b:1274745600,J:1283385600,D:1287619200,E:1291248e3,F:1296777600,A:1299542400,B:1303862400,C:1307404800,K:1312243200,L:1316131200,G:1316131200,M:1319500800,N:1323734400,O:1328659200,c:1332892800,d:133704e4,e:1340668800,f:1343692800,g:1348531200,h:1352246400,i:1357862400,j:1361404800,k:1364428800,l:1369094400,m:1374105600,n:1376956800,o:1384214400,p:1389657600,q:1392940800,r:1397001600,s:1400544e3,t:1405468800,u:1409011200,v:141264e4,w:1416268800,x:1421798400,y:1425513600,z:1429401600,AB:1472601600,BB:1476230400,CB:1480550400,DB:1485302400,EB:1489017600,FB:149256e4,YB:1496707200,GB:1500940800,ZB:1504569600,Q:1508198400,HB:1512518400,IB:1516752e3,JB:1520294400,KB:1523923200,LB:1527552e3,MB:1532390400,NB:1536019200,OB:1539648e3,PB:1543968e3,QB:154872e4,RB:1552348800,SB:1555977600,TB:1559606400,UB:1564444800,aB:1568073600,bB:1571702400,R:1575936e3,S:1580860800,T:1586304e3,U:1589846400,V:1594684800,W:1598313600,X:1601942400,Y:1605571200,Z:1611014400,P:1614556800,a:1618272e3,H:1621987200,lB:null,mB:null,nB:null}},E:{A:{I:0,b:.008542,J:.004656,D:.004465,E:.218608,F:.004891,A:.004425,B:.008408,C:.012612,K:.088284,L:2.26175,G:0,oB:0,cB:.008692,pB:.109304,qB:.00456,rB:.004283,sB:.02102,dB:.02102,VB:.058856,WB:.088284,tB:.395176,uB:.748312,vB:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","oB","cB","I","b","pB","J","qB","D","rB","E","F","sB","A","dB","B","VB","C","WB","K","tB","L","uB","G","vB",""],E:"Safari",F:{oB:1205798400,cB:1226534400,I:1244419200,b:1275868800,pB:131112e4,J:1343174400,qB:13824e5,D:13824e5,rB:1410998400,E:1413417600,F:1443657600,sB:1458518400,A:1474329600,dB:1490572800,B:1505779200,VB:1522281600,C:1537142400,WB:1553472e3,K:1568851200,tB:1585008e3,L:1600214400,uB:1619395200,G:null,vB:null}},F:{A:{"0":.008542,"1":.004227,"2":.004725,"3":.008408,"4":.008942,"5":.004707,"6":.004827,"7":.004707,"8":.004707,"9":.004326,F:.0082,B:.016581,C:.004317,G:.00685,M:.00685,N:.00685,O:.005014,c:.006015,d:.004879,e:.006597,f:.006597,g:.013434,h:.006702,i:.006015,j:.005595,k:.004393,l:.008652,m:.004879,n:.004879,o:.004711,p:.005152,q:.005014,r:.009758,s:.004879,t:.008408,u:.004283,v:.004367,w:.004534,x:.008408,y:.004227,z:.004418,AB:.008922,BB:.014349,CB:.004425,DB:.00472,EB:.004425,FB:.004425,GB:.00472,Q:.004532,HB:.004566,IB:.02283,JB:.00867,KB:.004656,LB:.004642,MB:.004298,NB:.00944,OB:.00415,PB:.004271,QB:.004298,RB:.096692,SB:.008408,TB:.433012,UB:.437216,wB:.00685,xB:0,yB:.008392,zB:.004706,VB:.006229,eB:.004879,"0B":.008786,WB:.00472},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","F","wB","xB","yB","zB","B","VB","eB","0B","C","WB","G","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","","",""],E:"Opera",F:{"0":1486425600,"1":1490054400,"2":1494374400,"3":1498003200,"4":1502236800,"5":1506470400,"6":1510099200,"7":1515024e3,"8":1517961600,"9":1521676800,F:1150761600,wB:1223424e3,xB:1251763200,yB:1267488e3,zB:1277942400,B:1292457600,VB:1302566400,eB:1309219200,"0B":1323129600,C:1323129600,WB:1352073600,G:1372723200,M:1377561600,N:1381104e3,O:1386288e3,c:1390867200,d:1393891200,e:1399334400,f:1401753600,g:1405987200,h:1409616e3,i:1413331200,j:1417132800,k:1422316800,l:1425945600,m:1430179200,n:1433808e3,o:1438646400,p:1442448e3,q:1445904e3,r:1449100800,s:1454371200,t:1457308800,u:146232e4,v:1465344e3,w:1470096e3,x:1474329600,y:1477267200,z:1481587200,AB:1525910400,BB:1530144e3,CB:1534982400,DB:1537833600,EB:1543363200,FB:1548201600,GB:1554768e3,Q:1561593600,HB:1566259200,IB:1570406400,JB:1573689600,KB:1578441600,LB:1583971200,MB:1587513600,NB:1592956800,OB:1595894400,PB:1600128e3,QB:1603238400,RB:161352e4,SB:1612224e3,TB:1616544e3,UB:1619568e3},D:{F:"o",B:"o",C:"o",wB:"o",xB:"o",yB:"o",zB:"o",VB:"o",eB:"o","0B":"o",WB:"o"}},G:{A:{E:.00144955,cB:0,"1B":0,fB:.00289911,"2B":.00869732,"3B":.0449361,"4B":.0304406,"5B":.0202937,"6B":.0217433,"7B":.147854,"8B":.0347893,"9B":.149304,AC:.0855236,BC:.0739272,CC:.0768263,DC:.246424,EC:.0666794,FC:.0333397,GC:.172497,HC:.572573,IC:10.1498,JC:1.93225},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cB","1B","fB","2B","3B","4B","E","5B","6B","7B","8B","9B","AC","BC","CC","DC","EC","FC","GC","HC","IC","JC","","",""],E:"Safari on iOS",F:{cB:1270252800,"1B":1283904e3,fB:1299628800,"2B":1331078400,"3B":1359331200,"4B":1394409600,E:1410912e3,"5B":1413763200,"6B":1442361600,"7B":1458518400,"8B":1473724800,"9B":1490572800,AC:1505779200,BC:1522281600,CC:1537142400,DC:1553472e3,EC:1568851200,FC:1572220800,GC:1580169600,HC:1585008e3,IC:1600214400,JC:1619395200}},H:{A:{KC:1.18546},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","KC","","",""],E:"Opera Mini",F:{KC:1426464e3}},I:{A:{XB:0,I:.0263634,H:0,LC:0,MC:0,NC:0,OC:.0301296,fB:.0979213,PC:0,QC:.43688},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","LC","MC","NC","XB","I","OC","fB","PC","QC","H","","",""],E:"Android Browser",F:{LC:1256515200,MC:1274313600,NC:1291593600,XB:1298332800,I:1318896e3,OC:1341792e3,fB:1374624e3,PC:1386547200,QC:1401667200,H:1621987200}},J:{A:{D:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","A","","",""],E:"Blackberry Browser",F:{D:1325376e3,A:1359504e3}},K:{A:{A:0,B:0,C:0,Q:.0111391,VB:0,eB:0,WB:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","VB","eB","C","WB","Q","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752e3,VB:1314835200,eB:1318291200,C:1330300800,WB:1349740800,Q:1613433600},D:{Q:"webkit"}},L:{A:{H:38.7167},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","H","","",""],E:"Chrome for Android",F:{H:1621987200}},M:{A:{P:.278256},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","P","","",""],E:"Firefox for Android",F:{P:1622505600}},N:{A:{A:.0115934,B:.022664},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456e3}},O:{A:{RC:1.36809},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","RC","","",""],E:"UC Browser for Android",F:{RC:1471392e3},D:{RC:"webkit"}},P:{A:{I:.309232,SC:.0103543,TC:.010304,UC:.0824619,VC:.0103584,WC:.0721541,dB:.0412309,XC:.164924,YC:.113385,ZC:.412309,aC:2.19555},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","I","SC","TC","UC","VC","WC","dB","XC","YC","ZC","aC","","",""],E:"Samsung Internet",F:{I:1461024e3,SC:1481846400,TC:1509408e3,UC:1528329600,VC:1546128e3,WC:1554163200,dB:1567900800,XC:1582588800,YC:1593475200,ZC:1605657600,aC:1618531200}},Q:{A:{bC:.185504},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bC","","",""],E:"QQ Browser",F:{bC:1589846400}},R:{A:{cC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cC","","",""],E:"Baidu Browser",F:{cC:1491004800}},S:{A:{dC:.098549},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","dC","","",""],E:"KaiOS Browser",F:{dC:1527811200}}}});var rS=Y((BD,nS)=>{A();var{browsers:D8}=V4(),B0=Z4().browserVersions,eS=Q4();function tS(i){return Object.keys(i).reduce((t,n)=>(t[B0[n]]=i[n],t),{})}nS.exports.agents=Object.keys(eS).reduce((i,t)=>{let n=eS[t];return i[D8[t]]=Object.keys(n).reduce((r,o)=>(o==="A"?r.usage_global=tS(n[o]):o==="C"?r.versions=n[o].reduce((a,l)=>(l===""?a.push(null):a.push(B0[l]),a),[]):o==="D"?r.prefix_exceptions=tS(n[o]):o==="E"?r.browser=n[o]:o==="F"?r.release_date=Object.keys(n[o]).reduce((a,l)=>(a[B0[l]]=n[o][l],a),{}):r.prefix=n[o],r),{}),i},{})});var iS=Y((kD,F8)=>{F8.exports={"v0.8":{start:"2012-06-25",end:"2014-07-31"},"v0.10":{start:"2013-03-11",end:"2016-10-31"},"v0.12":{start:"2015-02-06",end:"2016-12-31"},v4:{start:"2015-09-08",lts:"2015-10-12",maintenance:"2017-04-01",end:"2018-04-30",codename:"Argon"},v5:{start:"2015-10-29",maintenance:"2016-04-30",end:"2016-06-30"},v6:{start:"2016-04-26",lts:"2016-10-18",maintenance:"2018-04-30",end:"2019-04-30",codename:"Boron"},v7:{start:"2016-10-25",maintenance:"2017-04-30",end:"2017-06-30"},v8:{start:"2017-05-30",lts:"2017-10-31",maintenance:"2019-01-01",end:"2019-12-31",codename:"Carbon"},v9:{start:"2017-10-01",maintenance:"2018-04-01",end:"2018-06-30"},v10:{start:"2018-04-24",lts:"2018-10-30",maintenance:"2020-05-19",end:"2021-04-30",codename:"Dubnium"},v11:{start:"2018-10-23",maintenance:"2019-04-22",end:"2019-06-01"},v12:{start:"2019-04-23",lts:"2019-10-21",maintenance:"2020-11-30",end:"2022-04-30",codename:"Erbium"},v13:{start:"2019-10-22",maintenance:"2020-04-01",end:"2020-06-01"},v14:{start:"2020-04-21",lts:"2020-10-27",maintenance:"2021-10-19",end:"2023-04-30",codename:"Fermium"},v15:{start:"2020-10-20",maintenance:"2021-04-01",end:"2021-06-01"},v16:{start:"2021-04-20",lts:"2021-10-26",maintenance:"2022-10-18",end:"2024-04-30",codename:""}}});var sS=Y((ND,oS)=>{A();oS.exports={"0.20":"39","0.21":"41","0.22":"41","0.23":"41","0.24":"41","0.25":"42","0.26":"42","0.27":"43","0.28":"43","0.29":"43","0.30":"44","0.31":"45","0.32":"45","0.33":"45","0.34":"45","0.35":"45","0.36":"47","0.37":"49","1.0":"49","1.1":"50","1.2":"51","1.3":"52","1.4":"53","1.5":"54","1.6":"56","1.7":"58","1.8":"59","2.0":"61","2.1":"61","3.0":"66","3.1":"66","4.0":"69","4.1":"69","4.2":"69","5.0":"73","6.0":"76","6.1":"76","7.0":"78","7.1":"78","7.2":"78","7.3":"78","8.0":"80","8.1":"80","8.2":"80","8.3":"80","8.4":"80","8.5":"80","9.0":"83","9.1":"83","9.2":"83","9.3":"83","9.4":"83","10.0":"85","10.1":"85","10.2":"85","10.3":"85","10.4":"85","11.0":"87","11.1":"87","11.2":"87","11.3":"87","11.4":"87","12.0":"89","13.0":"91","13.1":"91","14.0":"92"}});var N0=Y((HD,aS)=>{A();function k0(i){this.name="BrowserslistError",this.message=i,this.browserslist=!0,Error.captureStackTrace&&Error.captureStackTrace(this,k0)}k0.prototype=Error.prototype;aS.exports=k0});var cS=Y((jD,lS)=>{A();var Sd=N0();function tl(){}lS.exports={loadQueries:function(){throw new Sd("Sharable configs are not supported in client-side build of Browserslist")},getStat:function(t){return t.stats},loadConfig:function(t){if(t.config)throw new Sd("Browserslist config are not supported in client-side build")},loadCountry:function(){throw new Sd("Country statistics are not supported in client-side build of Browserslist")},loadFeature:function(){throw new Sd("Supports queries are not available in client-side build of Browserslist")},currentNode:function(t,n){return t(["maintained node versions"],n)[0]},parseConfig:tl,readConfig:tl,findConfig:tl,clearCaches:tl,oldDataWarning:tl}});var AS=Y((DD,CS)=>{A();var Od=q4(),Bi=rS().agents,H0=iS(),xd=ka(),qr=sS(),Jn=N0(),Pn=cS(),$8=365.259641*24*60*60*1e3,uS=37,j0=1,dS=2;function fS(i,t){return(i+".").indexOf(t+".")===0}function U8(i){var t=i.slice(1);return Od.some(function(n){return fS(n.version,t)})}function hS(i){return i.filter(function(t){return typeof t=="string"})}function _d(i){var t=i;return i.split(".").length===3&&(t=i.split(".").slice(0,-1).join(".")),t}function oo(i){return function(n){return i+" "+n}}function pS(i){return parseInt(i.split(".")[0])}function D0(i,t){if(i.length===0)return[];var n=gS(i.map(pS)),r=n[n.length-t];if(!r)return i;for(var o=[],a=i.length-1;a>=0&&!(r>pS(i[a]));a--)o.unshift(i[a]);return o}function gS(i){for(var t=[],n=0;n<i.length;n++)t.indexOf(i[n])===-1&&t.push(i[n]);return t}function Td(i,t,n){for(var r in n)i[t+" "+r]=n[r]}function mS(i,t){return t=parseFloat(t),i===">"?function(n){return parseFloat(n)>t}:i===">="?function(n){return parseFloat(n)>=t}:i==="<"?function(n){return parseFloat(n)<t}:function(n){return parseFloat(n)<=t}}function q8(i,t){return t=t.split(".").map(so),t[1]=t[1]||0,t[2]=t[2]||0,i===">"?function(n){return n=n.split(".").map(so),nl(n,t)>0}:i===">="?function(n){return n=n.split(".").map(so),nl(n,t)>=0}:i==="<"?function(n){return n=n.split(".").map(so),nl(t,n)>0}:function(n){return n=n.split(".").map(so),nl(t,n)>=0}}function so(i){return parseInt(i)}function Cd(i,t){return i<t?-1:i>t?1:0}function nl(i,t){return Cd(parseInt(i[0]),parseInt(t[0]))||Cd(parseInt(i[1]||"0"),parseInt(t[1]||"0"))||Cd(parseInt(i[2]||"0"),parseInt(t[2]||"0"))}function yS(i,t){switch(t=t.split(".").map(so),typeof t[1]=="undefined"&&(t[1]="x"),i){case"<=":return function(n){return n=n.split(".").map(so),bS(n,t)<=0};default:case">=":return function(n){return n=n.split(".").map(so),bS(n,t)>=0}}}function bS(i,t){return i[0]!==t[0]?i[0]<t[0]?-1:1:t[1]==="x"?0:i[1]!==t[1]?i[1]<t[1]?-1:1:0}function z8(i,t){return i.versions.indexOf(t)!==-1?t:ze.versionAliases[i.name][t]?ze.versionAliases[i.name][t]:!1}function Ad(i,t){var n=z8(i,t);return n||(i.versions.length===1?i.versions[0]:!1)}function vS(i,t){return i=i/1e3,Object.keys(Bi).reduce(function(n,r){var o=zo(r,t);if(!o)return n;var a=Object.keys(o.releaseDate).filter(function(l){return o.releaseDate[l]>=i});return n.concat(a.map(oo(o.name)))},[])}function wS(i){return{name:i.name,versions:i.versions,released:i.released,releaseDate:i.releaseDate}}function W8(i,t){i.versions=i.versions.map(function(o){return t[o]||o}),i.released=i.versions.map(function(o){return t[o]||o});var n={};for(var r in i.releaseDate)n[t[r]||r]=i.releaseDate[r];return i.releaseDate=n,i}function zo(i,t){if(i=i.toLowerCase(),i=ze.aliases[i]||i,t.mobileToDesktop&&ze.desktopNames[i]){var n=ze.data[ze.desktopNames[i]];if(i==="android")return G8(wS(ze.data[i]),n);var r=wS(n);return r.name=i,i==="op_mob"&&(r=W8(r,{"10.0-10.1":"10"})),r}return ze.data[i]}function ES(i,t){var n=uS,r=t[t.length-1];return i.filter(function(o){return/^(?:[2-4]\.|[34]$)/.test(o)}).concat(t.slice(n-r-1))}function G8(i,t){return i.released=ES(i.released,t.released),i.versions=ES(i.versions,t.versions),i}function Gs(i,t){var n=zo(i,t);if(!n)throw new Jn("Unknown browser "+i);return n}function SS(i){return new Jn("Unknown browser query `"+i+"`. Maybe you are using old Browserslist or made typo in query.")}function Rd(i,t,n){if(n.mobileToDesktop)return i;var r=ze.data.android.released,o=r[r.length-1],a=o-uS-t;return a>0?i.slice(-1):i.slice(a-1)}function Vs(i,t){return Array.isArray(i)?i=xS(i.map(OS)):i=OS(i),i.reduce(function(n,r,o){var a=r.queryString,l=a.indexOf("not ")===0;if(l){if(o===0)throw new Jn("Write any browsers query (for instance, `defaults`) before `"+a+"`");a=a.slice(4)}for(var u=0;u<TS.length;u++){var d=TS[u],f=a.match(d.regexp);if(f){var m=[t].concat(f.slice(1)),p=d.select.apply(ze,m).map(function(S){var v=S.split(" ");return v[1]==="0"?v[0]+" "+zo(v[0],t).versions[0]:S});switch(r.type){case dS:return l?n.filter(function(S){return p.indexOf(S)===-1}):n.filter(function(S){return p.indexOf(S)!==-1});case j0:default:if(l){var E={};return p.forEach(function(S){E[S]=!0}),n.filter(function(S){return!E[S]})}return n.concat(p)}}}throw SS(a)},[])}var F0={};function ze(i,t){if(typeof t=="undefined"&&(t={}),typeof t.path=="undefined"&&(t.path=xd.resolve?xd.resolve("."):"."),typeof i=="undefined"||i===null){var n=ze.loadConfig(t);n?i=n:i=ze.defaults}if(!(typeof i=="string"||Array.isArray(i)))throw new Jn("Browser queries must be an array or string. Got "+typeof i+".");var r={ignoreUnknownVersions:t.ignoreUnknownVersions,dangerousExtend:t.dangerousExtend,mobileToDesktop:t.mobileToDesktop,path:t.path,env:t.env};Pn.oldDataWarning(ze.data);var o=Pn.getStat(t,ze.data);if(o){r.customUsage={};for(var a in o)Td(r.customUsage,a,o[a])}var l=JSON.stringify([i,r]);if(F0[l])return F0[l];var u=gS(Vs(i,r)).sort(function(d,f){if(d=d.split(" "),f=f.split(" "),d[0]===f[0]){var m=d[1].split("-")[0],p=f[1].split("-")[0];return nl(p.split("."),m.split("."))}else return Cd(d[0],f[0])});return j.env.BROWSERSLIST_DISABLE_CACHE||(F0[l]=u),u}function OS(i){var t=[];do i=V8(i,t);while(i);return t}function V8(i,t){var n=/^(?:,\s*|\s+or\s+)(.*)/i,r=/^\s+and\s+(.*)/i;return J8(i,function(o,a,l){return r.test(o)?(t.unshift({type:dS,queryString:o.match(r)[1]}),!0):n.test(o)?(t.unshift({type:j0,queryString:o.match(n)[1]}),!0):a===l?(t.unshift({type:j0,queryString:o.trim()}),!0):!1})}function J8(i,t){for(var n=1,r=i.length;n<=r;n++){var o=i.substr(-n,n);if(t(o,n,r))return i.slice(0,-n)}return""}function xS(i){return Array.isArray(i)?i.reduce(function(t,n){return t.concat(xS(n))},[]):[i]}ze.cache={};ze.data={};ze.usage={global:{},custom:null};ze.defaults=["> 0.5%","last 2 versions","Firefox ESR","not dead"];ze.aliases={fx:"firefox",ff:"firefox",ios:"ios_saf",explorer:"ie",blackberry:"bb",explorermobile:"ie_mob",operamini:"op_mini",operamobile:"op_mob",chromeandroid:"and_chr",firefoxandroid:"and_ff",ucandroid:"and_uc",qqandroid:"and_qq"};ze.desktopNames={and_chr:"chrome",and_ff:"firefox",ie_mob:"ie",op_mob:"opera",android:"chrome"};ze.versionAliases={};ze.clearCaches=Pn.clearCaches;ze.parseConfig=Pn.parseConfig;ze.readConfig=Pn.readConfig;ze.findConfig=Pn.findConfig;ze.loadConfig=Pn.loadConfig;ze.coverage=function(i,t){var n;if(typeof t=="undefined")n=ze.usage.global;else if(t==="my stats"){var r={};r.path=xd.resolve?xd.resolve("."):".";var o=Pn.getStat(r);if(!o)throw new Jn("Custom usage statistics was not provided");n={};for(var a in o)Td(n,a,o[a])}else if(typeof t=="string")t.length>2?t=t.toLowerCase():t=t.toUpperCase(),Pn.loadCountry(ze.usage,t,ze.data),n=ze.usage[t];else{"dataByBrowser"in t&&(t=t.dataByBrowser),n={};for(var l in t)for(var u in t[l])n[l+" "+u]=t[l][u]}return i.reduce(function(d,f){var m=n[f];return m===void 0&&(m=n[f.replace(/ \S+$/," 0")]),d+(m||0)},0)};function $0(i,t){var n=Od.filter(function(o){return o.name==="nodejs"}),r=n.filter(function(o){return fS(o.version,t)});if(r.length===0){if(i.ignoreUnknownVersions)return[];throw new Jn("Unknown version "+t+" of Node.js")}return["node "+r[r.length-1].version]}function U0(i,t,n,r){return t=parseInt(t),n=parseInt(n||"01")-1,r=parseInt(r||"01"),vS(Date.UTC(t,n,r,0,0,0),i)}function _S(i,t,n){t=parseFloat(t);var r=ze.usage.global;if(n)if(n.match(/^my\s+stats$/)){if(!i.customUsage)throw new Jn("Custom usage statistics was not provided");r=i.customUsage}else{var o;n.length===2?o=n.toUpperCase():o=n.toLowerCase(),Pn.loadCountry(ze.usage,o,ze.data),r=ze.usage[o]}for(var a=Object.keys(r).sort(function(m,p){return r[p]-r[m]}),l=0,u=[],d,f=0;f<=a.length&&(d=a[f],!(r[d]===0||(l+=r[d],u.push(d),l>=t)));f++);return u}var TS=[{regexp:/^last\s+(\d+)\s+major\s+versions?$/i,select:function(i,t){return Object.keys(Bi).reduce(function(n,r){var o=zo(r,i);if(!o)return n;var a=D0(o.released,t);return a=a.map(oo(o.name)),o.name==="android"&&(a=Rd(a,t,i)),n.concat(a)},[])}},{regexp:/^last\s+(\d+)\s+versions?$/i,select:function(i,t){return Object.keys(Bi).reduce(function(n,r){var o=zo(r,i);if(!o)return n;var a=o.released.slice(-t);return a=a.map(oo(o.name)),o.name==="android"&&(a=Rd(a,t,i)),n.concat(a)},[])}},{regexp:/^last\s+(\d+)\s+electron\s+major\s+versions?$/i,select:function(i,t){var n=D0(Object.keys(qr),t);return n.map(function(r){return"chrome "+qr[r]})}},{regexp:/^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,select:function(i,t,n){var r=Gs(n,i),o=D0(r.released,t),a=o.map(oo(r.name));return r.name==="android"&&(a=Rd(a,t,i)),a}},{regexp:/^last\s+(\d+)\s+electron\s+versions?$/i,select:function(i,t){return Object.keys(qr).slice(-t).map(function(n){return"chrome "+qr[n]})}},{regexp:/^last\s+(\d+)\s+(\w+)\s+versions?$/i,select:function(i,t,n){var r=Gs(n,i),o=r.released.slice(-t).map(oo(r.name));return r.name==="android"&&(o=Rd(o,t,i)),o}},{regexp:/^unreleased\s+versions$/i,select:function(i){return Object.keys(Bi).reduce(function(t,n){var r=zo(n,i);if(!r)return t;var o=r.versions.filter(function(a){return r.released.indexOf(a)===-1});return o=o.map(oo(r.name)),t.concat(o)},[])}},{regexp:/^unreleased\s+electron\s+versions?$/i,select:function(){return[]}},{regexp:/^unreleased\s+(\w+)\s+versions?$/i,select:function(i,t){var n=Gs(t,i);return n.versions.filter(function(r){return n.released.indexOf(r)===-1}).map(oo(n.name))}},{regexp:/^last\s+(\d*.?\d+)\s+years?$/i,select:function(i,t){return vS(Date.now()-$8*t,i)}},{regexp:/^since (\d+)$/i,select:U0},{regexp:/^since (\d+)-(\d+)$/i,select:U0},{regexp:/^since (\d+)-(\d+)-(\d+)$/i,select:U0},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,select:function(i,t,n){n=parseFloat(n);var r=ze.usage.global;return Object.keys(r).reduce(function(o,a){return t===">"?r[a]>n&&o.push(a):t==="<"?r[a]<n&&o.push(a):t==="<="?r[a]<=n&&o.push(a):r[a]>=n&&o.push(a),o},[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,select:function(i,t,n){if(n=parseFloat(n),!i.customUsage)throw new Jn("Custom usage statistics was not provided");var r=i.customUsage;return Object.keys(r).reduce(function(o,a){return t===">"?r[a]>n&&o.push(a):t==="<"?r[a]<n&&o.push(a):t==="<="?r[a]<=n&&o.push(a):r[a]>=n&&o.push(a),o},[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,select:function(i,t,n,r){n=parseFloat(n);var o=Pn.loadStat(i,r,ze.data);if(o){i.customUsage={};for(var a in o)Td(i.customUsage,a,o[a])}if(!i.customUsage)throw new Jn("Custom usage statistics was not provided");var l=i.customUsage;return Object.keys(l).reduce(function(u,d){return t===">"?l[d]>n&&u.push(d):t==="<"?l[d]<n&&u.push(d):t==="<="?l[d]<=n&&u.push(d):l[d]>=n&&u.push(d),u},[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,select:function(i,t,n,r){n=parseFloat(n),r.length===2?r=r.toUpperCase():r=r.toLowerCase(),Pn.loadCountry(ze.usage,r,ze.data);var o=ze.usage[r];return Object.keys(o).reduce(function(a,l){return t===">"?o[l]>n&&a.push(l):t==="<"?o[l]<n&&a.push(l):t==="<="?o[l]<=n&&a.push(l):o[l]>=n&&a.push(l),a},[])}},{regexp:/^cover\s+(\d+|\d+\.\d+|\.\d+)%$/,select:_S},{regexp:/^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/,select:_S},{regexp:/^supports\s+([\w-]+)$/,select:function(i,t){Pn.loadFeature(ze.cache,t);var n=ze.cache[t];return Object.keys(n).reduce(function(r,o){var a=n[o];return(a.indexOf("y")>=0||a.indexOf("a")>=0)&&r.push(o),r},[])}},{regexp:/^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(i,t,n){var r=_d(t),o=_d(n);if(!qr[r])throw new Jn("Unknown version "+t+" of electron");if(!qr[o])throw new Jn("Unknown version "+n+" of electron");return t=parseFloat(t),n=parseFloat(n),Object.keys(qr).filter(function(a){var l=parseFloat(a);return l>=t&&l<=n}).map(function(a){return"chrome "+qr[a]})}},{regexp:/^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(i,t,n){var r=Od.filter(function(o){return o.name==="nodejs"}).map(function(o){return o.version});return r.filter(yS(">=",t)).filter(yS("<=",n)).map(function(o){return"node "+o})}},{regexp:/^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(i,t,n,r){var o=Gs(t,i);n=parseFloat(Ad(o,n)||n),r=parseFloat(Ad(o,r)||r);function a(l){var u=parseFloat(l);return u>=n&&u<=r}return o.released.filter(a).map(oo(o.name))}},{regexp:/^electron\s*(>=?|<=?)\s*([\d.]+)$/i,select:function(i,t,n){var r=_d(n);return Object.keys(qr).filter(mS(t,r)).map(function(o){return"chrome "+qr[o]})}},{regexp:/^node\s*(>=?|<=?)\s*([\d.]+)$/i,select:function(i,t,n){var r=Od.filter(function(o){return o.name==="nodejs"}).map(function(o){return o.version});return r.filter(q8(t,n)).map(function(o){return"node "+o})}},{regexp:/^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,select:function(i,t,n,r){var o=Gs(t,i),a=ze.versionAliases[o.name][r];return a&&(r=a),o.released.filter(mS(n,r)).map(function(l){return o.name+" "+l})}},{regexp:/^(firefox|ff|fx)\s+esr$/i,select:function(){return["firefox 78"]}},{regexp:/(operamini|op_mini)\s+all/i,select:function(){return["op_mini all"]}},{regexp:/^electron\s+([\d.]+)$/i,select:function(i,t){var n=_d(t),r=qr[n];if(!r)throw new Jn("Unknown version "+t+" of electron");return["chrome "+r]}},{regexp:/^node\s+(\d+)$/i,select:$0},{regexp:/^node\s+(\d+\.\d+)$/i,select:$0},{regexp:/^node\s+(\d+\.\d+\.\d+)$/i,select:$0},{regexp:/^current\s+node$/i,select:function(i){return[Pn.currentNode(Vs,i)]}},{regexp:/^maintained\s+node\s+versions$/i,select:function(i){var t=Date.now(),n=Object.keys(H0).filter(function(r){return t<Date.parse(H0[r].end)&&t>Date.parse(H0[r].start)&&U8(r)}).map(function(r){return"node "+r.slice(1)});return Vs(n,i)}},{regexp:/^phantomjs\s+1.9$/i,select:function(){return["safari 5"]}},{regexp:/^phantomjs\s+2.1$/i,select:function(){return["safari 6"]}},{regexp:/^(\w+)\s+(tp|[\d.]+)$/i,select:function(i,t,n){/^tp$/i.test(n)&&(n="TP");var r=Gs(t,i),o=Ad(r,n);if(o)n=o;else if(n.indexOf(".")===-1?o=n+".0":o=n.replace(/\.0$/,""),o=Ad(r,o),o)n=o;else{if(i.ignoreUnknownVersions)return[];throw new Jn("Unknown version "+n+" of "+t)}return[r.name+" "+n]}},{regexp:/^browserslist config$/i,select:function(i){return ze(void 0,i)}},{regexp:/^extends (.+)$/i,select:function(i,t){return Vs(Pn.loadQueries(i,t),i)}},{regexp:/^defaults$/i,select:function(i){return Vs(ze.defaults,i)}},{regexp:/^dead$/i,select:function(i){var t=["ie <= 10","ie_mob <= 11","bb <= 10","op_mob <= 12.1","samsung 4"];return Vs(t,i)}},{regexp:/^(\w+)$/i,select:function(i,t){throw zo(t,i)?new Jn("Specify versions in Browserslist query for browser "+t):SS(t)}}];(function(){for(var i in Bi){var t=Bi[i];ze.data[i]={name:i,versions:hS(Bi[i].versions),released:hS(Bi[i].versions.slice(0,-3)),releaseDate:Bi[i].release_date},Td(ze.usage.global,i,t.usage_global),ze.versionAliases[i]={};for(var n=0;n<t.versions.length;n++){var r=t.versions[n];if(!!r&&r.indexOf("-")!==-1)for(var o=r.split("-"),a=0;a<o.length;a++)ze.versionAliases[i][o[a]]=r}}ze.versionAliases.op_mob["59"]="58"})();CS.exports=ze});var g3=Y(Ee=>{A();"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});var K8=U4(),Y8=AS();function RS(i){return i&&typeof i=="object"&&"default"in i?i:{default:i}}var MS=RS(K8),Z8=RS(Y8);(function(i){i[i.RegExp=0]="RegExp",i[i.Family=1]="Family",i[i.Major=2]="Major",i[i.Minor=3]="Minor",i[i.Patch=4]="Patch"})(Ee.BrowserRegExpSourceProp||(Ee.BrowserRegExpSourceProp={}));var ki="\\d",Md=`${ki}+`,Ni=`(${Md})`,ai="\\";function Pd(i,t=!1){let n=i.join("|");return t||i.length>1?`(${n})`:n}function PS(i){return i.map(t=>`(${t.regExpString})`).join("|")}function IS(i){return i.toString().includes(Ni)}function q0(i){return i.toString().split(Ni).length-1}function Wo(i){return i.toString().replace(/^\/|\/$/g,"")}function LS(i,t,n){let r=typeof i=="string"?i:Wo(i);return(typeof n=="number"&&n<t.length?t.slice(0,n):t).reduce((l,u)=>l.replace(Ni,u),r)}function Id(i){return Array.from(i.toString()).map(Number)}function Ld(i,t,n){return n==="["&&t!==ai?!0:n==="]"&&t!==ai?!1:i}function z0(i,t){let n=i[t];switch(n){case"+":case"*":case"?":return n;case"(":{let d=i[t+1],f=i[t+2];if(d!=="?"||f!=="="&&f!=="!")return"";break}case"{":break;default:return""}let r=i.length,o="",a=0,l=!1,u="";for(let d=t;d<r&&(n=i[d],o=i[d-1],l=Ld(l,o,n),!l&&o!==ai&&(n==="("||n==="{")&&a++,a>0&&(u+=n),!(!l&&o!==ai&&a>0&&(n===")"||n==="}")&&(a--,a===0)));d++);return u}(function(i){i[i.Major=0]="Major",i[i.Minor=1]="Minor",i[i.Patch=2]="Patch"})(Ee.SemverPart||(Ee.SemverPart={}));var Bd={bb:"BlackBerry",and_chr:"Chrome",ChromeAndroid:"Chrome",FirefoxAndroid:"Firefox",ff:"Firefox",ie_mob:"ExplorerMobile",ie:"Explorer",and_ff:"Firefox",ios_saf:"iOS",op_mini:"OperaMini",op_mob:"OperaMobile",and_qq:"QQAndroid",and_uc:"UCAndroid"},BS=new RegExp(`(${Object.keys(Bd).join("|")})`);function kS(i){let t=BS.exec(i);if(Array.isArray(t)){let[n]=t;return i.replace(n,Bd[n])}return i}function W0(i,t,n=0){let r=i.length;for(let o=n;o<r;o++)if(i[o]!==t[o])return!1;return!0}function kd(i){return typeof i=="number"?i:i.length===1?i[0]:[i[0],i[i.length-1]]}function Js(i){return(Array.isArray(i)?i[0]:i)==="all"}function NS(i){return i.filter(Boolean).filter((t,n,r)=>r&&!r.some((o,a)=>a>n&&W0(t,o)))}function G0(i,t){let n=i+Number(!t);return n===0?ki:n===9?"9":n>9?"":`[${n}-9]`}function HS(i){return i===ki}function jS(i){let t=[],n=0,r=0;return i.filter((o,a)=>a>0&&(n=o.filter(HS).length,r=t.filter(HS).length,n<=r)?!1:(t=o,!0))}function DS(i){if(i===0)return[Md];let t=Id(i),n=t.length,r=`${ki}{${n+1},}`,o=n-1;if(i/Math.pow(10,o)===t[0])return[`${G0(t[0],!0)}${ki.repeat(o)}`,r];let l=jS(t.map((u,d)=>{let f=n-d-1,m=d<=0,p=" ";return t.map((E,S)=>S<f?E.toString():p?S>f?ki:(p=G0(E,m),p):"")})).map(u=>u.join(""));return l.push(r),l}function Go(i,t,n){if(t<i)return"";let r=typeof n=="number"&&n>0?"0".repeat(n):"";return i===t?`${r}${i}`:i===0&&t===9?`${r}${ki}`:`${r}[${i}-${t}]`}function FS(i,t){let n=[],r=i,o=1;do o*=10,r<o&&(n.push([r,Math.min(o-1,t)]),r=o);while(o<=t);return n}function $S(i,t){let n=i.length;if(n!==t.length||i[0]!==t[0])return null;let r=i[0].toString(),o=0,a=0,l="",u="";for(let d=1;d<n;d++)o=i[d],a=t[d],o===a?r+=o:(l+=o,u+=a);return[r,parseInt(l,10),parseInt(u,10)]}function US(i,t,n){let r=n.length,o=[],a=0,l=0,u=0;for(let d=i;d<=t;d++)for(o.push(d.toString()),u+=Math.floor(Math.log10(d)+1)+1;u>l;){if(a>=r)return n;l+=n[a++].length+1}return o}function Nd(i,t,n=0){let r=Id(i),o=r.length;if(i<10&&t<10||i===t){let m=n-o;return[Go(i,t,m)]}let a=Id(t);if(o!==a.length){let m=FS(i,t);return[].concat(...m.map(([E,S])=>Nd(E,S,n)))}let l=$S(r,a);if(Array.isArray(l)){let[m,p,E]=l,S=o-m.length,v=Nd(p,E,S);return[`${m}${Pd(v)}`]}let u=Array.from({length:o-1}),d=Go(r[0]+1,a[0]-1);return[...u.map((m,p)=>{let E=o-p-1,S=Number(p>0);return r.map((v,y)=>y<E?v:y>E?Go(0,9):Go(v+S,9)).join("")}),...d?[`${d}${ki.repeat(o-1)}`]:[],...u.map((m,p)=>{let E=o-p-1,S=Number(p>0);return a.map((v,y)=>y<E?v:y>E?Go(0,9):Go(0,v-S)).join("")})]}function qS(i,t){return US(i,t,Nd(i,t))}function V0(i,t=1/0){if(Js(i))return Md;let n=t===1/0?DS(i):qS(i,t);return Pd(n)}function J0(i){let t=Array.isArray(i)?i:i.toString().split(".");if(Js(t[0]))return[t[0],0,0];for(;t.length<3;)t.push("0");return t.map(n=>{let r=typeof n=="number"?n:parseInt(n,10);return isNaN(r)?0:r})}function K0(i,t,n){let[r,o,a]=i,[l,u,d]=t,{ignoreMinor:f,ignorePatch:m,allowHigherVersions:p}=n;if(Js(l))return!0;let E=!f,S=E&&!m;return p?S&&a<d||E&&o<u?!1:r>=l:S&&a!==d||E&&o!==u?!1:r===l}function zS(i,t){let{ignoreMinor:n,ignorePatch:r,allowZeroSubversions:o}=t,a=n?1:r?2:3;if(o)for(let l=a-1;l>0&&!(i[l]!==0||a===1);l--)a--;return a}function WS(i,t){let{ignoreMinor:n,ignorePatch:r,allowHigherVersions:o}=t,a=Js(i[0])?0:n?1:r?2:1/0;return o?NS(i.map((d,f)=>{let m=2-f,p=Number(f>0),E=0;return i.map((S,v)=>v>=a?Ni:(E=Array.isArray(S)?S[0]:S,v<m?E.toString():v>m?Ni:V0(E+p)))})):[i.map((u,d)=>d>=a?Ni:Array.isArray(u)?V0(u[0],u[1]):u.toString())]}function Y0(i){return i.filter((t,n)=>!i.includes(t,n+1))}function GS(i,t,n,r){let o=jt(Fe({},r),{allowHigherVersions:!0});return(!i||n.some(a=>K0(a,i,o)))&&(!t||n.some(a=>K0(t,a,o)))}function VS(i,t){return Boolean(i||IS(t))}function ao(i,t,n){let r=t instanceof RegExp,o=null;switch(!0){case r:{let a=t.toString();o=l=>new RegExp(`(^|[^\\w])${l.replace(/ /g,"\\s*")}([^\\w]|$)`).test(a);break}case i:o=a=>a===t;break;default:o=a=>t.includes(a)}return n.some(o)}function JS(i){let t=Wo(i);switch(!0){case t.includes("Fennec"):return[null,[31,0,0]];case t.includes("Minefield"):return[[3,0,0],[4,0,0]];case t.includes("Namoroka"):return[[3,6,0],[3,6,0]];case t.includes("Shiretoko"):return[[3,0,0],[3,5,0]];case t.includes("CrMo"):return[[16,0,0],[16,0,0]];case t.includes("Opera)\\/9.8"):return[null,[12,15,0]];default:return[null,null]}}var KS=[...QS(MS.default.os),...XS(MS.default.browser)];function YS(i,t){let n=[];return KS.forEach(({family:r,regExp:o,fixedVersion:a,minVersion:l,maxVersion:u})=>{let d=i.get(r);d&&GS(l,u,d,t)&&VS(a,o)&&n.push({family:r,regExp:o,requestVersions:d,resultFixedVersion:a,resultMinVersion:l,resultMaxVersion:u})}),n}function ZS(i,t){let n=i||t,r=Wo(t);switch(!0){case/[^\w]?([A-Z]\w+iOS)[^\w]?/.test(r):case/iPhone.*Outlook-iOS-Android|UCWEB.*iPad\|iPh/.test(r):case r.includes("(iPhone|iPad|iPod).*Mac OS X.*Version"):case/YaBrowser|MRCHROME|Chrome.*\(OPR\)/.test(r):case/\(Chrome\).* Mobile|Mobile \.\*\(Chrome\)|; wv\\\)\.\+\(Chrome\)/.test(r):case r.includes("(?:Mobile|Tablet);.*(Firefox)"):case r.includes("(?:Mobile Safari).*(OPR)"):case/Opera.*\) \(\\d/.test(r):case/bingbot|^\\b\(/.test(r):return[];case ao(!1,n,["Chrome Mobile","Chromium"]):return[{family:"chrome"}];case ao(!0,n,["Samsung Internet"]):return[{family:"samsung"}];case ao(!0,n,["Firefox Mobile","Firefox ($1)"]):return[{family:"firefox"}];case ao(!0,n,["IE"]):return[{family:"explorer"}];case ao(!0,n,["IE Mobile"]):return[{family:"explorermobile"}];case ao(!0,n,["BlackBerry WebKit"]):return[{family:"blackberry"}];case ao(!0,n,["Opera Mobile"]):return[{family:"operamobile"}];case n===t:{let o=/\(([\s\w\d_\-/!|]+)\)/i.exec(r);if(Array.isArray(o)){let a=o[1],l=a.split("|"),u=new Map;return Y0(l.map(f=>{let m=f.replace(/[^\d\w]/g,"").toLowerCase();return u.has(m)?u.get(m).push(f):u.set(m,[f]),m})).map(f=>({family:f,regExp:new RegExp(r.replace(a,u.get(f).join("|")))}))}return[]}case typeof i=="string":return[{family:i.toLowerCase()}];default:return[]}}function Z0(i){let{[Ee.BrowserRegExpSourceProp.RegExp]:t,[Ee.BrowserRegExpSourceProp.Family]:n,[Ee.BrowserRegExpSourceProp.Major]:r,[Ee.BrowserRegExpSourceProp.Minor]:o,[Ee.BrowserRegExpSourceProp.Patch]:a}=i,l=ZS(n,t),u=r===0?null:J0([r,o,a]),d=u,f=u;return l.map(E=>{var S=E,{regExp:m=t}=S,p=Vi(S,["regExp"]);return u||([d,f]=JS(m)),Fe({regExp:m,fixedVersion:u,minVersion:d,maxVersion:f},p)})}function XS(i){let t=i.length,n=[];for(let r=0;r<t;r++)n.push(...Z0(i[r]));return n}function QS(i){let t=i.length,n=[];for(let r=0;r<t;r++)i[r][Ee.BrowserRegExpSourceProp.Family]==="iOS"&&n.push(...Z0(i[r]));return n}function e3(i){return[].concat(...i.map(t=>{let[n,...r]=t.split(/ |-/),o=(Bd[n]||n).toLowerCase();return r.map(a=>({family:o,version:J0(a)}))}))}function t3(i={}){let{browsers:t,env:n,path:r}=i,o=Array.isArray(t)?t.map(kS):t,a=Z8.default(o,{env:n,path:r});return e3(a)}function n3(i){let t=new Map;return i.forEach(({family:n,version:r})=>{let o=t.get(n);if(o){let a=r.join(".");o.every(l=>l.join(".")!==a)&&o.push(r);return}t.set(n,[r])}),t.forEach(n=>{n.sort((r,o)=>{for(let a in r)if(r[a]!==o[a])return r[a]-o[a];return 0})}),t}function r3(i){if(i.length<2)return i;let t=i.length+1,n=[],r=null,o=i[0],a=[o[Ee.SemverPart.Major]],l=[o[Ee.SemverPart.Minor]],u=[o[Ee.SemverPart.Patch]],d=null;for(let f=1;f<t;f++){r=i[f-1],o=i[f]||[];for(let m=Ee.SemverPart.Major;m<=Ee.SemverPart.Patch;m++){if((m===d||d===null)&&r[m]+1===o[m]&&W0(r,o,m+1)){d=m,m===Ee.SemverPart.Major?a.push(o[Ee.SemverPart.Major]):a=o[Ee.SemverPart.Major],m===Ee.SemverPart.Minor?l.push(o[Ee.SemverPart.Minor]):l=o[Ee.SemverPart.Minor],m===Ee.SemverPart.Patch?u.push(o[Ee.SemverPart.Patch]):u=o[Ee.SemverPart.Patch];break}if(d===m||r[m]!==o[m]){n.push([kd(a),kd(l),kd(u)]),a=[o[Ee.SemverPart.Major]],l=[o[Ee.SemverPart.Minor]],u=[o[Ee.SemverPart.Patch]],d=null;break}}}return n}function i3(i){let t=new Map;return i.forEach((n,r)=>{t.set(r,r3(n))}),t}var o3=/^\([\s\w\d_\-/!]+\)$/,s3=/[/.$*+?[{}|()]/;function a3(i){let t=i.length,n=!1,r=!1,o="",a="",l="",u="",d="",f="";for(let m=0;m<t;m++)o=i[m],a=i[m-1],l=i[m+1],r=Ld(r,a,o),!r&&a!==ai&&o==="("&&(n&&(f+=d),n=!0,d=""),r&&o===ai&&s3.test(l)&&(m++,o=l),n?d+=o:f+=o,!r&&a!==ai&&o===")"&&n&&(n=!1,u=z0(i,m+1),d+=u,(d===Ni||o3.test(d))&&(d=d.substr(1,d.length-2)),f+=d,m+=u.length);return f}function l3(i,t){let n=typeof i=="string"?i:Wo(i),r=n.length,o=typeof t=="number"?t:q0(n),a=0,l=!1,u=0,d="",f="",m="",p="";for(let E=0;E<r;E++)if(d=n[E],f=n[E-1],l=Ld(l,f,d),!l&&f!==ai&&d==="("&&(a++,m=""),(a>0||u>0)&&(p+=d,m+=d),!l&&f!==ai&&d===")"&&a>0&&(a--,m===Ni&&u++,a===0&&u===0&&(p=""),a===0&&u>=o)){p+=z0(n,++E);break}return p}function c3(i,t,n){let r=1,o=typeof i=="string"?i:Wo(i),a=q0(o),l=t.map(m=>{let p=zS(m,n);return r=Math.max(r,p),a>=p?m:null}).filter(Boolean);if(!l.length)return null;let u=l3(o,r),d=Pd(Y0([].concat(...l.map(m=>WS(m,n).map(p=>LS(u,p,r))))));return o.replace(u,d)}function u3(i,t,n){let r=[];return i.forEach(f=>{var m=f,{family:o,regExp:a,resultFixedVersion:l,requestVersions:u}=m,d=Vi(m,["family","regExp","resultFixedVersion","requestVersions"]);let p=Wo(a),E=null,S="";l?(E=a,S=p):(S=c3(p,t.get(o),n),E=new RegExp(S)),S&&E&&r.push(Fe({family:o,sourceRegExp:a,sourceRegExpString:p,regExp:E,regExpString:S,resultFixedVersion:l,requestVersions:u,requestVersionsStrings:u.map(v=>Js(v)?String(v[0]):v.join("."))},d))}),r}function d3(i){return i.map(r=>{var o=r,{regExpString:t}=o,n=Vi(o,["regExpString"]);let a=a3(t),l=new RegExp(a);return jt(Fe({},n),{regExp:l,regExpString:a})})}var X8=[{test(i){let t=i.get("chrome"),n=i.get("edge");if(!(t&&n))return!1;let o=t[0][0],a=n[0][0];return o<74&&a<=18},patch(i){let{family:t,regExpString:n,resultMinVersion:r}=i;if(t!=="chrome"||r&&r[0]>=74||n.includes("HeadlessChrome"))return i;let o=`${n}([\\d.]+$|.*Safari\\/(?![\\d.]+ Edge\\/[\\d.]+$))`,a=new RegExp(o);return jt(Fe({},i),{regExp:a,regExpString:o})}},{test(i){return i.has("safari")},patch(i){let{family:t,regExpString:n}=i;if(t!=="safari")return i;let r=n.replace(/\.\*(Safari\\\/)/," $1"),o=new RegExp(r);return jt(Fe({},i),{regExp:o,regExpString:r})}}];function f3(i,t){let n=new Map;return i.map(r=>X8.reduce((o,a)=>(n.has(a)||n.set(a,a.test(t)),n.get(a)?a.patch(o):o),r))}var h3={ignoreMinor:!1,ignorePatch:!0,allowZeroSubversions:!1,allowHigherVersions:!1};function p3(i={}){let S=i,{browsers:t,env:n,path:r}=S,o=Vi(S,["browsers","env","path"]),a=Fe(Fe({},h3),o),l=t3({browsers:t,env:n,path:r}),u=n3(l),d=i3(u),f=YS(u,a),m=u3(f,d,a),p=f3(m,u);return d3(p)}function Q8(i={}){let t=p3(i),n=PS(t);return new RegExp(n)}Ee.BRACED_NUMBER_PATTERN=Ni;Ee.BROWSERS_REGEXPS=KS;Ee.BROWSERS_SHIRTNAMES=Bd;Ee.BROWSERS_SHIRTNAMES_REGEXP=BS;Ee.CHARCLASS_UNESCAPES=s3;Ee.DIGIT_PATTERN=ki;Ee.ESCAPE_SYMBOL=ai;Ee.NUMBER_PATTERN=Md;Ee.OPTIMIZABLE_GROUP=o3;Ee.applyVersionsToRegExp=c3;Ee.applyVersionsToRegExps=u3;Ee.browserVersionsToRanges=i3;Ee.capturePostfix=z0;Ee.compareArrays=W0;Ee.compareSemvers=K0;Ee.defaultOptions=h3;Ee.enumOrRange=US;Ee.extractIOSRegExp=QS;Ee.familyMatched=ao;Ee.fixBrowserFamily=ZS;Ee.fixBrowserRegExp=Z0;Ee.fixBrowsersRegExps=XS;Ee.getBrowsersList=t3;Ee.getMinMaxVersions=JS;Ee.getNumberPatternsCount=q0;Ee.getNumberPatternsPart=l3;Ee.getRegExpsForBrowsers=YS;Ee.getRequiredSemverPartsCount=zS;Ee.getUserAgentRegExp=Q8;Ee.getUserAgentRegExps=p3;Ee.hasNumberPattern=IS;Ee.hasVersion=VS;Ee.isAllVersion=Js;Ee.joinParts=Pd;Ee.joinVersionedBrowsersRegExps=PS;Ee.mergeBrowserVersions=n3;Ee.normalizeBrowserFamily=kS;Ee.numberToDigits=Id;Ee.numbersToRanges=kd;Ee.optimize=a3;Ee.optimizeAll=d3;Ee.optimizeRaysNumberPatterns=jS;Ee.parseBrowsersList=e3;Ee.patchRegExps=f3;Ee.rangeToRegExp=V0;Ee.rangedSemverToRegExp=WS;Ee.rayRangeDigitPattern=G0;Ee.rayToNumberPatterns=DS;Ee.regExpToString=Wo;Ee.replaceNumberPatterns=LS;Ee.segmentRangeNumberPattern=Go;Ee.segmentToNumberPatterns=Nd;Ee.segmentToNumberPatternsOrEnum=qS;Ee.semverify=J0;Ee.skipSquareBraces=Ld;Ee.someSemverMatched=GS;Ee.splitCommonDiff=$S;Ee.splitToDecadeRanges=FS;Ee.uniq=Y0;Ee.uniqItems=NS;Ee.versionsListToRanges=r3});var m3=Y((rl,X0)=>{A();(function(i,t){typeof rl=="object"&&typeof X0=="object"?X0.exports=t():typeof define=="function"&&define.amd?define([],t):typeof rl=="object"?rl.devtoolsDetector=t():i.devtoolsDetector=t()})(typeof self!="undefined"?self:rl,function(){return function(i){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return i[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=i,n.c=t,n.d=function(r,o,a){n.o(r,o)||Object.defineProperty(r,o,{configurable:!1,enumerable:!0,get:a})},n.n=function(r){var o=r&&r.__esModule?function(){return r.default}:function(){return r};return n.d(o,"a",o),o},n.o=function(r,o){return Object.prototype.hasOwnProperty.call(r,o)},n.p="",n(n.s=3)}([function(i,t,n){"use strict";n.d(t,"j",function(){return m}),n.d(t,"e",function(){return p}),n.d(t,"f",function(){return E}),n.d(t,"d",function(){return S}),n.d(t,"i",function(){return v}),n.d(t,"g",function(){return y}),n.d(t,"c",function(){return b}),n.d(t,"h",function(){return w}),t.a=function(){for(var T,C=[],_=0;_<arguments.length;_++)C[_]=arguments[_];return(f==null?void 0:f.document)?(T=f.document).createElement.apply(T,C):{}},n.d(t,"b",function(){return O});var r,o,a,l,u,d=n(1),f=Object(d.a)(),m=((r=f==null?void 0:f.navigator)===null||r===void 0?void 0:r.userAgent)||"unknown",p="InstallTrigger"in((f==null?void 0:f.window)||{})||/firefox/i.test(m),E=/trident/i.test(m)||/msie/i.test(m),S=/edge/i.test(m),v=/webkit/i.test(m)&&!S,y=/IqiyiApp/.test(m),b=((o=f==null?void 0:f.window)===null||o===void 0?void 0:o.chrome)!==void 0||/chrome/i.test(m)||/CriOS/i.test(m),w=(((l=(a=f==null?void 0:f.window)===null||a===void 0?void 0:a.safari)===null||l===void 0?void 0:l.pushNotification)||!1).toString()==="[object SafariRemoteNotification]"||/safari/i.test(m)&&!b,O=typeof((u=f.document)===null||u===void 0?void 0:u.createElement)=="function"},function(i,t,n){"use strict";(function(r){t.c=function(){return typeof performance!="undefined"?performance.now():Date.now()},t.b=function(l){l===void 0&&(l={});for(var u=l.includes,d=u===void 0?[]:u,f=l.excludes,m=f===void 0?[]:f,p=!1,E=!1,S=0,v=d;S<v.length;S++){var y=v[S];if(y===!0){p=!0;break}}for(var b=0,w=m;b<w.length;b++){var y=w[b];if(y===!0){E=!0;break}}return p&&!E},t.d=function(l,u,d){var f=a.a[l];return f===void 0?!1:Object(o.compare)(f,u,d)},t.a=function(){return typeof self!="undefined"?self:typeof window!="undefined"?window:r!==void 0?r:this};var o=n(8),a=(n.n(o),n(4))}).call(t,n(7))},function(i,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return l}),n.d(t,"a",function(){return u});var r=n(0);function o(d){if(console){if(!r.f&&!r.d)return console[d];if(d==="log"||d==="clear")return function(){for(var f=[],m=0;m<arguments.length;m++)f[m]=arguments[m];console[d].apply(console,f)}}return function(){for(var f=[],m=0;m<arguments.length;m++)f[m]=arguments[m]}}var a=o("log"),l=o("table"),u=o("clear")},function(i,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addListener=function(p){m.addListener(p)},t.removeListener=function(p){m.removeListener(p)},t.isLaunch=function(){return m.isLaunch()},t.launch=function(){m.launch()},t.stop=function(){m.stop()},t.setDetectDelay=function(p){m.setDetectDelay(p)};var r=n(6),o=n(9);n.d(t,"DevtoolsDetector",function(){return r.a}),n.d(t,"checkers",function(){return o});var a=n(1);n.d(t,"match",function(){return a.b}),n.d(t,"specificVersionMatch",function(){return a.d});var l=n(0);n.d(t,"userAgent",function(){return l.j}),n.d(t,"isFirefox",function(){return l.e}),n.d(t,"isIE",function(){return l.f}),n.d(t,"isEdge",function(){return l.d}),n.d(t,"isWebkit",function(){return l.i}),n.d(t,"isIqiyiApp",function(){return l.g}),n.d(t,"isChrome",function(){return l.c}),n.d(t,"isSafari",function(){return l.h}),n.d(t,"createElement",function(){return l.a}),n.d(t,"inBrowser",function(){return l.b});var u=n(2);n.d(t,"log",function(){return u.b}),n.d(t,"table",function(){return u.c}),n.d(t,"clear",function(){return u.a});var d=n(4);n.d(t,"versionMap",function(){return d.a});var f=n(5);n.d(t,"isMac",function(){return f.d}),n.d(t,"isIpad",function(){return f.b}),n.d(t,"isIphone",function(){return f.c}),n.d(t,"isAndroid",function(){return f.a}),n.d(t,"isWindows",function(){return f.e});var m=new r.a({checkers:[o.erudaChecker,o.elementIdChecker,o.regToStringChecker,o.functionToStringChecker,o.depRegToStringChecker,o.dateToStringChecker,o.performanceChecker,o.debuggerChecker]});t.default=m},function(i,t,n){"use strict";n.d(t,"a",function(){return r});for(var r={},o=0,a=(n(0).j||"").match(/\w+\/(\d|\.)+(\s|$)/gi)||[];o<a.length;o++){var l=a[o].split("/"),u=l[0],d=l[1];r[u]=d}},function(i,t,n){"use strict";n.d(t,"d",function(){return o}),n.d(t,"b",function(){return a}),n.d(t,"c",function(){return l}),n.d(t,"a",function(){return u}),n.d(t,"e",function(){return d});var r=n(0),o=/macintosh/i.test(r.j),a=/ipad/i.test(r.j)||o&&navigator.maxTouchPoints>1,l=/iphone/i.test(r.j),u=/android/i.test(r.j),d=/windows/i.test(r.j)},function(i,t,n){"use strict";n.d(t,"a",function(){return l});var r=n(0),o=this&&this.__awaiter||function(u,d,f,m){return new(f||(f=Promise))(function(p,E){function S(b){try{y(m.next(b))}catch(w){E(w)}}function v(b){try{y(m.throw(b))}catch(w){E(w)}}function y(b){b.done?p(b.value):function(w){return w instanceof f?w:new f(function(O){O(w)})}(b.value).then(S,v)}y((m=m.apply(u,d||[])).next())})},a=this&&this.__generator||function(u,d){var f,m,p,E,S={label:0,sent:function(){if(1&p[0])throw p[1];return p[1]},trys:[],ops:[]};return E={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(E[Symbol.iterator]=function(){return this}),E;function v(y){return function(b){return function(w){if(f)throw new TypeError("Generator is already executing.");for(;S;)try{if(f=1,m&&(p=2&w[0]?m.return:w[0]?m.throw||((p=m.return)&&p.call(m),0):m.next)&&!(p=p.call(m,w[1])).done)return p;switch(m=0,p&&(w=[2&w[0],p.value]),w[0]){case 0:case 1:p=w;break;case 4:return S.label++,{value:w[1],done:!1};case 5:S.label++,m=w[1],w=[0];continue;case 7:w=S.ops.pop(),S.trys.pop();continue;default:if(!(p=(p=S.trys).length>0&&p[p.length-1])&&(w[0]===6||w[0]===2)){S=0;continue}if(w[0]===3&&(!p||w[1]>p[0]&&w[1]<p[3])){S.label=w[1];break}if(w[0]===6&&S.label<p[1]){S.label=p[1],p=w;break}if(p&&S.label<p[2]){S.label=p[2],S.ops.push(w);break}p[2]&&S.ops.pop(),S.trys.pop();continue}w=d.call(u,S)}catch(O){w=[6,O],m=0}finally{f=p=0}if(5&w[0])throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}([y,b])}}},l=function(){function u(d){var f=d.checkers;this._listeners=[],this._isOpen=!1,this._detectLoopStopped=!0,this._detectLoopDelay=500,this._checkers=f.slice()}return u.prototype.launch=function(){r.b&&(this._detectLoopDelay<=0&&this.setDetectDelay(500),this._detectLoopStopped&&(this._detectLoopStopped=!1,this._detectLoop()))},u.prototype.stop=function(){this._detectLoopStopped||(this._detectLoopStopped=!0,clearTimeout(this._timer))},u.prototype.isLaunch=function(){return!this._detectLoopStopped},u.prototype.setDetectDelay=function(d){this._detectLoopDelay=d},u.prototype.addListener=function(d){this._listeners.push(d)},u.prototype.removeListener=function(d){this._listeners=this._listeners.filter(function(f){return f!==d})},u.prototype._broadcast=function(d){for(var f=0,m=this._listeners;f<m.length;f++){var p=m[f];try{p(d.isOpen,d)}catch(E){}}},u.prototype._detectLoop=function(){return o(this,void 0,void 0,function(){var d,f,m,p,E,S=this;return a(this,function(v){switch(v.label){case 0:d=!1,f="",m=0,p=this._checkers,v.label=1;case 1:return m<p.length?[4,(E=p[m]).isEnable()]:[3,6];case 2:return v.sent()?(f=E.name,[4,E.isOpen()]):[3,4];case 3:d=v.sent(),v.label=4;case 4:if(d)return[3,6];v.label=5;case 5:return m++,[3,1];case 6:return d!=this._isOpen&&(this._isOpen=d,this._broadcast({isOpen:d,checkerName:f})),this._detectLoopDelay>0&&!this._detectLoopStopped?this._timer=setTimeout(function(){return S._detectLoop()},this._detectLoopDelay):this.stop(),[2]}})})},u}()},function(i,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(r){typeof window=="object"&&(n=window)}i.exports=n},function(i,t,n){var r,o,a;(function(l,u){o=[],(a=typeof(r=u)=="function"?r.apply(t,o):r)===void 0||(i.exports=a)})(0,function(){var l=/^v?(?:\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+))?(?:-[\da-z\-]+(?:\.[\da-z\-]+)*)?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;function u(S){var v=S.replace(/^v/,"").replace(/\+.*$/,""),y=function(w,O){return w.indexOf(O)===-1?w.length:w.indexOf(O)}(v,"-"),b=v.substring(0,y).split(".");return b.push(v.substring(y+1)),b}function d(S){return isNaN(Number(S))?S:Number(S)}function f(S){if(typeof S!="string")throw new TypeError("Invalid argument expected string");if(!l.test(S))throw new Error("Invalid argument not valid semver ('"+S+"' received)")}function m(S,v){[S,v].forEach(f);for(var y=u(S),b=u(v),w=0;w<Math.max(y.length-1,b.length-1);w++){var O=parseInt(y[w]||0,10),T=parseInt(b[w]||0,10);if(O>T)return 1;if(T>O)return-1}var C=y[y.length-1],_=b[b.length-1];if(C&&_){var P=C.split(".").map(d),D=_.split(".").map(d);for(w=0;w<Math.max(P.length,D.length);w++){if(P[w]===void 0||typeof D[w]=="string"&&typeof P[w]=="number")return-1;if(D[w]===void 0||typeof P[w]=="string"&&typeof D[w]=="number"||P[w]>D[w])return 1;if(D[w]>P[w])return-1}}else if(C||_)return C?-1:1;return 0}var p=[">",">=","=","<","<="],E={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]};return m.validate=function(S){return typeof S=="string"&&l.test(S)},m.compare=function(S,v,y){(function(w){if(typeof w!="string")throw new TypeError("Invalid operator type, expected string but got "+typeof w);if(p.indexOf(w)===-1)throw new TypeError("Invalid operator, expected one of "+p.join("|"))})(y);var b=m(S,v);return E[y].indexOf(b)>-1},m})},function(i,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(10);n.d(t,"depRegToStringChecker",function(){return r.a});var o=n(11);n.d(t,"elementIdChecker",function(){return o.a});var a=n(12);n.d(t,"functionToStringChecker",function(){return a.a});var l=n(13);n.d(t,"regToStringChecker",function(){return l.a});var u=n(14);n.d(t,"debuggerChecker",function(){return u.a});var d=n(15);n.d(t,"dateToStringChecker",function(){return d.a});var f=n(16);n.d(t,"performanceChecker",function(){return f.a});var m=n(17);n.d(t,"erudaChecker",function(){return m.a})},function(i,t,n){"use strict";n.d(t,"a",function(){return m});var r=n(0),o=n(2),a=n(1),l=this&&this.__awaiter||function(p,E,S,v){return new(S||(S=Promise))(function(y,b){function w(C){try{T(v.next(C))}catch(_){b(_)}}function O(C){try{T(v.throw(C))}catch(_){b(_)}}function T(C){C.done?y(C.value):function(_){return _ instanceof S?_:new S(function(P){P(_)})}(C.value).then(w,O)}T((v=v.apply(p,E||[])).next())})},u=this&&this.__generator||function(p,E){var S,v,y,b,w={label:0,sent:function(){if(1&y[0])throw y[1];return y[1]},trys:[],ops:[]};return b={next:O(0),throw:O(1),return:O(2)},typeof Symbol=="function"&&(b[Symbol.iterator]=function(){return this}),b;function O(T){return function(C){return function(_){if(S)throw new TypeError("Generator is already executing.");for(;w;)try{if(S=1,v&&(y=2&_[0]?v.return:_[0]?v.throw||((y=v.return)&&y.call(v),0):v.next)&&!(y=y.call(v,_[1])).done)return y;switch(v=0,y&&(_=[2&_[0],y.value]),_[0]){case 0:case 1:y=_;break;case 4:return w.label++,{value:_[1],done:!1};case 5:w.label++,v=_[1],_=[0];continue;case 7:_=w.ops.pop(),w.trys.pop();continue;default:if(!(y=(y=w.trys).length>0&&y[y.length-1])&&(_[0]===6||_[0]===2)){w=0;continue}if(_[0]===3&&(!y||_[1]>y[0]&&_[1]<y[3])){w.label=_[1];break}if(_[0]===6&&w.label<y[1]){w.label=y[1],y=_;break}if(y&&w.label<y[2]){w.label=y[2],w.ops.push(_);break}y[2]&&w.ops.pop(),w.trys.pop();continue}_=E.call(p,w)}catch(P){_=[6,P],v=0}finally{S=y=0}if(5&_[0])throw _[1];return{value:_[0]?_[1]:void 0,done:!0}}([T,C])}}},d=/ /,f=!1;d.toString=function(){return f=!0,m.name};var m={name:"dep-reg-to-string",isOpen:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return f=!1,Object(o.c)({dep:d}),Object(o.a)(),[2,f]})})},isEnable:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return[2,Object(a.b)({includes:[!0],excludes:[r.e,r.f]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return m});var r=n(0),o=n(2),a=n(1),l=this&&this.__awaiter||function(p,E,S,v){return new(S||(S=Promise))(function(y,b){function w(C){try{T(v.next(C))}catch(_){b(_)}}function O(C){try{T(v.throw(C))}catch(_){b(_)}}function T(C){C.done?y(C.value):function(_){return _ instanceof S?_:new S(function(P){P(_)})}(C.value).then(w,O)}T((v=v.apply(p,E||[])).next())})},u=this&&this.__generator||function(p,E){var S,v,y,b,w={label:0,sent:function(){if(1&y[0])throw y[1];return y[1]},trys:[],ops:[]};return b={next:O(0),throw:O(1),return:O(2)},typeof Symbol=="function"&&(b[Symbol.iterator]=function(){return this}),b;function O(T){return function(C){return function(_){if(S)throw new TypeError("Generator is already executing.");for(;w;)try{if(S=1,v&&(y=2&_[0]?v.return:_[0]?v.throw||((y=v.return)&&y.call(v),0):v.next)&&!(y=y.call(v,_[1])).done)return y;switch(v=0,y&&(_=[2&_[0],y.value]),_[0]){case 0:case 1:y=_;break;case 4:return w.label++,{value:_[1],done:!1};case 5:w.label++,v=_[1],_=[0];continue;case 7:_=w.ops.pop(),w.trys.pop();continue;default:if(!(y=(y=w.trys).length>0&&y[y.length-1])&&(_[0]===6||_[0]===2)){w=0;continue}if(_[0]===3&&(!y||_[1]>y[0]&&_[1]<y[3])){w.label=_[1];break}if(_[0]===6&&w.label<y[1]){w.label=y[1],y=_;break}if(y&&w.label<y[2]){w.label=y[2],w.ops.push(_);break}y[2]&&w.ops.pop(),w.trys.pop();continue}_=E.call(p,w)}catch(P){_=[6,P],v=0}finally{S=y=0}if(5&_[0])throw _[1];return{value:_[0]?_[1]:void 0,done:!0}}([T,C])}}},d=Object(r.a)("div"),f=!1;Object.defineProperty(d,"id",{get:function(){return f=!0,m.name},configurable:!0});var m={name:"element-id",isOpen:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return f=!1,Object(o.b)(d),Object(o.a)(),[2,f]})})},isEnable:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return[2,Object(a.b)({includes:[!0],excludes:[r.f,r.d,r.e]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return p});var r=n(0),o=n(2),a=n(5),l=n(1),u=this&&this.__awaiter||function(E,S,v,y){return new(v||(v=Promise))(function(b,w){function O(_){try{C(y.next(_))}catch(P){w(P)}}function T(_){try{C(y.throw(_))}catch(P){w(P)}}function C(_){_.done?b(_.value):function(P){return P instanceof v?P:new v(function(D){D(P)})}(_.value).then(O,T)}C((y=y.apply(E,S||[])).next())})},d=this&&this.__generator||function(E,S){var v,y,b,w,O={label:0,sent:function(){if(1&b[0])throw b[1];return b[1]},trys:[],ops:[]};return w={next:T(0),throw:T(1),return:T(2)},typeof Symbol=="function"&&(w[Symbol.iterator]=function(){return this}),w;function T(C){return function(_){return function(P){if(v)throw new TypeError("Generator is already executing.");for(;O;)try{if(v=1,y&&(b=2&P[0]?y.return:P[0]?y.throw||((b=y.return)&&b.call(y),0):y.next)&&!(b=b.call(y,P[1])).done)return b;switch(y=0,b&&(P=[2&P[0],b.value]),P[0]){case 0:case 1:b=P;break;case 4:return O.label++,{value:P[1],done:!1};case 5:O.label++,y=P[1],P=[0];continue;case 7:P=O.ops.pop(),O.trys.pop();continue;default:if(!(b=(b=O.trys).length>0&&b[b.length-1])&&(P[0]===6||P[0]===2)){O=0;continue}if(P[0]===3&&(!b||P[1]>b[0]&&P[1]<b[3])){O.label=P[1];break}if(P[0]===6&&O.label<b[1]){O.label=b[1],b=P;break}if(b&&O.label<b[2]){O.label=b[2],O.ops.push(P);break}b[2]&&O.ops.pop(),O.trys.pop();continue}P=S.call(E,O)}catch(D){P=[6,D],y=0}finally{v=b=0}if(5&P[0])throw P[1];return{value:P[0]?P[1]:void 0,done:!0}}([C,_])}}};function f(){}var m=0;f.toString=function(){return m++,""};var p={name:"function-to-string",isOpen:function(){return u(this,void 0,void 0,function(){return d(this,function(E){return m=0,Object(o.b)(f),Object(o.a)(),[2,m===2]})})},isEnable:function(){return u(this,void 0,void 0,function(){return d(this,function(E){return[2,Object(l.b)({includes:[!0],excludes:[r.g,r.e,(a.b||a.c)&&r.c]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return m});var r=n(2),o=n(0),a=n(1),l=this&&this.__awaiter||function(p,E,S,v){return new(S||(S=Promise))(function(y,b){function w(C){try{T(v.next(C))}catch(_){b(_)}}function O(C){try{T(v.throw(C))}catch(_){b(_)}}function T(C){C.done?y(C.value):function(_){return _ instanceof S?_:new S(function(P){P(_)})}(C.value).then(w,O)}T((v=v.apply(p,E||[])).next())})},u=this&&this.__generator||function(p,E){var S,v,y,b,w={label:0,sent:function(){if(1&y[0])throw y[1];return y[1]},trys:[],ops:[]};return b={next:O(0),throw:O(1),return:O(2)},typeof Symbol=="function"&&(b[Symbol.iterator]=function(){return this}),b;function O(T){return function(C){return function(_){if(S)throw new TypeError("Generator is already executing.");for(;w;)try{if(S=1,v&&(y=2&_[0]?v.return:_[0]?v.throw||((y=v.return)&&y.call(v),0):v.next)&&!(y=y.call(v,_[1])).done)return y;switch(v=0,y&&(_=[2&_[0],y.value]),_[0]){case 0:case 1:y=_;break;case 4:return w.label++,{value:_[1],done:!1};case 5:w.label++,v=_[1],_=[0];continue;case 7:_=w.ops.pop(),w.trys.pop();continue;default:if(!(y=(y=w.trys).length>0&&y[y.length-1])&&(_[0]===6||_[0]===2)){w=0;continue}if(_[0]===3&&(!y||_[1]>y[0]&&_[1]<y[3])){w.label=_[1];break}if(_[0]===6&&w.label<y[1]){w.label=y[1],y=_;break}if(y&&w.label<y[2]){w.label=y[2],w.ops.push(_);break}y[2]&&w.ops.pop(),w.trys.pop();continue}_=E.call(p,w)}catch(P){_=[6,P],v=0}finally{S=y=0}if(5&_[0])throw _[1];return{value:_[0]?_[1]:void 0,done:!0}}([T,C])}}},d=/ /,f=!1;d.toString=function(){return f=!0,m.name};var m={name:"reg-to-string",isOpen:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return f=!1,Object(r.b)(d),Object(r.a)(),[2,f]})})},isEnable:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return[2,Object(a.b)({includes:[!0],excludes:[o.i]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return l});var r=n(1),o=this&&this.__awaiter||function(u,d,f,m){return new(f||(f=Promise))(function(p,E){function S(b){try{y(m.next(b))}catch(w){E(w)}}function v(b){try{y(m.throw(b))}catch(w){E(w)}}function y(b){b.done?p(b.value):function(w){return w instanceof f?w:new f(function(O){O(w)})}(b.value).then(S,v)}y((m=m.apply(u,d||[])).next())})},a=this&&this.__generator||function(u,d){var f,m,p,E,S={label:0,sent:function(){if(1&p[0])throw p[1];return p[1]},trys:[],ops:[]};return E={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(E[Symbol.iterator]=function(){return this}),E;function v(y){return function(b){return function(w){if(f)throw new TypeError("Generator is already executing.");for(;S;)try{if(f=1,m&&(p=2&w[0]?m.return:w[0]?m.throw||((p=m.return)&&p.call(m),0):m.next)&&!(p=p.call(m,w[1])).done)return p;switch(m=0,p&&(w=[2&w[0],p.value]),w[0]){case 0:case 1:p=w;break;case 4:return S.label++,{value:w[1],done:!1};case 5:S.label++,m=w[1],w=[0];continue;case 7:w=S.ops.pop(),S.trys.pop();continue;default:if(!(p=(p=S.trys).length>0&&p[p.length-1])&&(w[0]===6||w[0]===2)){S=0;continue}if(w[0]===3&&(!p||w[1]>p[0]&&w[1]<p[3])){S.label=w[1];break}if(w[0]===6&&S.label<p[1]){S.label=p[1],p=w;break}if(p&&S.label<p[2]){S.label=p[2],S.ops.push(w);break}p[2]&&S.ops.pop(),S.trys.pop();continue}w=d.call(u,S)}catch(O){w=[6,O],m=0}finally{f=p=0}if(5&w[0])throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}([y,b])}}},l={name:"debugger-checker",isOpen:function(){return o(this,void 0,void 0,function(){var u;return a(this,function(d){return u=Object(r.c)(),function(){}.constructor("debugger")(),[2,Object(r.c)()-u>100]})})},isEnable:function(){return o(this,void 0,void 0,function(){return a(this,function(u){return[2,!0]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return p});var r=n(0),o=n(2),a=n(1),l=n(3),u=this&&this.__awaiter||function(E,S,v,y){return new(v||(v=Promise))(function(b,w){function O(_){try{C(y.next(_))}catch(P){w(P)}}function T(_){try{C(y.throw(_))}catch(P){w(P)}}function C(_){_.done?b(_.value):function(P){return P instanceof v?P:new v(function(D){D(P)})}(_.value).then(O,T)}C((y=y.apply(E,S||[])).next())})},d=this&&this.__generator||function(E,S){var v,y,b,w,O={label:0,sent:function(){if(1&b[0])throw b[1];return b[1]},trys:[],ops:[]};return w={next:T(0),throw:T(1),return:T(2)},typeof Symbol=="function"&&(w[Symbol.iterator]=function(){return this}),w;function T(C){return function(_){return function(P){if(v)throw new TypeError("Generator is already executing.");for(;O;)try{if(v=1,y&&(b=2&P[0]?y.return:P[0]?y.throw||((b=y.return)&&b.call(y),0):y.next)&&!(b=b.call(y,P[1])).done)return b;switch(y=0,b&&(P=[2&P[0],b.value]),P[0]){case 0:case 1:b=P;break;case 4:return O.label++,{value:P[1],done:!1};case 5:O.label++,y=P[1],P=[0];continue;case 7:P=O.ops.pop(),O.trys.pop();continue;default:if(!(b=(b=O.trys).length>0&&b[b.length-1])&&(P[0]===6||P[0]===2)){O=0;continue}if(P[0]===3&&(!b||P[1]>b[0]&&P[1]<b[3])){O.label=P[1];break}if(P[0]===6&&O.label<b[1]){O.label=b[1],b=P;break}if(b&&O.label<b[2]){O.label=b[2],O.ops.push(P);break}b[2]&&O.ops.pop(),O.trys.pop();continue}P=S.call(E,O)}catch(D){P=[6,D],y=0}finally{v=b=0}if(5&P[0])throw P[1];return{value:P[0]?P[1]:void 0,done:!0}}([C,_])}}},f=new Date,m=0;f.toString=function(){return m++,""};var p={name:"date-to-string",isOpen:function(){return u(this,void 0,void 0,function(){return d(this,function(E){return m=0,Object(o.b)(f),Object(o.a)(),[2,m===2]})})},isEnable:function(){return u(this,void 0,void 0,function(){return d(this,function(E){return[2,Object(a.b)({includes:[r.c],excludes:[(l.isIpad||l.isIphone)&&r.c]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return m});var r=n(0),o=n(2),a=n(1),l=this&&this.__awaiter||function(p,E,S,v){return new(S||(S=Promise))(function(y,b){function w(C){try{T(v.next(C))}catch(_){b(_)}}function O(C){try{T(v.throw(C))}catch(_){b(_)}}function T(C){C.done?y(C.value):function(_){return _ instanceof S?_:new S(function(P){P(_)})}(C.value).then(w,O)}T((v=v.apply(p,E||[])).next())})},u=this&&this.__generator||function(p,E){var S,v,y,b,w={label:0,sent:function(){if(1&y[0])throw y[1];return y[1]},trys:[],ops:[]};return b={next:O(0),throw:O(1),return:O(2)},typeof Symbol=="function"&&(b[Symbol.iterator]=function(){return this}),b;function O(T){return function(C){return function(_){if(S)throw new TypeError("Generator is already executing.");for(;w;)try{if(S=1,v&&(y=2&_[0]?v.return:_[0]?v.throw||((y=v.return)&&y.call(v),0):v.next)&&!(y=y.call(v,_[1])).done)return y;switch(v=0,y&&(_=[2&_[0],y.value]),_[0]){case 0:case 1:y=_;break;case 4:return w.label++,{value:_[1],done:!1};case 5:w.label++,v=_[1],_=[0];continue;case 7:_=w.ops.pop(),w.trys.pop();continue;default:if(!(y=(y=w.trys).length>0&&y[y.length-1])&&(_[0]===6||_[0]===2)){w=0;continue}if(_[0]===3&&(!y||_[1]>y[0]&&_[1]<y[3])){w.label=_[1];break}if(_[0]===6&&w.label<y[1]){w.label=y[1],y=_;break}if(y&&w.label<y[2]){w.label=y[2],w.ops.push(_);break}y[2]&&w.ops.pop(),w.trys.pop();continue}_=E.call(p,w)}catch(P){_=[6,P],v=0}finally{S=y=0}if(5&_[0])throw _[1];return{value:_[0]?_[1]:void 0,done:!0}}([T,C])}}},d=null,f=0,m={name:"performance",isOpen:function(){return l(this,void 0,void 0,function(){var p,E;return u(this,function(S){return d===null&&(d=function(){for(var v=function(){for(var w={},O=0;O<500;O++)w["".concat(O)]="".concat(O);return w}(),y=[],b=0;b<50;b++)y.push(v);return y}()),p=function(){var v=Object(a.c)();return Object(o.c)(d),Object(a.c)()-v}(),E=function(){var v=Object(a.c)();return Object(o.b)(d),Object(a.c)()-v}(),f=Math.max(f,E),Object(o.a)(),p===0?[2,!1]:f===0?[2,!1]:[2,p>10*f]})})},isEnable:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return[2,Object(a.b)({includes:[r.c],excludes:[]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return a});var r=this&&this.__awaiter||function(l,u,d,f){return new(d||(d=Promise))(function(m,p){function E(y){try{v(f.next(y))}catch(b){p(b)}}function S(y){try{v(f.throw(y))}catch(b){p(b)}}function v(y){y.done?m(y.value):function(b){return b instanceof d?b:new d(function(w){w(b)})}(y.value).then(E,S)}v((f=f.apply(l,u||[])).next())})},o=this&&this.__generator||function(l,u){var d,f,m,p,E={label:0,sent:function(){if(1&m[0])throw m[1];return m[1]},trys:[],ops:[]};return p={next:S(0),throw:S(1),return:S(2)},typeof Symbol=="function"&&(p[Symbol.iterator]=function(){return this}),p;function S(v){return function(y){return function(b){if(d)throw new TypeError("Generator is already executing.");for(;E;)try{if(d=1,f&&(m=2&b[0]?f.return:b[0]?f.throw||((m=f.return)&&m.call(f),0):f.next)&&!(m=m.call(f,b[1])).done)return m;switch(f=0,m&&(b=[2&b[0],m.value]),b[0]){case 0:case 1:m=b;break;case 4:return E.label++,{value:b[1],done:!1};case 5:E.label++,f=b[1],b=[0];continue;case 7:b=E.ops.pop(),E.trys.pop();continue;default:if(!(m=(m=E.trys).length>0&&m[m.length-1])&&(b[0]===6||b[0]===2)){E=0;continue}if(b[0]===3&&(!m||b[1]>m[0]&&b[1]<m[3])){E.label=b[1];break}if(b[0]===6&&E.label<m[1]){E.label=m[1],m=b;break}if(m&&E.label<m[2]){E.label=m[2],E.ops.push(b);break}m[2]&&E.ops.pop(),E.trys.pop();continue}b=u.call(l,E)}catch(w){b=[6,w],f=0}finally{d=m=0}if(5&b[0])throw b[1];return{value:b[0]?b[1]:void 0,done:!0}}([v,y])}}},a={name:"eruda",isOpen:function(){var l;return r(this,void 0,void 0,function(){return o(this,function(u){return typeof eruda!="undefined"?[2,((l=eruda==null?void 0:eruda._devTools)===null||l===void 0?void 0:l._isShow)===!0]:[2,!1]})})},isEnable:function(){return r(this,void 0,void 0,function(){return o(this,function(l){return[2,!0]})})}}}])})});var b3=Y(()=>{A()});var v3=Y((il,eg)=>{A();(function(i,t){if(typeof il=="object"&&typeof eg=="object")eg.exports=t();else if(typeof define=="function"&&define.amd)define([],t);else if(typeof il=="object")il.JsCrypto=t();else{var n=t();for(var r in i.JsCrypto=i.JsCrypto||{},n)i.JsCrypto[r]=n[r]}})(il,function(){return function(){"use strict";var i={9691:function(o,a,l){l.d(a,{AES:function(){return q}});var u,d=l(9456),f=l(787),m=l(5693),p=l(9109),E=(u=function(U,k){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(B,N){B.__proto__=N}||function(B,N){for(var W in N)Object.prototype.hasOwnProperty.call(N,W)&&(B[W]=N[W])})(U,k)},function(U,k){function B(){this.constructor=U}u(U,k),U.prototype=k===null?Object.create(k):(B.prototype=k.prototype,new B)}),S=function(){return(S=Object.assign||function(U){for(var k,B=1,N=arguments.length;B<N;B++)for(var W in k=arguments[B])Object.prototype.hasOwnProperty.call(k,W)&&(U[W]=k[W]);return U}).apply(this,arguments)},v=[],y=[],b=[],w=[],O=[],T=[],C=[],_=[],P=[],D=[];(function(){for(var U=[],k=0;k<256;k++)U[k]=k<128?k<<1:k<<1^283;var B=0,N=0;for(k=0;k<256;k++){var W=N^N<<1^N<<2^N<<3^N<<4;W=W>>>8^255&W^99,v[B]=W,y[W]=B;var ye=U[B],be=U[ye],fe=U[be],re=257*U[W]^16843008*W;b[B]=re<<24|re>>>8,w[B]=re<<16|re>>>16,O[B]=re<<8|re>>>24,T[B]=re,re=16843009*fe^65537*be^257*ye^16843008*B,C[W]=re<<24|re>>>8,_[W]=re<<16|re>>>16,P[W]=re<<8|re>>>24,D[W]=re,B?(B=ye^U[U[U[fe^ye]]],N^=U[U[N]]):B=N=1}})();var I=[0,1,2,4,8,16,32,64,128,27,54],q=function(U){function k(B){var N=U.call(this,B)||this;return N.u=0,N.h=[],N.v=[],N.O=B,N.A(),N}return E(k,U),k.prototype.A=function(){var B;if(!this.u||this.k!==this.H){for(var N=this.k=this.H,W=N.words,ye=N.nSigBytes/4,be=4*((this.u=ye+6)+1),fe=this.h=[],re=0;re<be;re++)re<ye?fe[re]=W[re]:(B=fe[re-1],re%ye?ye>6&&re%ye==4&&(B=v[B>>>24]<<24|v[B>>>16&255]<<16|v[B>>>8&255]<<8|v[255&B]):(B=v[(B=B<<8|B>>>24)>>>24]<<24|v[B>>>16&255]<<16|v[B>>>8&255]<<8|v[255&B],B^=I[re/ye|0]<<24),fe[re]=fe[re-ye]^B);this.v=[];for(var he=0;he<be;he++)re=be-he,B=he%4?fe[re]:fe[re-4],this.v[he]=he<4||re<=4?B:C[v[B>>>24]]^_[v[B>>>16&255]]^P[v[B>>>8&255]]^D[v[255&B]]}},k.prototype.encryptBlock=function(B,N){this.B(B,N,this.h,b,w,O,T,v)},k.prototype.decryptBlock=function(B,N){var W=B[N+1];B[N+1]=B[N+3],B[N+3]=W,this.B(B,N,this.v,C,_,P,D,y),W=B[N+1],B[N+1]=B[N+3],B[N+3]=W},k.prototype.B=function(B,N,W,ye,be,fe,re,he){for(var Ae=this.u,ue=B[N]^W[0],xe=B[N+1]^W[1],Re=B[N+2]^W[2],Se=B[N+3]^W[3],V=4,ee=1;ee<Ae;ee++){var ne=ye[ue>>>24]^be[xe>>>16&255]^fe[Re>>>8&255]^re[255&Se]^W[V++],ae=ye[xe>>>24]^be[Re>>>16&255]^fe[Se>>>8&255]^re[255&ue]^W[V++],bt=ye[Re>>>24]^be[Se>>>16&255]^fe[ue>>>8&255]^re[255&xe]^W[V++],Ft=ye[Se>>>24]^be[ue>>>16&255]^fe[xe>>>8&255]^re[255&Re]^W[V++];ue=ne,xe=ae,Re=bt,Se=Ft}var Mt=(he[ue>>>24]<<24|he[xe>>>16&255]<<16|he[Re>>>8&255]<<8|he[255&Se])^W[V++],Et=(he[xe>>>24]<<24|he[Re>>>16&255]<<16|he[Se>>>8&255]<<8|he[255&ue])^W[V++],On=(he[Re>>>24]<<24|he[Se>>>16&255]<<16|he[ue>>>8&255]<<8|he[255&xe])^W[V++],Bn=(he[Se>>>24]<<24|he[ue>>>16&255]<<16|he[xe>>>8&255]<<8|he[255&Re])^W[V++];B[N]=Mt,B[N+1]=Et,B[N+2]=On,B[N+3]=Bn},k.createEncryptor=function(B,N){return new k(S(S({},N=N===void 0?{}:N),{key:B,transformMode:d.t.ENC_TRANSFORM_MODE}))},k.createDecryptor=function(B,N){return new k(S(S({},N=N===void 0?{}:N),{key:B,transformMode:d.t.DEC_TRANSFORM_MODE}))},k.encrypt=function(B,N,W){if(typeof N=="string")return m.E.encrypt(k,B,N,W);if(N.nSigBytes%4!=0)throw new Error("Key size must be multiple of 32bit/4byte/1word");return p.D.encrypt(k,B,N,W)},k.decrypt=function(B,N,W){if(typeof N=="string")return m.E.decrypt(k,B,N,W);if(N.nSigBytes%4!=0)throw new Error("Key size must be multiple of 32bit/4byte/1word");return p.D.decrypt(k,B,N,W)},k.keySize=8,k}(f.G)},3967:function(o,a,l){l.d(a,{CBCMAC:function(){return p}});var u=l(4768),d=l(3354),f=l(9691),m=l(3664);function p(E,S,v,y,b,w){var O=w&&w.Cipher?w.Cipher:f.AES,T=typeof v=="string"?u.d.parse(v):v,C=y||new d.e([0,0]),_=typeof S=="string"?u.d.parse(S):S,P=typeof E=="string"?u.d.parse(E):E,D=b||16;return m.K.mac(O,T,C,_,P,D)}},9910:function(o,a,l){l.d(a,{DES:function(){return T}});var u,d=l(787),f=l(9456),m=l(5693),p=l(9109),E=(u=function(C,_){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,D){P.__proto__=D}||function(P,D){for(var I in D)Object.prototype.hasOwnProperty.call(D,I)&&(P[I]=D[I])})(C,_)},function(C,_){function P(){this.constructor=C}u(C,_),C.prototype=_===null?Object.create(_):(P.prototype=_.prototype,new P)}),S=function(){return(S=Object.assign||function(C){for(var _,P=1,D=arguments.length;P<D;P++)for(var I in _=arguments[P])Object.prototype.hasOwnProperty.call(_,I)&&(C[I]=_[I]);return C}).apply(this,arguments)},v=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],y=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],b=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],w=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],O=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],T=function(C){function _(P){var D=C.call(this,P)||this;return D.N=2,D.I=[],D.U=[],D.L=0,D.F=0,D.O=P,D.A(),D}return E(_,C),_.prototype.A=function(){for(var P=this.H.words,D=[],I=0;I<56;I++){var q=v[I]-1;D[I]=P[q>>>5]>>>31-q%32&1}for(var U=this.I=[],k=0;k<16;k++){var B=U[k]=[],N=b[k];for(I=0;I<24;I++)B[I/6|0]|=D[(y[I]-1+N)%28]<<31-I%6,B[4+(I/6|0)]|=D[28+(y[I+24]-1+N)%28]<<31-I%6;for(B[0]=B[0]<<1|B[0]>>>31,I=1;I<7;I++)B[I]=B[I]>>>4*(I-1)+3;B[7]=B[7]<<5|B[7]>>>27}for(this.U=[],I=0;I<16;I++)this.U[I]=U[15-I]},_.prototype.encryptBlock=function(P,D){this.R(P,D,this.I)},_.prototype.decryptBlock=function(P,D){this.R(P,D,this.U)},_.prototype.R=function(P,D,I){this.L=P[D],this.F=P[D+1],this.X(4,252645135),this.X(16,65535),this.Z(2,858993459),this.Z(8,16711935),this.X(1,1431655765);for(var q=0;q<16;q++){for(var U=I[q],k=this.L,B=this.F,N=0,W=0;W<8;W++){var ye=(B^U[W])&O[W];N|=w[W][ye>>>0]}this.L=B,this.F=k^N}var be=this.L;this.L=this.F,this.F=be,this.X(1,1431655765),this.Z(8,16711935),this.Z(2,858993459),this.X(16,65535),this.X(4,252645135),P[D]=this.L,P[D+1]=this.F},_.prototype.X=function(P,D){var I=(this.L>>>P^this.F)&D;this.F^=I,this.L^=I<<P},_.prototype.Z=function(P,D){var I=(this.F>>>P^this.L)&D;this.L^=I,this.F^=I<<P},_.createEncryptor=function(P,D){return new _(S(S({},D=D===void 0?{}:D),{key:P,transformMode:f.t.ENC_TRANSFORM_MODE}))},_.createDecryptor=function(P,D){return new _(S(S({},D=D===void 0?{}:D),{key:P,transformMode:f.t.DEC_TRANSFORM_MODE}))},_.encrypt=function(P,D,I){return typeof D=="string"?m.E.encrypt(_,P,D,I):p.D.encrypt(_,P,D,I)},_.decrypt=function(P,D,I){return typeof D=="string"?m.E.decrypt(_,P,D,I):p.D.decrypt(_,P,D,I)},_.keySize=2,_.ivSize=2,_}(d.G)},6739:function(o,a,l){l.d(a,{DES3:function(){return b}});var u,d=l(9109),f=l(787),m=l(9456),p=l(9910),E=l(3354),S=l(5693),v=(u=function(w,O){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,C){T.__proto__=C}||function(T,C){for(var _ in C)Object.prototype.hasOwnProperty.call(C,_)&&(T[_]=C[_])})(w,O)},function(w,O){function T(){this.constructor=w}u(w,O),w.prototype=O===null?Object.create(O):(T.prototype=O.prototype,new T)}),y=function(){return(y=Object.assign||function(w){for(var O,T=1,C=arguments.length;T<C;T++)for(var _ in O=arguments[T])Object.prototype.hasOwnProperty.call(O,_)&&(w[_]=O[_]);return w}).apply(this,arguments)},b=function(w){function O(T){var C=w.call(this,T)||this;C.N=2,C.O=T;var _=C.J();return C.Y=_[0],C.$=_[1],C.nn=_[2],C}return v(O,w),O.prototype.J=function(){var T=this.H.words;if(T.length!==2&&T.length!==4&&T.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var C=T.slice(0,2),_=T.length<4?T.slice(0,2):T.slice(2,4),P=T.length<6?T.slice(0,2):T.slice(4,6);return[p.DES.createEncryptor(new E.e(C)),p.DES.createEncryptor(new E.e(_)),p.DES.createEncryptor(new E.e(P))]},O.prototype.A=function(){var T=this.J();this.Y=T[0],this.$=T[1],this.nn=T[2]},O.prototype.encryptBlock=function(T,C){this.Y.encryptBlock(T,C),this.$.decryptBlock(T,C),this.nn.encryptBlock(T,C)},O.prototype.decryptBlock=function(T,C){this.nn.decryptBlock(T,C),this.$.encryptBlock(T,C),this.Y.decryptBlock(T,C)},O.createEncryptor=function(T,C){return new O(y(y({},C=C===void 0?{}:C),{key:T,transformMode:m.t.ENC_TRANSFORM_MODE}))},O.createDecryptor=function(T,C){return new O(y(y({},C=C===void 0?{}:C),{key:T,transformMode:m.t.DEC_TRANSFORM_MODE}))},O.encrypt=function(T,C,_){return typeof C=="string"?S.E.encrypt(O,T,C,_):d.D.encrypt(O,T,C,_)},O.decrypt=function(T,C,_){return typeof C=="string"?S.E.decrypt(O,T,C,_):d.D.decrypt(O,T,C,_)},O.keySize=6,O.ivSize=2,O}(f.G)},7753:function(o,a,l){l.d(a,{GMAC:function(){return p}});var u=l(4768),d=l(3354),f=l(9691),m=l(5607);function p(E,S,v,y,b){var w=typeof E=="string"?u.d.parse(E):E,O=v||new d.e([0,0,0,0]),T=b&&b.Cipher?b.Cipher:f.AES,C=typeof S=="string"?u.d.parse(S):S,_=y||16;return m.V.mac(T,C,O,w,void 0,_)}},6367:function(o,a,l){l.d(a,{Hmac:function(){return d}});var u=l(4768),d=function(){function f(m,p){this.tn=m,typeof p=="string"&&(p=u.d.parse(p));var E=m.blockSize,S=4*E;p.nSigBytes>S&&(p=m.finalize(p)),p.clamp();for(var v=this.rn=p.clone(),y=this.en=p.clone(),b=v.words,w=y.words,O=0;O<E;O++)b[O]^=1549556828,w[O]^=909522486;y.nSigBytes=S,v.nSigBytes=S,this.reset()}return f.prototype.reset=function(){this.tn.reset(),this.tn.update(this.en)},f.prototype.update=function(m){return this.tn.update(m),this},f.prototype.finalize=function(m){var p=this.tn.finalize(m);return this.tn.reset(),this.tn.finalize(this.rn.clone().concat(p))},f}()},3027:function(o,a,l){l.d(a,{HmacMD5:function(){return f}});var u=l(6367),d=l(670);function f(m,p){return new u.Hmac(new d.MD5,p).finalize(m)}},149:function(o,a,l){l.d(a,{HmacSHA1:function(){return f}});var u=l(6367),d=l(3173);function f(m,p){return new u.Hmac(new d.SHA1,p).finalize(m)}},4105:function(o,a,l){l.d(a,{HmacSHA224:function(){return f}});var u=l(6367),d=l(766);function f(m,p){return new u.Hmac(new d.SHA224,p).finalize(m)}},980:function(o,a,l){l.d(a,{HmacSHA256:function(){return f}});var u=l(6367),d=l(5561);function f(m,p){return new u.Hmac(new d.SHA256,p).finalize(m)}},5838:function(o,a,l){l.d(a,{HmacSHA384:function(){return f}});var u=l(6367),d=l(6324);function f(m,p){return new u.Hmac(new d.SHA384,p).finalize(m)}},9902:function(o,a,l){l.d(a,{HmacSHA512:function(){return f}});var u=l(6367),d=l(7491);function f(m,p){return new u.Hmac(new d.SHA512,p).finalize(m)}},670:function(o,a,l){l.d(a,{MD5:function(){return b}});var u,d=l(3354),f=l(1868),m=(u=function(w,O){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,C){T.__proto__=C}||function(T,C){for(var _ in C)Object.prototype.hasOwnProperty.call(C,_)&&(T[_]=C[_])})(w,O)},function(w,O){function T(){this.constructor=w}u(w,O),w.prototype=O===null?Object.create(O):(T.prototype=O.prototype,new T)}),p=[];function E(w,O,T,C,_,P,D){var I=w+(O&T|~O&C)+_+D;return(I<<P|I>>>32-P)+O}function S(w,O,T,C,_,P,D){var I=w+(O&C|T&~C)+_+D;return(I<<P|I>>>32-P)+O}function v(w,O,T,C,_,P,D){var I=w+(O^T^C)+_+D;return(I<<P|I>>>32-P)+O}function y(w,O,T,C,_,P,D){var I=w+(T^(O|~C))+_+D;return(I<<P|I>>>32-P)+O}(function(){for(var w=0;w<64;w++)p[w]=4294967296*Math.abs(Math.sin(w+1))|0})();var b=function(w){function O(T){var C=w.call(this,T)||this;return C.on=new d.e([1732584193,4023233417,2562383102,271733878]),T&&T.hash!==void 0&&(C.on=T.hash.clone()),C}return m(O,w),O.prototype.A=function(){this.on=new d.e([1732584193,4023233417,2562383102,271733878])},O.prototype.un=function(T,C){for(var _=0;_<16;_++){var P=C+_,D=T[P];T[P]=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8)}var I=this.on.words,q=T[C],U=T[C+1],k=T[C+2],B=T[C+3],N=T[C+4],W=T[C+5],ye=T[C+6],be=T[C+7],fe=T[C+8],re=T[C+9],he=T[C+10],Ae=T[C+11],ue=T[C+12],xe=T[C+13],Re=T[C+14],Se=T[C+15],V=I[0],ee=I[1],ne=I[2],ae=I[3];V=E(V,ee,ne,ae,q,7,p[0]),ae=E(ae,V,ee,ne,U,12,p[1]),ne=E(ne,ae,V,ee,k,17,p[2]),ee=E(ee,ne,ae,V,B,22,p[3]),V=E(V,ee,ne,ae,N,7,p[4]),ae=E(ae,V,ee,ne,W,12,p[5]),ne=E(ne,ae,V,ee,ye,17,p[6]),ee=E(ee,ne,ae,V,be,22,p[7]),V=E(V,ee,ne,ae,fe,7,p[8]),ae=E(ae,V,ee,ne,re,12,p[9]),ne=E(ne,ae,V,ee,he,17,p[10]),ee=E(ee,ne,ae,V,Ae,22,p[11]),V=E(V,ee,ne,ae,ue,7,p[12]),ae=E(ae,V,ee,ne,xe,12,p[13]),ne=E(ne,ae,V,ee,Re,17,p[14]),V=S(V,ee=E(ee,ne,ae,V,Se,22,p[15]),ne,ae,U,5,p[16]),ae=S(ae,V,ee,ne,ye,9,p[17]),ne=S(ne,ae,V,ee,Ae,14,p[18]),ee=S(ee,ne,ae,V,q,20,p[19]),V=S(V,ee,ne,ae,W,5,p[20]),ae=S(ae,V,ee,ne,he,9,p[21]),ne=S(ne,ae,V,ee,Se,14,p[22]),ee=S(ee,ne,ae,V,N,20,p[23]),V=S(V,ee,ne,ae,re,5,p[24]),ae=S(ae,V,ee,ne,Re,9,p[25]),ne=S(ne,ae,V,ee,B,14,p[26]),ee=S(ee,ne,ae,V,fe,20,p[27]),V=S(V,ee,ne,ae,xe,5,p[28]),ae=S(ae,V,ee,ne,k,9,p[29]),ne=S(ne,ae,V,ee,be,14,p[30]),V=v(V,ee=S(ee,ne,ae,V,ue,20,p[31]),ne,ae,W,4,p[32]),ae=v(ae,V,ee,ne,fe,11,p[33]),ne=v(ne,ae,V,ee,Ae,16,p[34]),ee=v(ee,ne,ae,V,Re,23,p[35]),V=v(V,ee,ne,ae,U,4,p[36]),ae=v(ae,V,ee,ne,N,11,p[37]),ne=v(ne,ae,V,ee,be,16,p[38]),ee=v(ee,ne,ae,V,he,23,p[39]),V=v(V,ee,ne,ae,xe,4,p[40]),ae=v(ae,V,ee,ne,q,11,p[41]),ne=v(ne,ae,V,ee,B,16,p[42]),ee=v(ee,ne,ae,V,ye,23,p[43]),V=v(V,ee,ne,ae,re,4,p[44]),ae=v(ae,V,ee,ne,ue,11,p[45]),ne=v(ne,ae,V,ee,Se,16,p[46]),V=y(V,ee=v(ee,ne,ae,V,k,23,p[47]),ne,ae,q,6,p[48]),ae=y(ae,V,ee,ne,be,10,p[49]),ne=y(ne,ae,V,ee,Re,15,p[50]),ee=y(ee,ne,ae,V,W,21,p[51]),V=y(V,ee,ne,ae,ue,6,p[52]),ae=y(ae,V,ee,ne,B,10,p[53]),ne=y(ne,ae,V,ee,he,15,p[54]),ee=y(ee,ne,ae,V,U,21,p[55]),V=y(V,ee,ne,ae,fe,6,p[56]),ae=y(ae,V,ee,ne,Se,10,p[57]),ne=y(ne,ae,V,ee,ye,15,p[58]),ee=y(ee,ne,ae,V,xe,21,p[59]),V=y(V,ee,ne,ae,N,6,p[60]),ae=y(ae,V,ee,ne,Ae,10,p[61]),ne=y(ne,ae,V,ee,k,15,p[62]),ee=y(ee,ne,ae,V,re,21,p[63]),I[0]=I[0]+V|0,I[1]=I[1]+ee|0,I[2]=I[2]+ne|0,I[3]=I[3]+ae|0},O.prototype.fn=function(){var T=this.cn,C=T.words,_=8*this.sn,P=8*T.nSigBytes;C[P>>>5]|=128<<24-P%32;var D=Math.floor(_/4294967296),I=_;C[15+(P+64>>>9<<4)]=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8),C[14+(P+64>>>9<<4)]=16711935&(I<<8|I>>>24)|4278255360&(I<<24|I>>>8),T.nSigBytes=4*(C.length+1),this.an();for(var q=this.on,U=q.words,k=0;k<4;k++){var B=U[k];U[k]=16711935&(B<<8|B>>>24)|4278255360&(B<<24|B>>>8)}return q},O.prototype.clone=function(){return new O({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},O.hash=function(T){return new O().finalize(T)},O}(f.P)},4615:function(o,a,l){l.d(a,{RC4:function(){return S}});var u,d=l(30),f=l(5693),m=l(9109),p=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),E=function(){return(E=Object.assign||function(v){for(var y,b=1,w=arguments.length;b<w;b++)for(var O in y=arguments[b])Object.prototype.hasOwnProperty.call(y,O)&&(v[O]=y[O]);return v}).apply(this,arguments)},S=function(v){function y(b){var w=v.call(this,b)||this;return w.S=[],w.i=0,w.j=0,w.O=b,w.A(),w}return p(y,v),y.prototype.A=function(){var b=this.H,w=b.words,O=b.nSigBytes;this.S=[];for(var T=0;T<256;T++)this.S[T]=T;T=0;for(var C=0;T<256;T++){var _=T%O,P=w[_>>>2]>>>24-_%4*8&255;C=(C+this.S[T]+P)%256;var D=this.S[T];this.S[T]=this.S[C],this.S[C]=D}this.i=this.j=0},y.prototype.un=function(b,w){b[w]^=this.generateKeyStreamWord()},y.prototype.generateKeyStreamWord=function(){for(var b=this.S,w=this.i,O=this.j,T=0,C=0;C<4;C++){O=(O+b[w=(w+1)%256])%256;var _=b[w];b[w]=b[O],b[O]=_,T|=b[(b[w]+b[O])%256]<<24-8*C}return this.i=w,this.j=O,T},y.createEncryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.createDecryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.encrypt=function(b,w,O){return typeof w=="string"?f.E.encrypt(y,b,w,O):m.D.encrypt(y,b,w,O)},y.decrypt=function(b,w,O){return typeof w=="string"?f.E.decrypt(y,b,w,O):m.D.decrypt(y,b,w,O)},y.ivSize=0,y.keySize=8,y}(d.q)},9639:function(o,a,l){l.d(a,{RC4Drop:function(){return S}});var u,d=l(5693),f=l(9109),m=l(4615),p=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),E=function(){return(E=Object.assign||function(v){for(var y,b=1,w=arguments.length;b<w;b++)for(var O in y=arguments[b])Object.prototype.hasOwnProperty.call(y,O)&&(v[O]=y[O]);return v}).apply(this,arguments)},S=function(v){function y(b){var w=v.call(this,b)||this;return w.drop=192,w.O=b,b&&typeof b.drop=="number"&&(w.drop=b.drop),w.A(),w}return p(y,v),y.prototype.A=function(){v.prototype.A.call(this);for(var b=this.drop;b>0;b--)this.generateKeyStreamWord()},y.createEncryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.createDecryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.encrypt=function(b,w,O){return typeof w=="string"?d.E.encrypt(y,b,w,O):f.D.encrypt(y,b,w,O)},y.decrypt=function(b,w,O){return typeof w=="string"?d.E.decrypt(y,b,w,O):f.D.decrypt(y,b,w,O)},y}(m.RC4)},7104:function(o,a,l){l.d(a,{RIPEMD160:function(){return D}});var u,d=l(1868),f=l(3354),m=(u=function(I,q){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(U,k){U.__proto__=k}||function(U,k){for(var B in k)Object.prototype.hasOwnProperty.call(k,B)&&(U[B]=k[B])})(I,q)},function(I,q){function U(){this.constructor=I}u(I,q),I.prototype=q===null?Object.create(q):(U.prototype=q.prototype,new U)}),p=new f.e([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),E=new f.e([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),S=new f.e([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),v=new f.e([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),y=new f.e([0,1518500249,1859775393,2400959708,2840853838]),b=new f.e([1352829926,1548603684,1836072691,2053994217,0]);function w(I,q,U){return I^q^U}function O(I,q,U){return I&q|~I&U}function T(I,q,U){return(I|~q)^U}function C(I,q,U){return I&U|q&~U}function _(I,q,U){return I^(q|~U)}function P(I,q){return I<<q|I>>>32-q}var D=function(I){function q(U){var k=I.call(this,U)||this;return k.on=new f.e([1732584193,4023233417,2562383102,271733878,3285377520]),k.O=U,U&&U.hash!==void 0&&(k.on=U.hash.clone()),k}return m(q,I),q.prototype.A=function(){this.on=new f.e([1732584193,4023233417,2562383102,271733878,3285377520])},q.prototype.un=function(U,k){for(var B=0;B<16;B++){var N=k+B,W=U[N];U[N]=16711935&(W<<8|W>>>24)|4278255360&(W<<24|W>>>8)}var ye,be,fe,re,he,Ae,ue,xe,Re,Se,V,ee=this.on.words,ne=y.words,ae=b.words,bt=p.words,Ft=E.words,Mt=S.words,Et=v.words;for(Ae=ye=ee[0],ue=be=ee[1],xe=fe=ee[2],Re=re=ee[3],Se=he=ee[4],B=0;B<80;B+=1)V=ye+U[k+bt[B]]|0,V+=B<16?w(be,fe,re)+ne[0]:B<32?O(be,fe,re)+ne[1]:B<48?T(be,fe,re)+ne[2]:B<64?C(be,fe,re)+ne[3]:_(be,fe,re)+ne[4],V=(V=P(V|=0,Mt[B]))+he|0,ye=he,he=re,re=P(fe,10),fe=be,be=V,V=Ae+U[k+Ft[B]]|0,V+=B<16?_(ue,xe,Re)+ae[0]:B<32?C(ue,xe,Re)+ae[1]:B<48?T(ue,xe,Re)+ae[2]:B<64?O(ue,xe,Re)+ae[3]:w(ue,xe,Re)+ae[4],V=(V=P(V|=0,Et[B]))+Se|0,Ae=Se,Se=Re,Re=P(xe,10),xe=ue,ue=V;V=ee[1]+fe+Re|0,ee[1]=ee[2]+re+Se|0,ee[2]=ee[3]+he+Ae|0,ee[3]=ee[4]+ye+ue|0,ee[4]=ee[0]+be+xe|0,ee[0]=V},q.prototype.fn=function(){var U=this.cn,k=U.words,B=8*this.sn,N=8*U.nSigBytes;k[N>>>5]|=128<<24-N%32,k[14+(N+64>>>9<<4)]=16711935&(B<<8|B>>>24)|4278255360&(B<<24|B>>>8),U.nSigBytes=4*(k.length+1),this.an();for(var W=this.on,ye=W.words,be=0;be<5;be++){var fe=ye[be];ye[be]=16711935&(fe<<8|fe>>>24)|4278255360&(fe<<24|fe>>>8)}return W},q.prototype.clone=function(){return new q({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},q.hash=function(U,k){return new q(k).finalize(U)},q}(d.P)},5187:function(o,a,l){l.d(a,{Rabbit:function(){return S}});var u,d=l(30),f=l(5693),m=l(9109),p=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),E=function(){return(E=Object.assign||function(v){for(var y,b=1,w=arguments.length;b<w;b++)for(var O in y=arguments[b])Object.prototype.hasOwnProperty.call(y,O)&&(v[O]=y[O]);return v}).apply(this,arguments)},S=function(v){function y(b){var w=v.call(this,b)||this;return w.N=4,w.S=[],w.C=[],w.G=[],w.hn=[],w.vn=[],w.wn=0,w.O=b,w.A(),w}return p(y,v),y.prototype.A=function(){for(var b=this.H.words,w=this.ln,O=0;O<4;O++)b[O]=16711935&(b[O]<<8|b[O]>>>24)|4278255360&(b[O]<<24|b[O]>>>8);var T=this.hn=[b[0],b[3]<<16|b[2]>>>16,b[1],b[0]<<16|b[3]>>>16,b[2],b[1]<<16|b[0]>>>16,b[3],b[2]<<16|b[1]>>>16],C=this.vn=[b[2]<<16|b[2]>>>16,4294901760&b[0]|65535&b[1],b[3]<<16|b[3]>>>16,4294901760&b[1]|65535&b[2],b[0]<<16|b[0]>>>16,4294901760&b[2]|65535&b[3],b[1]<<16|b[1]>>>16,4294901760&b[3]|65535&b[0]];for(this.wn=0,O=0;O<4;O++)this.nextState();for(O=0;O<8;O++)C[O]^=T[O+4&7];if(w){var _=w.words,P=_[0],D=_[1],I=16711935&(P<<8|P>>>24)|4278255360&(P<<24|P>>>8),q=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8),U=I>>>16|4294901760&q,k=q<<16|65535&I;for(C[0]^=I,C[1]^=U,C[2]^=q,C[3]^=k,C[4]^=I,C[5]^=U,C[6]^=q,C[7]^=k,O=0;O<4;O++)this.nextState()}},y.prototype.un=function(b,w){var O=this.hn;this.nextState(),this.S[0]=O[0]^O[5]>>>16^O[3]<<16,this.S[1]=O[2]^O[7]>>>16^O[5]<<16,this.S[2]=O[4]^O[1]>>>16^O[7]<<16,this.S[3]=O[6]^O[3]>>>16^O[1]<<16;for(var T=0;T<4;T++)this.S[T]=16711935&(this.S[T]<<8|this.S[T]>>>24)|4278255360&(this.S[T]<<24|this.S[T]>>>8),b[w+T]^=this.S[T]},y.prototype.nextState=function(){for(var b=this.hn,w=this.vn,O=0;O<8;O++)this.C[O]=w[O];for(w[0]=w[0]+1295307597+this.wn|0,w[1]=w[1]+3545052371+(w[0]>>>0<this.C[0]>>>0?1:0)|0,w[2]=w[2]+886263092+(w[1]>>>0<this.C[1]>>>0?1:0)|0,w[3]=w[3]+1295307597+(w[2]>>>0<this.C[2]>>>0?1:0)|0,w[4]=w[4]+3545052371+(w[3]>>>0<this.C[3]>>>0?1:0)|0,w[5]=w[5]+886263092+(w[4]>>>0<this.C[4]>>>0?1:0)|0,w[6]=w[6]+1295307597+(w[5]>>>0<this.C[5]>>>0?1:0)|0,w[7]=w[7]+3545052371+(w[6]>>>0<this.C[6]>>>0?1:0)|0,this.wn=w[7]>>>0<this.C[7]>>>0?1:0,O=0;O<8;O++){var T=b[O]+w[O],C=65535&T,_=T>>>16,P=((C*C>>>17)+C*_>>>15)+_*_,D=((4294901760&T)*T|0)+((65535&T)*T|0);this.G[O]=P^D}var I=this.G;b[0]=I[0]+(I[7]<<16|I[7]>>>16)+(I[6]<<16|I[6]>>>16)|0,b[1]=I[1]+(I[0]<<8|I[0]>>>24)+I[7]|0,b[2]=I[2]+(I[1]<<16|I[1]>>>16)+(I[0]<<16|I[0]>>>16)|0,b[3]=I[3]+(I[2]<<8|I[2]>>>24)+I[1]|0,b[4]=I[4]+(I[3]<<16|I[3]>>>16)+(I[2]<<16|I[2]>>>16)|0,b[5]=I[5]+(I[4]<<8|I[4]>>>24)+I[3]|0,b[6]=I[6]+(I[5]<<16|I[5]>>>16)+(I[4]<<16|I[4]>>>16)|0,b[7]=I[7]+(I[6]<<8|I[6]>>>24)+I[5]|0},y.createEncryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.createDecryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.encrypt=function(b,w,O){return typeof w=="string"?f.E.encrypt(y,b,w,O):m.D.encrypt(y,b,w,O)},y.decrypt=function(b,w,O){return typeof w=="string"?f.E.decrypt(y,b,w,O):m.D.decrypt(y,b,w,O)},y.ivSize=4,y}(d.q)},3173:function(o,a,l){l.d(a,{SHA1:function(){return E}});var u,d=l(1868),f=l(3354),m=(u=function(S,v){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,b){y.__proto__=b}||function(y,b){for(var w in b)Object.prototype.hasOwnProperty.call(b,w)&&(y[w]=b[w])})(S,v)},function(S,v){function y(){this.constructor=S}u(S,v),S.prototype=v===null?Object.create(v):(y.prototype=v.prototype,new y)}),p=[],E=function(S){function v(y){var b=S.call(this,y)||this;return b.on=new f.e([1732584193,4023233417,2562383102,271733878,3285377520]),b.O=y,y&&y.hash!==void 0&&(b.on=y.hash.clone()),b}return m(v,S),v.prototype.A=function(){this.on=new f.e([1732584193,4023233417,2562383102,271733878,3285377520])},v.prototype.un=function(y,b){for(var w=this.on.words,O=w[0],T=w[1],C=w[2],_=w[3],P=w[4],D=0;D<80;D++){if(D<16)p[D]=0|y[b+D];else{var I=p[D-3]^p[D-8]^p[D-14]^p[D-16];p[D]=I<<1|I>>>31}var q=(O<<5|O>>>27)+P+p[D];q+=D<20?1518500249+(T&C|~T&_):D<40?1859775393+(T^C^_):D<60?(T&C|T&_|C&_)-1894007588:(T^C^_)-899497514,P=_,_=C,C=T<<30|T>>>2,T=O,O=q}w[0]=w[0]+O|0,w[1]=w[1]+T|0,w[2]=w[2]+C|0,w[3]=w[3]+_|0,w[4]=w[4]+P|0},v.prototype.fn=function(){var y=this.cn.words,b=8*this.sn,w=8*this.cn.nSigBytes;return y[w>>>5]|=128<<24-w%32,y[14+(w+64>>>9<<4)]=Math.floor(b/4294967296),y[15+(w+64>>>9<<4)]=b,this.cn.nSigBytes=4*y.length,this.an(),this.on},v.prototype.clone=function(){return new v({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},v.hash=function(y,b){return new v(b).finalize(y)},v}(d.P)},766:function(o,a,l){l.d(a,{SHA224:function(){return p}});var u,d=l(3354),f=l(5561),m=(u=function(E,S){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,y){v.__proto__=y}||function(v,y){for(var b in y)Object.prototype.hasOwnProperty.call(y,b)&&(v[b]=y[b])})(E,S)},function(E,S){function v(){this.constructor=E}u(E,S),E.prototype=S===null?Object.create(S):(v.prototype=S.prototype,new v)}),p=function(E){function S(v){var y=E.call(this,v)||this;return y.on=new d.e([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),y.O=v,v&&v.hash!==void 0&&(y.on=v.hash.clone()),y}return m(S,E),S.prototype.A=function(){this.on=new d.e([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},S.prototype.fn=function(){var v=E.prototype.fn.call(this);return v.nSigBytes-=4,v},S.prototype.clone=function(){return new S({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},S.hash=function(v,y){return new S(y).finalize(v)},S}(f.SHA256)},5561:function(o,a,l){l.d(a,{SHA256:function(){return b}});var u,d=l(1868),f=l(3354),m=(u=function(w,O){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,C){T.__proto__=C}||function(T,C){for(var _ in C)Object.prototype.hasOwnProperty.call(C,_)&&(T[_]=C[_])})(w,O)},function(w,O){function T(){this.constructor=w}u(w,O),w.prototype=O===null?Object.create(O):(T.prototype=O.prototype,new T)}),p=[],E=[];function S(w){for(var O=Math.sqrt(w),T=2;T<=O;T++)if(!(w%T))return!1;return!0}function v(w){return 4294967296*(w-(0|w))|0}(function(){for(var w=2,O=0;O<64;)S(w)&&(O<8&&(p[O]=v(Math.pow(w,.5))),E[O]=v(Math.pow(w,1/3)),O++),w++})();var y=[],b=function(w){function O(T){var C=w.call(this,T)||this;return C.on=new f.e(p.slice(0)),C.O=T,T&&T.hash!==void 0&&(C.on=T.hash.clone()),C}return m(O,w),O.prototype.A=function(){this.on=new f.e(p.slice(0))},O.prototype.un=function(T,C){for(var _=this.on.words,P=_[0],D=_[1],I=_[2],q=_[3],U=_[4],k=_[5],B=_[6],N=_[7],W=0;W<64;W++){if(W<16)y[W]=0|T[C+W];else{var ye=y[W-15],be=(ye<<25|ye>>>7)^(ye<<14|ye>>>18)^ye>>>3,fe=y[W-2],re=(fe<<15|fe>>>17)^(fe<<13|fe>>>19)^fe>>>10;y[W]=be+y[W-7]+re+y[W-16]}var he=P&D^P&I^D&I,Ae=(P<<30|P>>>2)^(P<<19|P>>>13)^(P<<10|P>>>22),ue=N+((U<<26|U>>>6)^(U<<21|U>>>11)^(U<<7|U>>>25))+(U&k^~U&B)+E[W]+y[W];N=B,B=k,k=U,U=q+ue|0,q=I,I=D,D=P,P=ue+(Ae+he)|0}_[0]=_[0]+P|0,_[1]=_[1]+D|0,_[2]=_[2]+I|0,_[3]=_[3]+q|0,_[4]=_[4]+U|0,_[5]=_[5]+k|0,_[6]=_[6]+B|0,_[7]=_[7]+N|0},O.prototype.fn=function(){var T=this.cn.words,C=8*this.sn,_=8*this.cn.nSigBytes;return T[_>>>5]|=128<<24-_%32,T[14+(_+64>>>9<<4)]=Math.floor(C/4294967296),T[15+(_+64>>>9<<4)]=C,this.cn.nSigBytes=4*T.length,this.an(),this.on},O.prototype.clone=function(){return new O({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},O.hash=function(T,C){return new O(C).finalize(T)},O}(d.P)},3408:function(o,a,l){l.d(a,{SHA3:function(){return b}});var u,d=l(6957),f=l(1868),m=l(3354),p=(u=function(w,O){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,C){T.__proto__=C}||function(T,C){for(var _ in C)Object.prototype.hasOwnProperty.call(C,_)&&(T[_]=C[_])})(w,O)},function(w,O){function T(){this.constructor=w}u(w,O),w.prototype=O===null?Object.create(O):(T.prototype=O.prototype,new T)}),E=[],S=[],v=[];(function(){for(var w=1,O=0,T=0;T<24;T++){E[w+5*O]=(T+1)*(T+2)/2%64;var C=(2*w+3*O)%5;w=O%5,O=C}for(var _=0;_<5;_++)for(var P=0;P<5;P++)S[_+5*P]=P+(2*_+3*P)%5*5;for(var D=1,I=0;I<24;I++){for(var q=0,U=0,k=0;k<7;k++){if(1&D){var B=(1<<k)-1;B<32?U^=1<<B:q^=1<<B-32}128&D?D=D<<1^113:D<<=1}v[I]=new d.r(q,U)}})();var y=[];(function(){for(var w=0;w<25;w++)y[w]=new d.r(0,0)})();var b=function(w){function O(T){var C=w.call(this,T)||this;if(C.N=32,C.bn=[],C.dn=512,C.O=T,T){if(T.outputLength!==void 0){if(![224,256,384,512].includes(T.outputLength))throw new Error("Unsupported output length.");C.dn=T.outputLength}T.state!==void 0&&(C.bn=T.state.map(function(P){return P.clone()}))}if(C.bn.length===0)for(var _=0;_<25;_++)C.bn[_]=new d.r(0,0);return C.N=(1600-2*C.dn)/32,C}return p(O,w),O.prototype.A=function(){this.bn=[];for(var T=0;T<25;T++)this.bn[T]=new d.r(0,0);this.N=(1600-2*this.dn)/32},O.prototype.un=function(T,C){for(var _=this.bn,P=this.N/2,D=0;D<P;D++){var I=T[C+2*D],q=T[C+2*D+1];I=16711935&(I<<8|I>>>24)|4278255360&(I<<24|I>>>8),q=16711935&(q<<8|q>>>24)|4278255360&(q<<24|q>>>8),_[D].high^=q,_[D].low^=I}for(var U=0;U<24;U++){for(var k=0;k<5;k++){for(var B=0,N=0,W=0;W<5;W++)B^=(ne=_[k+5*W]).high,N^=ne.low;var ye=y[k];ye.high=B,ye.low=N}for(k=0;k<5;k++){var be=y[(k+4)%5],fe=y[(k+1)%5],re=fe.high,he=fe.low;for(B=be.high^(re<<1|he>>>31),N=be.low^(he<<1|re>>>31),W=0;W<5;W++)(ne=_[k+5*W]).high^=B,ne.low^=N}for(var Ae=1;Ae<25;Ae++){B=void 0,N=void 0;var ue=_[Ae].high,xe=_[Ae].low,Re=E[Ae];Re<32?(B=ue<<Re|xe>>>32-Re,N=xe<<Re|ue>>>32-Re):(B=xe<<Re-32|ue>>>64-Re,N=ue<<Re-32|xe>>>64-Re);var Se=y[S[Ae]];Se.high=B,Se.low=N}var V=y[0],ee=_[0];for(V.high=ee.high,V.low=ee.low,k=0;k<5;k++)for(W=0;W<5;W++){var ne=_[Ae=k+5*W],ae=y[Ae],bt=y[(k+1)%5+5*W],Ft=y[(k+2)%5+5*W];ne.high=ae.high^~bt.high&Ft.high,ne.low=ae.low^~bt.low&Ft.low}var Mt=_[0],Et=v[U];Mt.high^=Et.high,Mt.low^=Et.low}},O.prototype.fn=function(){var T=this.cn,C=T.words,_=8*T.nSigBytes,P=32*this.blockSize;C[_>>>5]|=1<<24-_%32,C[(Math.ceil((_+1)/P)*P>>>5)-1]|=128,T.nSigBytes=4*C.length,this.an();for(var D=this.bn,I=this.dn/8,q=I/8,U=[],k=0;k<q;k++){var B=D[k],N=B.high,W=B.low;N=16711935&(N<<8|N>>>24)|4278255360&(N<<24|N>>>8),W=16711935&(W<<8|W>>>24)|4278255360&(W<<24|W>>>8),U.push(W),U.push(N)}return new m.e(U,I)},O.prototype.clone=function(){return new O({outputLength:this.dn,state:this.bn,blockSize:this.N,data:this.cn,nBytes:this.sn})},O.hash=function(T,C){return new O(C).finalize(T)},O}(f.P)},6324:function(o,a,l){l.d(a,{SHA384:function(){return p}});var u,d=l(6957),f=l(7491),m=(u=function(E,S){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,y){v.__proto__=y}||function(v,y){for(var b in y)Object.prototype.hasOwnProperty.call(y,b)&&(v[b]=y[b])})(E,S)},function(E,S){function v(){this.constructor=E}u(E,S),E.prototype=S===null?Object.create(S):(v.prototype=S.prototype,new v)}),p=function(E){function S(v){var y=E.call(this,v)||this;return y.on=new d.m([new d.r(3418070365,3238371032),new d.r(1654270250,914150663),new d.r(2438529370,812702999),new d.r(355462360,4144912697),new d.r(1731405415,4290775857),new d.r(2394180231,1750603025),new d.r(3675008525,1694076839),new d.r(1203062813,3204075428)]),y.O=v,v&&v.hash!==void 0&&(y.on=v.hash.clone()),y}return m(S,E),S.prototype.A=function(){this.on=new d.m([new d.r(3418070365,3238371032),new d.r(1654270250,914150663),new d.r(2438529370,812702999),new d.r(355462360,4144912697),new d.r(1731405415,4290775857),new d.r(2394180231,1750603025),new d.r(3675008525,1694076839),new d.r(1203062813,3204075428)])},S.prototype.fn=function(){var v=E.prototype.fn.call(this);return v.nSigBytes-=16,v},S.prototype.clone=function(){return new S({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},S.hash=function(v,y){return new S(y).finalize(v)},S}(f.SHA512)},7491:function(o,a,l){l.d(a,{SHA512:function(){return S}});var u,d=l(1868),f=l(6957),m=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),p=[new f.r(1116352408,3609767458),new f.r(1899447441,602891725),new f.r(3049323471,3964484399),new f.r(3921009573,2173295548),new f.r(961987163,4081628472),new f.r(1508970993,3053834265),new f.r(2453635748,2937671579),new f.r(2870763221,3664609560),new f.r(3624381080,2734883394),new f.r(310598401,1164996542),new f.r(607225278,1323610764),new f.r(1426881987,3590304994),new f.r(1925078388,4068182383),new f.r(2162078206,991336113),new f.r(2614888103,633803317),new f.r(3248222580,3479774868),new f.r(3835390401,2666613458),new f.r(4022224774,944711139),new f.r(264347078,2341262773),new f.r(604807628,2007800933),new f.r(770255983,1495990901),new f.r(1249150122,1856431235),new f.r(1555081692,3175218132),new f.r(1996064986,2198950837),new f.r(2554220882,3999719339),new f.r(2821834349,766784016),new f.r(2952996808,2566594879),new f.r(3210313671,3203337956),new f.r(3336571891,1034457026),new f.r(3584528711,2466948901),new f.r(113926993,3758326383),new f.r(338241895,168717936),new f.r(666307205,1188179964),new f.r(773529912,1546045734),new f.r(1294757372,1522805485),new f.r(1396182291,2643833823),new f.r(1695183700,2343527390),new f.r(1986661051,1014477480),new f.r(2177026350,1206759142),new f.r(2456956037,344077627),new f.r(2730485921,1290863460),new f.r(2820302411,3158454273),new f.r(3259730800,3505952657),new f.r(3345764771,106217008),new f.r(3516065817,3606008344),new f.r(3600352804,1432725776),new f.r(4094571909,1467031594),new f.r(275423344,851169720),new f.r(430227734,3100823752),new f.r(506948616,1363258195),new f.r(659060556,3750685593),new f.r(883997877,3785050280),new f.r(958139571,3318307427),new f.r(1322822218,3812723403),new f.r(1537002063,2003034995),new f.r(1747873779,3602036899),new f.r(1955562222,1575990012),new f.r(2024104815,1125592928),new f.r(2227730452,2716904306),new f.r(2361852424,442776044),new f.r(2428436474,593698344),new f.r(2756734187,3733110249),new f.r(3204031479,2999351573),new f.r(3329325298,3815920427),new f.r(3391569614,3928383900),new f.r(3515267271,566280711),new f.r(3940187606,3454069534),new f.r(4118630271,4000239992),new f.r(116418474,1914138554),new f.r(174292421,2731055270),new f.r(289380356,3203993006),new f.r(460393269,320620315),new f.r(685471733,587496836),new f.r(852142971,1086792851),new f.r(1017036298,365543100),new f.r(1126000580,2618297676),new f.r(1288033470,3409855158),new f.r(1501505948,4234509866),new f.r(1607167915,987167468),new f.r(1816402316,1246189591)],E=[];(function(){for(var v=0;v<80;v++)E[v]=new f.r(0,0)})();var S=function(v){function y(b){var w=v.call(this,b)||this;return w.N=32,w.on=new f.m([new f.r(1779033703,4089235720),new f.r(3144134277,2227873595),new f.r(1013904242,4271175723),new f.r(2773480762,1595750129),new f.r(1359893119,2917565137),new f.r(2600822924,725511199),new f.r(528734635,4215389547),new f.r(1541459225,327033209)]),w.O=b,b&&b.hash!==void 0&&(w.on=b.hash.clone()),w}return m(y,v),y.prototype.A=function(){this.on=new f.m([new f.r(1779033703,4089235720),new f.r(3144134277,2227873595),new f.r(1013904242,4271175723),new f.r(2773480762,1595750129),new f.r(1359893119,2917565137),new f.r(2600822924,725511199),new f.r(528734635,4215389547),new f.r(1541459225,327033209)])},y.prototype.un=function(b,w){for(var O=this.on.words,T=O[0],C=O[1],_=O[2],P=O[3],D=O[4],I=O[5],q=O[6],U=O[7],k=T.high,B=T.low,N=C.high,W=C.low,ye=_.high,be=_.low,fe=P.high,re=P.low,he=D.high,Ae=D.low,ue=I.high,xe=I.low,Re=q.high,Se=q.low,V=U.high,ee=U.low,ne=k,ae=B,bt=N,Ft=W,Mt=ye,Et=be,On=fe,Bn=re,It=he,Kt=Ae,zr=ue,xn=xe,Oe=Re,pe=Se,le=V,_e=ee,Ie=0;Ie<80;Ie++){var z=void 0,X=void 0,oe=E[Ie];if(Ie<16)X=oe.high=0|b[w+2*Ie],z=oe.low=0|b[w+2*Ie+1];else{var ve=E[Ie-15],Ce=ve.high,ft=ve.low,$e=(Ce>>>1|ft<<31)^(Ce>>>8|ft<<24)^Ce>>>7,Ye=(ft>>>1|Ce<<31)^(ft>>>8|Ce<<24)^(ft>>>7|Ce<<25),je=E[Ie-2],Xe=je.high,et=je.low,kn=(Xe>>>19|et<<13)^(Xe<<3|et>>>29)^Xe>>>6,ho=(et>>>19|Xe<<13)^(et<<3|Xe>>>29)^(et>>>6|Xe<<26),ul=E[Ie-7],Kd=ul.high,dl=ul.low,Zs=E[Ie-16],Yd=Zs.high,fl=Zs.low;X=(X=(X=$e+Kd+((z=Ye+dl)>>>0<Ye>>>0?1:0))+kn+((z+=ho)>>>0<ho>>>0?1:0))+Yd+((z+=fl)>>>0<fl>>>0?1:0),oe.high=X,oe.low=z}var Zd=It&zr^~It&Oe,hl=Kt&xn^~Kt&pe,pl=ne&bt^ne&Mt^bt&Mt,Xd=ae&Ft^ae&Et^Ft&Et,Qd=(ne>>>28|ae<<4)^(ne<<30|ae>>>2)^(ne<<25|ae>>>7),gl=(ae>>>28|ne<<4)^(ae<<30|ne>>>2)^(ae<<25|ne>>>7),Xs=(It>>>14|Kt<<18)^(It>>>18|Kt<<14)^(It<<23|Kt>>>9),ef=(Kt>>>14|It<<18)^(Kt>>>18|It<<14)^(Kt<<23|It>>>9),Zo=p[Ie],tf=Zo.high,ml=Zo.low,li=_e+ef,po=le+Xs+(li>>>0<_e>>>0?1:0),yl=gl+Xd;le=Oe,_e=pe,Oe=zr,pe=xn,zr=It,xn=Kt,It=On+(po=(po=(po=po+Zd+((li+=hl)>>>0<hl>>>0?1:0))+tf+((li+=ml)>>>0<ml>>>0?1:0))+X+((li+=z)>>>0<z>>>0?1:0))+((Kt=Bn+li|0)>>>0<Bn>>>0?1:0)|0,On=Mt,Bn=Et,Mt=bt,Et=Ft,bt=ne,Ft=ae,ne=po+(Qd+pl+(yl>>>0<gl>>>0?1:0))+((ae=li+yl|0)>>>0<li>>>0?1:0)|0}B=T.low=B+ae,T.high=k+ne+(B>>>0<ae>>>0?1:0),W=C.low=W+Ft,C.high=N+bt+(W>>>0<Ft>>>0?1:0),be=_.low=be+Et,_.high=ye+Mt+(be>>>0<Et>>>0?1:0),re=P.low=re+Bn,P.high=fe+On+(re>>>0<Bn>>>0?1:0),Ae=D.low=Ae+Kt,D.high=he+It+(Ae>>>0<Kt>>>0?1:0),xe=I.low=xe+xn,I.high=ue+zr+(xe>>>0<xn>>>0?1:0),Se=q.low=Se+pe,q.high=Re+Oe+(Se>>>0<pe>>>0?1:0),ee=U.low=ee+_e,U.high=V+le+(ee>>>0<_e>>>0?1:0)},y.prototype.fn=function(){var b=this.cn,w=b.words,O=8*this.sn,T=8*b.nSigBytes;return w[T>>>5]|=128<<24-T%32,w[30+(T+128>>>10<<5)]=Math.floor(O/4294967296),w[31+(T+128>>>10<<5)]=O,b.nSigBytes=4*w.length,this.an(),this.on.to32()},y.prototype.clone=function(){return new y({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},y.hash=function(b,w){return new y(w).finalize(b)},y}(d.P)},3354:function(o,a,l){l.d(a,{e:function(){return f}});var u=l(5720),d=l(9054),f=function(){function m(p,E){if(Array.isArray(p)||!p)return this.yn=Array.isArray(p)?p:[],void(this.pn=typeof E=="number"?E:4*this.yn.length);if(p instanceof m)return this.yn=p.words.slice(),void(this.pn=p.nSigBytes);var S;try{p instanceof ArrayBuffer?S=new Uint8Array(p):(p instanceof Uint8Array||p instanceof Int8Array||p instanceof Uint8ClampedArray||p instanceof Int16Array||p instanceof Uint16Array||p instanceof Int32Array||p instanceof Uint32Array||p instanceof Float32Array||p instanceof Float64Array)&&(S=new Uint8Array(p.buffer,p.byteOffset,p.byteLength))}catch(w){throw new Error("Invalid argument")}if(!S)throw new Error("Invalid argument");for(var v=S.byteLength,y=[],b=0;b<v;b++)y[b>>>2]|=S[b]<<24-b%4*8;this.yn=y,this.pn=v}return Object.defineProperty(m.prototype,"nSigBytes",{get:function(){return this.pn},set:function(p){this.pn=p},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"words",{get:function(){return this.yn},enumerable:!1,configurable:!0}),m.prototype.toString=function(p){return p?p.stringify(this):u.p.stringify(this)},m.prototype.toUint8Array=function(){for(var p=this.yn,E=this.pn,S=new Uint8Array(E),v=0;v<E;v++)S[v]=p[v>>>2]>>>24-v%4*8&255;return S},m.prototype.concat=function(p){var E=p.words.slice(),S=p.nSigBytes;if(this.clamp(),this.pn%4)for(var v=0;v<S;v++){var y=E[v>>>2]>>>24-v%4*8&255;this.yn[this.pn+v>>>2]|=y<<24-(this.pn+v)%4*8}else for(v=0;v<S;v+=4)this.yn[this.pn+v>>>2]=E[v>>>2];return this.pn+=S,this},m.prototype.clamp=function(){var p=this.pn;this.yn[p>>>2]&=4294967295<<32-p%4*8,this.yn.length=Math.ceil(p/4)},m.prototype.clone=function(){return new m(this.yn.slice(),this.pn)},m.random=function(p){for(var E=[],S=0;S<p;S+=4)E.push((0,d.M)());return new m(E,p)},m}()},6957:function(o,a,l){l.d(a,{r:function(){return f},m:function(){return m}});var u=l(5720),d=l(3354),f=function(){function p(E,S){this.high=E,this.low=S}return p.prototype.clone=function(){return new p(this.high,this.low)},p}(),m=function(){function p(E,S){this.yn=E||[],this.pn=typeof S=="number"?S:8*this.yn.length}return Object.defineProperty(p.prototype,"nSigBytes",{get:function(){return this.pn},set:function(E){this.pn=E},enumerable:!1,configurable:!0}),Object.defineProperty(p.prototype,"words",{get:function(){return this.yn},enumerable:!1,configurable:!0}),p.prototype.to32=function(){for(var E=[],S=0;S<this.yn.length;S++){var v=this.yn[S];E.push(v.high),E.push(v.low)}return new d.e(E,this.pn)},p.prototype.toString=function(E){return E?E.stringify(this.to32()):u.p.stringify(this.to32())},p.prototype.clone=function(){for(var E=this.yn.slice(),S=0;S<E.length;S++)E[S]=E[S].clone();return new p(E,this.pn)},p}()},7211:function(o,a,l){l.d(a,{C:function(){return f}});var u=l(3354),d=l(4768),f=function(){function m(p){this.On=0,this.N=0,this.O=p,this.cn=p&&p.data!==void 0?p.data.clone():new u.e,this.sn=p&&typeof p.nBytes=="number"?p.nBytes:0}return Object.defineProperty(m.prototype,"blockSize",{get:function(){return this.N},enumerable:!1,configurable:!0}),m.prototype.reset=function(p,E){this.cn=p!==void 0?p.clone():new u.e,this.sn=typeof E=="number"?E:0},m.prototype.jn=function(p){var E=typeof p=="string"?d.d.parse(p):p;this.cn.concat(E),this.sn+=E.nSigBytes},m.prototype.an=function(p){var E,S=this.cn.words,v=this.cn.nSigBytes,y=this.N,b=v/(4*this.N),w=(b=p?Math.ceil(b):Math.max((0|b)-this.On,0))*y,O=Math.min(4*w,v);if(w){for(var T=0;T<w;T+=y)this.un(S,T);E=S.splice(0,w),this.cn.nSigBytes-=O}return new u.e(E,O)},m.prototype.un=function(p,E){throw new Error("Not implemented")},m}()},1868:function(o,a,l){l.d(a,{P:function(){return m}});var u,d=l(7211),f=(u=function(p,E){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,v){S.__proto__=v}||function(S,v){for(var y in v)Object.prototype.hasOwnProperty.call(v,y)&&(S[y]=v[y])})(p,E)},function(p,E){function S(){this.constructor=p}u(p,E),p.prototype=E===null?Object.create(E):(S.prototype=E.prototype,new S)}),m=function(p){function E(S){var v=p.call(this,S)||this;return v.N=16,v.O=S,S&&typeof S.blockSize=="number"&&(v.N=S.blockSize),v.reset(S?S.data:void 0,S?S.nBytes:void 0),v}return f(E,p),Object.defineProperty(E.prototype,"blockSize",{get:function(){return this.N},enumerable:!1,configurable:!0}),E.prototype.reset=function(S,v){p.prototype.reset.call(this,S,v),this.A()},E.prototype.update=function(S){return this.jn(S),this.an(),this},E.prototype.finalize=function(S){return S&&this.jn(S),this.fn()},E.prototype.A=function(){throw new Error("Not implemented")},E.prototype.fn=function(){throw new Error("Not implemented")},E}(d.C)},787:function(o,a,l){l.d(a,{G:function(){return S}});var u,d=l(9456),f=l(4344),m=l(7919),p=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),E=function(){return(E=Object.assign||function(v){for(var y,b=1,w=arguments.length;b<w;b++)for(var O in y=arguments[b])Object.prototype.hasOwnProperty.call(y,O)&&(v[O]=y[O]);return v}).apply(this,arguments)},S=function(v){function y(b){var w=v.call(this,b)||this;return w.N=4,w._n=f.n,w.mn=m.l,w.O=b,w._n=b.mode!==void 0?b.mode:w._n,w.mn=b.padding!==void 0?b.padding:w.mn,w.reset(b==null?void 0:b.data,b==null?void 0:b.nBytes),w}return p(y,v),Object.defineProperty(y.prototype,"mode",{get:function(){return this.An},enumerable:!1,configurable:!0}),Object.defineProperty(y.prototype,"padding",{get:function(){return this.mn},enumerable:!1,configurable:!0}),y.prototype.reset=function(b,w){var O;v.prototype.reset.call(this,b,w),this.gn===d.t.ENC_TRANSFORM_MODE?O=this._n.createEncryptor:(O=this._n.createDecryptor,this.On=1),this._n&&this.En===O?this.An=new this._n({cipher:this,iv:this.ln}):(this.An=O.call(this._n,{cipher:this,iv:this.ln}),this.En=O)},y.prototype.un=function(b,w){var O;(O=this.An)===null||O===void 0||O.processBlock(b,w)},y.prototype.fn=function(){var b,w=this.mn;return this.gn===d.t.ENC_TRANSFORM_MODE?(w.pad(this.cn,this.blockSize),b=this.an(!0)):(b=this.an(!0),w.unpad(b)),b},y.prototype.encryptBlock=function(b,w){throw new Error("Not implemented")},y.prototype.decryptBlock=function(b,w){throw new Error("Not implemented")},y.createEncryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b,transformMode:d.t.ENC_TRANSFORM_MODE}))},y.createDecryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b,transformMode:d.t.DEC_TRANSFORM_MODE}))},y}(d.t)},9456:function(o,a,l){l.d(a,{t:function(){return p}});var u,d=l(7211),f=(u=function(E,S){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,y){v.__proto__=y}||function(v,y){for(var b in y)Object.prototype.hasOwnProperty.call(y,b)&&(v[b]=y[b])})(E,S)},function(E,S){function v(){this.constructor=E}u(E,S),E.prototype=S===null?Object.create(S):(v.prototype=S.prototype,new v)}),m=function(){return(m=Object.assign||function(E){for(var S,v=1,y=arguments.length;v<y;v++)for(var b in S=arguments[v])Object.prototype.hasOwnProperty.call(S,b)&&(E[b]=S[b]);return E}).apply(this,arguments)},p=function(E){function S(v){var y=E.call(this,v)||this;return y.gn=1,y.O=v,y.H=v.key,y.ln=v.iv!==void 0?v.iv:y.ln,y.gn=v.transformMode!==void 0?v.transformMode:y.gn,y}return f(S,E),Object.defineProperty(S.prototype,"iv",{get:function(){return this.ln},enumerable:!1,configurable:!0}),S.prototype.reset=function(v,y){E.prototype.reset.call(this,v,y),this.A()},S.prototype.process=function(v){return this.jn(v),this.an()},S.prototype.finalize=function(v){return v&&this.jn(v),this.fn()},S.prototype.A=function(){throw new Error("Not implemented")},S.prototype.un=function(v,y){throw new Error("Not implemented")},S.prototype.fn=function(){throw new Error("Not implemented")},S.createEncryptor=function(v,y){return new S(m(m({},y=y===void 0?{}:y),{key:v,transformMode:S.ENC_TRANSFORM_MODE}))},S.createDecryptor=function(v,y){return new S(m(m({},y=y===void 0?{}:y),{key:v,transformMode:S.DEC_TRANSFORM_MODE}))},S.ENC_TRANSFORM_MODE=1,S.DEC_TRANSFORM_MODE=2,S.keySize=4,S.ivSize=4,S}(d.C)},2505:function(o,a,l){l.d(a,{Q:function(){return d}});var u=l(1232),d=function(){function f(m){this.formatter=u.w,m&&(this.cipherText=m.cipherText,this.key=m.key,this.iv=m.iv,this.salt=m.salt,this.Algorithm=m.Algorithm,this.mode=m.mode,this.padding=m.padding,this.blockSize=m.blockSize,this.formatter=m.formatter||u.w)}return f.prototype.toString=function(m){return(m||this.formatter).stringify(this)},f}()},5693:function(o,a,l){l.d(a,{E:function(){return E}});var u=l(9109),d=l(2214),f=l(2505),m=l(1232),p=function(){return(p=Object.assign||function(S){for(var v,y=1,b=arguments.length;y<b;y++)for(var w in v=arguments[y])Object.prototype.hasOwnProperty.call(v,w)&&(S[w]=v[w]);return S}).apply(this,arguments)},E={encrypt:function(S,v,y,b){var w=b?p({},b):{},O=b&&b.KDF?b.KDF:d.s,T={};b&&b.kdfHasher&&(T.kdfHasher=b.kdfHasher),b&&b.kdfIterations&&(T.kdfIterations=b.kdfIterations),b&&b.kdfModule&&(T.kdfModule=b.kdfModule);var C=O.execute(y,S.keySize,S.ivSize,w.kdfSalt,T);w.iv=C.iv;var _=u.D.encrypt(S,v,C.key,w);return new f.Q(p(p({},_),{key:C.key,iv:C.iv,salt:C.salt}))},decrypt:function(S,v,y,b){var w=b?p({},b):{},O=w.KDF?w.KDF:d.s,T=w.formatter?w.formatter:m.w,C=(0,u.W)(v,T),_={};b&&b.kdfHasher&&(_.kdfHasher=b.kdfHasher),b&&b.kdfIterations&&(_.kdfIterations=b.kdfIterations),b&&b.kdfModule&&(_.kdfModule=b.kdfModule);var P=O.execute(y,S.keySize,S.ivSize,C.salt,_);return w.iv=P.iv,u.D.decrypt(S,C,P.key,w)}}},9109:function(o,a,l){l.d(a,{W:function(){return f},D:function(){return m}});var u=l(1232),d=l(2505);function f(p,E){return typeof p=="string"?E.parse(p):p}var m={encrypt:function(p,E,S,v){var y=p.createEncryptor(S,v),b=y.finalize(E);return new d.Q({cipherText:b,key:S,iv:y.iv,Algorithm:p,mode:y.mode,padding:y.padding,blockSize:y.blockSize,formatter:(v==null?void 0:v.formatter)||u.w})},decrypt:function(p,E,S,v){var y=p.createDecryptor(S,v),b=f(E,(v==null?void 0:v.formatter)||u.w);return y.finalize(b.cipherText||"")}}},30:function(o,a,l){l.d(a,{q:function(){return m}});var u,d=l(9456),f=(u=function(p,E){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,v){S.__proto__=v}||function(S,v){for(var y in v)Object.prototype.hasOwnProperty.call(v,y)&&(S[y]=v[y])})(p,E)},function(p,E){function S(){this.constructor=p}u(p,E),p.prototype=E===null?Object.create(E):(S.prototype=E.prototype,new S)}),m=function(p){function E(S){var v=p.call(this,S)||this;return v.N=1,v}return f(E,p),E.prototype.fn=function(){return this.an(!0)},E}(d.t)},1232:function(o,a,l){l.d(a,{w:function(){return m}});var u=l(2505),d=l(3354),f=l(1773),m={stringify:function(p){var E=p.cipherText,S=p.salt;return E?S?new d.e([1398893684,1701076831]).concat(S).concat(E).toString(f.D):E.toString(f.D):""},parse:function(p){var E,S=f.D.parse(p),v=S.words;return v[0]===1398893684&&v[1]===1701076831&&(E=new d.e(v.slice(2,4)),v.splice(0,4),S.nSigBytes-=16),new u.Q({cipherText:S,salt:E})}}},2214:function(o,a,l){l.d(a,{s:function(){return p}});var u=l(3354),d=l(2505),f=l(7008),m=function(){return(m=Object.assign||function(E){for(var S,v=1,y=arguments.length;v<y;v++)for(var b in S=arguments[v])Object.prototype.hasOwnProperty.call(S,b)&&(E[b]=S[b]);return E}).apply(this,arguments)},p={execute:function(E,S,v,y,b){y||(y=u.e.random(8));var w=b&&b.kdfModule||f.E,O=b?{Hasher:b.kdfHasher,iterations:b.kdfIterations}:{},T=w.getKey(E,y,m(m({},O),{keySize:S+v})),C=new u.e(T.words.slice(S),4*v);return T.nSigBytes=4*S,new d.Q({key:T,iv:C,salt:y})}}},7008:function(o,a,l){l.d(a,{E:function(){return S}});var u,d=l(5561),f=l(6367),m=l(3354),p=l(9541),E=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),S=function(v){function y(b){var w=v.call(this,b)||this;return w.Sn=4,w.Mn=d.SHA256,w.kn=1e4,b&&(w.Sn=b.keySize!==void 0?b.keySize:w.Sn,w.Mn=b.Hasher!==void 0?b.Hasher:w.Mn,w.kn=b.iterations!==void 0?b.iterations:w.kn),w}return E(y,v),y.prototype.compute=function(b,w){for(var O=new f.Hmac(new this.Mn,b),T=new m.e,C=new m.e([1]),_=T.words,P=C.words,D=this.Sn,I=this.kn;_.length<D;){var q=O.update(w).finalize(C);O.reset();for(var U=q.words,k=U.length,B=q,N=1;N<I;N++){B=O.finalize(B),O.reset();for(var W=B.words,ye=0;ye<k;ye++)U[ye]^=W[ye]}T.concat(q),P[0]++}return T.nSigBytes=4*D,T},y.getKey=function(b,w,O){return new y(O).compute(b,w)},y}(p._)},9541:function(o,a,l){l.d(a,{_:function(){return u}});var u=function(){function d(f){this.O=f}return d.prototype.compute=function(f,m){throw new Error("Not implemented")},d.getKey=function(f,m,p){throw new Error("Not implemented")},d}()},1863:function(o,a,l){l.d(a,{T:function(){return u}});var u=function(){function d(f){this.O=f,this.Hn=f.cipher,this.ln=f.iv}return d.prototype.processBlock=function(f,m){},d.createEncryptor=function(f){throw new Error("Not implemented yet")},d.createDecryptor=function(f){throw new Error("Not implemented yet")},d}()},4344:function(o,a,l){l.d(a,{n:function(){return m}});var u,d=l(1863),f=(u=function(p,E){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,v){S.__proto__=v}||function(S,v){for(var y in v)Object.prototype.hasOwnProperty.call(v,y)&&(S[y]=v[y])})(p,E)},function(p,E){function S(){this.constructor=p}u(p,E),p.prototype=E===null?Object.create(E):(S.prototype=E.prototype,new S)}),m=function(p){function E(S){var v=p.call(this,S)||this;return v.Cn=[],v}return f(E,p),E.prototype.xorBlock=function(S,v,y){var b,w=this.ln;w?(b=w.words,this.ln=void 0):b=this.Cn;for(var O=0;O<y;O++)S[v+O]^=b[O]},E.createEncryptor=function(S){return new E.Encryptor(S)},E.createDecryptor=function(S){return new E.Decryptor(S)},E.Encryptor=function(S){function v(){return S!==null&&S.apply(this,arguments)||this}return f(v,S),v.prototype.processBlock=function(y,b){var w=this.Hn,O=w.blockSize;this.xorBlock(y,b,O),w.encryptBlock(y,b),this.Cn=y.slice(b,b+O)},v}(E),E.Decryptor=function(S){function v(){return S!==null&&S.apply(this,arguments)||this}return f(v,S),v.prototype.processBlock=function(y,b){var w=this.Hn,O=w.blockSize,T=y.slice(b,b+O);w.decryptBlock(y,b),this.xorBlock(y,b,O),this.Cn=T},v}(E),E}(d.T)},4055:function(o,a,l){l.d(a,{I4:function(){return d},z6:function(){return f},ur:function(){return m}});var u=l(3354);function d(p){var E=p.nSigBytes%16;if(E!==0){for(var S=16-E,v=[],y=Math.floor(S/4),b=0;b<y;b++)v.push(0);S%4>0&&v.push(0),p.concat(new u.e(v,S))}}function f(p,E){return new u.e(p.words.slice(),E)}function m(p,E){for(var S=p.nSigBytes-E,v=[],y=0;y<E;y++){var b=y>>>2,w=S+y,O=w>>>2,T=p.words[O]>>>24-w%4*8&255;v[b]=0|v[b]|T<<24-y%4*8}var C=new u.e(v,E);return C.clamp(),C}},7919:function(o,a,l){l.d(a,{l:function(){return d}});var u=l(3354),d={pad:function(f,m){for(var p=4*m,E=p-f.nSigBytes%p,S=E<<24|E<<16|E<<8|E,v=[],y=0;y<E;y+=4)v.push(S);var b=new u.e(v,E);f.concat(b)},unpad:function(f){var m=255&f.words[f.nSigBytes-1>>>2];f.nSigBytes-=m}}},1756:function(o,a,l){l.d(a,{w:function(){return m}});var u,d=typeof navigator!="undefined"&&navigator.userAgent?navigator.userAgent.toLowerCase():"",f=(u=parseInt((/msie (\d+)/.exec(d)||[])[1],10),isNaN(u)?(u=parseInt((/trident\/.*; rv:(\d+)/.exec(d)||[])[1],10),!isNaN(u)&&u):u);function m(p,E){return f!==!1&&(!E||(p==="<"?f<E:p==="<="?f<=E:p===">"?f>E:p===">="?f>=E:f===E))}},1773:function(o,a,l){l.d(a,{D:function(){return p}});for(var u=l(3354),d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",f=[],m=0;m<d.length;m++)f[d.charCodeAt(m)]=m;var p={stringify:function(E){var S=E.words,v=E.nSigBytes;E.clamp();for(var y=[],b=0;b<v;b+=3)for(var w=(S[b>>>2]>>>24-b%4*8&255)<<16|(S[b+1>>>2]>>>24-(b+1)%4*8&255)<<8|S[b+2>>>2]>>>24-(b+2)%4*8&255,O=0;O<4&&b+.75*O<v;O++)y.push(d.charAt(w>>>6*(3-O)&63));var T=d.charAt(64);if(T)for(;y.length%4;)y.push(T);return y.join("")},parse:function(E){var S=E.length,v=d.charAt(64);if(v){var y=E.indexOf(v);y!==-1&&(S=y)}for(var b=[],w=0,O=0;O<S;O++)if(O%4){var T=f[E.charCodeAt(O-1)]<<O%4*2|f[E.charCodeAt(O)]>>>6-O%4*2;b[w>>>2]|=T<<24-w%4*8,w++}return new u.e(b,w)}}},5720:function(o,a,l){l.d(a,{p:function(){return d}});var u=l(3354),d={stringify:function(f){for(var m=f.nSigBytes,p=f.words,E=[],S=0;S<m;S++){var v=p[S>>>2]>>>24-S%4*8&255;E.push((v>>>4).toString(16)),E.push((15&v).toString(16))}return E.join("")},parse:function(f){var m=f.length;if(m%2!=0)throw new Error("Hex string count must be even");if(!/^[a-fA-F0-9]+$/.test(f))throw new Error("Invalid Hex string: "+f);for(var p=[],E=0;E<m;E+=2)p[E>>>3]|=parseInt(f.substr(E,2),16)<<24-E%8*4;return new u.e(p,m/2)}}},8702:function(o,a,l){l.d(a,{m:function(){return d}});var u=l(3354),d={stringify:function(f){for(var m=f.nSigBytes,p=f.words,E=[],S=0;S<m;S++){var v=p[S>>>2]>>>24-S%4*8&255;E.push(String.fromCharCode(v))}return E.join("")},parse:function(f){for(var m=f.length,p=[],E=0;E<m;E++)p[E>>>2]|=(255&f.charCodeAt(E))<<24-E%4*8;return new u.e(p,m)}}},4768:function(o,a,l){l.d(a,{d:function(){return d}});var u=l(8702),d={stringify:function(f){try{return decodeURIComponent(escape(u.m.stringify(f)))}catch(m){throw new Error("Malformed UTF-8 data")}},parse:function(f){return u.m.parse(unescape(encodeURIComponent(f)))}}},2688:function(o,a,l){l.d(a,{Base64:function(){return f.D},EvpKDF:function(){return D},Hex:function(){return E.p},Latin1:function(){return p.m},OpenSSLKDF:function(){return O.s},PBKDF2:function(){return T.E},Utf16:function(){return w},Utf16BE:function(){return S},Utf16LE:function(){return b},Utf8:function(){return m.d},Word32Array:function(){return u.e},Word64:function(){return d.r},Word64Array:function(){return d.m}}),l(9054);var u=l(3354),d=l(6957),f=(l(1756),l(1773)),m=l(4768),p=l(8702),E=l(5720),S={stringify:function(I){for(var q=I.words,U=I.nSigBytes,k=[],B=0;B<U;B+=2){var N=q[B>>>2]>>>16-B%4*8&65535;k.push(String.fromCharCode(N))}return k.join("")},parse:function(I){for(var q=I.length,U=[],k=0;k<q;k++)U[k>>>1]|=I.charCodeAt(k)<<16-k%2*16;return new u.e(U,2*q)}};function v(I){return I<<8&4278255360|I>>>8&16711935}var y,b={stringify:function(I){for(var q=I.words,U=I.nSigBytes,k=[],B=0;B<U;B+=2){var N=v(q[B>>>2]>>>16-B%4*8&65535);k.push(String.fromCharCode(N))}return k.join("")},parse:function(I){for(var q=I.length,U=[],k=0;k<q;k++)U[k>>>1]|=v(I.charCodeAt(k)<<16-k%2*16);return new u.e(U,2*q)}},w=S,O=l(2214),T=l(7008),C=l(670),_=l(9541),P=(y=function(I,q){return(y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(U,k){U.__proto__=k}||function(U,k){for(var B in k)Object.prototype.hasOwnProperty.call(k,B)&&(U[B]=k[B])})(I,q)},function(I,q){function U(){this.constructor=I}y(I,q),I.prototype=q===null?Object.create(q):(U.prototype=q.prototype,new U)}),D=function(I){function q(U){var k=I.call(this,U)||this;return k.Sn=4,k.Mn=C.MD5,k.kn=1,U&&(k.Sn=U.keySize!==void 0?U.keySize:k.Sn,k.Mn=U.Hasher!==void 0?U.Hasher:k.Mn,k.kn=U.iterations!==void 0?U.iterations:k.kn),k}return P(q,I),q.prototype.compute=function(U,k){for(var B,N=new this.Mn,W=new u.e,ye=W.words,be=this.Sn,fe=this.kn;ye.length<be;){B&&N.update(B),B=N.update(U).finalize(k),N.reset();for(var re=1;re<fe;re++)B=N.finalize(B),N.reset();W.concat(B)}return W.nSigBytes=4*be,W},q.getKey=function(U,k,B){return new q(B).compute(U,k)},q}(_._)},9054:function(o,a,l){l.d(a,{M:function(){return d}});var u=l(1756),d=function(){if(typeof window!="undefined"){var f=window.crypto||window.msCrypto;if(!f){if((0,u.w)("<",11))return console.warn("IE <= 10 uses insecure random generator. Please consider to use IE11 or another modern browser"),function(){return Math.floor(512*Math.random())%256};throw new Error("Crypto module not found")}return function(){return f.getRandomValues(new Uint32Array(1))[0]}}return l.g!==void 0&&l.g.crypto?function(){return l.g.crypto.randomBytes(4).readInt32LE()}:function(){return b3().randomBytes(4).readInt32LE()}}()},3664:function(o,a,l){l.d(a,{K:function(){return E}});var u,d=l(1863),f=l(3354),m=l(4055),p=(u=function(S,v){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,b){y.__proto__=b}||function(y,b){for(var w in b)Object.prototype.hasOwnProperty.call(b,w)&&(y[w]=b[w])})(S,v)},function(S,v){function y(){this.constructor=S}u(S,v),S.prototype=v===null?Object.create(v):(y.prototype=v.prototype,new y)}),E=function(S){function v(y){var b=S.call(this,y)||this;b.Bn=1;var w=y.cipher,O=y.iv;if(w.blockSize!==4)throw new Error("In CCM, cipher block size must be 128bit");if(O&&(O.nSigBytes>13||O.nSigBytes<7))throw new Error("Byte size of iv must be between 7 and 13");return b.Nn=O||new f.e([0,0],8),b.In=15-b.Nn.nSigBytes,b}return p(v,S),v.getB0=function(y,b,w,O){if(w.nSigBytes+O.nSigBytes!==15)throw new Error("LEN(Q)+LEN(N) must be 15");var T=255&(0|(y?1:0)<<6|(b-2)/2<<3|w.nSigBytes-1),C=O.clone().concat(w);return new f.e([T<<24],1).concat(C)},v.formatAssociatedDataAndPayload=function(y,b){var w,O=y.nSigBytes;if(O===0)w=new f.e([0],0);else if(O<Math.pow(2,16)-Math.pow(2,8))w=new f.e([O<<16],2);else{if(!(O<Math.pow(2,32)))throw new Error("LEN(A) larger than 2**32-1 is not supported");w=new f.e([4294836224],2).concat(new f.e([O],4))}for(var T=Math.floor(y.nSigBytes/4),C=0;C<T;C++)w.concat(new f.e([y.words[C]],4));y.nSigBytes%4&&(w.concat(new f.e([y.words[T]],y.nSigBytes%4)),w.concat(new f.e([0],4-y.nSigBytes%4))),w.nSigBytes%16&&w.concat(new f.e([0],16-w.nSigBytes%16));var _=Math.floor(b.nSigBytes/4);for(C=0;C<_;C++)w.concat(new f.e([b.words[C]],4));return b.nSigBytes%4&&(w.concat(new f.e([b.words[_]],b.nSigBytes%4)),w.concat(new f.e([0],4-b.nSigBytes%4))),w.nSigBytes%16&&w.concat(new f.e([0],16-w.nSigBytes%16)),w},v.genCtr=function(y,b,w){if(b.nSigBytes+y!==15)throw new Error("LEN(Q)+LEN(N) must be 15");for(var O=new f.e([(y-1&7)<<24],1),T=new f.e([],0),C=Math.floor(y/4),_=0;_<C-1;_++)T.concat(new f.e([0],4));return y%4?y>4?(T.concat(new f.e([0],y%4)),T.concat(new f.e([w],4))):T.concat(new f.e([w<<32-8*y],y)):T.concat(new f.e([w],4)),O.concat(b).concat(T)},v.mac=function(y,b,w,O,T,C){var _=new y({key:b,iv:w});if(_.blockSize!==4)throw new Error("In CCM, cipher block size must be 128bit");if(w&&(w.nSigBytes>13||w.nSigBytes<7))throw new Error("Byte size of iv must be between 7 and 13");var P=w||new f.e([0,0],8),D=(O==null?void 0:O.clone())||new f.e,I=D.nSigBytes,q=(T==null?void 0:T.clone())||new f.e,U=q.nSigBytes;if(U>>>0>4294967295)throw new Error("Byte length of Payload(plainText) larger than 2^32-1 (4,294,967,295byte) is not supported at this time.");var k=15-P.nSigBytes,B=(0,m.ur)(new f.e([0,U],8),k),N=C||16,W=v.getB0(Boolean(I),N,B,P),ye=v.formatAssociatedDataAndPayload(D,q),be=W.words.slice();_.encryptBlock(be,0);for(var fe=ye.nSigBytes/16,re=ye.words,he=be,Ae=0;Ae<fe;Ae++){var ue=[re[4*Ae]^he[0],re[4*Ae+1]^he[1],re[4*Ae+2]^he[2],re[4*Ae+3]^he[3]];_.encryptBlock(ue,0),he=ue}var xe=new f.e(he,N),Re=v.genCtr(k,P,0);for(_.encryptBlock(Re.words,0),Ae=0;Ae<4;Ae++)xe.words[Ae]^=Re.words[Ae];return xe.clamp(),xe},v.combineCipherTextAndAuthTag=function(y,b){return y.clone().concat(b)},v.splitCipherTextAndAuthTag=function(y,b){var w=b||16;return{cipherText:(0,m.z6)(y,y.nSigBytes-w),authTag:(0,m.ur)(y,w)}},v.createEncryptor=function(y){return new v.Encryptor(y)},v.createDecryptor=function(y){return new v.Decryptor(y)},v.Encryptor=function(y){function b(){return y!==null&&y.apply(this,arguments)||this}return p(b,y),b.prototype.processBlock=function(w,O){var T=this.Hn,C=T.blockSize,_=v.genCtr(this.In,this.Nn,this.Bn);T.encryptBlock(_.words,0);for(var P=0;P<C;P++)w[O+P]^=_.words[P];this.Bn++},b}(v),v.Decryptor=function(y){function b(){return y!==null&&y.apply(this,arguments)||this}return p(b,y),b.prototype.processBlock=function(w,O){var T=this.Hn,C=T.blockSize,_=v.genCtr(this.In,this.Nn,this.Bn);T.encryptBlock(_.words,0);for(var P=0;P<C;P++)w[O+P]^=_.words[P];this.Bn++},b}(v),v}(d.T)},5607:function(o,a,l){l.d(a,{V:function(){return E}});var u,d=l(1863),f=l(3354),m=l(4055),p=(u=function(S,v){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,b){y.__proto__=b}||function(y,b){for(var w in b)Object.prototype.hasOwnProperty.call(b,w)&&(y[w]=b[w])})(S,v)},function(S,v){function y(){this.constructor=S}u(S,v),S.prototype=v===null?Object.create(v):(y.prototype=v.prototype,new y)}),E=function(S){function v(y){var b=S.call(this,y)||this;if(b.zn=[],b.Dn=[],b.Un=[],y.cipher.blockSize!==4)throw new Error("In GCM block cipher mode, cipher block size must be 128bit");var w=y.cipher,O=y.iv,T=[0,0,0,0];return w.encryptBlock(T,0),b.zn=T,b.Dn=v.getJ0(T,O==null?void 0:O.words),b.Un=b.Dn.slice(),b}return p(v,S),v.getJ0=function(y,b){var w;if(b&&b.length!==0)if(b.length===3)w=[b[0],b[1],b[2],1];else{for(var O=b.length%4>0?4-b.length%4:0,T=b.slice(),C=0;C<O+2;C++)T.push(0);T.push(0),T.push(32*b.length),w=v.GHASH(y,T)}else w=[0,0,0,1];return w},v.inc32=function(y){var b=y.slice(),w=b[3]>>>0,O=w+1>>>0<w;if(b[3]=b[3]+1|0,O){var T=b[2]>>>0,C=T+1>>>0<T;b[2]=b[2]+1|0,C&&(b[1]=b[1]+1|0)}return b},v.mul=function(y,b){for(var w=[3774873600,0,0,0],O=[0,0,0,0],T=b.slice(),C=0;C<128;C++){(y[C>>>5]>>>31-C%32&1)>0&&(O[0]=O[0]^T[0],O[1]=O[1]^T[1],O[2]=O[2]^T[2],O[3]=O[3]^T[3]);var _=(1&T[3])>>>0,P=(1&T[0])>>>0,D=(1&T[1])>>>0,I=(1&T[2])>>>0;T[0]=T[0]>>>1,T[1]=T[1]>>>1|(P?2147483648:0),T[2]=T[2]>>>1|(D?2147483648:0),T[3]=T[3]>>>1|(I?2147483648:0),_>0&&(T[0]^=w[0],T[1]^=w[1],T[2]^=w[2],T[3]^=w[3])}return O},v.GHASH=function(y,b){if(y.length%4!=0)throw new Error("Length of 32bit word array 'H' must be multiple of 4(128bit)");if(b.length%4!=0)throw new Error("Length of 32bit word array 'X' must be multiple of 4(128bit)");for(var w=b.length,O=[0,0,0,0],T=0;T<w;T+=4)O[0]=O[0]^b[T],O[1]=O[1]^b[T+1],O[2]=O[2]^b[T+2],O[3]=O[3]^b[T+3],O=v.mul(O,y);return O},v.GCTR=function(y,b,w){if(w.nSigBytes===0)return w.clone();if(b.length!==4)throw new Error("Initial Counter Block size must be 128bit");for(var O=w.words,T=Math.ceil(w.nSigBytes/16),C=[b.slice()],_=1;_<T;_++){var P=v.inc32(C[_-1]);C.push(P)}var D=new f.e;for(_=0;_<T;_++){y.encryptBlock(C[_],0);var I=w.nSigBytes%16;if(_<T-1||I===0){var q=O[4*_]^C[_][0],U=O[4*_+1]^C[_][1],k=O[4*_+2]^C[_][2],B=O[4*_+3]^C[_][3],N=new f.e([q,U,k,B]);D.concat(N)}else{for(var W=[],ye=0,be=Math.floor(I/4),fe=0;fe<be;fe++){var re=O[4*_+fe]^C[_][fe];W.push(re),ye+=4}var he=I%4;if(he>0){var Ae=O[4*_+be]<<32-8*he^C[_][be];W.push(Ae),ye+=he}var ue=new f.e(W,ye);D.concat(ue)}}return D.nSigBytes=w.nSigBytes,D.clamp(),D},v.mac=function(y,b,w,O,T,C){var _=new y({key:b,iv:w}),P=[0,0,0,0];_.encryptBlock(P,0);var D=v.getJ0(P,w.words),I=(O==null?void 0:O.clone())||new f.e,q=[0,8*I.nSigBytes],U=(T==null?void 0:T.clone())||new f.e,k=[0,8*U.nSigBytes],B=C||16;(0,m.I4)(I),(0,m.I4)(U);var N=I.words.concat(U.words).concat(q).concat(k),W=v.GHASH(P,N),ye=v.GCTR(_,D,new f.e(W));return(0,m.z6)(ye,B)},v.createEncryptor=function(y){return new v.Encryptor(y)},v.createDecryptor=function(y){return new v.Decryptor(y)},v.Encryptor=function(y){function b(){return y!==null&&y.apply(this,arguments)||this}return p(b,y),b.prototype.processBlock=function(w,O){var T=this.Hn.blockSize;this.Un=v.inc32(this.Un);for(var C=new f.e(w.slice(O,O+T)),_=v.GCTR(this.Hn,this.Un,C),P=0;P<T;P++)w[O+P]=_.words[P]},b}(v),v.Decryptor=function(y){function b(){return y!==null&&y.apply(this,arguments)||this}return p(b,y),b.prototype.processBlock=function(w,O){var T=this.Hn.blockSize;this.Un=v.inc32(this.Un);for(var C=new f.e(w.slice(O,O+T)),_=v.GCTR(this.Hn,this.Un,C),P=0;P<T;P++)w[O+P]=_.words[P]},b}(v),v}(d.T)}},t={};function n(o){var a=t[o];if(a!==void 0)return a.exports;var l=t[o]={exports:{}};return i[o](l,l.exports,n),l.exports}n.d=function(o,a){for(var l in a)n.o(a,l)&&!n.o(o,l)&&Object.defineProperty(o,l,{enumerable:!0,get:a[l]})},n.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(o){if(typeof window=="object")return window}}(),n.o=function(o,a){return Object.prototype.hasOwnProperty.call(o,a)},n.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"Ln",{value:!0})};var r={};return function(){n.r(r),n.d(r,{AES:function(){return q.AES},Base64:function(){return a.Base64},CBCMAC:function(){return w.CBCMAC},CipherParams:function(){return d.Q},DES:function(){return U.DES},DES3:function(){return k.DES3},EvpKDF:function(){return a.EvpKDF},GMAC:function(){return b.GMAC},Hex:function(){return a.Hex},Hmac:function(){return f.Hmac},HmacMD5:function(){return m.HmacMD5},HmacSHA1:function(){return p.HmacSHA1},HmacSHA224:function(){return E.HmacSHA224},HmacSHA256:function(){return S.HmacSHA256},HmacSHA384:function(){return v.HmacSHA384},HmacSHA512:function(){return y.HmacSHA512},Latin1:function(){return a.Latin1},MD5:function(){return O.MD5},OpenSSLKDF:function(){return a.OpenSSLKDF},PBKDF2:function(){return a.PBKDF2},PasswordBasedCipher:function(){return u.E},RC4:function(){return W.RC4},RC4Drop:function(){return ye.RC4Drop},RIPEMD160:function(){return B.RIPEMD160},Rabbit:function(){return N.Rabbit},SHA1:function(){return T.SHA1},SHA224:function(){return C.SHA224},SHA256:function(){return _.SHA256},SHA3:function(){return I.SHA3},SHA384:function(){return P.SHA384},SHA512:function(){return D.SHA512},SerializableCipher:function(){return l.D},Utf16:function(){return a.Utf16},Utf16BE:function(){return a.Utf16BE},Utf16LE:function(){return a.Utf16LE},Utf8:function(){return a.Utf8},Word32Array:function(){return a.Word32Array},Word64:function(){return a.Word64},Word64Array:function(){return a.Word64Array},formatter:function(){return xn},mode:function(){return Kt},pad:function(){return zr}});var o,a=n(2688),l=n(9109),u=n(5693),d=n(2505),f=n(6367),m=n(3027),p=n(149),E=n(4105),S=n(980),v=n(5838),y=n(9902),b=n(7753),w=n(3967),O=n(670),T=n(3173),C=n(766),_=n(5561),P=n(6324),D=n(7491),I=n(3408),q=n(9691),U=n(9910),k=n(6739),B=n(7104),N=n(5187),W=n(4615),ye=n(9639),be=n(4344),fe=n(1863),re=(o=function(Oe,pe){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(le,_e){le.__proto__=_e}||function(le,_e){for(var Ie in _e)Object.prototype.hasOwnProperty.call(_e,Ie)&&(le[Ie]=_e[Ie])})(Oe,pe)},function(Oe,pe){function le(){this.constructor=Oe}o(Oe,pe),Oe.prototype=pe===null?Object.create(pe):(le.prototype=pe.prototype,new le)}),he=function(Oe){function pe(le){var _e=Oe.call(this,le)||this;return _e.Cn=[],_e}return re(pe,Oe),pe.prototype.generateKeyStreamAndEncrypt=function(le,_e,Ie,z){var X,oe=this.ln;oe?(X=oe.words.slice(0),this.ln=void 0):X=this.Cn,z.encryptBlock(X,0);for(var ve=0;ve<Ie;ve++)le[_e+ve]^=X[ve]},pe.createEncryptor=function(le){return new pe.Encryptor(le)},pe.createDecryptor=function(le){return new pe.Decryptor(le)},pe.Encryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return re(_e,le),_e.prototype.processBlock=function(Ie,z){this.generateKeyStreamAndEncrypt(Ie,z,this.Hn.blockSize,this.Hn),this.Cn=Ie.slice(z,z+this.Hn.blockSize)},_e}(pe),pe.Decryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return re(_e,le),_e.prototype.processBlock=function(Ie,z){var X=Ie.slice(z,z+this.Hn.blockSize);this.generateKeyStreamAndEncrypt(Ie,z,this.Hn.blockSize,this.Hn),this.Cn=X},_e}(pe),pe}(fe.T),Ae=function(){var Oe=function(pe,le){return(Oe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_e,Ie){_e.__proto__=Ie}||function(_e,Ie){for(var z in Ie)Object.prototype.hasOwnProperty.call(Ie,z)&&(_e[z]=Ie[z])})(pe,le)};return function(pe,le){function _e(){this.constructor=pe}Oe(pe,le),pe.prototype=le===null?Object.create(le):(_e.prototype=le.prototype,new _e)}}(),ue=function(Oe){function pe(le){var _e=Oe.call(this,le)||this;return _e.Fn=[],_e}return Ae(pe,Oe),pe.createEncryptor=function(le){return new pe.Encryptor(le)},pe.createDecryptor=function(le){return new pe.Decryptor(le)},pe.Encryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return Ae(_e,le),_e.prototype.processBlock=function(Ie,z){var X=this.Hn,oe=X.blockSize,ve=this.ln,Ce=this.Fn;ve&&(Ce=this.Fn=ve.words.slice(0),this.ln=void 0);var ft=Ce.slice(0);X.encryptBlock(ft,0),Ce[oe-1]=Ce[oe-1]+1|0;for(var $e=0;$e<oe;$e++)Ie[z+$e]^=ft[$e]},_e}(pe),pe.Decryptor=pe.Encryptor,pe}(fe.T),xe=function(){var Oe=function(pe,le){return(Oe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_e,Ie){_e.__proto__=Ie}||function(_e,Ie){for(var z in Ie)Object.prototype.hasOwnProperty.call(Ie,z)&&(_e[z]=Ie[z])})(pe,le)};return function(pe,le){function _e(){this.constructor=pe}Oe(pe,le),pe.prototype=le===null?Object.create(le):(_e.prototype=le.prototype,new _e)}}(),Re=function(Oe){function pe(le){return Oe.call(this,le)||this}return xe(pe,Oe),pe.createEncryptor=function(le){return new pe.Encryptor(le)},pe.createDecryptor=function(le){return new pe.Decryptor(le)},pe.Encryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return xe(_e,le),_e.prototype.processBlock=function(Ie,z){this.Hn.encryptBlock(Ie,z)},_e}(pe),pe.Decryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return xe(_e,le),_e.prototype.processBlock=function(Ie,z){this.Hn.decryptBlock(Ie,z)},_e}(pe),pe}(fe.T),Se=function(){var Oe=function(pe,le){return(Oe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_e,Ie){_e.__proto__=Ie}||function(_e,Ie){for(var z in Ie)Object.prototype.hasOwnProperty.call(Ie,z)&&(_e[z]=Ie[z])})(pe,le)};return function(pe,le){function _e(){this.constructor=pe}Oe(pe,le),pe.prototype=le===null?Object.create(le):(_e.prototype=le.prototype,new _e)}}(),V=function(Oe){function pe(le){var _e=Oe.call(this,le)||this;return _e.xn=[],_e}return Se(pe,Oe),pe.createEncryptor=function(le){return new pe.Encryptor(le)},pe.createDecryptor=function(le){return new pe.Decryptor(le)},pe.Encryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return Se(_e,le),_e.prototype.processBlock=function(Ie,z){var X=this.Hn,oe=X.blockSize,ve=this.ln,Ce=this.xn;ve&&(Ce=this.xn=ve.words.slice(0),this.ln=void 0),X.encryptBlock(Ce,0);for(var ft=0;ft<oe;ft++)Ie[z+ft]^=Ce[ft]},_e}(pe),pe.Decryptor=pe.Encryptor,pe}(fe.T),ee=n(5607),ne=n(3664),ae={pad:function(Oe,pe){var le=Oe.nSigBytes,_e=4*pe,Ie=_e-le%_e,z=le+Ie-1;Oe.clamp(),Oe.words[z>>>2]|=Ie<<24-z%4*8,Oe.nSigBytes+=Ie},unpad:function(Oe){var pe=255&Oe.words[Oe.nSigBytes-1>>>2];Oe.nSigBytes-=pe}},bt=n(3354),Ft={pad:function(Oe,pe){var le=4*pe,_e=le-Oe.nSigBytes%le;Oe.concat(bt.e.random(_e-1)).concat(new bt.e([_e<<24],1))},unpad:function(Oe){var pe=255&Oe.words[Oe.nSigBytes-1>>>2];Oe.nSigBytes-=pe}},Mt={pad:function(Oe,pe){var le=4*pe;Oe.clamp(),Oe.nSigBytes+=le-(Oe.nSigBytes%le||le)},unpad:function(Oe){for(var pe=Oe.words,le=Oe.nSigBytes-1;le>=0;le--)if(pe[le>>>2]>>>24-le%4*8&255){Oe.nSigBytes=le+1;break}}},Et={pad:function(Oe,pe){Oe.concat(new bt.e([2147483648],1)),Mt.pad(Oe,pe)},unpad:function(Oe){Mt.unpad(Oe),Oe.nSigBytes-=1}},On=n(7919),Bn={pad:function(Oe,pe){},unpad:function(Oe){}},It=n(1232),Kt={CBC:be.n,CFB:he,CTR:ue,ECB:Re,OFB:V,GCM:ee.V,CCM:ne.K},zr={AnsiX923:ae,ISO10126:Ft,ISO97971:Et,Pkcs7:On.l,NoPadding:Bn,Zero:Mt},xn={OpenSSLFormatter:It.w}}(),r}()})});var R3=Y((TF,rg)=>{A();"use strict";var oN=Object.prototype.hasOwnProperty,In="~";function ol(){}Object.create&&(ol.prototype=Object.create(null),new ol().__proto__||(In=!1));function sN(i,t,n){this.fn=i,this.context=t,this.once=n||!1}function A3(i,t,n,r,o){if(typeof n!="function")throw new TypeError("The listener must be a function");var a=new sN(n,r||i,o),l=In?In+t:t;return i._events[l]?i._events[l].fn?i._events[l]=[i._events[l],a]:i._events[l].push(a):(i._events[l]=a,i._eventsCount++),i}function qd(i,t){--i._eventsCount==0?i._events=new ol:delete i._events[t]}function Sn(){this._events=new ol,this._eventsCount=0}Sn.prototype.eventNames=function(){var t=[],n,r;if(this._eventsCount===0)return t;for(r in n=this._events)oN.call(n,r)&&t.push(In?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(n)):t};Sn.prototype.listeners=function(t){var n=In?In+t:t,r=this._events[n];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,a=r.length,l=new Array(a);o<a;o++)l[o]=r[o].fn;return l};Sn.prototype.listenerCount=function(t){var n=In?In+t:t,r=this._events[n];return r?r.fn?1:r.length:0};Sn.prototype.emit=function(t,n,r,o,a,l){var u=In?In+t:t;if(!this._events[u])return!1;var d=this._events[u],f=arguments.length,m,p;if(d.fn){switch(d.once&&this.removeListener(t,d.fn,void 0,!0),f){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,n),!0;case 3:return d.fn.call(d.context,n,r),!0;case 4:return d.fn.call(d.context,n,r,o),!0;case 5:return d.fn.call(d.context,n,r,o,a),!0;case 6:return d.fn.call(d.context,n,r,o,a,l),!0}for(p=1,m=new Array(f-1);p<f;p++)m[p-1]=arguments[p];d.fn.apply(d.context,m)}else{var E=d.length,S;for(p=0;p<E;p++)switch(d[p].once&&this.removeListener(t,d[p].fn,void 0,!0),f){case 1:d[p].fn.call(d[p].context);break;case 2:d[p].fn.call(d[p].context,n);break;case 3:d[p].fn.call(d[p].context,n,r);break;case 4:d[p].fn.call(d[p].context,n,r,o);break;default:if(!m)for(S=1,m=new Array(f-1);S<f;S++)m[S-1]=arguments[S];d[p].fn.apply(d[p].context,m)}}return!0};Sn.prototype.on=function(t,n,r){return A3(this,t,n,r,!1)};Sn.prototype.once=function(t,n,r){return A3(this,t,n,r,!0)};Sn.prototype.removeListener=function(t,n,r,o){var a=In?In+t:t;if(!this._events[a])return this;if(!n)return qd(this,a),this;var l=this._events[a];if(l.fn)l.fn===n&&(!o||l.once)&&(!r||l.context===r)&&qd(this,a);else{for(var u=0,d=[],f=l.length;u<f;u++)(l[u].fn!==n||o&&!l[u].once||r&&l[u].context!==r)&&d.push(l[u]);d.length?this._events[a]=d.length===1?d[0]:d:qd(this,a)}return this};Sn.prototype.removeAllListeners=function(t){var n;return t?(n=In?In+t:t,this._events[n]&&qd(this,n)):(this._events=new ol,this._eventsCount=0),this};Sn.prototype.off=Sn.prototype.removeListener;Sn.prototype.addListener=Sn.prototype.on;Sn.prefixed=In;Sn.EventEmitter=Sn;typeof rg!="undefined"&&(rg.exports=Sn)});var pN={};dM(pN,{Link:()=>sl,default:()=>fN,load:()=>hN});A();A();A();var Kv=Je(Vv()),Yv=Je(Rn());A();var Jv=Je(Rn());function Cs(i,t){return Jv.TaJson.deserialize(i,t)}var Yi=class extends Kv.Publication{static async fromUrl(t,n){let o=await(await fetch(t.href,n)).json(),a=Cs(o,Yi);return a.manifestUrl=t,a}get readingOrder(){return this.Spine??[]}get resources(){return this.Resources??[]}get tableOfContents(){return this.sample?.isSampleRead&&this.positions?.length>0?this.limitedTOC():this.TOC}limitedTOC(){function t(r){for(let o=0;o<r.Children.length;o++){let a=r.Children[o];a.Href=void 0,a.Children&&t(a)}}return this.TOC.map(r=>{if(r.Href){let o=this.positionsByHref(this.getRelativeHref(r.Href));if(o?.length>0){let a=o[0],l=Math.round(a.locations.totalProgression?a.locations.totalProgression:0*100);this.sample?.limit&&(l<=this.sample?.limit||(r.Href=void 0,r.Children&&t(r)))}}return r})}get landmarks(){return this.Landmarks}get pageList(){return this.PageList}get isFixedLayout(){return this.Metadata.Rendition?.Layout==="fixed"}get isReflowable(){return!this.isFixedLayout}get layout(){return this.isFixedLayout?"fixed":"reflowable"}get hasMediaOverlays(){return this.readingOrder?this.readingOrder.filter(t=>t.Properties?.MediaOverlay).length>0:!1}getStartLink(){if(this.readingOrder!==void 0&&this.readingOrder.length>0)return this.readingOrder[0]}getPreviousSpineItem(t){let n=this.getSpineIndex(t);if(n!==void 0&&this.readingOrder!==void 0&&n>0)return this.readingOrder[n-1]}getNextSpineItem(t){let n=this.getSpineIndex(t);if(n!==void 0&&this.readingOrder!==void 0&&n<this.readingOrder.length-1)return this.readingOrder[n+1]}getSpineItem(t){let n=this.getSpineIndex(t);if(n!==void 0&&this.readingOrder!==void 0)return this.readingOrder[n]}getSpineIndex(t){return this.readingOrder?.findIndex(n=>n.Href&&this.getAbsoluteHref(n.Href)===t)}getAbsoluteHref(t){return new URL(t,this.manifestUrl.href).href}getRelativeHref(t){let n=this.manifestUrl.href.replace("/manifest.json",""),r=t.replace(n,"");return r.indexOf("#")>0&&(r=r.slice(0,r.indexOf("#"))),r.charAt(0)==="/"&&(r=r.substring(1)),r}getTOCItemAbsolute(t){let n=this.getAbsoluteHref(t),r=(a,l)=>{for(let u=0;u<l.length;u++){let d=l[u];if(d.Href){let f=d.Href.indexOf("#")!==-1?d.Href.slice(0,d.Href.indexOf("#")):d.Href;if(this.getAbsoluteHref(f)===a)return d}if(d.Children){let f=r(a,d.Children);if(f!==void 0)return f}}},o=r(n,this.tableOfContents);return o===void 0&&this.readingOrder!==void 0&&(o=r(n,this.readingOrder)),o}getTOCItem(t){let n=(o,a)=>{for(let l=0;l<a.length;l++){let u=a[l];if(u.Href&&this.getAbsoluteHref(u.Href)===o)return u;if(u.Children){let d=n(o,u.Children);if(d!==void 0)return d}}},r=n(t,this.tableOfContents);if(r===void 0&&this.readingOrder!==void 0&&(r=n(t,this.readingOrder)),r===void 0&&t.indexOf("#")!==-1){let o=t.slice(0,t.indexOf("#"));r=n(o,this.tableOfContents),r===void 0&&this.readingOrder!==void 0&&(r=n(o,this.readingOrder))}return r}positionsByHref(t){let n=decodeURI(t)??"";return this.positions?.filter(r=>n.includes(r.href))}async autoGeneratePositions(t,n=AL){let r=0,o=0,a=[];if(this.readingOrder!==void 0)for(let u of this.readingOrder)if(this.isFixedLayout){let d={href:u.Href,locations:{progression:0,position:r+1},type:u.TypeLink};a.push(d),r=r+1}else{let d=this.getAbsoluteHref(u.Href),f=await n(d,t);u.contentLength=f,o+=f;let p=Math.max(1,Math.ceil(f/1024));for(let E=0;E<p;E++){let S={href:u.Href,locations:{progression:E/p,position:r+(E+1)},type:u.TypeLink};a.push(S)}r=r+p}var l=0;if(this.isReflowable&&this.readingOrder!==void 0)for(let u of this.readingOrder){if(!u.contentLength){console.error("Link is missing contentLength",u);return}u.contentWeight=100/o*u.contentLength,l=l+u.contentWeight}for(let u of a){let d=a.filter(m=>m.href===decodeURI(u.href)),f=Math.ceil((u.locations.progression?u.locations.progression:0)*(d.length-1));u.locations.position&&(u.locations.totalProgression=(u.locations.position-1)/a.length),u.locations.remainingPositions=Math.abs(f-(d.length-1)),u.locations.position&&(u.locations.totalRemainingPositions=Math.abs(u.locations.position-1-(a.length-1)))}this.positions=a}async fetchPositionsFromService(t,n){let o=await(await fetch(t,n)).json();this.positions=o.positions}async fetchWeightsFromService(t,n){if(this.isFixedLayout){console.warn("Not fetching weights from service for fixed layout publication.");return}let o=await(await fetch(t,n)).json();this.readingOrder!==void 0&&this.readingOrder.forEach(a=>{a.contentWeight=o[a.Href]})}};Yi=ac([(0,Yv.JsonObject)()],Yi);var AL=async(i,t)=>(await(await fetch(i,t)).blob()).size;A();A();var As=class{json(){return JSON.stringify(this)}},Zv=class extends As{constructor(t,n,r){super();this.value=t,this.ref=n,this.name=r}toString(){return this.value}},Xv=class extends As{constructor(t,n,r){super();this.value=t,this.ref=n,this.name=r}toString(){return this.value}toJson(){return JSON.parse(this.value)}},Qv=class extends As{constructor(t,n,r,o){super();this.value=t,this.values=n,this.ref=r,this.name=o}toString(){return this.values[this.value]}},ew=class extends As{constructor(t,n,r,o,a,l,u){super();this.countDecimals=function(t){return t%1!=0?t.toString().split(".")[1].length:1};this.value=t,this.min=n,this.max=r,this.step=o,this.suffix=a,this.ref=l,this.name=u}toString(){return this.value.toString()+this.suffix}increment(){let t=this.countDecimals(this.max);parseFloat(this.value.toFixed(t))<this.max&&(this.value=parseFloat(this.value.toFixed(t))+this.step)}decrement(){let t=this.countDecimals(this.min);parseFloat(this.value.toFixed(t))>this.min&&(this.value=parseFloat(this.value.toFixed(t))-this.step)}},xa=class extends As{constructor(t,n,r,o,a){super();this.value=r,this.onValue=t,this.offValue=n,this.ref=o,this.name=a}toString(){return this.value?this.onValue:this.offValue}switch(){this.value=!this.value}},xi=class{constructor(){this.properties=[]}addIncremental(t,n,r,o,a,l,u){this.properties.push(new ew(t,n,r,o,a,l,u))}addStringable(t,n,r){this.properties.push(new Zv(t,n,r))}addJSONable(t,n,r){this.properties.push(new Xv(t,n,r))}addSwitchable(t,n,r,o,a){this.properties.push(new xa(t,n,r,o,a))}addEnumerable(t,n,r,o){this.properties.push(new Qv(t,n,r,o))}getByRef(t){let n=this.properties.filter(r=>r.ref===t);return n.length>0?n[0]:null}getByKey(t){let n=this.properties.filter(r=>r.key===t);return n.length>0?n[0]:null}};A();var cr=class{},K=cr;K.FONT_SIZE_REF="fontSize",K.FONT_FAMILY_REF="fontFamily",K.FONT_OVERRIDE_REF="fontOverride",K.APPEARANCE_REF="appearance",K.SCROLL_REF="scroll",K.TEXT_ALIGNMENT_REF="textAlign",K.COLUMN_COUNT_REF="colCount",K.WORD_SPACING_REF="wordSpacing",K.LETTER_SPACING_REF="letterSpacing",K.PAGE_MARGINS_REF="pageMargins",K.LINE_HEIGHT_REF="lineHeight",K.FONT_SIZE_KEY="--USER__"+cr.FONT_SIZE_REF,K.FONT_FAMILY_KEY="--USER__"+cr.FONT_FAMILY_REF,K.FONT_OVERRIDE_KEY="--USER__"+cr.FONT_OVERRIDE_REF,K.APPEARANCE_KEY="--USER__"+cr.APPEARANCE_REF,K.SCROLL_KEY="--USER__"+cr.SCROLL_REF,K.TEXT_ALIGNMENT_KEY="--USER__"+cr.TEXT_ALIGNMENT_REF,K.COLUMN_COUNT_KEY="--USER__"+cr.COLUMN_COUNT_REF,K.WORD_SPACING_KEY="--USER__"+cr.WORD_SPACING_REF,K.LETTER_SPACING_KEY="--USER__"+cr.LETTER_SPACING_REF,K.PAGE_MARGINS_KEY="--USER__"+cr.PAGE_MARGINS_REF,K.LINE_HEIGHT_KEY="--USER__"+cr.LINE_HEIGHT_REF;A();function de(i,t){return i.querySelector(t)}function dt(i,t){let n=de(i,t);if(n&&n instanceof HTMLElement)return n;throw new Error("required element "+t+" not found")}function Qt(i,t){if(i===null)throw new Error("parent element is null");return i.querySelector(t)}function _i(i,t){let n=Qt(i,t);if(n)return n;throw new Error("required element "+t+" not found in iframe")}function hn(i,t,n){i.setAttribute(t,n)}A();A();var YE=Je(Xp());var Va=class{constructor(t){this.getScrollingElement=t=>t.scrollingElement?t.scrollingElement:t.body;this.navigator=t}async handleFootnote(t,n){let r=t.getAttribute("href");if(r&&r.indexOf("#")>0){let a=function(u){let d=document.location.href;return new URL(u,d).href},o=r.substring(r.indexOf("#")+1),l=a(r);l&&(l=l.substring(0,l.indexOf("#")),n.preventDefault(),n.stopPropagation(),await fetch(l,this.navigator.requestConfig).then(u=>u.text()).then(async u=>{let m=new DOMParser().parseFromString(u,"text/html").querySelector("#"+o);m&&(n.preventDefault(),n.stopPropagation(),this.showPopup(m,n))}))}}async hidePopover(){let t=this.navigator.iframes[0].contentDocument?.getElementById("d2-popover");t&&t.parentElement?.removeChild(t);let n=dt(document,"#iframe-wrapper");n.style.overflow="auto"}async showPopover(t,n){let r=t.getAttribute("href"),o=t.getAttribute("src");function a(l){let u=document.location.href;return new URL(l,u).href}if(r){let l=a(r);if(l){n.preventDefault(),n.stopPropagation();let u=this.navigator.iframes[0].contentDocument?.getElementById("d2-popover");u&&u.parentElement?.removeChild(u);let d=document.createElement("div");d.id="d2-popover",d.className="d2-popover is-active";let f=dt(document,"#iframe-wrapper");f.style.overflow="hidden",d.style.top=f.scrollTop+"px",d.style.height=f.clientHeight*.9+"px";let m=document.createElement("div");m.className="d2-popover-wrapper",d.appendChild(m);let p=document.createElement("div");p.className="d2-popover-content",m.appendChild(p),await fetch(l,this.navigator.requestConfig).then(v=>v.text()).then(async v=>{p.innerHTML=v;let y=this.navigator.iframes[0].contentDocument;y&&y.body.appendChild(d)});let E=this.navigator.iframes[0].contentWindow;if(!E)return;let S=this;E.onclick=function(v){n.target!==v.target&&d.parentElement&&(S.hidePopover(),E&&(E.onclick=null))}}}else if(o&&a(o)){n.preventDefault(),n.stopPropagation();let u=this.navigator.iframes[0].contentDocument?.getElementById("d2-popover");u&&u.parentElement?.removeChild(u);let d=document.createElement("div");d.id="d2-popover",d.className="d2-popover is-active";let f=dt(document,"#iframe-wrapper");f.style.overflow="hidden",d.style.top=f.scrollTop+"px",d.style.height=f.clientHeight*.9+"px";let m=document.createElement("div");m.className="d2-popover-wrapper",d.appendChild(m);let p=document.createElement("img");p.className="d2-popover-content",m.appendChild(p),p.src=o;let E=this.navigator.iframes[0].contentDocument;E&&E.body.appendChild(d);let S=this.navigator.iframes[0].contentWindow;if(!S)return;let v=this;S.onclick=function(y){n.target!==y.target&&d.parentElement&&(v.hidePopover(),S&&(S.onclick=null))}}}showPopup(t,n){let r=this.navigator.iframes[0].contentDocument?.getElementById("d2-popup");r&&r.parentElement?.removeChild(r);let o=document.createElement("aside");o.id="d2-popup",o.className="d2-popup is-active";let a=document.createElement("div");a.className="d2-popup-wrapper",o.appendChild(a);let l=document.createElement("div");l.className="d2-popup-content",a.appendChild(l);let u=document.createElement("p");l.appendChild(u),typeof t=="string"?u.innerHTML=t:u.innerHTML=(0,YE.default)(t.innerHTML,{allowedTags:[],allowedAttributes:{}});let d=this.navigator.view?.isPaginated(),f=this.navigator.iframes[0].contentDocument;if(!f)return;let m=this.getScrollingElement(f),p=d?m.scrollLeft:0,E=d?m.scrollTop:0,S=n.x+p,v=n.y+E;o.style.top=v+"px",d&&(o.style.left=S+"px"),f.body.appendChild(o);let y=this.navigator.iframes[0].contentWindow;!y||(y.onclick=function(b){n.target!==b.target&&o.parentElement&&(o.style.display="none",o.parentElement.removeChild(o),y&&(y.onclick=null))})}};var hd=Je(Dt());function Z(i,t,n){i&&i.addEventListener(t,n,!0)}function we(i,t,n){i&&i.removeEventListener(t,n,!0)}var pd=class{constructor(t){this.onInternalLink=()=>{};this.onClickThrough=()=>{};this.checkForLink=t=>{let n=t.target;for(;n&&n.tagName.toLowerCase()!=="body";){if(n.tagName.toLowerCase()==="a"&&n.href)return n;n=n.parentElement}return null};this.linkInPublication=(t,n)=>t.some(r=>!r.Rel?.includes("external")&&this.navigator.publication.getRelativeHref(n).includes(r.Href));this.isReadingOrderInternal=t=>(hd.default.log("clickedLink: ",t),this.linkInPublication(this.navigator.publication.readingOrder,t.href));this.isResourceInternal=t=>(hd.default.log("clickedLink: ",t),this.linkInPublication(this.navigator.publication.resources,t.href));this.handleLinks=async t=>{hd.default.log("R2 Click Handler");let n=this.checkForLink(t);if(n){let r=window.location.protocol===n.protocol&&window.location.port===n.port&&window.location.hostname===n.hostname,o=this.isReadingOrderInternal(n),a=this.isResourceInternal(n);a||await this.popup.hidePopover();let l=n.href.indexOf("#");if(!o&&!a)window.open(n.href,n.target??"_blank"),t.preventDefault(),t.stopPropagation();else if(t.target.href=n.href,(r||o)&&l!==-1){let u=t.target;u?u.getAttribute("epub:type")==="noteref"?await this.popup.handleFootnote(u,t):a&&!o?await this.popup.showPopover(u,t):this.onInternalLink(t):this.onInternalLink(t)}else(r||o)&&l===-1&&this.onInternalLink(t)}else this.onClickThrough(t)};this.navigator=t,this.popup=new Va(this.navigator)}setupEvents(t){if(t!==null)t.addEventListener("dblclick",async n=>{let r=n.target;n.target&&r.tagName.toLowerCase()==="img"&&await this.popup.showPopover(r,n)},!0),t.addEventListener("click",this.handleLinks.bind(this));else throw"cannot setup events for null"}};A();A();function XE(){return dt(document,"#iframe-wrapper").clientWidth}function $r(){return dt(document,"#iframe-wrapper").clientHeight}var e4=Je(to()),gd=class{constructor(t){this.layout="reflowable";this.USERSETTINGS="userSetting";this.sideMargin=20;this.height=0;this.attributes={margin:0};this.hasFixedScrollWidth=!1;this.store=t,this.scrollMode?(this.name="readium-scroll-on",this.label="Scrolling"):(this.name="readium-scroll-off",this.label="Paginated")}setMode(t){if(this.scrollMode=t,t){this.name="readium-scroll-on",this.label="Scrolling";let n=this.iframe.contentDocument;if(n){let r=Qt(n,"head");if(r){let a=de(r,"meta[name=viewport]");a&&a.remove()}let o=Qt(n,"html");o&&o.style.setProperty("--USER__scroll","readium-scroll-on")}this.setSize(),this.setIframeHeight(this.iframe)}else{this.height=$r()-40-this.attributes.margin,this.name="readium-scroll-off",this.label="Paginated",this.checkForFixedScrollWidth();let n=this.iframe.contentDocument;if(n){let r=Qt(n,"html");r&&r.style.setProperty("--USER__scroll","readium-scroll-off")}this.setSize()}this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate()}start(){if(this.scrollMode){let t=this.iframe.contentDocument;if(t){let n=Qt(t,"head");if(n){let r=de(n,"meta[name=viewport]");r&&r.remove()}}this.setSize(),this.setIframeHeight(this.iframe)}else{this.iframe.height="0",this.iframe.width="0",this.setSize();let t=document.createElement("meta");t.name="viewport",t.content="width=device-width, initial-scale=1, maximum-scale=1",this.checkForFixedScrollWidth()}}stop(){if(this.iframe.height="0",this.iframe.width="0",this.iframe.contentDocument){let n=Qt(this.iframe.contentDocument,"body"),r=Array.prototype.slice.call(n.querySelectorAll("img"));for(let o of r)o.style.maxWidth=""}}getCurrentPosition(){let t=dt(document,"#iframe-wrapper");if(this.scrollMode)return t.scrollTop/this.scrollingElement.scrollHeight;{let n=this.getColumnWidth(),r=this.getLeftColumnsWidth(),o=this.getRightColumnsWidth(),a=r+n+o;return r/a}}goToProgression(t){let n=dt(document,"#iframe-wrapper");if(this.scrollMode)n.scrollTop=this.scrollingElement.scrollHeight*t;else{let r=this.getColumnWidth(),o=this.getLeftColumnsWidth(),a=this.getRightColumnsWidth(),l=o+r+a,u=t*l,d=Math.round(u/r)*r;d>=l&&(d=d-r),this.setLeftColumnsWidth(d)}}goToCssSelector(t,n){let r=this.iframe.contentDocument;if(r){let o=r.querySelector(t);this.goToElement(o,n)}}goToFragment(t,n){let r=this.iframe.contentDocument;if(r){let o=r.getElementById(t);this.goToElement(o,n)}}snap(t,n){if(t&&!this.scrollMode){let r=t.style.height;t.style.height="0";let o=this.getColumnWidth(),a=this.getLeftColumnsWidth()+t.getBoundingClientRect().left,l=Math.floor(a/o)*o;t.style.height=r,this.setLeftColumnsWidth(l),this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate(0)}}goToElement(t,n){if(this.scrollMode)t&&t.scrollIntoView({block:"center"});else if(t){let r=t.style.height;t.style.height="0";let o=t.getBoundingClientRect().left,a=this.getColumnWidth(),l=this.scrollingElement.scrollLeft-a,u=Math.ceil(o/a)*a+l;if(n){let d=this.getLeftColumnsWidth();u=Math.ceil(o/a)*a+d}t.style.height=r,this.setLeftColumnsWidth(u),this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate(200)}}atStart(){return this.scrollMode?dt(document,"#iframe-wrapper").scrollTop===0:this.getLeftColumnsWidth()<=0}atEnd(){if(this.scrollMode){let t=dt(document,"#iframe-wrapper");return Math.ceil(this.scrollingElement.scrollHeight-t.scrollTop)-1<=$r()}else return Math.floor(this.getRightColumnsWidth())<=0}goToPreviousPage(){let t=dt(document,"#iframe-wrapper");if(this.scrollMode){let n=t.scrollTop,r=this.getScreenHeight()-40,o=n-r;o>=0?t.scrollTop=o:t.scrollTop=0}else{let n=this.getLeftColumnsWidth(),r=this.getColumnWidth(),o=n-r;o>=0?this.setLeftColumnsWidth(o):this.setLeftColumnsWidth(0),this.delegate.checkResourcePosition()}this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate()}goToNextPage(){let t=dt(document,"#iframe-wrapper");if(this.scrollMode){let n=t.scrollTop,r=this.getScreenHeight()-40,o=this.scrollingElement.scrollHeight,a=n+r;a<o?t.scrollTop=a:t.scrollTop=o}else{let n=this.getLeftColumnsWidth(),r=this.getColumnWidth(),o=this.scrollWidth,a=n+r;a<o?this.setLeftColumnsWidth(a):this.setLeftColumnsWidth(o),this.delegate.checkResourcePosition()}this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate()}getCurrentPage(){return this.scrollMode?0:this.getCurrentPosition()*this.getPageCount()+1}getPageCount(){if(this.scrollMode)return 0;{let t=this.getColumnWidth();return this.scrollWidth/t}}isPaginated(){if(this.iframe){let t=this.iframe.contentDocument;if(t){let n=Qt(t,"html");if(n)return!(n.style.getPropertyValue("--USER__scroll")==="readium-scroll-on")}}return!this.scrollMode}isScrollMode(){if(this.iframe){let t=this.iframe.contentDocument;if(t){let n=Qt(t,"html");if(n)return n.style.getPropertyValue("--USER__scroll")==="readium-scroll-on"}}return this.scrollMode}async getProperty(t){let n=await this.store.get(this.USERSETTINGS);if(n){let r=JSON.parse(n);return r=r.filter(o=>o.name===t),r.length===0?null:r[0]}return null}getScreenHeight(){return dt(document,"#iframe-wrapper").clientHeight}setIframeHeight(t){(0,e4.debounce)(r=>{if(r){let o=r.contentWindow.document.body,a=r.contentWindow.document.documentElement,l=Math.max(o?.scrollHeight,o?.offsetHeight,a?.clientHeight,a?.scrollHeight,a?.offsetHeight);if(l){let u=$r()-this.attributes.margin;r.height=Math.max(u,l)+"px"}}},200)(t)}checkForFixedScrollWidth(){let t=this.iframe.contentDocument;if(t){let n=Qt(t,"body"),r=n?.scrollWidth;this.hasFixedScrollWidth=n?.scrollWidth===r}}setSize(){if(this.iframe.width=XE()+"px",this.scrollMode){let t=this.iframe.contentWindow?.document?.documentElement;this.iframe.height=t?.offsetHeight+"px"}else{let t=this.iframe.contentDocument;t&&t.documentElement&&(t.documentElement.style.height=this.height+"px"),this.iframe.height=this.height+"px"}}getLeftColumnsWidth(){return Math.ceil(this.scrollingElement.scrollLeft)}getRightColumnsWidth(){let t=this.getColumnWidth(),n=this.scrollWidth-t;if(this.hasFixedScrollWidth){let r=this.getLeftColumnsWidth();n=Math.max(0,n-r)}return n}getColumnWidth(){return this.scrollingElement.clientWidth}setLeftColumnsWidth(t){this.scrollingElement.scrollLeft=t}get scrollingElement(){return this.iframe.contentDocument?.scrollingElement?this.iframe.contentDocument?.scrollingElement:this.iframe.contentDocument?.body?this.iframe.contentDocument?.body:document.createElement("body")}get scrollWidth(){let t=this.scrollingElement?.scrollWidth,n=this.getColumnWidth();return Math.floor(t/n)*n}};A();var md=class{constructor(){this.layout="fixed";this.sideMargin=20;this.height=0;this.attributes={margin:0}}start(){}stop(){}getCurrentPosition(){return 0}getScreenHeight(){return dt(document,"#iframe-wrapper").clientHeight}goToProgression(t){}goToCssSelector(t,n){}goToFragment(t,n){}snap(t,n){}getCurrentPage(){return 0}getPageCount(){return 1}setSize(){}isPaginated(){return!0}isScrollMode(){return!1}atEnd(){return!0}atStart(){return!0}};var dr=Je(Dt()),wt=class{constructor(t,n,r,o,a){this.USERSETTINGS="userSetting";this.fontSize=100;this.fontOverride=!1;this.fontFamily=0;this.appearance=0;this.verticalScroll=!0;this.textAlignment=0;this.columnCount=0;this.wordSpacing=0;this.letterSpacing=0;this.pageMargins=2;this.lineHeight=1;this.settingsChangeCallback=()=>{};this.settingsColumnsChangeCallback=()=>{};this.viewChangeCallback=()=>{};this.store=t,this.view=a==="fixed"?new md:new gd(this.store),this.headerMenu=n,this.api=r,this.injectables=o,this.injectables?.forEach(l=>{l.type==="style"&&(l.fontFamily&&this.addFont(l.fontFamily),l.appearance&&this.addAppearance(l.appearance))})}async isPaginated(){return!await this.getPropertyAndFallback("verticalScroll",K.SCROLL_KEY)}async isScrollMode(){return!await this.isPaginated()}static async create(t){let n=new this(t.store,t.headerMenu,t.api,t.injectables,t.layout);if(await n.initialise(),t.initialUserSettings){n.userProperties||(n.userProperties=n.getUserSettings());let r=t.initialUserSettings;if(r.verticalScroll!==void 0){n.verticalScroll=this.parseScrollSetting(r.verticalScroll);let o=n.userProperties.getByRef(K.SCROLL_REF);o&&(o.value=n.verticalScroll,await n.saveProperty(o)),dr.default.log(n.verticalScroll)}if(r.appearance){n.appearance=wt.appearanceValues.findIndex(a=>a===r.appearance);let o=n.userProperties.getByRef(K.APPEARANCE_REF);o&&(o.value=n.appearance,await n.saveProperty(o)),dr.default.log(n.appearance)}if(r.fontSize){n.fontSize=r.fontSize;let o=n.userProperties.getByRef(K.FONT_SIZE_REF);o&&(o.value=n.fontSize,await n.saveProperty(o)),dr.default.log(n.fontSize)}if(r.fontFamily){n.fontFamily=wt.fontFamilyValues.findIndex(a=>a===r.fontFamily);let o=n.userProperties.getByRef(K.FONT_FAMILY_REF);o&&(o.value=n.fontFamily,await n.saveProperty(o)),dr.default.log(n.fontFamily),n.fontFamily!==0&&(n.fontOverride=!0)}if(r.textAlignment){n.textAlignment=wt.textAlignmentValues.findIndex(a=>a===r.textAlignment);let o=n.userProperties.getByRef(K.TEXT_ALIGNMENT_REF);o&&(o.value=n.textAlignment,await n.saveProperty(o)),dr.default.log(n.textAlignment)}if(r.columnCount){n.columnCount=wt.columnCountValues.findIndex(a=>a===r.columnCount);let o=n.userProperties.getByRef(K.COLUMN_COUNT_REF);o&&(o.value=n.columnCount,await n.saveProperty(o)),dr.default.log(n.columnCount)}if(r.wordSpacing){n.wordSpacing=r.wordSpacing;let o=n.userProperties.getByRef(K.WORD_SPACING_REF);o&&(o.value=n.wordSpacing,await n.saveProperty(o)),dr.default.log(n.wordSpacing)}if(r.letterSpacing){n.letterSpacing=r.letterSpacing;let o=n.userProperties.getByRef(K.LETTER_SPACING_REF);o&&(o.value=n.letterSpacing,await n.saveProperty(o)),dr.default.log(n.letterSpacing)}if(r.pageMargins){n.pageMargins=r.pageMargins;let o=n.userProperties.getByRef(K.PAGE_MARGINS_REF);o&&(o.value=n.pageMargins,await n.saveProperty(o)),dr.default.log(n.pageMargins)}if(r.lineHeight){n.lineHeight=r.lineHeight;let o=n.userProperties.getByRef(K.LINE_HEIGHT_REF);o&&(o.value=n.lineHeight,await n.saveProperty(o)),dr.default.log(n.lineHeight)}n.userProperties=n.getUserSettings(),await n.initialise()}return await n.initializeSelections(),new Promise(r=>r(n))}stop(){dr.default.log("book settings stop")}async initialise(){this.appearance=await this.getPropertyAndFallback("appearance",K.APPEARANCE_KEY),this.verticalScroll=await this.getPropertyAndFallback("verticalScroll",K.SCROLL_KEY),this.fontFamily=await this.getPropertyAndFallback("fontFamily",K.FONT_FAMILY_KEY),this.fontFamily!==0&&(this.fontOverride=!0),this.textAlignment=await this.getPropertyAndFallback("textAlignment",K.TEXT_ALIGNMENT_KEY),this.columnCount=await this.getPropertyAndFallback("columnCount",K.COLUMN_COUNT_KEY),this.fontSize=await this.getPropertyAndFallback("fontSize",K.FONT_SIZE_KEY),this.wordSpacing=await this.getPropertyAndFallback("wordSpacing",K.WORD_SPACING_KEY),this.letterSpacing=await this.getPropertyAndFallback("letterSpacing",K.LETTER_SPACING_KEY),this.pageMargins=await this.getPropertyAndFallback("pageMargins",K.PAGE_MARGINS_KEY),this.lineHeight=await this.getPropertyAndFallback("lineHeight",K.LINE_HEIGHT_KEY),this.userProperties=this.getUserSettings()}async reset(){this.appearance=0,this.verticalScroll=!0,this.fontSize=100,this.fontOverride=!1,this.fontFamily=0,this.textAlignment=0,this.columnCount=0,this.wordSpacing=0,this.letterSpacing=0,this.pageMargins=2,this.lineHeight=1,this.userProperties=this.getUserSettings();let t=this.iframe.contentDocument;if(t){let n=Qt(t,"html");if(n){let r=document.documentElement,o=dt(r,"body");n.style.removeProperty(K.FONT_SIZE_KEY),n.style.removeProperty(K.WORD_SPACING_KEY),n.style.removeProperty(K.LETTER_SPACING_KEY),n.style.removeProperty(K.COLUMN_COUNT_KEY),n.style.removeProperty(K.TEXT_ALIGNMENT_KEY),n.style.removeProperty(K.LINE_HEIGHT_KEY),n.style.removeProperty(K.PAGE_MARGINS_KEY),n.style.removeProperty(K.APPEARANCE_KEY),hn(r,"data-viewer-theme","day"),hn(o,"data-viewer-theme","day"),n.style.removeProperty(K.FONT_FAMILY_KEY),hn(n,"data-viewer-font","publisher"),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-off")}}}async initializeSelections(){this.headerMenu&&(this.settingsView=de(this.headerMenu,"#container-view-settings"))}async applyProperties(){this.userProperties=this.getUserSettings();let t=this.iframe.contentDocument;if(t){let n=Qt(t,"html");if(n){let r=document.documentElement,o=dt(r,"body");if(this.view?.delegate.publication.isReflowable&&(await this.getProperty(K.FONT_SIZE_KEY)&&n.style.setProperty(K.FONT_SIZE_KEY,this.userProperties.getByRef(K.FONT_SIZE_REF)?.toString()??null),await this.getProperty(K.WORD_SPACING_KEY)&&n.style.setProperty(K.WORD_SPACING_KEY,this.userProperties.getByRef(K.WORD_SPACING_REF)?.toString()??null),await this.getProperty(K.LETTER_SPACING_KEY)&&n.style.setProperty(K.LETTER_SPACING_KEY,this.userProperties.getByRef(K.LETTER_SPACING_REF)?.toString()??null)),await this.getProperty(K.COLUMN_COUNT_KEY)&&n.style.setProperty(K.COLUMN_COUNT_KEY,this.userProperties.getByRef(K.COLUMN_COUNT_REF)?.toString()??null),this.view?.delegate.publication.isReflowable&&(await this.getProperty(K.TEXT_ALIGNMENT_KEY)&&(this.userProperties.getByRef(K.TEXT_ALIGNMENT_REF)?.toString()==="auto"?n.style.removeProperty(K.TEXT_ALIGNMENT_KEY):n.style.setProperty(K.TEXT_ALIGNMENT_KEY,this.userProperties.getByRef(K.TEXT_ALIGNMENT_REF)?.toString()??null)),await this.getProperty(K.LINE_HEIGHT_KEY)&&n.style.setProperty(K.LINE_HEIGHT_KEY,this.userProperties.getByRef(K.LINE_HEIGHT_REF)?.toString()??null),await this.getProperty(K.PAGE_MARGINS_KEY)&&n.style.setProperty(K.PAGE_MARGINS_KEY,this.userProperties.getByRef(K.PAGE_MARGINS_REF)?.toString()??null)),await this.getProperty(K.APPEARANCE_KEY)?(n.style.setProperty(K.APPEARANCE_KEY,this.userProperties.getByRef(K.APPEARANCE_REF)?.toString()??null),this.userProperties.getByRef(K.APPEARANCE_REF)?.value===0?(hn(r,"data-viewer-theme","day"),hn(o,"data-viewer-theme","day")):this.userProperties.getByRef(K.APPEARANCE_REF)?.value===1?(hn(r,"data-viewer-theme","sepia"),hn(o,"data-viewer-theme","sepia")):this.userProperties.getByRef(K.APPEARANCE_REF)?.value===2&&(hn(r,"data-viewer-theme","night"),hn(o,"data-viewer-theme","night"))):(n.style.setProperty(K.APPEARANCE_KEY,this.userProperties.getByRef(K.APPEARANCE_REF)?.toString()??null),hn(r,"data-viewer-theme","day"),hn(o,"data-viewer-theme","day")),this.view?.delegate.publication.isReflowable){if(await this.getProperty(K.FONT_FAMILY_KEY))if(n.style.setProperty(K.FONT_FAMILY_KEY,this.userProperties.getByRef(K.FONT_FAMILY_REF)?.toString()??null),this.userProperties.getByRef(K.FONT_FAMILY_REF)?.value===0)hn(n,"data-viewer-font","publisher"),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-off");else if(this.userProperties.getByRef(K.FONT_FAMILY_REF)?.value===1)hn(n,"data-viewer-font","serif"),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-on");else if(this.userProperties.getByRef(K.FONT_FAMILY_REF)?.value===2)hn(n,"data-viewer-font","sans"),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-on");else{let a=this.userProperties.getByRef(K.FONT_FAMILY_REF);a&&hn(n,"data-viewer-font",a.toString()),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-on")}else n.style.setProperty(K.FONT_FAMILY_KEY,this.userProperties.getByRef(K.FONT_FAMILY_REF)?.toString()??null),hn(n,"data-viewer-font","publisher"),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-off");await this.getProperty(K.SCROLL_KEY)?this.userProperties.getByRef(K.SCROLL_REF)?.value===!0?n.style.setProperty("--USER__scroll","readium-scroll-on"):n.style.setProperty("--USER__scroll","readium-scroll-off"):n.style.setProperty("--USER__scroll","readium-scroll-on"),n.style.setProperty("--USER__advancedSettings","readium-advanced-on"),this.isScrollMode().then(a=>{this.view?.setMode?.(a)})}}}}setIframe(t){this.iframe=t,this.view&&(this.view.iframe=t),this.settingsView&&wt.renderControls(this.settingsView)}static renderControls(t){Z(de(t,"ul"),"click",n=>{n.stopPropagation()})}onSettingsChange(t){this.settingsChangeCallback=t}onColumnSettingsChange(t){this.settingsColumnsChangeCallback=t}onViewChange(t){this.viewChangeCallback=t}async storeProperty(t){await this.updateUserSettings(),await this.saveProperty(t)}addAppearance(t){wt.appearanceValues.includes(t)||wt.appearanceValues.push(t)}initAddedAppearance(){this.applyProperties()}addFont(t){wt.fontFamilyValues.includes(t)||wt.fontFamilyValues.push(t)}initAddedFont(){this.applyProperties()}async updateUserSettings(){let t={fontFamily:wt.fontFamilyValues[await this.userProperties?.getByRef(K.FONT_FAMILY_REF)?.value],fontSize:this.userProperties?.getByRef(K.FONT_SIZE_REF)?.value,appearance:wt.appearanceValues[await this.userProperties?.getByRef(K.APPEARANCE_REF)?.value],textAlignment:wt.textAlignmentValues[await this.userProperties?.getByRef(K.TEXT_ALIGNMENT_REF)?.value],columnCount:wt.columnCountValues[await this.userProperties?.getByRef(K.COLUMN_COUNT_REF)?.value],wordSpacing:this.userProperties?.getByRef(K.WORD_SPACING_REF)?.value,letterSpacing:this.userProperties?.getByRef(K.LETTER_SPACING_REF)?.value,verticalScroll:this.userProperties?.getByRef(K.SCROLL_REF)?.value};this.api?.updateSettings&&this.api?.updateSettings(t).then(n=>{dr.default.log("api updated user settings",JSON.stringify(t))})}getUserSettings(){let t=new xi;return t.addSwitchable("readium-font-on","readium-font-off",this.fontOverride,K.FONT_OVERRIDE_REF,K.FONT_OVERRIDE_KEY),t.addEnumerable(this.columnCount,wt.columnCountValues,K.COLUMN_COUNT_REF,K.COLUMN_COUNT_KEY),t.addEnumerable(this.appearance,wt.appearanceValues,K.APPEARANCE_REF,K.APPEARANCE_KEY),t.addIncremental(this.pageMargins,.5,4,.25,"",K.PAGE_MARGINS_REF,K.PAGE_MARGINS_KEY),t.addEnumerable(this.textAlignment,wt.textAlignmentValues,K.TEXT_ALIGNMENT_REF,K.TEXT_ALIGNMENT_KEY),t.addEnumerable(this.fontFamily,wt.fontFamilyValues,K.FONT_FAMILY_REF,K.FONT_FAMILY_KEY),t.addIncremental(this.fontSize,100,300,25,"%",K.FONT_SIZE_REF,K.FONT_SIZE_KEY),t.addIncremental(this.lineHeight,1,2,.25,"em",K.LINE_HEIGHT_REF,K.LINE_HEIGHT_KEY),t.addIncremental(this.wordSpacing,0,1,.25,"rem",K.WORD_SPACING_REF,K.WORD_SPACING_KEY),t.addIncremental(this.letterSpacing,0,.5,.0625,"em",K.LETTER_SPACING_REF,K.LETTER_SPACING_KEY),t.addSwitchable("readium-scroll-on","readium-scroll-off",this.verticalScroll,K.SCROLL_REF,K.SCROLL_KEY),t}async saveProperty(t){let n=await this.store.get(this.USERSETTINGS);if(n){let r=JSON.parse(n);r=r.filter(o=>o.name!==t.name),t.value!==void 0&&r.push(t),await this.store.set(this.USERSETTINGS,JSON.stringify(r))}else{let r=[];r.push(t),await this.store.set(this.USERSETTINGS,JSON.stringify(r))}return new Promise(r=>r(t))}async getProperty(t){let n=await this.store.get(this.USERSETTINGS);if(n){let r=JSON.parse(n);return r=r.filter(o=>o.name===t),r.length===0?null:r[0]}return null}async getPropertyAndFallback(t,n){return(await this.getProperty(n))?.value??this[t]}async resetUserSettings(){await this.store.remove(this.USERSETTINGS),await this.reset(),this.settingsChangeCallback()}get currentSettings(){return{appearance:wt.appearanceValues[this.userProperties?.getByRef(K.APPEARANCE_REF)?.value],fontFamily:wt.fontFamilyValues[this.userProperties?.getByRef(K.FONT_FAMILY_REF)?.value],textAlignment:wt.textAlignmentValues[this.userProperties?.getByRef(K.TEXT_ALIGNMENT_REF)?.value],columnCount:wt.columnCountValues[this.userProperties?.getByRef(K.COLUMN_COUNT_REF)?.value],verticalScroll:this.verticalScroll,fontSize:this.fontSize,wordSpacing:this.wordSpacing,letterSpacing:this.letterSpacing,pageMargins:this.pageMargins,lineHeight:this.lineHeight}}async applyUserSettings(t){if(t.appearance){let n;t.appearance==="day"||t.appearance==="readium-default-on"?n=wt.appearanceValues[0]:t.appearance==="sepia"||t.appearance==="readium-sepia-on"?n=wt.appearanceValues[1]:t.appearance==="night"||t.appearance==="readium-night-on"?n=wt.appearanceValues[2]:n=t.appearance,this.appearance=wt.appearanceValues.findIndex(o=>o===n);let r=this.userProperties?.getByRef(K.APPEARANCE_REF);r&&(r.value=this.appearance,await this.storeProperty(r))}if(t.fontSize){this.fontSize=t.fontSize;let n=this.userProperties?.getByRef(K.FONT_SIZE_REF);n&&(n.value=this.fontSize,await this.storeProperty(n))}if(t.fontFamily){this.fontFamily=wt.fontFamilyValues.findIndex(r=>r===t.fontFamily);let n=this.userProperties?.getByRef(K.FONT_FAMILY_REF);n&&(n.value=this.fontFamily,await this.storeProperty(n))}if(t.letterSpacing){this.letterSpacing=t.letterSpacing;let n=this.userProperties?.getByRef(K.LETTER_SPACING_REF);n&&(n.value=this.letterSpacing,await this.storeProperty(n))}if(t.wordSpacing){this.wordSpacing=t.wordSpacing;let n=this.userProperties?.getByRef(K.WORD_SPACING_REF);n&&(n.value=this.wordSpacing,await this.storeProperty(n))}if(t.columnCount){this.columnCount=wt.columnCountValues.findIndex(r=>r===t.columnCount);let n=this.userProperties?.getByRef(K.COLUMN_COUNT_REF);n&&(n.value=this.columnCount,await this.storeProperty(n)),this.settingsColumnsChangeCallback()}if(t.textAlignment){this.textAlignment=wt.textAlignmentValues.findIndex(r=>r===t.textAlignment);let n=this.userProperties?.getByRef(K.TEXT_ALIGNMENT_REF);n&&(n.value=this.textAlignment,await this.storeProperty(n))}if(t.lineHeight){this.lineHeight=t.lineHeight;let n=this.userProperties?.getByRef(K.LINE_HEIGHT_REF);n&&(n.value=this.lineHeight,await this.storeProperty(n))}if(t.pageMargins){this.pageMargins=t.pageMargins;let n=this.userProperties?.getByRef(K.PAGE_MARGINS_REF);n&&(n.value=this.pageMargins,await this.storeProperty(n))}if(t.verticalScroll!==void 0){let n=this.view?.getCurrentPosition();this.verticalScroll=wt.parseScrollSetting(t.verticalScroll);let r=this.userProperties?.getByRef(K.SCROLL_REF);r&&(r.value=this.verticalScroll,await this.saveProperty(r)),this.view?.setMode?.(this.verticalScroll),n&&this.view?.goToProgression(n),this.viewChangeCallback()}await this.applyProperties(),this.settingsChangeCallback()}static parseScrollSetting(t){switch(t){case!0:case"scroll":case"readium-scroll-on":return!0;case!1:case"paginated":case"readium-scroll-off":return!1;default:return!1}}async scroll(t){let n=this.view?.getCurrentPosition();this.verticalScroll=t;let r=this.userProperties?.getByRef(K.SCROLL_REF);r&&(r.value=this.verticalScroll,await this.saveProperty(r)),await this.applyProperties(),this.view?.setMode?.(this.verticalScroll),n&&this.view?.goToProgression(n),this.viewChangeCallback()}async increase(t){if(t==="fontSize"){(this.userProperties?.getByRef(K.FONT_SIZE_REF)).increment(),this.fontSize=this.userProperties?.getByRef(K.FONT_SIZE_REF)?.value;let n=this.userProperties?.getByRef(K.FONT_SIZE_REF);n&&await this.storeProperty(n)}else if(t==="letterSpacing"){(this.userProperties?.getByRef(K.LETTER_SPACING_REF)).increment(),this.letterSpacing=this.userProperties?.getByRef(K.LETTER_SPACING_REF)?.value;let n=this.userProperties?.getByRef(K.LETTER_SPACING_REF);n&&await this.storeProperty(n)}else if(t==="wordSpacing"){(this.userProperties?.getByRef(K.WORD_SPACING_REF)).increment(),this.wordSpacing=this.userProperties?.getByRef(K.WORD_SPACING_REF)?.value;let n=this.userProperties?.getByRef(K.WORD_SPACING_REF);n&&await this.storeProperty(n)}else if(t==="lineHeight"){(this.userProperties?.getByRef(K.LINE_HEIGHT_REF)).increment(),this.lineHeight=this.userProperties?.getByRef(K.LINE_HEIGHT_REF)?.value;let n=this.userProperties?.getByRef(K.LINE_HEIGHT_REF);n&&await this.storeProperty(n)}await this.applyProperties(),this.settingsChangeCallback()}async decrease(t){if(t==="fontSize"){(this.userProperties?.getByRef(K.FONT_SIZE_REF)).decrement(),this.fontSize=this.userProperties?.getByRef(K.FONT_SIZE_REF)?.value;let n=this.userProperties?.getByRef(K.FONT_SIZE_REF);n&&await this.storeProperty(n)}else if(t==="letterSpacing"){(this.userProperties?.getByRef(K.LETTER_SPACING_REF)).decrement(),this.letterSpacing=this.userProperties?.getByRef(K.LETTER_SPACING_REF)?.value;let n=this.userProperties?.getByRef(K.LETTER_SPACING_REF);n&&await this.storeProperty(n)}else if(t==="wordSpacing"){(this.userProperties?.getByRef(K.WORD_SPACING_REF)).decrement(),this.wordSpacing=this.userProperties?.getByRef(K.WORD_SPACING_REF)?.value;let n=this.userProperties?.getByRef(K.WORD_SPACING_REF);n&&await this.storeProperty(n)}else if(t==="lineHeight"){(this.userProperties?.getByRef(K.LINE_HEIGHT_REF)).decrement(),this.wordSpacing=this.userProperties?.getByRef(K.LINE_HEIGHT_REF)?.value;let n=this.userProperties?.getByRef(K.LINE_HEIGHT_REF);n&&await this.storeProperty(n)}await this.applyProperties(),this.settingsChangeCallback()}},jo=wt;jo.appearanceValues=["readium-default-on","readium-sepia-on","readium-night-on"],jo.fontFamilyValues=["Original","serif","sans-serif"],jo.textAlignmentValues=["auto","justify","start"],jo.columnCountValues=["auto","1","2"];A();A();var fr;(function(n){n[n.Bookmark=0]="Bookmark",n[n.Annotation=1]="Annotation"})(fr||(fr={}));A();A();A();A();A();A();var t4={stringify(i){let t=i.nSigBytes,n=i.words,r=[];for(let o=0;o<t;o++){let a=n[o>>>2]>>>24-o%4*8&255;r.push((a>>>4).toString(16)),r.push((a&15).toString(16))}return r.join("")},parse(i){let t=i.length;if(t%2!=0)throw new Error("Hex string count must be even");if(!/^[a-fA-F0-9]+$/.test(i))throw new Error(`Invalid Hex string: ${i}`);let n=[];for(let r=0;r<t;r+=2)n[r>>>3]|=parseInt(i.substr(r,2),16)<<24-r%8*4;return new wn(n,t/2)}};A();A();var n4=typeof navigator!="undefined"&&navigator.userAgent?navigator.userAgent.toLowerCase():"",Do=(()=>{let i=parseInt((/msie (\d+)/.exec(n4)||[])[1],10);return isNaN(i)?(i=parseInt((/trident\/.*; rv:(\d+)/.exec(n4)||[])[1],10),isNaN(i)?!1:i):i})();function r4(i,t){return Do===!1?!1:t?i==="<"?Do<t:i==="<="?Do<=t:i===">"?Do>t:i===">="?Do>=t:Do===t:!0}function Yk(){if(typeof window!="undefined"){let i=window.crypto||window.msCrypto;if(!i){if(r4("<",11))return console.warn("IE <= 10 uses insecure random generator. Please consider to use IE11 or another modern browser"),function(){return Math.floor(Math.random()*512)%256};throw new Error("Crypto module not found")}return function(){return i.getRandomValues(new Uint32Array(1))[0]}}else{if(typeof globalThis!="undefined"&&globalThis.crypto)return function(){return globalThis.crypto.randomBytes(4).readInt32LE()};if(typeof Dy=="function")return function(){return __non_webpack_require__("crypto").randomBytes(4).readInt32LE()}}throw new Error("Unable to find crypto module")}var i4=Yk();var wn=class{constructor(t,n){if(Array.isArray(t)||!t){this._words=Array.isArray(t)?t:[],this._nSignificantBytes=typeof n=="number"?n:this._words.length*4;return}else if(t instanceof wn){this._words=t.words.slice(),this._nSignificantBytes=t.nSigBytes;return}let r;try{t instanceof ArrayBuffer?r=new Uint8Array(t):(t instanceof Uint8Array||t instanceof Int8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}catch(l){throw new Error("Invalid argument")}if(!r)throw new Error("Invalid argument");let o=r.byteLength,a=[];for(let l=0;l<o;l++)a[l>>>2]|=r[l]<<24-l%4*8;this._words=a,this._nSignificantBytes=o}get nSigBytes(){return this._nSignificantBytes}set nSigBytes(t){this._nSignificantBytes=t}get words(){return this._words}toString(t){return t?t.stringify(this):t4.stringify(this)}toUint8Array(){let t=this._words,n=this._nSignificantBytes,r=new Uint8Array(n);for(let o=0;o<n;o++)r[o]=t[o>>>2]>>>24-o%4*8&255;return r}concat(t){let n=t.words.slice(),r=t.nSigBytes;if(this.clamp(),this._nSignificantBytes%4)for(let o=0;o<r;o++){let a=n[o>>>2]>>>24-o%4*8&255;this._words[this._nSignificantBytes+o>>>2]|=a<<24-(this._nSignificantBytes+o)%4*8}else for(let o=0;o<r;o+=4)this._words[this._nSignificantBytes+o>>>2]=n[o>>>2];return this._nSignificantBytes+=r,this}clamp(){let t=this._nSignificantBytes;this._words[t>>>2]&=4294967295<<32-t%4*8,this._words.length=Math.ceil(t/4)}clone(){return new wn(this._words.slice(),this._nSignificantBytes)}static random(t){let n=[];for(let r=0;r<t;r+=4)n.push(i4());return new wn(n,t)}};A();A();var e0={stringify(i){let t=i.nSigBytes,n=i.words,r=[];for(let o=0;o<t;o++){let a=n[o>>>2]>>>24-o%4*8&255;r.push(String.fromCharCode(a))}return r.join("")},parse(i){let t=i.length,n=[];for(let r=0;r<t;r++)n[r>>>2]|=(i.charCodeAt(r)&255)<<24-r%4*8;return new wn(n,t)}};var o4={stringify(i){try{return decodeURIComponent(escape(e0.stringify(i)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse(i){return e0.parse(unescape(encodeURIComponent(i)))}};var t0=class{constructor(t){this._minBufferSize=0,this._blockSize=0,this._props=t,this._data=t&&typeof t.data!="undefined"?t.data.clone():new wn,this._nBytes=t&&typeof t.nBytes=="number"?t.nBytes:0}get blockSize(){return this._blockSize}reset(t,n){this._data=typeof t!="undefined"?t.clone():new wn,this._nBytes=typeof n=="number"?n:0}_append(t){let n=typeof t=="string"?o4.parse(t):t;this._data.concat(n),this._nBytes+=n.nSigBytes}_process(t){let n,r=this._data.words,o=this._data.nSigBytes,a=this._blockSize,l=this._blockSize*4,u=o/l;t?u=Math.ceil(u):u=Math.max((u|0)-this._minBufferSize,0);let d=u*a,f=Math.min(d*4,o);if(d){for(let m=0;m<d;m+=a)this._doProcessBlock(r,m);n=r.splice(0,d),this._data.nSigBytes-=f}return new wn(n,f)}_doProcessBlock(t,n){throw new Error("Not implemented")}};var n0=class extends t0{constructor(t){super(t);this._blockSize=512/32,this._props=t,t&&typeof t.blockSize=="number"&&(this._blockSize=t.blockSize),this.reset(t?t.data:void 0,t?t.nBytes:void 0)}get blockSize(){return this._blockSize}reset(t,n){super.reset.call(this,t,n),this._doReset()}update(t){return this._append(t),this._process(),this}finalize(t){return t&&this._append(t),this._doFinalize()}_doReset(){throw new Error("Not implemented")}_doFinalize(){throw new Error("Not implemented")}};var r0=[],s4=[];function Zk(i){let t=Math.sqrt(i);for(let n=2;n<=t;n++)if(!(i%n))return!1;return!0}function a4(i){return(i-(i|0))*4294967296|0}(function(){let t=2,n=0;for(;n<64;)Zk(t)&&(n<8&&(r0[n]=a4(Math.pow(t,1/2))),s4[n]=a4(Math.pow(t,1/3)),n++),t++})();var Fo=[],Cr=class extends n0{constructor(t){super(t);this._hash=new wn(r0.slice(0)),this._props=t,t&&typeof t.hash!="undefined"&&(this._hash=t.hash.clone())}_doReset(){this._hash=new wn(r0.slice(0))}_doProcessBlock(t,n){let r=this._hash.words,o=r[0],a=r[1],l=r[2],u=r[3],d=r[4],f=r[5],m=r[6],p=r[7];for(let E=0;E<64;E++){if(E<16)Fo[E]=t[n+E]|0;else{let T=Fo[E-15],C=(T<<25|T>>>7)^(T<<14|T>>>18)^T>>>3,_=Fo[E-2],P=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;Fo[E]=C+Fo[E-7]+P+Fo[E-16]}let S=d&f^~d&m,v=o&a^o&l^a&l,y=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),b=(d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25),w=p+b+S+s4[E]+Fo[E],O=y+v;p=m,m=f,f=d,d=u+w|0,u=l,l=a,a=o,o=w+O|0}r[0]=r[0]+o|0,r[1]=r[1]+a|0,r[2]=r[2]+l|0,r[3]=r[3]+u|0,r[4]=r[4]+d|0,r[5]=r[5]+f|0,r[6]=r[6]+m|0,r[7]=r[7]+p|0}_doFinalize(){let t=this._data.words,n=this._nBytes*8,r=this._data.nSigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),t[(r+64>>>9<<4)+15]=n,this._data.nSigBytes=t.length*4,this._process(),this._hash}clone(){let t={hash:this._hash,blockSize:this._blockSize,data:this._data,nBytes:this._nBytes};return new Cr(t)}static hash(t,n){return new Cr(n).finalize(t)}};var Ka=Je(to());A();var qe;(function(u){u[u.Annotation=0]="Annotation",u[u.Search=1]="Search",u[u.ReadAloud=2]="ReadAloud",u[u.PageBreak=3]="PageBreak",u[u.Definition=4]="Definition",u[u.LineFocus=5]="LineFocus",u[u.Comment=6]="Comment"})(qe||(qe={}));A();var En=Je(Dt());function yd(i,t){let n=i.getClientRects();return i0(n,t)}function i0(i,t){let n=1,r=[];for(let d of i)r.push({bottom:d.bottom,height:d.height,left:d.left,right:d.right,top:d.top,width:d.width});let o=c4(r,n,t),a=r8(o,n),l=u4(a),u=2*2;for(let d=l.length-1;d>=0;d--){let f=l[d];if(!(f.width*f.height>u))if(l.length>1)En.default.log("CLIENT RECT: remove small"),l.splice(d,1);else{En.default.log("CLIENT RECT: remove small, but keep otherwise empty!");break}}return d4(l),En.default.log(`CLIENT RECT: reduced ${r.length} --> ${l.length}`),l}function Ar(i,t,n){return Math.abs(i-t)<=n}function Xk(i,t){let n=Math.max(i.left,t.left),r=Math.min(i.right,t.right),o=Math.max(i.top,t.top),a=Math.min(i.bottom,t.bottom);return{bottom:a,height:Math.max(0,a-o),left:n,right:r,top:o,width:Math.max(0,r-n)}}function l4(i,t){let n=Xk(t,i);if(n.height===0||n.width===0)return[i];let r=[];{let o={bottom:i.bottom,height:0,left:i.left,right:n.left,top:i.top,width:0};o.width=o.right-o.left,o.height=o.bottom-o.top,o.height!==0&&o.width!==0&&r.push(o)}{let o={bottom:n.top,height:0,left:n.left,right:n.right,top:i.top,width:0};o.width=o.right-o.left,o.height=o.bottom-o.top,o.height!==0&&o.width!==0&&r.push(o)}{let o={bottom:i.bottom,height:0,left:n.left,right:n.right,top:n.bottom,width:0};o.width=o.right-o.left,o.height=o.bottom-o.top,o.height!==0&&o.width!==0&&r.push(o)}{let o={bottom:i.bottom,height:0,left:n.right,right:i.right,top:i.top,width:0};o.width=o.right-o.left,o.height=o.bottom-o.top,o.height!==0&&o.width!==0&&r.push(o)}return r}function bd(i,t,n,r){return(i.left<t||Ar(i.left,t,r))&&(i.right>t||Ar(i.right,t,r))&&(i.top<n||Ar(i.top,n,r))&&(i.bottom>n||Ar(i.bottom,n,r))}function Qk(i,t,n){return bd(i,t.left,t.top,n)&&bd(i,t.right,t.top,n)&&bd(i,t.left,t.bottom,n)&&bd(i,t.right,t.bottom,n)}function e8(i,t){let n=Math.min(i.left,t.left),r=Math.max(i.right,t.right),o=Math.min(i.top,t.top),a=Math.max(i.bottom,t.bottom);return{bottom:a,height:a-o,left:n,right:r,top:o,width:r-n}}function o0(i,t,n){return(i.left<t.right||n>=0&&Ar(i.left,t.right,n))&&(t.left<i.right||n>=0&&Ar(t.left,i.right,n))&&(i.top<t.bottom||n>=0&&Ar(i.top,t.bottom,n))&&(t.top<i.bottom||n>=0&&Ar(t.top,i.bottom,n))}function c4(i,t,n){for(let r=0;r<i.length;r++)for(let o=r+1;o<i.length;o++){let a=i[r],l=i[o];if(a===l){En.default.log("mergeTouchingRects rect1 === rect2 ??!");continue}let u=Ar(a.top,l.top,t)&&Ar(a.bottom,l.bottom,t),d=Ar(a.left,l.left,t)&&Ar(a.right,l.right,t);if((d&&!n||u&&!d)&&o0(a,l,t)){En.default.log(`CLIENT RECT: merging two into one, VERTICAL: ${u} HORIZONTAL: ${d} (${n})`);let E=i.filter(v=>v!==a&&v!==l),S=e8(a,l);return E.push(S),c4(E,t,n)}}return i}function u4(i){for(let t=0;t<i.length;t++)for(let n=t+1;n<i.length;n++){let r=i[t],o=i[n];if(r===o){En.default.log("replaceOverlappingRects rect1 === rect2 ??!");continue}if(o0(r,o,-1)){let a=[],l,u,d=l4(r,o);if(d.length===1)a=d,l=r,u=o;else{let p=l4(o,r);d.length<p.length?(a=d,l=r,u=o):(a=p,l=o,u=r)}let f=[];f.push(u),Array.prototype.push.apply(f,a),d4(f),En.default.log(`CLIENT RECT: overlap, cut one rect into ${a.length}`);let m=i.filter(p=>p!==l);return Array.prototype.push.apply(m,a),u4(m)}}return i}function t8(i,t){return Math.max(0,Math.min(i.right,t.right)-Math.max(i.left,t.left))}function n8(i,t){return Math.max(0,Math.min(i.bottom,t.bottom)-Math.max(i.top,t.top))}function r8(i,t){let n=new Set(i);for(let r of i){if(!(r.width>1&&r.height>1)){En.default.log("CLIENT RECT: remove tiny"),n.delete(r);continue}for(let a of i)if(r!==a&&!!n.has(a)&&Qk(a,r,t)){En.default.log("CLIENT RECT: remove contained"),n.delete(r);break}}return Array.from(n)}function d4(i){let t=[];for(let n of i)for(let r of i){if(n===r)continue;let o=t.indexOf(n)>=0,a=t.indexOf(r)>=0;if((!o||!a)&&o0(n,r,-1)){o||t.push(n),a||t.push(r),En.default.log("CLIENT RECT: overlap ---"),En.default.log(`#1 TOP:${n.top} BOTTOM:${n.bottom} LEFT:${n.left} RIGHT:${n.right} WIDTH:${n.width} HEIGHT:${n.height}`),En.default.log(`#2 TOP:${r.top} BOTTOM:${r.bottom} LEFT:${r.left} RIGHT:${r.right} WIDTH:${r.width} HEIGHT:${r.height}`);let l=t8(n,r);En.default.log(`xOverlap: ${l}`);let u=n8(n,r);En.default.log(`yOverlap: ${u}`)}}t.length&&En.default.log(`CLIENT RECT: overlaps ${t.length}`)}A();var Ct=Je(Dt());function oi(i,t){let n=i?i.getSelection():null;if(!n)return;if(n.isCollapsed){Ct.default.log("^^^ SELECTION COLLAPSED.");return}let r=n.toString(),o=r.trim().replace(/\n/g," ").replace(/\s\s+/g," ");if(o.length===0){Ct.default.log("^^^ SELECTION TEXT EMPTY.");return}if(!n.anchorNode||!n.focusNode)return;let a=n.rangeCount===1?n.getRangeAt(0):f4(n.anchorNode,n.anchorOffset,n.focusNode,n.focusOffset);if(!a||a.collapsed){Ct.default.log("$$$$$$$$$$$$$$$$$ CANNOT GET NON-COLLAPSED SELECTION RANGE?!");return}let l=o8(a);l.startContainer!==a.startContainer&&(Ct.default.log(">>>>>>>>>>>>>>>>>>>>>>> SELECTION RANGE NORMALIZE diff: startContainer"),Ct.default.log(l.startContainer),Ct.default.log(a.startContainer)),l.startOffset!==a.startOffset&&(Ct.default.log(">>>>>>>>>>>>>>>>>>>>>>> SELECTION RANGE NORMALIZE diff: startOffset"),Ct.default.log(`${l.startOffset} !== ${a.startOffset}`)),l.endContainer!==a.endContainer&&(Ct.default.log(">>>>>>>>>>>>>>>>>>>>>>> SELECTION RANGE NORMALIZE diff: endContainer"),Ct.default.log(l.endContainer),Ct.default.log(a.endContainer)),l.endOffset!==a.endOffset&&(Ct.default.log(">>>>>>>>>>>>>>>>>>>>>>> SELECTION RANGE NORMALIZE diff: endOffset"),Ct.default.log(`${l.endOffset} !== ${a.endOffset}`));let u=Pi(l,t);if(!u){Ct.default.log("^^^ SELECTION RANGE INFO FAIL?!");return}return{rangeInfo:u,cleanText:o,rawText:r,range:l}}function f4(i,t,n,r){try{let o=new Range;if(o.setStart(i,t),o.setEnd(n,r),!o.collapsed)return Ct.default.log(">>> createOrderedRange RANGE OK"),o;Ct.default.log(">>> createOrderedRange COLLAPSED ... RANGE REVERSE?");let a=new Range;if(a.setStart(n,r),a.setEnd(i,t),!a.collapsed)return Ct.default.log(">>> createOrderedRange RANGE REVERSE OK."),o;Ct.default.log(">>> createOrderedRange RANGE REVERSE ALSO COLLAPSED?!");return}catch(o){console.warn(o.message);return}}function Pi(i,t){let n=i.startContainer.nodeType===Node.ELEMENT_NODE,r=n?i.startContainer:i.startContainer.parentNode&&i.startContainer.parentNode.nodeType===Node.ELEMENT_NODE?i.startContainer.parentNode:void 0;if(!r)return;let o=n?-1:Array.from(r.childNodes).indexOf(i.startContainer);if(o<-1)return;let a=t(r),l=i.endContainer.nodeType===Node.ELEMENT_NODE,u=l?i.endContainer:i.endContainer.parentNode&&i.endContainer.parentNode.nodeType===Node.ELEMENT_NODE?i.endContainer.parentNode:void 0;if(!u)return;let d=l?-1:Array.from(u.childNodes).indexOf(i.endContainer);if(d<-1)return;let f=t(u),m=i8(i.startContainer,i.endContainer);if(!m){Ct.default.log("^^^ NO RANGE COMMON ANCESTOR?!");return}if(i.commonAncestorContainer){let p=i.commonAncestorContainer.nodeType===Node.ELEMENT_NODE?i.commonAncestorContainer:i.commonAncestorContainer.parentNode;p&&p.nodeType===Node.ELEMENT_NODE&&m!==p&&(Ct.default.log(">>>>>> COMMON ANCESTOR CONTAINER DIFF??!"),Ct.default.log(t(m)),Ct.default.log(t(p)))}if(f&&a)return{endContainerChildTextNodeIndex:d,endContainerElementCssSelector:f,endOffset:i.endOffset,startContainerChildTextNodeIndex:o,startContainerElementCssSelector:a,startOffset:i.startOffset}}function vd(i,t){let n=i.querySelector(t.startContainerElementCssSelector);if(!n){Ct.default.log("^^^ convertRangeInfo NO START ELEMENT CSS SELECTOR?!");return}let r=n;if(t.startContainerChildTextNodeIndex>=0){if(t.startContainerChildTextNodeIndex>=n.childNodes.length){Ct.default.log("^^^ convertRangeInfo rangeInfo.startContainerChildTextNodeIndex >= startElement.childNodes.length?!");return}if(r=n.childNodes[t.startContainerChildTextNodeIndex],r.nodeType!==Node.TEXT_NODE){Ct.default.log("^^^ convertRangeInfo startContainer.nodeType !== Node.TEXT_NODE?!");return}}let o=i.querySelector(t.endContainerElementCssSelector);if(!o){Ct.default.log("^^^ convertRangeInfo NO END ELEMENT CSS SELECTOR?!");return}let a=o;if(t.endContainerChildTextNodeIndex>=0){if(t.endContainerChildTextNodeIndex>=o.childNodes.length){Ct.default.log("^^^ convertRangeInfo rangeInfo.endContainerChildTextNodeIndex >= endElement.childNodes.length?!");return}if(a=o.childNodes[t.endContainerChildTextNodeIndex],a.nodeType!==Node.TEXT_NODE){Ct.default.log("^^^ convertRangeInfo endContainer.nodeType !== Node.TEXT_NODE?!");return}}return f4(r,t.startOffset,a,t.endOffset)}function i8(i,t){if(i.nodeType===Node.ELEMENT_NODE&&i===t||i.nodeType===Node.ELEMENT_NODE&&i.contains(t))return i;if(t.nodeType===Node.ELEMENT_NODE&&t.contains(i))return t;let n=[],r=i.parentNode;for(;r&&r.nodeType===Node.ELEMENT_NODE;)n.push(r),r=r.parentNode;let o=[];for(r=t.parentNode;r&&r.nodeType===Node.ELEMENT_NODE;)o.push(r),r=r.parentNode;let a=n.find(l=>o.indexOf(l)>=0);return a||(a=o.find(l=>n.indexOf(l)>=0)),a}function o8(i){let t=i.cloneRange(),n=t.startContainer,r=t.startOffset,o=t.endContainer,a=t.endOffset;n.childNodes.length&&r>0&&(n=p4(n.childNodes[r-1]),r=n.length||0),a<o.childNodes.length&&(o=h4(o.childNodes[a]),a=0);let l=h4(n),u=p4(o);function d(f){if(f.childNodes.length)return!1;let m=f.length||0;return f===n&&r===m?!1:!(f===o&&a===0)}for(;l&&!d(l)&&l!==u;)l=s8(l);for(l===n?t.setStart(n,r):l!==null&&(l.nodeType===3?t.setStart(l,0):t.setStartBefore(l));u&&!d(u)&&u!==l;)u=a8(u);return u===o?t.setEnd(o,a):u!==null&&(u.nodeType===3?t.setEnd(u,u.length):t.setEndAfter(u)),t}function s8(i){if(i.firstChild)return i.firstChild;let t=i;for(;!t.nextSibling;)if(t=t.parentNode,!t)return null;return t.nextSibling}function a8(i){if(i.lastChild)return i.lastChild;let t=i;for(;!t.previousSibling;)if(t=t.parentNode,!t)return null;return t.previousSibling}function h4(i){for(;i.firstChild;)i=i.firstChild;return i}function p4(i){for(;i.lastChild;)i=i.lastChild;return i}A();var a0=Je(m4()),no;(function(r){r[r.All=0]="All",r[r.Two=1]="Two",r[r.One=2]="One"})(no||(no={}));var Ii,l0;function ln(i,t,n){if(i.nodeType!==Node.ELEMENT_NODE)throw new Error("Can't generate CSS selector for non-element node type.");if(i.tagName.toLowerCase()==="html")return i.tagName.toLowerCase();let r={className:a=>!0,idName:a=>!0,optimizedMinLength:2,root:t.body,seedMinLength:1,tagName:a=>!0,threshold:1e3};Ii=Fe(Fe({},r),n),l0=p8(Ii.root,r);let o=c0(i,0,()=>c0(i,1,()=>c0(i,2)));if(o){let a=E4(S4(o,i));return a.length>0&&(o=a[0]),wd(o)}else throw new Error("Selector was not found.")}function p8(i,t){return i.nodeType===Node.DOCUMENT_NODE?i:i===t.root?i.ownerDocument:i}function c0(i,t,n){let r=null,o=[],a=i,l=0;for(;a&&a!==Ii.root.parentElement;){let u=f0(g8(a))||f0(...m8(a))||f0(y8(a))||[b8()],d=v8(a);if(t===0)d&&(u=u.concat(u.filter(d0).map(f=>u0(f,d))));else if(t===1)u=u.slice(0,1),d&&(u=u.concat(u.filter(d0).map(f=>u0(f,d))));else if(t===2){let[f]=u=u.slice(0,1);d&&d0(f)&&(u=[u0(f,d)])}for(let f of u)f.level=l;if(o.push(u),o.length>=Ii.seedMinLength&&(r=y4(o,n),r))break;a=a.parentElement,l++}return r||(r=y4(o,n)),r}function y4(i,t){let n=E4(w4(i));if(n.length>Ii.threshold)return t?t():null;for(let r of n)if(v4(r))return r;return null}function wd(i){let t=i[0],n=t.name;for(let r=1;r<i.length;r++){let o=i[r].level||0;t.level===o-1?n=`${i[r].name} > ${n}`:n=`${i[r].name} ${n}`,t=i[r]}return n}function b4(i){return i.map(t=>t.penalty).reduce((t,n)=>t+n,0)}function v4(i){switch(l0.querySelectorAll(wd(i)).length){case 0:throw new Error(`Can't select any node with this selector: ${wd(i)}`);case 1:return!0;default:return!1}}function g8(i){let t=i.getAttribute("id");return t&&Ii.idName(t)?{name:"#"+(0,a0.default)(t,{isIdentifier:!0}),penalty:0}:null}function m8(i){return Array.from(i.classList).filter(Ii.className).map(n=>({name:"."+(0,a0.default)(n,{isIdentifier:!0}),penalty:1}))}function y8(i){let t=i.tagName.toLowerCase();return Ii.tagName(t)?{name:t,penalty:2}:null}function b8(){return{name:"*",penalty:3}}function v8(i){let t=i.parentNode;if(!t)return null;let n=t.firstChild;if(!n)return null;let r=0;for(;n&&(n.nodeType===Node.ELEMENT_NODE&&r++,n!==i);)n=n.nextSibling;return r}function u0(i,t){return{name:i.name+`:nth-child(${t})`,penalty:i.penalty+1}}function d0(i){return i.name!=="html"&&!i.name.startsWith("#")}function f0(...i){let t=i.filter(w8);return t.length>0?t:null}function w8(i){return i!=null}function*w4(i,t=[]){if(i.length>0)for(let n of i[0])yield*w4(i.slice(1,i.length),t.concat(n));else yield t}function E4(i){return Array.from(i).sort((t,n)=>b4(t)-b4(n))}function*S4(i,t){if(i.length>2&&i.length>Ii.optimizedMinLength)for(let n=1;n<i.length-1;n++){let r=[...i];r.splice(n,1),v4(r)&&E8(r,t)&&(yield r,yield*S4(r,t))}}function E8(i,t){return l0.querySelector(wd(i))===t}A();var Le;(function(a){a[a.Highlight=0]="Highlight",a[a.Underline=1]="Underline",a[a.Bookmark=2]="Bookmark",a[a.Custom=3]="Custom",a[a.Comment=4]="Comment"})(Le||(Le={}));A();var h0=24,S8=24,O4="0 0 24 24",Gn=(i,t,n,r="icon")=>`<svg xmlns="http://www.w3.org/2000/svg" width="${h0}" height="${S8}" viewBox="${O4}" preserveAspectRatio="xMidYMid meet" role="img" class="${r}" aria-labelledBy="${i}">
|
|
66
|
+
}`;var nt=Iy(function(){return vt(L,ke+"return "+ce).apply(i,H)});if(nt.source=ce,nh(nt))throw nt;return nt}function fR(s){return St(s).toLowerCase()}function hR(s){return St(s).toUpperCase()}function pR(s,c,g){if(s=St(s),s&&(g||c===i))return $g(s);if(!s||!(c=Qn(c)))return s;var x=Pr(s),R=Pr(c),L=Ug(x,R),H=qg(x,R)+1;return Wi(x,L,H).join("")}function gR(s,c,g){if(s=St(s),s&&(g||c===i))return s.slice(0,Wg(s)+1);if(!s||!(c=Qn(c)))return s;var x=Pr(s),R=qg(x,Pr(c))+1;return Wi(x,0,R).join("")}function mR(s,c,g){if(s=St(s),s&&(g||c===i))return s.replace(Zo,"");if(!s||!(c=Qn(c)))return s;var x=Pr(s),R=Ug(x,Pr(c));return Wi(x,R).join("")}function yR(s,c){var g=I,x=q;if($t(c)){var R="separator"in c?c.separator:R;g="length"in c?tt(c.length):g,x="omission"in c?Qn(c.omission):x}s=St(s);var L=s.length;if(es(s)){var H=Pr(s);L=H.length}if(g>=L)return s;var F=g-ts(x);if(F<1)return x;var J=H?Wi(H,0,F).join(""):s.slice(0,F);if(R===i)return J+x;if(H&&(F+=J.length-F),rh(R)){if(s.slice(F).search(R)){var ie,se=J;for(R.global||(R=vf(R.source,St(cg.exec(R))+"g")),R.lastIndex=0;ie=R.exec(se);)var ce=ie.index;J=J.slice(0,ce===i?F:ce)}}else if(s.indexOf(Qn(R),F)!=F){var Te=J.lastIndexOf(R);Te>-1&&(J=J.slice(0,Te))}return J+x}function bR(s){return s=St(s),s&&Yd.test(s)?s.replace(dl,VO):s}var vR=as(function(s,c,g){return s+(g?" ":"")+c.toUpperCase()}),sh=Lm("toUpperCase");function Py(s,c,g){return s=St(s),c=g?i:c,c===i?UO(s)?YO(s):LO(s):s.match(c)||[]}var Iy=rt(function(s,c){try{return Zn(s,i,c)}catch(g){return nh(g)?g:new Ze(g)}}),wR=hi(function(s,c){return gr(c,function(g){g=Vr(g),di(s,g,eh(s[g],s))}),s});function ER(s){var c=s==null?0:s.length,g=Ue();return s=c?Ht(s,function(x){if(typeof x[1]!="function")throw new mr(o);return[g(x[0]),x[1]]}):[],rt(function(x){for(var R=-1;++R<c;){var L=s[R];if(Zn(L[0],this,x))return Zn(L[1],this,x)}})}function SR(s){return Vx(br(s,f))}function ah(s){return function(){return s}}function OR(s,c){return s==null||s!==s?c:s}var xR=km(),_R=km(!0);function Dn(s){return s}function lh(s){return dm(typeof s=="function"?s:br(s,f))}function TR(s){return hm(br(s,f))}function CR(s,c){return pm(s,br(c,f))}var AR=rt(function(s,c){return function(g){return aa(g,s,c)}}),RR=rt(function(s,c){return function(g){return aa(s,g,c)}});function ch(s,c,g){var x=tn(c),R=Fl(c,x);g==null&&!($t(c)&&(R.length||!x.length))&&(g=c,c=s,s=this,R=Fl(c,tn(c)));var L=!($t(g)&&"chain"in g)||!!g.chain,H=gi(s);return gr(R,function(F){var J=c[F];s[F]=J,H&&(s.prototype[F]=function(){var ie=this.__chain__;if(L||ie){var se=s(this.__wrapped__),ce=se.__actions__=Nn(this.__actions__);return ce.push({func:J,args:arguments,thisArg:s}),se.__chain__=ie,se}return J.apply(s,ji([this.value()],arguments))})}),s}function MR(){return en._===this&&(en._=nx),this}function uh(){}function PR(s){return s=tt(s),rt(function(c){return gm(c,s)})}var IR=$f(Ht),LR=$f(Ng),BR=$f(ff);function Ly(s){return Jf(s)?hf(Vr(s)):u_(s)}function kR(s){return function(c){return s==null?i:wo(s,c)}}var NR=Hm(),HR=Hm(!0);function dh(){return[]}function fh(){return!1}function jR(){return{}}function DR(){return""}function FR(){return!0}function $R(s,c){if(s=tt(s),s<1||s>be)return[];var g=he,x=mn(s,he);c=Ue(c),s-=he;for(var R=mf(x,c);++g<s;)c(g);return R}function UR(s){return Qe(s)?Ht(s,Vr):er(s)?[s]:Nn(Qm(St(s)))}function qR(s){var c=++ex;return St(s)+c}var zR=Gl(function(s,c){return s+c},0),WR=Uf("ceil"),GR=Gl(function(s,c){return s/c},1),VR=Uf("floor");function JR(s){return s&&s.length?Dl(s,Dn,Cf):i}function KR(s,c){return s&&s.length?Dl(s,Ue(c,2),Cf):i}function YR(s){return Dg(s,Dn)}function ZR(s,c){return Dg(s,Ue(c,2))}function XR(s){return s&&s.length?Dl(s,Dn,Pf):i}function QR(s,c){return s&&s.length?Dl(s,Ue(c,2),Pf):i}var eM=Gl(function(s,c){return s*c},1),tM=Uf("round"),nM=Gl(function(s,c){return s-c},0);function rM(s){return s&&s.length?gf(s,Dn):0}function iM(s,c){return s&&s.length?gf(s,Ue(c,2)):0}return M.after=TC,M.ary=uy,M.assign=hA,M.assignIn=xy,M.assignInWith=oc,M.assignWith=pA,M.at=gA,M.before=dy,M.bind=eh,M.bindAll=wR,M.bindKey=fy,M.castArray=jC,M.chain=ay,M.chunk=V_,M.compact=J_,M.concat=K_,M.cond=ER,M.conforms=SR,M.constant=ah,M.countBy=rC,M.create=mA,M.curry=hy,M.curryRight=py,M.debounce=gy,M.defaults=yA,M.defaultsDeep=bA,M.defer=CC,M.delay=AC,M.difference=Y_,M.differenceBy=Z_,M.differenceWith=X_,M.drop=Q_,M.dropRight=eT,M.dropRightWhile=tT,M.dropWhile=nT,M.fill=rT,M.filter=oC,M.flatMap=lC,M.flatMapDeep=cC,M.flatMapDepth=uC,M.flatten=ry,M.flattenDeep=iT,M.flattenDepth=oT,M.flip=RC,M.flow=xR,M.flowRight=_R,M.fromPairs=sT,M.functions=_A,M.functionsIn=TA,M.groupBy=dC,M.initial=lT,M.intersection=cT,M.intersectionBy=uT,M.intersectionWith=dT,M.invert=AA,M.invertBy=RA,M.invokeMap=hC,M.iteratee=lh,M.keyBy=pC,M.keys=tn,M.keysIn=jn,M.map=Ql,M.mapKeys=PA,M.mapValues=IA,M.matches=TR,M.matchesProperty=CR,M.memoize=tc,M.merge=LA,M.mergeWith=_y,M.method=AR,M.methodOf=RR,M.mixin=ch,M.negate=nc,M.nthArg=PR,M.omit=BA,M.omitBy=kA,M.once=MC,M.orderBy=gC,M.over=IR,M.overArgs=PC,M.overEvery=LR,M.overSome=BR,M.partial=th,M.partialRight=my,M.partition=mC,M.pick=NA,M.pickBy=Ty,M.property=Ly,M.propertyOf=kR,M.pull=gT,M.pullAll=oy,M.pullAllBy=mT,M.pullAllWith=yT,M.pullAt=bT,M.range=NR,M.rangeRight=HR,M.rearg=IC,M.reject=vC,M.remove=vT,M.rest=LC,M.reverse=Xf,M.sampleSize=EC,M.set=jA,M.setWith=DA,M.shuffle=SC,M.slice=wT,M.sortBy=_C,M.sortedUniq=CT,M.sortedUniqBy=AT,M.split=lR,M.spread=BC,M.tail=RT,M.take=MT,M.takeRight=PT,M.takeRightWhile=IT,M.takeWhile=LT,M.tap=JT,M.throttle=kC,M.thru=Xl,M.toArray=Ey,M.toPairs=Cy,M.toPairsIn=Ay,M.toPath=UR,M.toPlainObject=Oy,M.transform=FA,M.unary=NC,M.union=BT,M.unionBy=kT,M.unionWith=NT,M.uniq=HT,M.uniqBy=jT,M.uniqWith=DT,M.unset=$A,M.unzip=Qf,M.unzipWith=sy,M.update=UA,M.updateWith=qA,M.values=us,M.valuesIn=zA,M.without=FT,M.words=Py,M.wrap=HC,M.xor=$T,M.xorBy=UT,M.xorWith=qT,M.zip=zT,M.zipObject=WT,M.zipObjectDeep=GT,M.zipWith=VT,M.entries=Cy,M.entriesIn=Ay,M.extend=xy,M.extendWith=oc,ch(M,M),M.add=zR,M.attempt=Iy,M.camelCase=JA,M.capitalize=Ry,M.ceil=WR,M.clamp=WA,M.clone=DC,M.cloneDeep=$C,M.cloneDeepWith=UC,M.cloneWith=FC,M.conformsTo=qC,M.deburr=My,M.defaultTo=OR,M.divide=GR,M.endsWith=KA,M.eq=Lr,M.escape=YA,M.escapeRegExp=ZA,M.every=iC,M.find=sC,M.findIndex=ty,M.findKey=vA,M.findLast=aC,M.findLastIndex=ny,M.findLastKey=wA,M.floor=VR,M.forEach=ly,M.forEachRight=cy,M.forIn=EA,M.forInRight=SA,M.forOwn=OA,M.forOwnRight=xA,M.get=ih,M.gt=zC,M.gte=WC,M.has=CA,M.hasIn=oh,M.head=iy,M.identity=Dn,M.includes=fC,M.indexOf=aT,M.inRange=GA,M.invoke=MA,M.isArguments=Oo,M.isArray=Qe,M.isArrayBuffer=GC,M.isArrayLike=Hn,M.isArrayLikeObject=Wt,M.isBoolean=VC,M.isBuffer=Gi,M.isDate=JC,M.isElement=KC,M.isEmpty=YC,M.isEqual=ZC,M.isEqualWith=XC,M.isError=nh,M.isFinite=QC,M.isFunction=gi,M.isInteger=yy,M.isLength=rc,M.isMap=by,M.isMatch=eA,M.isMatchWith=tA,M.isNaN=nA,M.isNative=rA,M.isNil=oA,M.isNull=iA,M.isNumber=vy,M.isObject=$t,M.isObjectLike=Ut,M.isPlainObject=ha,M.isRegExp=rh,M.isSafeInteger=sA,M.isSet=wy,M.isString=ic,M.isSymbol=er,M.isTypedArray=cs,M.isUndefined=aA,M.isWeakMap=lA,M.isWeakSet=cA,M.join=fT,M.kebabCase=XA,M.last=wr,M.lastIndexOf=hT,M.lowerCase=QA,M.lowerFirst=eR,M.lt=uA,M.lte=dA,M.max=JR,M.maxBy=KR,M.mean=YR,M.meanBy=ZR,M.min=XR,M.minBy=QR,M.stubArray=dh,M.stubFalse=fh,M.stubObject=jR,M.stubString=DR,M.stubTrue=FR,M.multiply=eM,M.nth=pT,M.noConflict=MR,M.noop=uh,M.now=ec,M.pad=tR,M.padEnd=nR,M.padStart=rR,M.parseInt=iR,M.random=VA,M.reduce=yC,M.reduceRight=bC,M.repeat=oR,M.replace=sR,M.result=HA,M.round=tM,M.runInContext=G,M.sample=wC,M.size=OC,M.snakeCase=aR,M.some=xC,M.sortedIndex=ET,M.sortedIndexBy=ST,M.sortedIndexOf=OT,M.sortedLastIndex=xT,M.sortedLastIndexBy=_T,M.sortedLastIndexOf=TT,M.startCase=cR,M.startsWith=uR,M.subtract=nM,M.sum=rM,M.sumBy=iM,M.template=dR,M.times=$R,M.toFinite=mi,M.toInteger=tt,M.toLength=Sy,M.toLower=fR,M.toNumber=Er,M.toSafeInteger=fA,M.toString=St,M.toUpper=hR,M.trim=pR,M.trimEnd=gR,M.trimStart=mR,M.truncate=yR,M.unescape=bR,M.uniqueId=qR,M.upperCase=vR,M.upperFirst=sh,M.each=ly,M.eachRight=cy,M.first=iy,ch(M,function(){var s={};return Wr(M,function(c,g){xt.call(M.prototype,g)||(s[g]=c)}),s}(),{chain:!1}),M.VERSION=t,gr(["bind","bindKey","curry","curryRight","partial","partialRight"],function(s){M[s].placeholder=M}),gr(["drop","take"],function(s,c){ut.prototype[s]=function(g){g=g===i?1:Zt(tt(g),0);var x=this.__filtered__&&!c?new ut(this):this.clone();return x.__filtered__?x.__takeCount__=mn(g,x.__takeCount__):x.__views__.push({size:mn(g,he),type:s+(x.__dir__<0?"Right":"")}),x},ut.prototype[s+"Right"]=function(g){return this.reverse()[s](g).reverse()}}),gr(["filter","map","takeWhile"],function(s,c){var g=c+1,x=g==B||g==W;ut.prototype[s]=function(R){var L=this.clone();return L.__iteratees__.push({iteratee:Ue(R,3),type:g}),L.__filtered__=L.__filtered__||x,L}}),gr(["head","last"],function(s,c){var g="take"+(c?"Right":"");ut.prototype[s]=function(){return this[g](1).value()[0]}}),gr(["initial","tail"],function(s,c){var g="drop"+(c?"":"Right");ut.prototype[s]=function(){return this.__filtered__?new ut(this):this[g](1)}}),ut.prototype.compact=function(){return this.filter(Dn)},ut.prototype.find=function(s){return this.filter(s).head()},ut.prototype.findLast=function(s){return this.reverse().find(s)},ut.prototype.invokeMap=rt(function(s,c){return typeof s=="function"?new ut(this):this.map(function(g){return aa(g,s,c)})}),ut.prototype.reject=function(s){return this.filter(nc(Ue(s)))},ut.prototype.slice=function(s,c){s=tt(s);var g=this;return g.__filtered__&&(s>0||c<0)?new ut(g):(s<0?g=g.takeRight(-s):s&&(g=g.drop(s)),c!==i&&(c=tt(c),g=c<0?g.dropRight(-c):g.take(c-s)),g)},ut.prototype.takeRightWhile=function(s){return this.reverse().takeWhile(s).reverse()},ut.prototype.toArray=function(){return this.take(he)},Wr(ut.prototype,function(s,c){var g=/^(?:filter|find|map|reject)|While$/.test(c),x=/^(?:head|last)$/.test(c),R=M[x?"take"+(c=="last"?"Right":""):c],L=x||/^find/.test(c);!R||(M.prototype[c]=function(){var H=this.__wrapped__,F=x?[1]:arguments,J=H instanceof ut,ie=F[0],se=J||Qe(H),ce=function(at){var ht=R.apply(M,ji([at],F));return x&&Te?ht[0]:ht};se&&g&&typeof ie=="function"&&ie.length!=1&&(J=se=!1);var Te=this.__chain__,ke=!!this.__actions__.length,We=L&&!Te,nt=J&&!ke;if(!L&&se){H=nt?H:new ut(this);var Ge=s.apply(H,F);return Ge.__actions__.push({func:Xl,args:[ce],thisArg:i}),new yr(Ge,Te)}return We&&nt?s.apply(this,F):(Ge=this.thru(ce),We?x?Ge.value()[0]:Ge.value():Ge)})}),gr(["pop","push","shift","sort","splice","unshift"],function(s){var c=xl[s],g=/^(?:push|sort|unshift)$/.test(s)?"tap":"thru",x=/^(?:pop|shift)$/.test(s);M.prototype[s]=function(){var R=arguments;if(x&&!this.__chain__){var L=this.value();return c.apply(Qe(L)?L:[],R)}return this[g](function(H){return c.apply(Qe(H)?H:[],R)})}}),Wr(ut.prototype,function(s,c){var g=M[c];if(g){var x=g.name+"";xt.call(is,x)||(is[x]=[]),is[x].push({name:c,func:g})}}),is[Wl(i,y).name]=[{name:"wrapper",func:i}],ut.prototype.clone=bx,ut.prototype.reverse=vx,ut.prototype.value=wx,M.prototype.at=KT,M.prototype.chain=YT,M.prototype.commit=ZT,M.prototype.next=XT,M.prototype.plant=eC,M.prototype.reverse=tC,M.prototype.toJSON=M.prototype.valueOf=M.prototype.value=nC,M.prototype.first=M.prototype.head,ea&&(M.prototype[ea]=QT),M},Fi=ZO();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(en._=Fi,define(function(){return Fi})):go?((go.exports=Fi)._=Fi,lf._=Fi):en._=Fi}).call(qs)});var w0=Y((S9,v0)=>{A();var T4=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof window.msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto);T4?(y0=new Uint8Array(16),v0.exports=function(){return T4(y0),y0}):(b0=new Array(16),v0.exports=function(){for(var t=0,n;t<16;t++)(t&3)==0&&(n=Math.random()*4294967296),b0[t]=n>>>((t&3)<<3)&255;return b0});var y0,b0});var E0=Y((O9,A4)=>{A();var C4=[];for(Xa=0;Xa<256;++Xa)C4[Xa]=(Xa+256).toString(16).substr(1);var Xa;function T8(i,t){var n=t||0,r=C4;return[r[i[n++]],r[i[n++]],r[i[n++]],r[i[n++]],"-",r[i[n++]],r[i[n++]],"-",r[i[n++]],r[i[n++]],"-",r[i[n++]],r[i[n++]],"-",r[i[n++]],r[i[n++]],r[i[n++]],r[i[n++]],r[i[n++]],r[i[n++]]].join("")}A4.exports=T8});var P4=Y((x9,M4)=>{A();var C8=w0(),A8=E0(),R4,S0,O0=0,x0=0;function R8(i,t,n){var r=t&&n||0,o=t||[];i=i||{};var a=i.node||R4,l=i.clockseq!==void 0?i.clockseq:S0;if(a==null||l==null){var u=C8();a==null&&(a=R4=[u[0]|1,u[1],u[2],u[3],u[4],u[5]]),l==null&&(l=S0=(u[6]<<8|u[7])&16383)}var d=i.msecs!==void 0?i.msecs:new Date().getTime(),f=i.nsecs!==void 0?i.nsecs:x0+1,m=d-O0+(f-x0)/1e4;if(m<0&&i.clockseq===void 0&&(l=l+1&16383),(m<0||d>O0)&&i.nsecs===void 0&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");O0=d,x0=f,S0=l,d+=122192928e5;var p=((d&268435455)*1e4+f)%4294967296;o[r++]=p>>>24&255,o[r++]=p>>>16&255,o[r++]=p>>>8&255,o[r++]=p&255;var E=d/4294967296*1e4&268435455;o[r++]=E>>>8&255,o[r++]=E&255,o[r++]=E>>>24&15|16,o[r++]=E>>>16&255,o[r++]=l>>>8|128,o[r++]=l&255;for(var S=0;S<6;++S)o[r+S]=a[S];return t||A8(o)}M4.exports=R8});var L4=Y((_9,I4)=>{A();var M8=w0(),P8=E0();function I8(i,t,n){var r=t&&n||0;typeof i=="string"&&(t=i==="binary"?new Array(16):null,i=null),i=i||{};var o=i.random||(i.rng||M8)();if(o[6]=o[6]&15|64,o[8]=o[8]&63|128,t)for(var a=0;a<16;++a)t[r+a]=o[a];return t||P8(o)}I4.exports=I8});var T0=Y((T9,k4)=>{A();var L8=P4(),B4=L4(),_0=B4;_0.v1=L8;_0.v4=B4;k4.exports=_0});var j4=Y(Ws=>{A();"use strict";var A0;Object.defineProperty(Ws,"__esModule",{value:!0});Ws.MediaOverlayNode=Ws.timeStrToSeconds=void 0;var Li=Yr(),io=Rn(),k8=_s();function N8(i){if(!i)return 0;i=i.replace("npt=","");let t=0,n=0,r=0;try{let o=i.indexOf("min");if(o>0){let a=i.substr(0,o);n=parseFloat(a)}else{let a=i.indexOf("ms");if(a>0){let l=i.substr(0,a);r=parseFloat(l)/1e3}else{let l=i.indexOf("s");if(l>0){let u=i.substr(0,l);r=parseFloat(u)}else{let u=i.indexOf("h");if(u>0){let d=i.substr(0,u);t=parseFloat(d)}else{let d=i.split(":");d.length===1?r=parseFloat(d[0]):d.length===2?(n=parseFloat(d[0]),r=parseFloat(d[1])):d.length===3?(t=parseFloat(d[0]),n=parseFloat(d[1]),r=parseFloat(d[2])):(console.log("SMIL TIME CLOCK SYNTAX PARSING ERROR ??"),console.log(i))}}}}}catch(o){return console.log(o),console.log("SMIL TIME CLOCK SYNTAX PARSING ERROR!"),console.log(i),0}return t*3600+n*60+r}Ws.timeStrToSeconds=N8;var Uo=A0=class{constructor(){this.initialized=!1}};Li.__decorate([(0,io.JsonProperty)("text"),Li.__metadata("design:type",String)],Uo.prototype,"Text",void 0);Li.__decorate([(0,io.JsonProperty)("audio"),Li.__metadata("design:type",String)],Uo.prototype,"Audio",void 0);Li.__decorate([(0,io.JsonProperty)("role"),(0,io.JsonConverter)(k8.JsonStringConverter),(0,io.JsonElementType)(String),Li.__metadata("design:type",Array)],Uo.prototype,"Role",void 0);Li.__decorate([(0,io.JsonProperty)("narration"),(0,io.JsonElementType)(A0),Li.__metadata("design:type",Array)],Uo.prototype,"Children",void 0);Uo=A0=Li.__decorate([(0,io.JsonObject)()],Uo);Ws.MediaOverlayNode=Uo});var U4=Y(h=>{A();"use strict";var e;h.browser=Object.create(null);e=Object.create(null);e[0]=new RegExp("(Rival IQ, rivaliq.com)");e[1]="Rival IQ";e[2]=0;e[3]=0;e[4]=0;h.browser[0]=e;e=Object.create(null);e[0]=new RegExp("(ESPN)[%20| ]+Radio/(\\d+)\\.(\\d+)\\.(\\d+) CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[1]=e;e=Object.create(null);e[0]=new RegExp("(Antenna)/(\\d+) CFNetwork");e[1]="AntennaPod";e[2]=0;e[3]=0;e[4]=0;h.browser[2]=e;e=Object.create(null);e[0]=new RegExp("(TopPodcasts)Pro/(\\d+) CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[3]=e;e=Object.create(null);e[0]=new RegExp("(MusicDownloader)Lite/(\\d+)\\.(\\d+)\\.(\\d+) CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[4]=e;e=Object.create(null);e[0]=new RegExp("^(.*)-iPad/(\\d+)\\.?(\\d+)?.?(\\d+)?.?(\\d+)? CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[5]=e;e=Object.create(null);e[0]=new RegExp("^(.*)-iPhone/(\\d+)\\.?(\\d+)?.?(\\d+)?.?(\\d+)? CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[6]=e;e=Object.create(null);e[0]=new RegExp("^(.*)/(\\d+)\\.?(\\d+)?.?(\\d+)?.?(\\d+)? CFNetwork");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[7]=e;e=Object.create(null);e[0]=new RegExp("(espn\\.go)");e[1]="ESPN";e[2]=0;e[3]=0;e[4]=0;h.browser[8]=e;e=Object.create(null);e[0]=new RegExp("(espnradio\\.com)");e[1]="ESPN";e[2]=0;e[3]=0;e[4]=0;h.browser[9]=e;e=Object.create(null);e[0]=new RegExp("ESPN APP$");e[1]="ESPN";e[2]=0;e[3]=0;e[4]=0;h.browser[10]=e;e=Object.create(null);e[0]=new RegExp("(audioboom\\.com)");e[1]="AudioBoom";e[2]=0;e[3]=0;e[4]=0;h.browser[11]=e;e=Object.create(null);e[0]=new RegExp(" (Rivo) RHYTHM");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[12]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)(?:/(\\d+)\\.(\\d+)\\.?(\\d+)?)?");e[1]="CFNetwork";e[2]=0;e[3]=0;e[4]=0;h.browser[13]=e;e=Object.create(null);e[0]=new RegExp("(Pingdom.com_bot_version_)(\\d+)\\.(\\d+)");e[1]="PingdomBot";e[2]=0;e[3]=0;e[4]=0;h.browser[14]=e;e=Object.create(null);e[0]=new RegExp("(PingdomTMS)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="PingdomBot";e[2]=0;e[3]=0;e[4]=0;h.browser[15]=e;e=Object.create(null);e[0]=new RegExp("(NewRelicPinger)/(\\d+)\\.(\\d+)");e[1]="NewRelicPingerBot";e[2]=0;e[3]=0;e[4]=0;h.browser[16]=e;e=Object.create(null);e[0]=new RegExp("(\\(StatusCake\\))");e[1]="StatusCakeBot";e[2]=0;e[3]=0;e[4]=0;h.browser[17]=e;e=Object.create(null);e[0]=new RegExp("(facebookexternalhit)/(\\d+)\\.(\\d+)");e[1]="FacebookBot";e[2]=0;e[3]=0;e[4]=0;h.browser[18]=e;e=Object.create(null);e[0]=new RegExp("Google.*/\\+/web/snippet");e[1]="GooglePlusBot";e[2]=0;e[3]=0;e[4]=0;h.browser[19]=e;e=Object.create(null);e[0]=new RegExp("via ggpht.com GoogleImageProxy");e[1]="GmailImageProxy";e[2]=0;e[3]=0;e[4]=0;h.browser[20]=e;e=Object.create(null);e[0]=new RegExp("(Twitterbot)/(\\d+)\\.(\\d+)");e[1]="TwitterBot";e[2]=0;e[3]=0;e[4]=0;h.browser[21]=e;e=Object.create(null);e[0]=new RegExp("/((?:Ant-)?Nutch|[A-z]+[Bb]ot|[A-z]+[Ss]pider|Axtaris|fetchurl|Isara|ShopSalad|Tailsweep)[ \\-](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[22]=e;e=Object.create(null);e[0]=new RegExp("\\b(008|Altresium|Argus|BaiduMobaider|BoardReader|DNSGroup|DataparkSearch|EDI|Goodzer|Grub|INGRID|Infohelfer|LinkedInBot|LOOQ|Nutch|PathDefender|Peew|PostPost|Steeler|Twitterbot|VSE|WebCrunch|WebZIP|Y!J-BR[A-Z]|YahooSeeker|envolk|sproose|wminer)/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[23]=e;e=Object.create(null);e[0]=new RegExp("(MSIE) (\\d+)\\.(\\d+)([a-z]\\d?)?;.* MSIECrawler");e[1]="MSIECrawler";e[2]=0;e[3]=0;e[4]=0;h.browser[24]=e;e=Object.create(null);e[0]=new RegExp("(DAVdroid)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[25]=e;e=Object.create(null);e[0]=new RegExp("(Google-HTTP-Java-Client|Apache-HttpClient|http%20client|Python-urllib|HttpMonitor|TLSProber|WinHTTP|JNLP|okhttp)(?:[ /](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[26]=e;e=Object.create(null);e[0]=new RegExp("(Pinterest(?:bot)?)/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?[;\\s\\(]+\\+https://www.pinterest.com/bot.html");e[1]="Pinterestbot";e[2]=0;e[3]=0;e[4]=0;h.browser[27]=e;e=Object.create(null);e[0]=new RegExp("(1470\\.net crawler|50\\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]+-Agent|AdsBot-Google(?:-[a-z]+)?|altavista|AppEngine-Google|archive.*?\\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]+)*|bingbot|BingPreview|blitzbot|BlogBridge|Bloglovin|BoardReader(?: [A-Za-z]+)*|boitho.com-dc|BotSeer|\\b\\w*favicon\\w*\\b|\\bYeti(?:-[a-z]+)?|Catchpoint(?: bot)?|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\\(S\\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher)?|Feed Seeker Bot|Feedbin|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]+-)?Googlebot(?:-[a-zA-Z]+)?|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile)?|IconSurf|IlTrovatore(?:-Setaccio)?|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]+Bot|jbot\\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\\.RU_Bot|masscan|masidani_bot|Mediapartners-Google|Microsoft .*? Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media *)?|msrbot|Mtps Feed Aggregation System|netresearch|Netvibes|NewsGator[^/]*|^NING|Nutch[^/]*|Nymesis|ObjectsSearch|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PlantyNet_WebRobot|Pompos|Qwantify|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|Stringer|TheUsefulbot|ThumbShotsBot|Thumbshots\\.ru|Tiny Tiny RSS|TwitterBot|WhatsApp|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]+|WhatWeb|WIRE|WordPress|Wotbox|www\\.almaden\\.ibm\\.com|Xenu(?:.s)? Link Sleuth|Xerka [A-z]+Bot|yacy(?:bot)?|Yahoo[a-z]*Seeker|Yahoo! Slurp|Yandex\\w+|YodaoBot(?:-[A-z]+)?|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\\.ze\\.bz|ZooShot|ZyBorg)(?:[ /]v?(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[28]=e;e=Object.create(null);e[0]=new RegExp("(?:\\/[A-Za-z0-9\\.]+)? *([A-Za-z0-9 \\-_\\!\\[\\]:]*(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]*))/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[29]=e;e=Object.create(null);e[0]=new RegExp("(?:\\/[A-Za-z0-9\\.]+)? *([A-Za-z0-9 _\\!\\[\\]:]*(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]*)) (\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[30]=e;e=Object.create(null);e[0]=new RegExp("((?:[A-z0-9]+|[A-z\\-]+ ?)?(?: the )?(?:[Ss][Pp][Ii][Dd][Ee][Rr]|[Ss]crape|[A-Za-z0-9-]*(?:[^C][^Uu])[Bb]ot|[Cc][Rr][Aa][Ww][Ll])[A-z0-9]*)(?:(?:[ /]| v)(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[31]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/(\\d+)\\.(\\d+)\\.(\\d+) \\(");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[32]=e;e=Object.create(null);e[0]=new RegExp("(Chimera|SeaMonkey|Camino)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[33]=e;e=Object.create(null);e[0]=new RegExp("\\[FB.*;(FBAV)/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]="Facebook";e[2]=0;e[3]=0;e[4]=0;h.browser[34]=e;e=Object.create(null);e[0]=new RegExp("\\[(Pinterest)/[^\\]]+\\]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[35]=e;e=Object.create(null);e[0]=new RegExp("(Pinterest)(?: for Android(?: Tablet)?)?/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[36]=e;e=Object.create(null);e[0]=new RegExp("(PaleMoon)/(\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]="Pale Moon";e[2]=0;e[3]=0;e[4]=0;h.browser[37]=e;e=Object.create(null);e[0]=new RegExp("(Fennec)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)");e[1]="Firefox Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[38]=e;e=Object.create(null);e[0]=new RegExp("(Fennec)/(\\d+)\\.(\\d+)(pre)");e[1]="Firefox Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[39]=e;e=Object.create(null);e[0]=new RegExp("(Fennec)/(\\d+)\\.(\\d+)");e[1]="Firefox Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[40]=e;e=Object.create(null);e[0]=new RegExp("(?:Mobile|Tablet);.*(Firefox)/(\\d+)\\.(\\d+)");e[1]="Firefox Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[41]=e;e=Object.create(null);e[0]=new RegExp("(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?)");e[1]="Firefox ($1)";e[2]=0;e[3]=0;e[4]=0;h.browser[42]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)(a\\d+[a-z]*)");e[1]="Firefox Alpha";e[2]=0;e[3]=0;e[4]=0;h.browser[43]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)(b\\d+[a-z]*)");e[1]="Firefox Beta";e[2]=0;e[3]=0;e[4]=0;h.browser[44]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)-(?:\\d+\\.\\d+)?/(\\d+)\\.(\\d+)(a\\d+[a-z]*)");e[1]="Firefox Alpha";e[2]=0;e[3]=0;e[4]=0;h.browser[45]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)-(?:\\d+\\.\\d+)?/(\\d+)\\.(\\d+)(b\\d+[a-z]*)");e[1]="Firefox Beta";e[2]=0;e[3]=0;e[4]=0;h.browser[46]=e;e=Object.create(null);e[0]=new RegExp("(Namoroka|Shiretoko|Minefield)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)?");e[1]="Firefox ($1)";e[2]=0;e[3]=0;e[4]=0;h.browser[47]=e;e=Object.create(null);e[0]=new RegExp("(Firefox).*Tablet browser (\\d+)\\.(\\d+)\\.(\\d+)");e[1]="MicroB";e[2]=0;e[3]=0;e[4]=0;h.browser[48]=e;e=Object.create(null);e[0]=new RegExp("(MozillaDeveloperPreview)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[49]=e;e=Object.create(null);e[0]=new RegExp("(FxiOS)/(\\d+)\\.(\\d+)(\\.(\\d+))?(\\.(\\d+))?");e[1]="Firefox iOS";e[2]=0;e[3]=0;e[4]=0;h.browser[50]=e;e=Object.create(null);e[0]=new RegExp("(Flock)/(\\d+)\\.(\\d+)(b\\d+?)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[51]=e;e=Object.create(null);e[0]=new RegExp("(RockMelt)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[52]=e;e=Object.create(null);e[0]=new RegExp("(Navigator)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Netscape";e[2]=0;e[3]=0;e[4]=0;h.browser[53]=e;e=Object.create(null);e[0]=new RegExp("(Navigator)/(\\d+)\\.(\\d+)([ab]\\d+)");e[1]="Netscape";e[2]=0;e[3]=0;e[4]=0;h.browser[54]=e;e=Object.create(null);e[0]=new RegExp("(Netscape6)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+)?");e[1]="Netscape";e[2]=0;e[3]=0;e[4]=0;h.browser[55]=e;e=Object.create(null);e[0]=new RegExp("(MyIBrow)/(\\d+)\\.(\\d+)");e[1]="My Internet Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[56]=e;e=Object.create(null);e[0]=new RegExp("(UC? ?Browser|UCWEB|U3)[ /]?(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="UC Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[57]=e;e=Object.create(null);e[0]=new RegExp("(Opera Tablet).*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[58]=e;e=Object.create(null);e[0]=new RegExp("(Opera Mini)(?:/att)?/?(\\d+)?(?:\\.(\\d+))?(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[59]=e;e=Object.create(null);e[0]=new RegExp("(Opera)/.+Opera Mobi.+Version/(\\d+)\\.(\\d+)");e[1]="Opera Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[60]=e;e=Object.create(null);e[0]=new RegExp("(Opera)/(\\d+)\\.(\\d+).+Opera Mobi");e[1]="Opera Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[61]=e;e=Object.create(null);e[0]=new RegExp("Opera Mobi.+(Opera)(?:/|\\s+)(\\d+)\\.(\\d+)");e[1]="Opera Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[62]=e;e=Object.create(null);e[0]=new RegExp("Opera Mobi");e[1]="Opera Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[63]=e;e=Object.create(null);e[0]=new RegExp("(Opera)/9.80.*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[64]=e;e=Object.create(null);e[0]=new RegExp("(?:Mobile Safari).*(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Opera Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[65]=e;e=Object.create(null);e[0]=new RegExp("(?:Chrome).*(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Opera";e[2]=0;e[3]=0;e[4]=0;h.browser[66]=e;e=Object.create(null);e[0]=new RegExp("(Coast)/(\\d+).(\\d+).(\\d+)");e[1]="Opera Coast";e[2]=0;e[3]=0;e[4]=0;h.browser[67]=e;e=Object.create(null);e[0]=new RegExp("(OPiOS)/(\\d+).(\\d+).(\\d+)");e[1]="Opera Mini";e[2]=0;e[3]=0;e[4]=0;h.browser[68]=e;e=Object.create(null);e[0]=new RegExp("Chrome/.+( MMS)/(\\d+).(\\d+).(\\d+)");e[1]="Opera Neon";e[2]=0;e[3]=0;e[4]=0;h.browser[69]=e;e=Object.create(null);e[0]=new RegExp("(hpw|web)OS/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="webOS Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[70]=e;e=Object.create(null);e[0]=new RegExp("(luakit)");e[1]="LuaKit";e[2]=0;e[3]=0;e[4]=0;h.browser[71]=e;e=Object.create(null);e[0]=new RegExp("(Snowshoe)/(\\d+)\\.(\\d+).(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[72]=e;e=Object.create(null);e[0]=new RegExp("Gecko/\\d+ (Lightning)/(\\d+)\\.(\\d+)\\.?((?:[ab]?\\d+[a-z]*)|(?:\\d*))");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[73]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+(?:pre)?) \\(Swiftfox\\)");e[1]="Swiftfox";e[2]=0;e[3]=0;e[4]=0;h.browser[74]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)([ab]\\d+[a-z]*)? \\(Swiftfox\\)");e[1]="Swiftfox";e[2]=0;e[3]=0;e[4]=0;h.browser[75]=e;e=Object.create(null);e[0]=new RegExp("(rekonq)/(\\d+)\\.(\\d+)\\.?(\\d+)? Safari");e[1]="Rekonq";e[2]=0;e[3]=0;e[4]=0;h.browser[76]=e;e=Object.create(null);e[0]=new RegExp("rekonq");e[1]="Rekonq";e[2]=0;e[3]=0;e[4]=0;h.browser[77]=e;e=Object.create(null);e[0]=new RegExp("(conkeror|Conkeror)/(\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]="Conkeror";e[2]=0;e[3]=0;e[4]=0;h.browser[78]=e;e=Object.create(null);e[0]=new RegExp("(konqueror)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Konqueror";e[2]=0;e[3]=0;e[4]=0;h.browser[79]=e;e=Object.create(null);e[0]=new RegExp("(WeTab)-Browser");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[80]=e;e=Object.create(null);e[0]=new RegExp("(Comodo_Dragon)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Comodo Dragon";e[2]=0;e[3]=0;e[4]=0;h.browser[81]=e;e=Object.create(null);e[0]=new RegExp("(Symphony) (\\d+).(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[82]=e;e=Object.create(null);e[0]=new RegExp("PLAYSTATION 3.+WebKit");e[1]="NetFront NX";e[2]=0;e[3]=0;e[4]=0;h.browser[83]=e;e=Object.create(null);e[0]=new RegExp("PLAYSTATION 3");e[1]="NetFront";e[2]=0;e[3]=0;e[4]=0;h.browser[84]=e;e=Object.create(null);e[0]=new RegExp("(PlayStation Portable)");e[1]="NetFront";e[2]=0;e[3]=0;e[4]=0;h.browser[85]=e;e=Object.create(null);e[0]=new RegExp("(PlayStation Vita)");e[1]="NetFront NX";e[2]=0;e[3]=0;e[4]=0;h.browser[86]=e;e=Object.create(null);e[0]=new RegExp("AppleWebKit.+ (NX)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="NetFront NX";e[2]=0;e[3]=0;e[4]=0;h.browser[87]=e;e=Object.create(null);e[0]=new RegExp("(Nintendo 3DS)");e[1]="NetFront NX";e[2]=0;e[3]=0;e[4]=0;h.browser[88]=e;e=Object.create(null);e[0]=new RegExp("(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+))?");e[1]="Amazon Silk";e[2]=0;e[3]=0;e[4]=0;h.browser[89]=e;e=Object.create(null);e[0]=new RegExp("(Puffin)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[90]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone .*(Edge)/(\\d+)\\.(\\d+)");e[1]="Edge Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[91]=e;e=Object.create(null);e[0]=new RegExp("(SamsungBrowser)/(\\d+)\\.(\\d+)");e[1]="Samsung Internet";e[2]=0;e[3]=0;e[4]=0;h.browser[92]=e;e=Object.create(null);e[0]=new RegExp("(SznProhlizec)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Seznam.cz";e[2]=0;e[3]=0;e[4]=0;h.browser[93]=e;e=Object.create(null);e[0]=new RegExp("(coc_coc_browser)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Coc Coc";e[2]=0;e[3]=0;e[4]=0;h.browser[94]=e;e=Object.create(null);e[0]=new RegExp("(baidubrowser)[/\\s](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]="Baidu Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[95]=e;e=Object.create(null);e[0]=new RegExp("(FlyFlow)/(\\d+)\\.(\\d+)");e[1]="Baidu Explorer";e[2]=0;e[3]=0;e[4]=0;h.browser[96]=e;e=Object.create(null);e[0]=new RegExp("(MxBrowser)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Maxthon";e[2]=0;e[3]=0;e[4]=0;h.browser[97]=e;e=Object.create(null);e[0]=new RegExp("(Crosswalk)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[98]=e;e=Object.create(null);e[0]=new RegExp("; wv\\).+(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Chrome Mobile WebView";e[2]=0;e[3]=0;e[4]=0;h.browser[99]=e;e=Object.create(null);e[0]=new RegExp("(CrMo)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Chrome Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[100]=e;e=Object.create(null);e[0]=new RegExp("(CriOS)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Chrome Mobile iOS";e[2]=0;e[3]=0;e[4]=0;h.browser[101]=e;e=Object.create(null);e[0]=new RegExp("(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) Mobile(?:[ /]|$)");e[1]="Chrome Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[102]=e;e=Object.create(null);e[0]=new RegExp(" Mobile .*(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Chrome Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[103]=e;e=Object.create(null);e[0]=new RegExp("(chromeframe)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Chrome Frame";e[2]=0;e[3]=0;e[4]=0;h.browser[104]=e;e=Object.create(null);e[0]=new RegExp("(SLP Browser)/(\\d+)\\.(\\d+)");e[1]="Tizen Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[105]=e;e=Object.create(null);e[0]=new RegExp("(SE 2\\.X) MetaSr (\\d+)\\.(\\d+)");e[1]="Sogou Explorer";e[2]=0;e[3]=0;e[4]=0;h.browser[106]=e;e=Object.create(null);e[0]=new RegExp("(MQQBrowser/Mini)(?:(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]="QQ Browser Mini";e[2]=0;e[3]=0;e[4]=0;h.browser[107]=e;e=Object.create(null);e[0]=new RegExp("(MQQBrowser)(?:/(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]="QQ Browser Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[108]=e;e=Object.create(null);e[0]=new RegExp("(QQBrowser)(?:/(\\d+)(?:\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]="QQ Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[109]=e;e=Object.create(null);e[0]=new RegExp("(Rackspace Monitoring)/(\\d+)\\.(\\d+)");e[1]="RackspaceBot";e[2]=0;e[3]=0;e[4]=0;h.browser[110]=e;e=Object.create(null);e[0]=new RegExp("(PyAMF)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[111]=e;e=Object.create(null);e[0]=new RegExp("(YaBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Yandex Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[112]=e;e=Object.create(null);e[0]=new RegExp("(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+).* MRCHROME");e[1]="Mail.ru Chromium Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[113]=e;e=Object.create(null);e[0]=new RegExp("(AOL) (\\d+)\\.(\\d+); AOLBuild (\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[114]=e;e=Object.create(null);e[0]=new RegExp("(PodCruncher|Downcast)[ /]?(\\d+)\\.?(\\d+)?\\.?(\\d+)?\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[115]=e;e=Object.create(null);e[0]=new RegExp(" (BoxNotes)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[116]=e;e=Object.create(null);e[0]=new RegExp("(Slack_SSB)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Slack Desktop Client";e[2]=0;e[3]=0;e[4]=0;h.browser[117]=e;e=Object.create(null);e[0]=new RegExp("(HipChat)/?(\\d+)?");e[1]="HipChat Desktop Client";e[2]=0;e[3]=0;e[4]=0;h.browser[118]=e;e=Object.create(null);e[0]=new RegExp("\\b(MobileIron|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Spotify|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave|MacOutlook|Electron)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[119]=e;e=Object.create(null);e[0]=new RegExp("Microsoft Office Outlook 12\\.\\d+\\.\\d+|MSOffice 12");e[1]="Outlook";e[2]="2007";e[3]=0;e[4]=0;h.browser[120]=e;e=Object.create(null);e[0]=new RegExp("Microsoft Outlook 14\\.\\d+\\.\\d+|MSOffice 14");e[1]="Outlook";e[2]="2010";e[3]=0;e[4]=0;h.browser[121]=e;e=Object.create(null);e[0]=new RegExp("Microsoft Outlook 15\\.\\d+\\.\\d+");e[1]="Outlook";e[2]="2013";e[3]=0;e[4]=0;h.browser[122]=e;e=Object.create(null);e[0]=new RegExp("Microsoft Outlook (?:Mail )?16\\.\\d+\\.\\d+");e[1]="Outlook";e[2]="2016";e[3]=0;e[4]=0;h.browser[123]=e;e=Object.create(null);e[0]=new RegExp("Outlook-Express\\/7\\.0.*");e[1]="Windows Live Mail";e[2]=0;e[3]=0;e[4]=0;h.browser[124]=e;e=Object.create(null);e[0]=new RegExp("(Airmail) (\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[125]=e;e=Object.create(null);e[0]=new RegExp("(Thunderbird)/(\\d+)\\.(\\d+)(?:\\.(\\d+(?:pre)?))?");e[1]="Thunderbird";e[2]=0;e[3]=0;e[4]=0;h.browser[126]=e;e=Object.create(null);e[0]=new RegExp("(Postbox)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Postbox";e[2]=0;e[3]=0;e[4]=0;h.browser[127]=e;e=Object.create(null);e[0]=new RegExp("(Barca(?:Pro)?)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Barca";e[2]=0;e[3]=0;e[4]=0;h.browser[128]=e;e=Object.create(null);e[0]=new RegExp("(Lotus-Notes)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Lotus Notes";e[2]=0;e[3]=0;e[4]=0;h.browser[129]=e;e=Object.create(null);e[0]=new RegExp("(Vivaldi)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[130]=e;e=Object.create(null);e[0]=new RegExp("(Edge)/(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[131]=e;e=Object.create(null);e[0]=new RegExp("(brave)/(\\d+)\\.(\\d+)\\.(\\d+) Chrome");e[1]="Brave";e[2]=0;e[3]=0;e[4]=0;h.browser[132]=e;e=Object.create(null);e[0]=new RegExp("(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)[\\d.]* Iron[^/]");e[1]="Iron";e[2]=0;e[3]=0;e[4]=0;h.browser[133]=e;e=Object.create(null);e[0]=new RegExp("\\b(Dolphin)(?: |HDCN/|/INT\\-)(\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[134]=e;e=Object.create(null);e[0]=new RegExp("(HeadlessChrome)(?:/(\\d+)\\.(\\d+)\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[135]=e;e=Object.create(null);e[0]=new RegExp("(Evolution)/(\\d+)\\.(\\d+)\\.(\\d+\\.\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[136]=e;e=Object.create(null);e[0]=new RegExp("(RCM CardDAV plugin)/(\\d+)\\.(\\d+)\\.(\\d+(?:-dev)?)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[137]=e;e=Object.create(null);e[0]=new RegExp("(bingbot|Bolt|AdobeAIR|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|iTunes|MacAppStore|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin|qutebrowser|Otter|QupZilla|MailBar|kmail2|YahooMobileMail|ExchangeWebServices|ExchangeServicesClient|Dragon|Outlook-iOS-Android)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[138]=e;e=Object.create(null);e[0]=new RegExp("(Chromium|Chrome)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[139]=e;e=Object.create(null);e[0]=new RegExp("(IEMobile)[ /](\\d+)\\.(\\d+)");e[1]="IE Mobile";e[2]=0;e[3]=0;e[4]=0;h.browser[140]=e;e=Object.create(null);e[0]=new RegExp("(BacaBerita App)\\/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[141]=e;e=Object.create(null);e[0]=new RegExp("^(bPod|Pocket Casts|Player FM)$");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[142]=e;e=Object.create(null);e[0]=new RegExp("^(AlexaMediaPlayer|VLC)/(\\d+)\\.(\\d+)\\.([^.\\s]+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[143]=e;e=Object.create(null);e[0]=new RegExp("^(AntennaPod|WMPlayer|Zune|Podkicker|Radio|ExoPlayerDemo|Overcast|PocketTunes|NSPlayer|okhttp|DoggCatcher|QuickNews|QuickTime|Peapod|Podcasts|GoldenPod|VLC|Spotify|Miro|MediaGo|Juice|iPodder|gPodder|Banshee)/(\\d+)\\.(\\d+)\\.?(\\d+)?\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[144]=e;e=Object.create(null);e[0]=new RegExp("^(Peapod|Liferea)/([^.\\s]+)\\.([^.\\s]+)?\\.?([^.\\s]+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[145]=e;e=Object.create(null);e[0]=new RegExp("^(bPod|Player FM) BMID/(\\S+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[146]=e;e=Object.create(null);e[0]=new RegExp("^(Podcast ?Addict)/v(\\d+) ");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[147]=e;e=Object.create(null);e[0]=new RegExp("^(Podcast ?Addict) ");e[1]="PodcastAddict";e[2]=0;e[3]=0;e[4]=0;h.browser[148]=e;e=Object.create(null);e[0]=new RegExp("(Replay) AV");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[149]=e;e=Object.create(null);e[0]=new RegExp("(VOX) Music Player");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[150]=e;e=Object.create(null);e[0]=new RegExp("(CITA) RSS Aggregator/(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[151]=e;e=Object.create(null);e[0]=new RegExp("(Pocket Casts)$");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[152]=e;e=Object.create(null);e[0]=new RegExp("(Player FM)$");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[153]=e;e=Object.create(null);e[0]=new RegExp("(LG Player|Doppler|FancyMusic|MediaMonkey|Clementine) (\\d+)\\.(\\d+)\\.?([^.\\s]+)?\\.?([^.\\s]+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[154]=e;e=Object.create(null);e[0]=new RegExp("(philpodder)/(\\d+)\\.(\\d+)\\.?([^.\\s]+)?\\.?([^.\\s]+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[155]=e;e=Object.create(null);e[0]=new RegExp("(Player FM|Pocket Casts|DoggCatcher|Spotify|MediaMonkey|MediaGo|BashPodder)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[156]=e;e=Object.create(null);e[0]=new RegExp("(QuickTime)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[157]=e;e=Object.create(null);e[0]=new RegExp("(Kinoma)(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[158]=e;e=Object.create(null);e[0]=new RegExp("(Fancy) Cloud Music (\\d+)\\.(\\d+)");e[1]="FancyMusic";e[2]=0;e[3]=0;e[4]=0;h.browser[159]=e;e=Object.create(null);e[0]=new RegExp("EspnDownloadManager");e[1]="ESPN";e[2]=0;e[3]=0;e[4]=0;h.browser[160]=e;e=Object.create(null);e[0]=new RegExp("(ESPN) Radio (\\d+)\\.(\\d+)\\.?(\\d+)? ?[rv:]?(\\d+)? ");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[161]=e;e=Object.create(null);e[0]=new RegExp("(podracer|jPodder) v ?(\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[162]=e;e=Object.create(null);e[0]=new RegExp("(ZDM)/(\\d+)\\.(\\d+)[; ]?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[163]=e;e=Object.create(null);e[0]=new RegExp("(Zune|BeyondPod) (\\d+)\\.?(\\d+)?[\\);]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[164]=e;e=Object.create(null);e[0]=new RegExp("(WMPlayer)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[165]=e;e=Object.create(null);e[0]=new RegExp("^(Lavf)");e[1]="WMPlayer";e[2]=0;e[3]=0;e[4]=0;h.browser[166]=e;e=Object.create(null);e[0]=new RegExp("^(RSSRadio)[ /]?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[167]=e;e=Object.create(null);e[0]=new RegExp("(RSS_Radio) (\\d+)\\.(\\d+)");e[1]="RSSRadio";e[2]=0;e[3]=0;e[4]=0;h.browser[168]=e;e=Object.create(null);e[0]=new RegExp("(Podkicker) \\S+/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Podkicker";e[2]=0;e[3]=0;e[4]=0;h.browser[169]=e;e=Object.create(null);e[0]=new RegExp("^(HTC) Streaming Player \\S+ / \\S+ / \\S+ / (\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[170]=e;e=Object.create(null);e[0]=new RegExp("^(Stitcher)/iOS");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[171]=e;e=Object.create(null);e[0]=new RegExp("^(Stitcher)/Android");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[172]=e;e=Object.create(null);e[0]=new RegExp("^(VLC) .*version (\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[173]=e;e=Object.create(null);e[0]=new RegExp(" (VLC) for");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[174]=e;e=Object.create(null);e[0]=new RegExp("(vlc)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="VLC";e[2]=0;e[3]=0;e[4]=0;h.browser[175]=e;e=Object.create(null);e[0]=new RegExp("^(foobar)\\S+/([^.\\s]+)\\.([^.\\s]+)?\\.?([^.\\s]+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[176]=e;e=Object.create(null);e[0]=new RegExp("^(Clementine)\\S+ ([^.\\s]+)\\.([^.\\s]+)?\\.?([^.\\s]+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[177]=e;e=Object.create(null);e[0]=new RegExp("(amarok)/([^.\\s]+)\\.([^.\\s]+)?\\.?([^.\\s]+)?");e[1]="Amarok";e[2]=0;e[3]=0;e[4]=0;h.browser[178]=e;e=Object.create(null);e[0]=new RegExp("(Custom)-Feed Reader");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[179]=e;e=Object.create(null);e[0]=new RegExp("(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[180]=e;e=Object.create(null);e[0]=new RegExp("(iCab|Lunascape|Opera|Android|Jasmine|Polaris|Microsoft SkyDriveSync|The Bat!) (\\d+)\\.(\\d+)\\.?(\\d+)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[181]=e;e=Object.create(null);e[0]=new RegExp("(Kindle)/(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[182]=e;e=Object.create(null);e[0]=new RegExp("(Android) Donut");e[1]=0;e[2]="1";e[3]="2";e[4]=0;h.browser[183]=e;e=Object.create(null);e[0]=new RegExp("(Android) Eclair");e[1]=0;e[2]="2";e[3]="1";e[4]=0;h.browser[184]=e;e=Object.create(null);e[0]=new RegExp("(Android) Froyo");e[1]=0;e[2]="2";e[3]="2";e[4]=0;h.browser[185]=e;e=Object.create(null);e[0]=new RegExp("(Android) Gingerbread");e[1]=0;e[2]="2";e[3]="3";e[4]=0;h.browser[186]=e;e=Object.create(null);e[0]=new RegExp("(Android) Honeycomb");e[1]=0;e[2]="3";e[3]=0;e[4]=0;h.browser[187]=e;e=Object.create(null);e[0]=new RegExp("(MSIE) (\\d+)\\.(\\d+).*XBLWP7");e[1]="IE Large Screen";e[2]=0;e[3]=0;e[4]=0;h.browser[188]=e;e=Object.create(null);e[0]=new RegExp("(Nextcloud)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[189]=e;e=Object.create(null);e[0]=new RegExp("(mirall)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[190]=e;e=Object.create(null);e[0]=new RegExp("(ownCloud-android)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Owncloud";e[2]=0;e[3]=0;e[4]=0;h.browser[191]=e;e=Object.create(null);e[0]=new RegExp("(Obigo)InternetBrowser");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[192]=e;e=Object.create(null);e[0]=new RegExp("(Obigo)\\-Browser");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[193]=e;e=Object.create(null);e[0]=new RegExp("(Obigo|OBIGO)[^\\d]*(\\d+)(?:.(\\d+))?");e[1]="Obigo";e[2]=0;e[3]=0;e[4]=0;h.browser[194]=e;e=Object.create(null);e[0]=new RegExp("(MAXTHON|Maxthon) (\\d+)\\.(\\d+)");e[1]="Maxthon";e[2]=0;e[3]=0;e[4]=0;h.browser[195]=e;e=Object.create(null);e[0]=new RegExp("(Maxthon|MyIE2|Uzbl|Shiira)");e[1]=0;e[2]="0";e[3]=0;e[4]=0;h.browser[196]=e;e=Object.create(null);e[0]=new RegExp("(BrowseX) \\((\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[197]=e;e=Object.create(null);e[0]=new RegExp("(NCSA_Mosaic)/(\\d+)\\.(\\d+)");e[1]="NCSA Mosaic";e[2]=0;e[3]=0;e[4]=0;h.browser[198]=e;e=Object.create(null);e[0]=new RegExp("(POLARIS)/(\\d+)\\.(\\d+)");e[1]="Polaris";e[2]=0;e[3]=0;e[4]=0;h.browser[199]=e;e=Object.create(null);e[0]=new RegExp("(Embider)/(\\d+)\\.(\\d+)");e[1]="Polaris";e[2]=0;e[3]=0;e[4]=0;h.browser[200]=e;e=Object.create(null);e[0]=new RegExp("(BonEcho)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+)?");e[1]="Bon Echo";e[2]=0;e[3]=0;e[4]=0;h.browser[201]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*[ +]Safari");e[1]="Mobile Safari";e[2]=0;e[3]=0;e[4]=0;h.browser[202]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+))?.* AppleNews\\/\\d+\\.\\d+\\.\\d+?");e[1]="Mobile Safari UI/WKWebView";e[2]=0;e[3]=0;e[4]=0;h.browser[203]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Mobile Safari UI/WKWebView";e[2]=0;e[3]=0;e[4]=0;h.browser[204]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+))?.*Mobile.*[ +]Safari");e[1]="Mobile Safari";e[2]=0;e[3]=0;e[4]=0;h.browser[205]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+))?.*Mobile");e[1]="Mobile Safari UI/WKWebView";e[2]=0;e[3]=0;e[4]=0;h.browser[206]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPhone|iPad).* Safari");e[1]="Mobile Safari";e[2]=0;e[3]=0;e[4]=0;h.browser[207]=e;e=Object.create(null);e[0]=new RegExp("(iPod|iPhone|iPad)");e[1]="Mobile Safari UI/WKWebView";e[2]=0;e[3]=0;e[4]=0;h.browser[208]=e;e=Object.create(null);e[0]=new RegExp("(AvantGo) (\\d+).(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[209]=e;e=Object.create(null);e[0]=new RegExp("(OneBrowser)/(\\d+).(\\d+)");e[1]="ONE Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[210]=e;e=Object.create(null);e[0]=new RegExp("(Avant)");e[1]=0;e[2]="1";e[3]=0;e[4]=0;h.browser[211]=e;e=Object.create(null);e[0]=new RegExp("(QtCarBrowser)");e[1]=0;e[2]="1";e[3]=0;e[4]=0;h.browser[212]=e;e=Object.create(null);e[0]=new RegExp("^(iBrowser/Mini)(\\d+).(\\d+)");e[1]="iBrowser Mini";e[2]=0;e[3]=0;e[4]=0;h.browser[213]=e;e=Object.create(null);e[0]=new RegExp("^(iBrowser|iRAPP)/(\\d+).(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[214]=e;e=Object.create(null);e[0]=new RegExp("^(Nokia)");e[1]="Nokia Services (WAP) Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[215]=e;e=Object.create(null);e[0]=new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)\\.(\\d+)");e[1]="Nokia Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[216]=e;e=Object.create(null);e[0]=new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)");e[1]="Nokia Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[217]=e;e=Object.create(null);e[0]=new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+)");e[1]="Nokia Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[218]=e;e=Object.create(null);e[0]=new RegExp("(BrowserNG)/(\\d+)\\.(\\d+).(\\d+)");e[1]="Nokia Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[219]=e;e=Object.create(null);e[0]=new RegExp("(Series60)/5\\.0");e[1]="Nokia Browser";e[2]="7";e[3]="0";e[4]=0;h.browser[220]=e;e=Object.create(null);e[0]=new RegExp("(Series60)/(\\d+)\\.(\\d+)");e[1]="Nokia OSS Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[221]=e;e=Object.create(null);e[0]=new RegExp("(S40OviBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Ovi Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[222]=e;e=Object.create(null);e[0]=new RegExp("(Nokia)[EN]?(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[223]=e;e=Object.create(null);e[0]=new RegExp("(PlayBook).+RIM Tablet OS (\\d+)\\.(\\d+)\\.(\\d+)");e[1]="BlackBerry WebKit";e[2]=0;e[3]=0;e[4]=0;h.browser[224]=e;e=Object.create(null);e[0]=new RegExp("(Black[bB]erry|BB10).+Version/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="BlackBerry WebKit";e[2]=0;e[3]=0;e[4]=0;h.browser[225]=e;e=Object.create(null);e[0]=new RegExp("(Black[bB]erry)\\s?(\\d+)");e[1]="BlackBerry";e[2]=0;e[3]=0;e[4]=0;h.browser[226]=e;e=Object.create(null);e[0]=new RegExp("(OmniWeb)/v(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[227]=e;e=Object.create(null);e[0]=new RegExp("(Blazer)/(\\d+)\\.(\\d+)");e[1]="Palm Blazer";e[2]=0;e[3]=0;e[4]=0;h.browser[228]=e;e=Object.create(null);e[0]=new RegExp("(Pre)/(\\d+)\\.(\\d+)");e[1]="Palm Pre";e[2]=0;e[3]=0;e[4]=0;h.browser[229]=e;e=Object.create(null);e[0]=new RegExp("(ELinks)/(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[230]=e;e=Object.create(null);e[0]=new RegExp("(ELinks) \\((\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[231]=e;e=Object.create(null);e[0]=new RegExp("(Links) \\((\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[232]=e;e=Object.create(null);e[0]=new RegExp("(QtWeb) Internet Browser/(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[233]=e;e=Object.create(null);e[0]=new RegExp("(PhantomJS)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[234]=e;e=Object.create(null);e[0]=new RegExp("(AppleWebKit)/(\\d+)\\.?(\\d+)?\\+ .* Safari");e[1]="WebKit Nightly";e[2]=0;e[3]=0;e[4]=0;h.browser[235]=e;e=Object.create(null);e[0]=new RegExp("(Version)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari/");e[1]="Safari";e[2]=0;e[3]=0;e[4]=0;h.browser[236]=e;e=Object.create(null);e[0]=new RegExp("(Safari)/\\d+");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[237]=e;e=Object.create(null);e[0]=new RegExp("(OLPC)/Update(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[238]=e;e=Object.create(null);e[0]=new RegExp("(OLPC)/Update()\\.(\\d+)");e[1]=0;e[2]="0";e[3]=0;e[4]=0;h.browser[239]=e;e=Object.create(null);e[0]=new RegExp("(SEMC\\-Browser)/(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[240]=e;e=Object.create(null);e[0]=new RegExp("(Teleca)");e[1]="Teleca Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[241]=e;e=Object.create(null);e[0]=new RegExp("(Phantom)/V(\\d+)\\.(\\d+)");e[1]="Phantom Browser";e[2]=0;e[3]=0;e[4]=0;h.browser[242]=e;e=Object.create(null);e[0]=new RegExp("(Trident)/(7)\\.(0)");e[1]="IE";e[2]="11";e[3]=0;e[4]=0;h.browser[243]=e;e=Object.create(null);e[0]=new RegExp("(Trident)/(6)\\.(0)");e[1]="IE";e[2]="10";e[3]=0;e[4]=0;h.browser[244]=e;e=Object.create(null);e[0]=new RegExp("(Trident)/(5)\\.(0)");e[1]="IE";e[2]="9";e[3]=0;e[4]=0;h.browser[245]=e;e=Object.create(null);e[0]=new RegExp("(Trident)/(4)\\.(0)");e[1]="IE";e[2]="8";e[3]=0;e[4]=0;h.browser[246]=e;e=Object.create(null);e[0]=new RegExp("(Espial)/(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[247]=e;e=Object.create(null);e[0]=new RegExp("(AppleWebKit)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Apple Mail";e[2]=0;e[3]=0;e[4]=0;h.browser[248]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[249]=e;e=Object.create(null);e[0]=new RegExp("(Firefox)/(\\d+)\\.(\\d+)(pre|[ab]\\d+[a-z]*)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[250]=e;e=Object.create(null);e[0]=new RegExp("([MS]?IE) (\\d+)\\.(\\d+)");e[1]="IE";e[2]=0;e[3]=0;e[4]=0;h.browser[251]=e;e=Object.create(null);e[0]=new RegExp("(python-requests)/(\\d+)\\.(\\d+)");e[1]="Python Requests";e[2]=0;e[3]=0;e[4]=0;h.browser[252]=e;e=Object.create(null);e[0]=new RegExp("\\b(Windows-Update-Agent|Microsoft-CryptoAPI|SophosUpdateManager|SophosAgent|Debian APT-HTTP|Ubuntu APT-HTTP|libcurl-agent|libwww-perl|urlgrabber|curl|Wget|OpenBSD ftp|jupdate)(?:[ /](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[253]=e;e=Object.create(null);e[0]=new RegExp("(Java)[/ ]{0,1}\\d+\\.(\\d+)\\.(\\d+)[_-]*([a-zA-Z0-9]+)*");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[254]=e;e=Object.create(null);e[0]=new RegExp("^(Roku)/DVP-(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[255]=e;e=Object.create(null);e[0]=new RegExp("(Kurio)\\/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Kurio App";e[2]=0;e[3]=0;e[4]=0;h.browser[256]=e;e=Object.create(null);e[0]=new RegExp("^(Box(?: Sync)?)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[257]=e;e=Object.create(null);e[0]=new RegExp("(Wget)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.browser[258]=e;e=Object.create(null);e[0]=new RegExp("(curl)/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="cURL";e[2]=0;e[3]=0;e[4]=0;h.browser[259]=e;h.browser.length=260;h.device=Object.create(null);e=Object.create(null);e[0]=new RegExp("(Rival IQ, rivaliq.com)");e[1]="Spider";e[2]=0;e[3]=0;e[4]=0;h.device[0]=e;e=Object.create(null);e[0]=new RegExp("(?:(?:iPhone|Windows CE|Windows Phone|Android).*(?:(?:Bot|Yeti)-Mobile|YRSpider|BingPreview|bots?/\\d|(?:bot|spider)\\.html)|AdsBot-Google-Mobile.*iPhone)");e[1]="Spider";e[2]=0;e[3]=0;e[4]=0;h.device[1]=e;e=Object.create(null);e[0]=new RegExp("(?:DoCoMo|\\bMOT\\b|\\bLG\\b|Nokia|Samsung|SonyEricsson).*(?:(?:Bot|Yeti)-Mobile|bots?/\\d|(?:bot|crawler)\\.html|(?:jump|google|Wukong)bot|ichiro/mobile|/spider|YahooSeeker)");e[1]="Spider";e[2]=0;e[3]=0;e[4]=0;h.device[2]=e;e=Object.create(null);e[0]=new RegExp("\\bSmartWatch *\\( *([^;]+) *; *([^;]+) *;");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[3]=e;e=Object.create(null);e[0]=new RegExp("Android Application[^\\-]+ - (Sony) ?(Ericsson)? (.+) \\w+ - ");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[4]=e;e=Object.create(null);e[0]=new RegExp("Android Application[^\\-]+ - (?:HTC|HUAWEI|LGE|LENOVO|MEDION|TCT) (HTC|HUAWEI|LG|LENOVO|MEDION|ALCATEL)[ _\\-](.+) \\w+ - ");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[5]=e;e=Object.create(null);e[0]=new RegExp("Android Application[^\\-]+ - ([^ ]+) (.+) \\w+ - ");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[6]=e;e=Object.create(null);e[0]=new RegExp("; *([BLRQ]C\\d{4}[A-Z]+) +Build/");e[1]="3Q $1";e[2]=0;e[3]=0;e[4]=0;h.device[7]=e;e=Object.create(null);e[0]=new RegExp("; *(?:3Q_)([^;/]+) +Build");e[1]="3Q $1";e[2]=0;e[3]=0;e[4]=0;h.device[8]=e;e=Object.create(null);e[0]=new RegExp("Android [34].*; *(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700(?: Lite| 3G)?|A701|B1-A71|A1-\\d{3}|B1-\\d{3}|V360|V370|W500|W500P|W501|W501P|W510|W511|W700|Slider SL101|DA22[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[9]=e;e=Object.create(null);e[0]=new RegExp("; *Acer Iconia Tab ([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[10]=e;e=Object.create(null);e[0]=new RegExp("; *(Z1[1235]0|E320[^/]*|S500|S510|Liquid[^;/]*|Iconia A\\d+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[11]=e;e=Object.create(null);e[0]=new RegExp("; *(Acer |ACER )([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[12]=e;e=Object.create(null);e[0]=new RegExp("; *(Advent )?(Vega(?:Bean|Comb)?).* Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[13]=e;e=Object.create(null);e[0]=new RegExp("; *(Ainol )?((?:NOVO|[Nn]ovo)[^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[14]=e;e=Object.create(null);e[0]=new RegExp("; *AIRIS[ _\\-]?([^/;\\)]+) *(?:;|\\)|Build)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[15]=e;e=Object.create(null);e[0]=new RegExp("; *(OnePAD[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[16]=e;e=Object.create(null);e[0]=new RegExp("; *Airpad[ \\-]([^;/]+) Build");e[1]="Airpad $1";e[2]=0;e[3]=0;e[4]=0;h.device[17]=e;e=Object.create(null);e[0]=new RegExp("; *(one ?touch) (EVO7|T10|T20) Build");e[1]="Alcatel One Touch $2";e[2]=0;e[3]=0;e[4]=0;h.device[18]=e;e=Object.create(null);e[0]=new RegExp("; *(?:alcatel[ _])?(?:(?:one[ _]?touch[ _])|ot[ \\-])([^;/]+);? Build");e[1]="Alcatel One Touch $1";e[2]=0;e[3]=0;e[4]=0;h.device[19]=e;e=Object.create(null);e[0]=new RegExp("; *(TCL)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[20]=e;e=Object.create(null);e[0]=new RegExp("; *(Vodafone Smart II|Optimus_Madrid) Build");e[1]="Alcatel $1";e[2]=0;e[3]=0;e[4]=0;h.device[21]=e;e=Object.create(null);e[0]=new RegExp("; *BASE_Lutea_3 Build");e[1]="Alcatel One Touch 998";e[2]=0;e[3]=0;e[4]=0;h.device[22]=e;e=Object.create(null);e[0]=new RegExp("; *BASE_Varia Build");e[1]="Alcatel One Touch 918D";e[2]=0;e[3]=0;e[4]=0;h.device[23]=e;e=Object.create(null);e[0]=new RegExp("; *((?:FINE|Fine)\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[24]=e;e=Object.create(null);e[0]=new RegExp("; *(ALLVIEW[ _]?|Allview[ _]?)((?:Speed|SPEED).*) Build/");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[25]=e;e=Object.create(null);e[0]=new RegExp("; *(ALLVIEW[ _]?|Allview[ _]?)?(AX1_Shine|AX2_Frenzy) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[26]=e;e=Object.create(null);e[0]=new RegExp("; *(ALLVIEW[ _]?|Allview[ _]?)([^;/]*) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[27]=e;e=Object.create(null);e[0]=new RegExp("; *(A13-MID) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[28]=e;e=Object.create(null);e[0]=new RegExp("; *(Allwinner)[ _\\-]?([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[29]=e;e=Object.create(null);e[0]=new RegExp("; *(A651|A701B?|A702|A703|A705|A706|A707|A711|A712|A713|A717|A722|A785|A801|A802|A803|A901|A902|A1002|A1003|A1006|A1007|A9701|A9703|Q710|Q80) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[30]=e;e=Object.create(null);e[0]=new RegExp("; *(?:AMOI|Amoi)[ _]([^;/]+) Build");e[1]="Amoi $1";e[2]=0;e[3]=0;e[4]=0;h.device[31]=e;e=Object.create(null);e[0]=new RegExp("^(?:AMOI|Amoi)[ _]([^;/]+) Linux");e[1]="Amoi $1";e[2]=0;e[3]=0;e[4]=0;h.device[32]=e;e=Object.create(null);e[0]=new RegExp("; *(MW(?:0[789]|10)[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[33]=e;e=Object.create(null);e[0]=new RegExp("; *(G7|M1013|M1015G|M11[CG]?|M-?12[B]?|M15|M19[G]?|M30[ACQ]?|M31[GQ]|M32|M33[GQ]|M36|M37|M38|M701T|M710|M712B|M713|M715G|M716G|M71(?:G|GS|T)?|M72[T]?|M73[T]?|M75[GT]?|M77G|M79T|M7L|M7LN|M81|M810|M81T|M82|M92|M92KS|M92S|M717G|M721|M722G|M723|M725G|M739|M785|M791|M92SK|M93D) Build");e[1]="Aoson $1";e[2]=0;e[3]=0;e[4]=0;h.device[34]=e;e=Object.create(null);e[0]=new RegExp("; *Aoson ([^;/]+) Build");e[1]="Aoson $1";e[2]=0;e[3]=0;e[4]=0;h.device[35]=e;e=Object.create(null);e[0]=new RegExp("; *[Aa]panda[ _\\-]([^;/]+) Build");e[1]="Apanda $1";e[2]=0;e[3]=0;e[4]=0;h.device[36]=e;e=Object.create(null);e[0]=new RegExp("; *(?:ARCHOS|Archos) ?(GAMEPAD.*?)(?: Build|[;/\\(\\)\\-])");e[1]="Archos $1";e[2]=0;e[3]=0;e[4]=0;h.device[37]=e;e=Object.create(null);e[0]=new RegExp("ARCHOS; GOGI; ([^;]+);");e[1]="Archos $1";e[2]=0;e[3]=0;e[4]=0;h.device[38]=e;e=Object.create(null);e[0]=new RegExp("(?:ARCHOS|Archos)[ _]?(.*?)(?: Build|[;/\\(\\)\\-]|$)");e[1]="Archos $1";e[2]=0;e[3]=0;e[4]=0;h.device[39]=e;e=Object.create(null);e[0]=new RegExp("; *(AN(?:7|8|9|10|13)[A-Z0-9]{1,4}) Build");e[1]="Archos $1";e[2]=0;e[3]=0;e[4]=0;h.device[40]=e;e=Object.create(null);e[0]=new RegExp("; *(A28|A32|A43|A70(?:BHT|CHT|HB|S|X)|A101(?:B|C|IT)|A7EB|A7EB-WK|101G9|80G9) Build");e[1]="Archos $1";e[2]=0;e[3]=0;e[4]=0;h.device[41]=e;e=Object.create(null);e[0]=new RegExp("; *(PAD-FMD[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[42]=e;e=Object.create(null);e[0]=new RegExp("; *(BioniQ) ?([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[43]=e;e=Object.create(null);e[0]=new RegExp("; *(AN\\d[^;/]+|ARCHM\\d+) Build");e[1]="Arnova $1";e[2]=0;e[3]=0;e[4]=0;h.device[44]=e;e=Object.create(null);e[0]=new RegExp("; *(?:ARNOVA|Arnova) ?([^;/]+) Build");e[1]="Arnova $1";e[2]=0;e[3]=0;e[4]=0;h.device[45]=e;e=Object.create(null);e[0]=new RegExp("; *(?:ASSISTANT )?(AP)-?([1789]\\d{2}[A-Z]{0,2}|80104) Build");e[1]="Assistant $1-$2";e[2]=0;e[3]=0;e[4]=0;h.device[46]=e;e=Object.create(null);e[0]=new RegExp("; *(ME17\\d[^;/]*|ME3\\d{2}[^;/]+|K00[A-Z]|Nexus 10|Nexus 7(?: 2013)?|PadFone[^;/]*|Transformer[^;/]*|TF\\d{3}[^;/]*|eeepc) Build");e[1]="Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[47]=e;e=Object.create(null);e[0]=new RegExp("; *ASUS[ _]*([^;/]+) Build");e[1]="Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[48]=e;e=Object.create(null);e[0]=new RegExp("; *Garmin-Asus ([^;/]+) Build");e[1]="Garmin-Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[49]=e;e=Object.create(null);e[0]=new RegExp("; *(Garminfone) Build");e[1]="Garmin $1";e[2]=0;e[3]=0;e[4]=0;h.device[50]=e;e=Object.create(null);e[0]=new RegExp("; (@TAB-[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[51]=e;e=Object.create(null);e[0]=new RegExp("; *(T-(?:07|[^0]\\d)[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[52]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Axioo[ _\\-]([^;/]+)|(picopad)[ _\\-]([^;/]+)) Build");e[1]="Axioo $1$2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[53]=e;e=Object.create(null);e[0]=new RegExp("; *(V(?:100|700|800)[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[54]=e;e=Object.create(null);e[0]=new RegExp("; *(IBAK\\-[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[55]=e;e=Object.create(null);e[0]=new RegExp("; *(HY5001|HY6501|X12|X21|I5) Build");e[1]="Bedove $1";e[2]=0;e[3]=0;e[4]=0;h.device[56]=e;e=Object.create(null);e[0]=new RegExp("; *(JC-[^;/]*) Build");e[1]="Benss $1";e[2]=0;e[3]=0;e[4]=0;h.device[57]=e;e=Object.create(null);e[0]=new RegExp("; *(BB) ([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[58]=e;e=Object.create(null);e[0]=new RegExp("; *(BlackBird)[ _](I8.*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[59]=e;e=Object.create(null);e[0]=new RegExp("; *(BlackBird)[ _](.*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[60]=e;e=Object.create(null);e[0]=new RegExp("; *([0-9]+BP[EM][^;/]*|Endeavour[^;/]+) Build");e[1]="Blaupunkt $1";e[2]=0;e[3]=0;e[4]=0;h.device[61]=e;e=Object.create(null);e[0]=new RegExp("; *((?:BLU|Blu)[ _\\-])([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[62]=e;e=Object.create(null);e[0]=new RegExp("; *(?:BMOBILE )?(Blu|BLU|DASH [^;/]+|VIVO 4\\.3|TANK 4\\.5) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[63]=e;e=Object.create(null);e[0]=new RegExp("; *(TOUCH\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[64]=e;e=Object.create(null);e[0]=new RegExp("; *(AX5\\d+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[65]=e;e=Object.create(null);e[0]=new RegExp("; *([Bb]q) ([^;/]+);? Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[66]=e;e=Object.create(null);e[0]=new RegExp("; *(Maxwell [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[67]=e;e=Object.create(null);e[0]=new RegExp("; *((?:B-Tab|B-TAB) ?\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[68]=e;e=Object.create(null);e[0]=new RegExp("; *(Broncho) ([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[69]=e;e=Object.create(null);e[0]=new RegExp("; *CAPTIVA ([^;/]+) Build");e[1]="Captiva $1";e[2]=0;e[3]=0;e[4]=0;h.device[70]=e;e=Object.create(null);e[0]=new RegExp("; *(C771|CAL21|IS11CA) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[71]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Cat|CAT) ([^;/]+) Build");e[1]="Cat $1";e[2]=0;e[3]=0;e[4]=0;h.device[72]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Cat)(Nova.*) Build");e[1]="Cat $1";e[2]=0;e[3]=0;e[4]=0;h.device[73]=e;e=Object.create(null);e[0]=new RegExp("; *(INM8002KP|ADM8000KP_[AB]) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[74]=e;e=Object.create(null);e[0]=new RegExp("; *(?:[Cc]elkon[ _\\*]|CELKON[ _\\*])([^;/\\)]+) ?(?:Build|;|\\))");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[75]=e;e=Object.create(null);e[0]=new RegExp("Build/(?:[Cc]elkon)+_?([^;/_\\)]+)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[76]=e;e=Object.create(null);e[0]=new RegExp("; *(CT)-?(\\d+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[77]=e;e=Object.create(null);e[0]=new RegExp("; *(A19|A19Q|A105|A107[^;/\\)]*) ?(?:Build|;|\\))");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[78]=e;e=Object.create(null);e[0]=new RegExp("; *(TPC[0-9]{4,5}) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[79]=e;e=Object.create(null);e[0]=new RegExp("; *(Cloudfone)[ _](Excite)([^ ][^;/]+) Build");e[1]="$1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[80]=e;e=Object.create(null);e[0]=new RegExp("; *(Excite|ICE)[ _](\\d+[^;/]+) Build");e[1]="Cloudfone $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[81]=e;e=Object.create(null);e[0]=new RegExp("; *(Cloudfone|CloudPad)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[82]=e;e=Object.create(null);e[0]=new RegExp("; *((?:Aquila|Clanga|Rapax)[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[83]=e;e=Object.create(null);e[0]=new RegExp("; *(?:CFW-|Kyros )?(MID[0-9]{4}(?:[ABC]|SR|TV)?)(\\(3G\\)-4G| GB 8K| 3G| 8K| GB)? *(?:Build|[;\\)])");e[1]="CobyKyros $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[84]=e;e=Object.create(null);e[0]=new RegExp("; *([^;/]*)Coolpad[ _]([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[85]=e;e=Object.create(null);e[0]=new RegExp("; *(CUBE[ _])?([KU][0-9]+ ?GT.*|A5300) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[86]=e;e=Object.create(null);e[0]=new RegExp("; *CUBOT ([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[87]=e;e=Object.create(null);e[0]=new RegExp("; *(BOBBY) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[88]=e;e=Object.create(null);e[0]=new RegExp("; *(Dslide [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[89]=e;e=Object.create(null);e[0]=new RegExp("; *(XCD)[ _]?(28|35) Build");e[1]="Dell $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[90]=e;e=Object.create(null);e[0]=new RegExp("; *(001DL) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[91]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Dell|DELL) (Streak) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[92]=e;e=Object.create(null);e[0]=new RegExp("; *(101DL|GS01|Streak Pro[^;/]*) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[93]=e;e=Object.create(null);e[0]=new RegExp("; *([Ss]treak ?7) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[94]=e;e=Object.create(null);e[0]=new RegExp("; *(Mini-3iX) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[95]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Dell|DELL)[ _](Aero|Venue|Thunder|Mini.*|Streak[ _]Pro) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[96]=e;e=Object.create(null);e[0]=new RegExp("; *Dell[ _]([^;/]+) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[97]=e;e=Object.create(null);e[0]=new RegExp("; *Dell ([^;/]+) Build");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[98]=e;e=Object.create(null);e[0]=new RegExp("; *(TA[CD]-\\d+[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[99]=e;e=Object.create(null);e[0]=new RegExp("; *(iP[789]\\d{2}(?:-3G)?|IP10\\d{2}(?:-8GB)?) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[100]=e;e=Object.create(null);e[0]=new RegExp("; *(AirTab)[ _\\-]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[101]=e;e=Object.create(null);e[0]=new RegExp("; *(F\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[102]=e;e=Object.create(null);e[0]=new RegExp("; *(HT-03A) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[103]=e;e=Object.create(null);e[0]=new RegExp("; *(HT\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[104]=e;e=Object.create(null);e[0]=new RegExp("; *(L\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[105]=e;e=Object.create(null);e[0]=new RegExp("; *(N\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[106]=e;e=Object.create(null);e[0]=new RegExp("; *(P\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[107]=e;e=Object.create(null);e[0]=new RegExp("; *(SC\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[108]=e;e=Object.create(null);e[0]=new RegExp("; *(SH\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[109]=e;e=Object.create(null);e[0]=new RegExp("; *(SO\\-\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[110]=e;e=Object.create(null);e[0]=new RegExp("; *(T\\-0[12][^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[111]=e;e=Object.create(null);e[0]=new RegExp("; *(DOOV)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[112]=e;e=Object.create(null);e[0]=new RegExp("; *(Enot|ENOT)[ -]?([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[113]=e;e=Object.create(null);e[0]=new RegExp("; *[^;/]+ Build/(?:CROSS|Cross)+[ _\\-]([^\\)]+)");e[1]="CROSS $1";e[2]=0;e[3]=0;e[4]=0;h.device[114]=e;e=Object.create(null);e[0]=new RegExp("; *(CROSS|Cross)[ _\\-]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[115]=e;e=Object.create(null);e[0]=new RegExp("; *Explay[_ ](.+?)(?:[\\)]| Build)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[116]=e;e=Object.create(null);e[0]=new RegExp("; *(IQ.*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[117]=e;e=Object.create(null);e[0]=new RegExp("; *(Fly|FLY)[ _](IQ[^;]+|F[34]\\d+[^;]*);? Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[118]=e;e=Object.create(null);e[0]=new RegExp("; *(M532|Q572|FJL21) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[119]=e;e=Object.create(null);e[0]=new RegExp("; *(G1) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[120]=e;e=Object.create(null);e[0]=new RegExp("; *(Geeksphone) ([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[121]=e;e=Object.create(null);e[0]=new RegExp("; *(G[^F]?FIVE) ([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[122]=e;e=Object.create(null);e[0]=new RegExp("; *(Gionee)[ _\\-]([^;/]+)(?:/[^;/]+)? Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[123]=e;e=Object.create(null);e[0]=new RegExp("; *(GN\\d+[A-Z]?|INFINITY_PASSION|Ctrl_V1) Build");e[1]="Gionee $1";e[2]=0;e[3]=0;e[4]=0;h.device[124]=e;e=Object.create(null);e[0]=new RegExp("; *(E3) Build/JOP40D");e[1]="Gionee $1";e[2]=0;e[3]=0;e[4]=0;h.device[125]=e;e=Object.create(null);e[0]=new RegExp("\\sGIONEE[-\\s_](\\w*)");e[1]="Gionee $1";e[2]=0;e[3]=0;e[4]=0;h.device[126]=e;e=Object.create(null);e[0]=new RegExp("; *((?:FONE|QUANTUM|INSIGNIA) \\d+[^;/]*|PLAYTAB) Build");e[1]="GoClever $1";e[2]=0;e[3]=0;e[4]=0;h.device[127]=e;e=Object.create(null);e[0]=new RegExp("; *GOCLEVER ([^;/]+) Build");e[1]="GoClever $1";e[2]=0;e[3]=0;e[4]=0;h.device[128]=e;e=Object.create(null);e[0]=new RegExp("; *(Glass \\d+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[129]=e;e=Object.create(null);e[0]=new RegExp("; *(Pixel \\w+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[130]=e;e=Object.create(null);e[0]=new RegExp("; *(GSmart)[ -]([^/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[131]=e;e=Object.create(null);e[0]=new RegExp("; *(imx5[13]_[^/]+) Build");e[1]="Freescale $1";e[2]=0;e[3]=0;e[4]=0;h.device[132]=e;e=Object.create(null);e[0]=new RegExp("; *Haier[ _\\-]([^/]+) Build");e[1]="Haier $1";e[2]=0;e[3]=0;e[4]=0;h.device[133]=e;e=Object.create(null);e[0]=new RegExp("; *(PAD1016) Build");e[1]="Haipad $1";e[2]=0;e[3]=0;e[4]=0;h.device[134]=e;e=Object.create(null);e[0]=new RegExp("; *(M701|M7|M8|M9) Build");e[1]="Haipad $1";e[2]=0;e[3]=0;e[4]=0;h.device[135]=e;e=Object.create(null);e[0]=new RegExp("; *(SN\\d+T[^;\\)/]*)(?: Build|[;\\)])");e[1]="Hannspree $1";e[2]=0;e[3]=0;e[4]=0;h.device[136]=e;e=Object.create(null);e[0]=new RegExp("Build/HCL ME Tablet ([^;\\)]+)[\\);]");e[1]="HCLme $1";e[2]=0;e[3]=0;e[4]=0;h.device[137]=e;e=Object.create(null);e[0]=new RegExp("; *([^;\\/]+) Build/HCL");e[1]="HCLme $1";e[2]=0;e[3]=0;e[4]=0;h.device[138]=e;e=Object.create(null);e[0]=new RegExp("; *(MID-?\\d{4}C[EM]) Build");e[1]="Hena $1";e[2]=0;e[3]=0;e[4]=0;h.device[139]=e;e=Object.create(null);e[0]=new RegExp("; *(EG\\d{2,}|HS-[^;/]+|MIRA[^;/]+) Build");e[1]="Hisense $1";e[2]=0;e[3]=0;e[4]=0;h.device[140]=e;e=Object.create(null);e[0]=new RegExp("; *(andromax[^;/]+) Build");e[1]="Hisense $1";e[2]=0;e[3]=0;e[4]=0;h.device[141]=e;e=Object.create(null);e[0]=new RegExp("; *(?:AMAZE[ _](S\\d+)|(S\\d+)[ _]AMAZE) Build");e[1]="AMAZE $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[142]=e;e=Object.create(null);e[0]=new RegExp("; *(PlayBook) Build");e[1]="HP $1";e[2]=0;e[3]=0;e[4]=0;h.device[143]=e;e=Object.create(null);e[0]=new RegExp("; *HP ([^/]+) Build");e[1]="HP $1";e[2]=0;e[3]=0;e[4]=0;h.device[144]=e;e=Object.create(null);e[0]=new RegExp("; *([^/]+_tenderloin) Build");e[1]="HP TouchPad";e[2]=0;e[3]=0;e[4]=0;h.device[145]=e;e=Object.create(null);e[0]=new RegExp("; *(HUAWEI |Huawei-)?([UY][^;/]+) Build/(?:Huawei|HUAWEI)([UY][^\\);]+)\\)");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[146]=e;e=Object.create(null);e[0]=new RegExp("; *([^;/]+) Build[/ ]Huawei(MT1-U06|[A-Z]+\\d+[^\\);]+)[^\\);]*\\)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[147]=e;e=Object.create(null);e[0]=new RegExp("; *(S7|M860) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[148]=e;e=Object.create(null);e[0]=new RegExp("; *((?:HUAWEI|Huawei)[ \\-]?)(MediaPad) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[149]=e;e=Object.create(null);e[0]=new RegExp("; *((?:HUAWEI[ _]?|Huawei[ _])?Ascend[ _])([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[150]=e;e=Object.create(null);e[0]=new RegExp("; *((?:HUAWEI|Huawei)[ _\\-]?)((?:G700-|MT-)[^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[151]=e;e=Object.create(null);e[0]=new RegExp("; *((?:HUAWEI|Huawei)[ _\\-]?)([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[152]=e;e=Object.create(null);e[0]=new RegExp("; *(MediaPad[^;]+|SpringBoard) Build/Huawei");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[153]=e;e=Object.create(null);e[0]=new RegExp("; *([^;]+) Build/(?:Huawei|HUAWEI)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[154]=e;e=Object.create(null);e[0]=new RegExp("; *([Uu])([89]\\d{3}) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[155]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Ideos |IDEOS )(S7) Build");e[1]="Huawei Ideos$1";e[2]=0;e[3]=0;e[4]=0;h.device[156]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Ideos |IDEOS )([^;/]+\\s*|\\s*)Build");e[1]="Huawei Ideos$1";e[2]=0;e[3]=0;e[4]=0;h.device[157]=e;e=Object.create(null);e[0]=new RegExp("; *(Orange Daytona|Pulse|Pulse Mini|Vodafone 858|C8500|C8600|C8650|C8660|Nexus 6P|ATH-.+?) Build[/ ]");e[1]="Huawei $1";e[2]=0;e[3]=0;e[4]=0;h.device[158]=e;e=Object.create(null);e[0]=new RegExp("; *HTC[ _]([^;]+); Windows Phone");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[159]=e;e=Object.create(null);e[0]=new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[160]=e;e=Object.create(null);e[0]=new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+))?(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))");e[1]="HTC $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[161]=e;e=Object.create(null);e[0]=new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+))?)?(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))");e[1]="HTC $1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[162]=e;e=Object.create(null);e[0]=new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+))?)?)?(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))");e[1]="HTC $1 $2 $3 $4";e[2]=0;e[3]=0;e[4]=0;h.device[163]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/;]+)(?: *Build|[;\\)]| - )");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[164]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/;\\)]+))?(?: *Build|[;\\)]| - )");e[1]="HTC $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[165]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/;\\)]+))?)?(?: *Build|[;\\)]| - )");e[1]="HTC $1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[166]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ /;]+))?)?)?(?: *Build|[;\\)]| - )");e[1]="HTC $1 $2 $3 $4";e[2]=0;e[3]=0;e[4]=0;h.device[167]=e;e=Object.create(null);e[0]=new RegExp("HTC Streaming Player [^\\/]*/[^\\/]*/ htc_([^/]+) /");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[168]=e;e=Object.create(null);e[0]=new RegExp("(?:[;,] *|^)(?:htccn_chs-)?HTC[ _-]?([^;]+?)(?: *Build|clay|Android|-?Mozilla| Opera| Profile| UNTRUSTED|[;/\\(\\)]|$)");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[169]=e;e=Object.create(null);e[0]=new RegExp("; *(A6277|ADR6200|ADR6300|ADR6350|ADR6400[A-Z]*|ADR6425[A-Z]*|APX515CKT|ARIA|Desire[^_ ]*|Dream|EndeavorU|Eris|Evo|Flyer|HD2|Hero|HERO200|Hero CDMA|HTL21|Incredible|Inspire[A-Z0-9]*|Legend|Liberty|Nexus ?(?:One|HD2)|One|One S C2|One[ _]?(?:S|V|X\\+?)\\w*|PC36100|PG06100|PG86100|S31HT|Sensation|Wildfire)(?: Build|[/;\\(\\)])");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[170]=e;e=Object.create(null);e[0]=new RegExp("; *(ADR6200|ADR6400L|ADR6425LVW|Amaze|DesireS?|EndeavorU|Eris|EVO|Evo\\d[A-Z]+|HD2|IncredibleS?|Inspire[A-Z0-9]*|Inspire[A-Z0-9]*|Sensation[A-Z0-9]*|Wildfire)[ _-](.+?)(?:[/;\\)]|Build|MIUI|1\\.0)");e[1]="HTC $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[171]=e;e=Object.create(null);e[0]=new RegExp("; *HYUNDAI (T\\d[^/]*) Build");e[1]="Hyundai $1";e[2]=0;e[3]=0;e[4]=0;h.device[172]=e;e=Object.create(null);e[0]=new RegExp("; *HYUNDAI ([^;/]+) Build");e[1]="Hyundai $1";e[2]=0;e[3]=0;e[4]=0;h.device[173]=e;e=Object.create(null);e[0]=new RegExp("; *(X700|Hold X|MB-6900) Build");e[1]="Hyundai $1";e[2]=0;e[3]=0;e[4]=0;h.device[174]=e;e=Object.create(null);e[0]=new RegExp("; *(?:iBall[ _\\-])?(Andi)[ _]?(\\d[^;/]*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[175]=e;e=Object.create(null);e[0]=new RegExp("; *(IBall)(?:[ _]([^;/]+)|) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[176]=e;e=Object.create(null);e[0]=new RegExp("; *(NT-\\d+[^ ;/]*|Net[Tt]AB [^;/]+|Mercury [A-Z]+|iconBIT)(?: S/N:[^;/]+)? Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[177]=e;e=Object.create(null);e[0]=new RegExp("; *(IMO)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[178]=e;e=Object.create(null);e[0]=new RegExp("; *i-?mobile[ _]([^/]+) Build/");e[1]="i-mobile $1";e[2]=0;e[3]=0;e[4]=0;h.device[179]=e;e=Object.create(null);e[0]=new RegExp("; *(i-(?:style|note)[^/]*) Build/");e[1]="i-mobile $1";e[2]=0;e[3]=0;e[4]=0;h.device[180]=e;e=Object.create(null);e[0]=new RegExp("; *(ImPAD) ?(\\d+(?:.)*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[181]=e;e=Object.create(null);e[0]=new RegExp("; *(Infinix)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[182]=e;e=Object.create(null);e[0]=new RegExp("; *(Informer)[ \\-]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[183]=e;e=Object.create(null);e[0]=new RegExp("; *(TAB) ?([78][12]4) Build");e[1]="Intenso $1";e[2]=0;e[3]=0;e[4]=0;h.device[184]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Intex[ _])?(AQUA|Aqua)([ _\\.\\-])([^;/]+) *(?:Build|;)");e[1]="$1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[185]=e;e=Object.create(null);e[0]=new RegExp("; *(?:INTEX|Intex)(?:[_ ]([^\\ _;/]+))(?:[_ ]([^\\ _;/]+))? *(?:Build|;)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[186]=e;e=Object.create(null);e[0]=new RegExp("; *([iI]Buddy)[ _]?(Connect)(?:_|\\?_| )?([^;/]*) *(?:Build|;)");e[1]="$1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[187]=e;e=Object.create(null);e[0]=new RegExp("; *(I-Buddy)[ _]([^;/]+) *(?:Build|;)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[188]=e;e=Object.create(null);e[0]=new RegExp("; *(iOCEAN) ([^/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[189]=e;e=Object.create(null);e[0]=new RegExp("; *(TP\\d+(?:\\.\\d+)?\\-\\d[^;/]+) Build");e[1]="ionik $1";e[2]=0;e[3]=0;e[4]=0;h.device[190]=e;e=Object.create(null);e[0]=new RegExp("; *(M702pro) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[191]=e;e=Object.create(null);e[0]=new RegExp("; *(DE88Plus|MD70) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[192]=e;e=Object.create(null);e[0]=new RegExp("; *IVIO[_\\-]([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[193]=e;e=Object.create(null);e[0]=new RegExp("; *(TPC-\\d+|JAY-TECH) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[194]=e;e=Object.create(null);e[0]=new RegExp("; *(JY-[^;/]+|G[234]S?) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[195]=e;e=Object.create(null);e[0]=new RegExp("; *(JXD)[ _\\-]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[196]=e;e=Object.create(null);e[0]=new RegExp("; *Karbonn[ _]?([^;/]+) *(?:Build|;)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[197]=e;e=Object.create(null);e[0]=new RegExp("; *([^;]+) Build/Karbonn");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[198]=e;e=Object.create(null);e[0]=new RegExp("; *(A11|A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2|Titanium S\\d) +Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[199]=e;e=Object.create(null);e[0]=new RegExp("; *(IS01|IS03|IS05|IS\\d{2}SH) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[200]=e;e=Object.create(null);e[0]=new RegExp("; *(IS04) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[201]=e;e=Object.create(null);e[0]=new RegExp("; *(IS06|IS\\d{2}PT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[202]=e;e=Object.create(null);e[0]=new RegExp("; *(IS11S) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[203]=e;e=Object.create(null);e[0]=new RegExp("; *(IS11CA) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[204]=e;e=Object.create(null);e[0]=new RegExp("; *(IS11LG) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[205]=e;e=Object.create(null);e[0]=new RegExp("; *(IS11N) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[206]=e;e=Object.create(null);e[0]=new RegExp("; *(IS11PT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[207]=e;e=Object.create(null);e[0]=new RegExp("; *(IS12F) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[208]=e;e=Object.create(null);e[0]=new RegExp("; *(IS12M) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[209]=e;e=Object.create(null);e[0]=new RegExp("; *(IS12S) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[210]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW11F) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[211]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW11HT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[212]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW11K) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[213]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW11M) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[214]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW11SC) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[215]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW12HT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[216]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW13HT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[217]=e;e=Object.create(null);e[0]=new RegExp("; *(ISW?[0-9]{2}[A-Z]{0,2}) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[218]=e;e=Object.create(null);e[0]=new RegExp("; *(INFOBAR [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[219]=e;e=Object.create(null);e[0]=new RegExp("; *(JOYPAD|Joypad)[ _]([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[220]=e;e=Object.create(null);e[0]=new RegExp("; *(Vox|VOX|Arc|K080) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[221]=e;e=Object.create(null);e[0]=new RegExp("\\b(Kobo Touch)\\b");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[222]=e;e=Object.create(null);e[0]=new RegExp("; *(K-Touch)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[223]=e;e=Object.create(null);e[0]=new RegExp("; *((?:EV|KM)-S\\d+[A-Z]?) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[224]=e;e=Object.create(null);e[0]=new RegExp("; *(Zio|Hydro|Torque|Event|EVENT|Echo|Milano|Rise|URBANO PROGRESSO|WX04K|WX06K|WX10K|KYL21|101K|C5[12]\\d{2}) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[225]=e;e=Object.create(null);e[0]=new RegExp("; *(?:LAVA[ _])?IRIS[ _\\-]?([^/;\\)]+) *(?:;|\\)|Build)");e[1]="Iris $1";e[2]=0;e[3]=0;e[4]=0;h.device[226]=e;e=Object.create(null);e[0]=new RegExp("; *LAVA[ _]([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[227]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(Aspire A1)|(?:LEMON|Lemon)[ _]([^;/]+))_? Build");e[1]="Lemon $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[228]=e;e=Object.create(null);e[0]=new RegExp("; *(TAB-1012) Build/");e[1]="Lenco $1";e[2]=0;e[3]=0;e[4]=0;h.device[229]=e;e=Object.create(null);e[0]=new RegExp("; Lenco ([^;/]+) Build/");e[1]="Lenco $1";e[2]=0;e[3]=0;e[4]=0;h.device[230]=e;e=Object.create(null);e[0]=new RegExp("; *(A1_07|A2107A-H|S2005A-H|S1-37AH0) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[231]=e;e=Object.create(null);e[0]=new RegExp("; *(Idea[Tp]ab)[ _]([^;/]+);? Build");e[1]="Lenovo $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[232]=e;e=Object.create(null);e[0]=new RegExp("; *(Idea(?:Tab|pad)) ?([^;/]+) Build");e[1]="Lenovo $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[233]=e;e=Object.create(null);e[0]=new RegExp("; *(ThinkPad) ?(Tablet) Build/");e[1]="Lenovo $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[234]=e;e=Object.create(null);e[0]=new RegExp("; *(?:LNV-)?(?:=?[Ll]enovo[ _\\-]?|LENOVO[ _])+(.+?)(?:Build|[;/\\)])");e[1]="Lenovo $1";e[2]=0;e[3]=0;e[4]=0;h.device[235]=e;e=Object.create(null);e[0]=new RegExp("[;,] (?:Vodafone )?(SmartTab) ?(II) ?(\\d+) Build/");e[1]="Lenovo $1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[236]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Ideapad )?K1 Build/");e[1]="Lenovo Ideapad K1";e[2]=0;e[3]=0;e[4]=0;h.device[237]=e;e=Object.create(null);e[0]=new RegExp("; *(3GC101|3GW10[01]|A390) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[238]=e;e=Object.create(null);e[0]=new RegExp("\\b(?:Lenovo|LENOVO)+[ _\\-]?([^,;:/ ]+)");e[1]="Lenovo $1";e[2]=0;e[3]=0;e[4]=0;h.device[239]=e;e=Object.create(null);e[0]=new RegExp("; *(MFC\\d+)[A-Z]{2}([^;,/]*),? Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[240]=e;e=Object.create(null);e[0]=new RegExp("; *(E[34][0-9]{2}|LS[6-8][0-9]{2}|VS[6-9][0-9]+[^;/]+|Nexus 4|Nexus 5X?|GT540f?|Optimus (?:2X|G|4X HD)|OptimusX4HD) *(?:Build|;)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[241]=e;e=Object.create(null);e[0]=new RegExp("[;:] *(L-\\d+[A-Z]|LGL\\d+[A-Z]?)(?:/V\\d+)? *(?:Build|[;\\)])");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[242]=e;e=Object.create(null);e[0]=new RegExp("; *(LG-)([A-Z]{1,2}\\d{2,}[^,;/\\)\\(]*?)(?:Build| V\\d+|[,;/\\)\\(]|$)");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[243]=e;e=Object.create(null);e[0]=new RegExp("; *(LG[ \\-]|LG)([^;/]+)[;/]? Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[244]=e;e=Object.create(null);e[0]=new RegExp("^(LG)-([^;/]+)/ Mozilla/.*; Android");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[245]=e;e=Object.create(null);e[0]=new RegExp("(Web0S); Linux/(SmartTV)");e[1]="LG $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[246]=e;e=Object.create(null);e[0]=new RegExp("; *((?:SMB|smb)[^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[247]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Malata|MALATA) ([^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[248]=e;e=Object.create(null);e[0]=new RegExp("; *(MS[45][0-9]{3}|MID0[568][NS]?|MID[1-9]|MID[78]0[1-9]|MID970[1-9]|MID100[1-9]) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[249]=e;e=Object.create(null);e[0]=new RegExp("; *(M1052|M806|M9000|M9100|M9701|MID100|MID120|MID125|MID130|MID135|MID140|MID701|MID710|MID713|MID727|MID728|MID731|MID732|MID733|MID735|MID736|MID737|MID760|MID800|MID810|MID820|MID830|MID833|MID835|MID860|MID900|MID930|MID933|MID960|MID980) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[250]=e;e=Object.create(null);e[0]=new RegExp("; *(GenxDroid7|MSD7.*|AX\\d.*|Tab 701|Tab 722) Build/");e[1]="Maxx $1";e[2]=0;e[3]=0;e[4]=0;h.device[251]=e;e=Object.create(null);e[0]=new RegExp("; *(M-PP[^;/]+|PhonePad ?\\d{2,}[^;/]+) Build");e[1]="Mediacom $1";e[2]=0;e[3]=0;e[4]=0;h.device[252]=e;e=Object.create(null);e[0]=new RegExp("; *(M-MP[^;/]+|SmartPad ?\\d{2,}[^;/]+) Build");e[1]="Mediacom $1";e[2]=0;e[3]=0;e[4]=0;h.device[253]=e;e=Object.create(null);e[0]=new RegExp("; *(?:MD_)?LIFETAB[ _]([^;/]+) Build");e[1]="Medion Lifetab $1";e[2]=0;e[3]=0;e[4]=0;h.device[254]=e;e=Object.create(null);e[0]=new RegExp("; *MEDION ([^;/]+) Build");e[1]="Medion $1";e[2]=0;e[3]=0;e[4]=0;h.device[255]=e;e=Object.create(null);e[0]=new RegExp("; *(M030|M031|M035|M040|M065|m9) Build");e[1]="Meizu $1";e[2]=0;e[3]=0;e[4]=0;h.device[256]=e;e=Object.create(null);e[0]=new RegExp("; *(?:meizu_|MEIZU )(.+?) *(?:Build|[;\\)])");e[1]="Meizu $1";e[2]=0;e[3]=0;e[4]=0;h.device[257]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Micromax[ _](A111|A240)|(A111|A240)) Build");e[1]="Micromax $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[258]=e;e=Object.create(null);e[0]=new RegExp("; *Micromax[ _](A\\d{2,3}[^;/]*) Build");e[1]="Micromax $1";e[2]=0;e[3]=0;e[4]=0;h.device[259]=e;e=Object.create(null);e[0]=new RegExp("; *(A\\d{2}|A[12]\\d{2}|A90S|A110Q) Build");e[1]="Micromax $1";e[2]=0;e[3]=0;e[4]=0;h.device[260]=e;e=Object.create(null);e[0]=new RegExp("; *Micromax[ _](P\\d{3}[^;/]*) Build");e[1]="Micromax $1";e[2]=0;e[3]=0;e[4]=0;h.device[261]=e;e=Object.create(null);e[0]=new RegExp("; *(P\\d{3}|P\\d{3}\\(Funbook\\)) Build");e[1]="Micromax $1";e[2]=0;e[3]=0;e[4]=0;h.device[262]=e;e=Object.create(null);e[0]=new RegExp("; *(MITO)[ _\\-]?([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[263]=e;e=Object.create(null);e[0]=new RegExp("; *(Cynus)[ _](F5|T\\d|.+?) *(?:Build|[;/\\)])");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[264]=e;e=Object.create(null);e[0]=new RegExp("; *(MODECOM )?(FreeTab) ?([^;/]+) Build");e[1]="$1$2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[265]=e;e=Object.create(null);e[0]=new RegExp("; *(MODECOM )([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[266]=e;e=Object.create(null);e[0]=new RegExp("; *(MZ\\d{3}\\+?|MZ\\d{3} 4G|Xoom|XOOM[^;/]*) Build");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[267]=e;e=Object.create(null);e[0]=new RegExp("; *(Milestone )(XT[^;/]*) Build");e[1]="Motorola $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[268]=e;e=Object.create(null);e[0]=new RegExp("; *(Motoroi ?x|Droid X|DROIDX) Build");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[269]=e;e=Object.create(null);e[0]=new RegExp("; *(Droid[^;/]*|DROID[^;/]*|Milestone[^;/]*|Photon|Triumph|Devour|Titanium) Build");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[270]=e;e=Object.create(null);e[0]=new RegExp("; *(A555|A85[34][^;/]*|A95[356]|ME[58]\\d{2}\\+?|ME600|ME632|ME722|MB\\d{3}\\+?|MT680|MT710|MT870|MT887|MT917|WX435|WX453|WX44[25]|XT\\d{3,4}[A-Z\\+]*|CL[iI]Q|CL[iI]Q XT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[271]=e;e=Object.create(null);e[0]=new RegExp("; *(Motorola MOT-|Motorola[ _\\-]|MOT\\-?)([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[272]=e;e=Object.create(null);e[0]=new RegExp("; *(Moto[_ ]?|MOT\\-)([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[273]=e;e=Object.create(null);e[0]=new RegExp("; *((?:MP[DQ]C|MPG\\d{1,4}|MP\\d{3,4}|MID(?:(?:10[234]|114|43|7[247]|8[24]|7)C|8[01]1))[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[274]=e;e=Object.create(null);e[0]=new RegExp("; *(?:MSI[ _])?(Primo\\d+|Enjoy[ _\\-][^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[275]=e;e=Object.create(null);e[0]=new RegExp("; *Multilaser[ _]([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[276]=e;e=Object.create(null);e[0]=new RegExp("; *(My)[_]?(Pad)[ _]([^;/]+) Build");e[1]="$1$2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[277]=e;e=Object.create(null);e[0]=new RegExp("; *(My)\\|?(Phone)[ _]([^;/]+) Build");e[1]="$1$2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[278]=e;e=Object.create(null);e[0]=new RegExp("; *(A\\d+)[ _](Duo)? Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[279]=e;e=Object.create(null);e[0]=new RegExp("; *(myTab[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[280]=e;e=Object.create(null);e[0]=new RegExp("; *(NABI2?-)([^;/]+) Build/");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[281]=e;e=Object.create(null);e[0]=new RegExp("; *(N-\\d+[CDE]) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[282]=e;e=Object.create(null);e[0]=new RegExp("; ?(NEC-)(.*) Build/");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[283]=e;e=Object.create(null);e[0]=new RegExp("; *(LT-NA7) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[284]=e;e=Object.create(null);e[0]=new RegExp("; *(NXM\\d+[A-z0-9_]*|Next\\d[A-z0-9_ \\-]*|NEXT\\d[A-z0-9_ \\-]*|Nextbook [A-z0-9_ ]*|DATAM803HC|M805)(?: Build|[\\);])");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[285]=e;e=Object.create(null);e[0]=new RegExp("; *(Nokia)([ _\\-]*)([^;/]*) Build");e[1]="$1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[286]=e;e=Object.create(null);e[0]=new RegExp("; *(Nook ?|Barnes & Noble Nook |BN )([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[287]=e;e=Object.create(null);e[0]=new RegExp("; *(NOOK )?(BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[288]=e;e=Object.create(null);e[0]=new RegExp("; Build/(Nook)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[289]=e;e=Object.create(null);e[0]=new RegExp("; *(OP110|OliPad[^;/]+) Build");e[1]="Olivetti $1";e[2]=0;e[3]=0;e[4]=0;h.device[290]=e;e=Object.create(null);e[0]=new RegExp("; *OMEGA[ _\\-](MID[^;/]+) Build");e[1]="Omega $1";e[2]=0;e[3]=0;e[4]=0;h.device[291]=e;e=Object.create(null);e[0]=new RegExp("^(MID7500|MID\\d+) Mozilla/5\\.0 \\(iPad;");e[1]="Omega $1";e[2]=0;e[3]=0;e[4]=0;h.device[292]=e;e=Object.create(null);e[0]=new RegExp("; *((?:CIUS|cius)[^;/]*) Build");e[1]="Openpeak $1";e[2]=0;e[3]=0;e[4]=0;h.device[293]=e;e=Object.create(null);e[0]=new RegExp("; *(Find ?(?:5|7a)|R8[012]\\d{1,2}|T703\\d{0,1}|U70\\d{1,2}T?|X90\\d{1,2}) Build");e[1]="Oppo $1";e[2]=0;e[3]=0;e[4]=0;h.device[294]=e;e=Object.create(null);e[0]=new RegExp("; *OPPO ?([^;/]+) Build/");e[1]="Oppo $1";e[2]=0;e[3]=0;e[4]=0;h.device[295]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Odys\\-|ODYS\\-|ODYS )([^;/]+) Build");e[1]="Odys $1";e[2]=0;e[3]=0;e[4]=0;h.device[296]=e;e=Object.create(null);e[0]=new RegExp("; *(SELECT) ?(7) Build");e[1]="Odys $1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[297]=e;e=Object.create(null);e[0]=new RegExp("; *(PEDI)_(PLUS)_(W) Build");e[1]="Odys $1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[298]=e;e=Object.create(null);e[0]=new RegExp("; *(AEON|BRAVIO|FUSION|FUSION2IN1|Genio|EOS10|IEOS[^;/]*|IRON|Loox|LOOX|LOOX Plus|Motion|NOON|NOON_PRO|NEXT|OPOS|PEDI[^;/]*|PRIME[^;/]*|STUDYTAB|TABLO|Tablet-PC-4|UNO_X8|XELIO[^;/]*|Xelio ?\\d+ ?[Pp]ro|XENO10|XPRESS PRO) Build");e[1]="Odys $1";e[2]=0;e[3]=0;e[4]=0;h.device[299]=e;e=Object.create(null);e[0]=new RegExp("; (ONE [a-zA-Z]\\d+) Build/");e[1]="OnePlus $1";e[2]=0;e[3]=0;e[4]=0;h.device[300]=e;e=Object.create(null);e[0]=new RegExp("; (ONEPLUS [a-zA-Z]\\d+) Build/");e[1]="OnePlus $1";e[2]=0;e[3]=0;e[4]=0;h.device[301]=e;e=Object.create(null);e[0]=new RegExp("; *(TP-\\d+) Build/");e[1]="Orion $1";e[2]=0;e[3]=0;e[4]=0;h.device[302]=e;e=Object.create(null);e[0]=new RegExp("; *(G100W?) Build/");e[1]="PackardBell $1";e[2]=0;e[3]=0;e[4]=0;h.device[303]=e;e=Object.create(null);e[0]=new RegExp("; *(Panasonic)[_ ]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[304]=e;e=Object.create(null);e[0]=new RegExp("; *(FZ-A1B|JT-B1) Build");e[1]="Panasonic $1";e[2]=0;e[3]=0;e[4]=0;h.device[305]=e;e=Object.create(null);e[0]=new RegExp("; *(dL1|DL1) Build");e[1]="Panasonic $1";e[2]=0;e[3]=0;e[4]=0;h.device[306]=e;e=Object.create(null);e[0]=new RegExp("; *(SKY[ _])?(IM\\-[AT]\\d{3}[^;/]+).* Build/");e[1]="Pantech $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[307]=e;e=Object.create(null);e[0]=new RegExp("; *((?:ADR8995|ADR910L|ADR930L|ADR930VW|PTL21|P8000)(?: 4G)?) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[308]=e;e=Object.create(null);e[0]=new RegExp("; *Pantech([^;/]+).* Build/");e[1]="Pantech $1";e[2]=0;e[3]=0;e[4]=0;h.device[309]=e;e=Object.create(null);e[0]=new RegExp("; *(papyre)[ _\\-]([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[310]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Touchlet )?(X10\\.[^;/]+) Build/");e[1]="Pearl $1";e[2]=0;e[3]=0;e[4]=0;h.device[311]=e;e=Object.create(null);e[0]=new RegExp("; PHICOMM (i800) Build/");e[1]="Phicomm $1";e[2]=0;e[3]=0;e[4]=0;h.device[312]=e;e=Object.create(null);e[0]=new RegExp("; PHICOMM ([^;/]+) Build/");e[1]="Phicomm $1";e[2]=0;e[3]=0;e[4]=0;h.device[313]=e;e=Object.create(null);e[0]=new RegExp("; *(FWS\\d{3}[^;/]+) Build/");e[1]="Phicomm $1";e[2]=0;e[3]=0;e[4]=0;h.device[314]=e;e=Object.create(null);e[0]=new RegExp("; *(D633|D822|D833|T539|T939|V726|W335|W336|W337|W3568|W536|W5510|W626|W632|W6350|W6360|W6500|W732|W736|W737|W7376|W820|W832|W8355|W8500|W8510|W930) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[315]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Philips|PHILIPS)[ _]([^;/]+) Build");e[1]="Philips $1";e[2]=0;e[3]=0;e[4]=0;h.device[316]=e;e=Object.create(null);e[0]=new RegExp("Android 4\\..*; *(M[12356789]|U[12368]|S[123])\\ ?(pro)? Build");e[1]="Pipo $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[317]=e;e=Object.create(null);e[0]=new RegExp("; *(MOMO[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[318]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Polaroid[ _])?((?:MIDC\\d{3,}|PMID\\d{2,}|PTAB\\d{3,})[^;/]*)(\\/[^;/]*)? Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[319]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Polaroid )(Tablet) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[320]=e;e=Object.create(null);e[0]=new RegExp("; *(POMP)[ _\\-](.+?) *(?:Build|[;/\\)])");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[321]=e;e=Object.create(null);e[0]=new RegExp("; *(TB07STA|TB10STA|TB07FTA|TB10FTA) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[322]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Positivo )?((?:YPY|Ypy)[^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[323]=e;e=Object.create(null);e[0]=new RegExp("; *(MOB-[^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[324]=e;e=Object.create(null);e[0]=new RegExp("; *POV[ _\\-]([^;/]+) Build/");e[1]="POV $1";e[2]=0;e[3]=0;e[4]=0;h.device[325]=e;e=Object.create(null);e[0]=new RegExp("; *((?:TAB-PLAYTAB|TAB-PROTAB|PROTAB|PlayTabPro|Mobii[ _\\-]|TAB-P)[^;/]*) Build/");e[1]="POV $1";e[2]=0;e[3]=0;e[4]=0;h.device[326]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Prestigio )?((?:PAP|PMP)\\d[^;/]+) Build/");e[1]="Prestigio $1";e[2]=0;e[3]=0;e[4]=0;h.device[327]=e;e=Object.create(null);e[0]=new RegExp("; *(PLT[0-9]{4}.*) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[328]=e;e=Object.create(null);e[0]=new RegExp("; *(A2|A5|A8|A900)_?(Classic)? Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[329]=e;e=Object.create(null);e[0]=new RegExp("; *(Q[Mm]obile)_([^_]+)_([^_]+) Build");e[1]="Qmobile $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[330]=e;e=Object.create(null);e[0]=new RegExp("; *(Q\\-?[Mm]obile)[_ ](A[^;/]+) Build");e[1]="Qmobile $2";e[2]=0;e[3]=0;e[4]=0;h.device[331]=e;e=Object.create(null);e[0]=new RegExp("; *(Q\\-Smart)[ _]([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[332]=e;e=Object.create(null);e[0]=new RegExp("; *(Q\\-?[Mm]obile)[ _\\-](S[^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[333]=e;e=Object.create(null);e[0]=new RegExp("; *(TA1013) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[334]=e;e=Object.create(null);e[0]=new RegExp("; (RCT\\w+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[335]=e;e=Object.create(null);e[0]=new RegExp("; *(RK\\d+),? Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[336]=e;e=Object.create(null);e[0]=new RegExp(" Build/(RK\\d+)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[337]=e;e=Object.create(null);e[0]=new RegExp("; *(SAMSUNG |Samsung )?((?:Galaxy (?:Note II|S\\d)|GT-I9082|GT-I9205|GT-N7\\d{3}|SM-N9005)[^;/]*)\\/?[^;/]* Build/");e[1]="Samsung $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[338]=e;e=Object.create(null);e[0]=new RegExp("; *(Google )?(Nexus [Ss](?: 4G)?) Build/");e[1]="Samsung $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[339]=e;e=Object.create(null);e[0]=new RegExp("; *(SAMSUNG |Samsung )([^\\/]*)\\/[^ ]* Build/");e[1]="Samsung $2";e[2]=0;e[3]=0;e[4]=0;h.device[340]=e;e=Object.create(null);e[0]=new RegExp("; *(Galaxy(?: Ace| Nexus| S ?II+|Nexus S| with MCR 1.2| Mini Plus 4G)?) Build/");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[341]=e;e=Object.create(null);e[0]=new RegExp("; *(SAMSUNG[ _\\-] *)+([^;/]+) Build");e[1]="Samsung $2";e[2]=0;e[3]=0;e[4]=0;h.device[342]=e;e=Object.create(null);e[0]=new RegExp("; *(SAMSUNG-)?(GT\\-[BINPS]\\d{4}[^\\/]*)(\\/[^ ]*) Build");e[1]="Samsung $1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[343]=e;e=Object.create(null);e[0]=new RegExp("(?:; *|^)((?:GT\\-[BIiNPS]\\d{4}|I9\\d{2}0[A-Za-z\\+]?\\b)[^;/\\)]*?)(?:Build|Linux|MIUI|[;/\\)])");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[344]=e;e=Object.create(null);e[0]=new RegExp("; (SAMSUNG-)([A-Za-z0-9\\-]+).* Build/");e[1]="Samsung $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[345]=e;e=Object.create(null);e[0]=new RegExp("; *((?:SCH|SGH|SHV|SHW|SPH|SC|SM)\\-[A-Za-z0-9 ]+)(/?[^ ]*)? Build");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[346]=e;e=Object.create(null);e[0]=new RegExp(" ((?:SCH)\\-[A-Za-z0-9 ]+)(/?[^ ]*)? Build");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[347]=e;e=Object.create(null);e[0]=new RegExp("; *(Behold ?(?:2|II)|YP\\-G[^;/]+|EK-GC100|SCL21|I9300) Build");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[348]=e;e=Object.create(null);e[0]=new RegExp("; *(SH\\-?\\d\\d[^;/]+|SBM\\d[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[349]=e;e=Object.create(null);e[0]=new RegExp("; *(SHARP[ -])([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[350]=e;e=Object.create(null);e[0]=new RegExp("; *(SPX[_\\-]\\d[^;/]*) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[351]=e;e=Object.create(null);e[0]=new RegExp("; *(SX7\\-PEARL\\.GmbH) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[352]=e;e=Object.create(null);e[0]=new RegExp("; *(SP[T]?\\-\\d{2}[^;/]*) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[353]=e;e=Object.create(null);e[0]=new RegExp("; *(SK\\-.*) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[354]=e;e=Object.create(null);e[0]=new RegExp("; *(?:SKYTEX|SX)-([^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[355]=e;e=Object.create(null);e[0]=new RegExp("; *(IMAGINE [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[356]=e;e=Object.create(null);e[0]=new RegExp("; *(SmartQ) ?([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[357]=e;e=Object.create(null);e[0]=new RegExp("; *(WF7C|WF10C|SBT[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[358]=e;e=Object.create(null);e[0]=new RegExp("; *(SBM(?:003SH|005SH|006SH|007SH|102SH)) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[359]=e;e=Object.create(null);e[0]=new RegExp("; *(003P|101P|101P11C|102P) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[360]=e;e=Object.create(null);e[0]=new RegExp("; *(00\\dZ) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[361]=e;e=Object.create(null);e[0]=new RegExp("; HTC(X06HT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[362]=e;e=Object.create(null);e[0]=new RegExp("; *(001HT|X06HT) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[363]=e;e=Object.create(null);e[0]=new RegExp("; *(201M) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[364]=e;e=Object.create(null);e[0]=new RegExp("; *(ST\\d{4}.*)Build/ST");e[1]="Trekstor $1";e[2]=0;e[3]=0;e[4]=0;h.device[365]=e;e=Object.create(null);e[0]=new RegExp("; *(ST\\d{4}.*) Build/");e[1]="Trekstor $1";e[2]=0;e[3]=0;e[4]=0;h.device[366]=e;e=Object.create(null);e[0]=new RegExp("; *(Sony ?Ericsson ?)([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[367]=e;e=Object.create(null);e[0]=new RegExp("; *((?:SK|ST|E|X|LT|MK|MT|WT)\\d{2}[a-z0-9]*(?:-o)?|R800i|U20i) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[368]=e;e=Object.create(null);e[0]=new RegExp("; *(Xperia (?:A8|Arc|Acro|Active|Live with Walkman|Mini|Neo|Play|Pro|Ray|X\\d+)[^;/]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[369]=e;e=Object.create(null);e[0]=new RegExp("; Sony (Tablet[^;/]+) Build");e[1]="Sony $1";e[2]=0;e[3]=0;e[4]=0;h.device[370]=e;e=Object.create(null);e[0]=new RegExp("; Sony ([^;/]+) Build");e[1]="Sony $1";e[2]=0;e[3]=0;e[4]=0;h.device[371]=e;e=Object.create(null);e[0]=new RegExp("; *(Sony)([A-Za-z0-9\\-]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[372]=e;e=Object.create(null);e[0]=new RegExp("; *(Xperia [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[373]=e;e=Object.create(null);e[0]=new RegExp("; *(C(?:1[0-9]|2[0-9]|53|55|6[0-9])[0-9]{2}|D[25]\\d{3}|D6[56]\\d{2}) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[374]=e;e=Object.create(null);e[0]=new RegExp("; *(SGP\\d{3}|SGPT\\d{2}) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[375]=e;e=Object.create(null);e[0]=new RegExp("; *(NW-Z1000Series) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[376]=e;e=Object.create(null);e[0]=new RegExp("PLAYSTATION 3");e[1]="PlayStation 3";e[2]=0;e[3]=0;e[4]=0;h.device[377]=e;e=Object.create(null);e[0]=new RegExp("(PlayStation (?:Portable|Vita|\\d+))");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[378]=e;e=Object.create(null);e[0]=new RegExp("; *((?:CSL_Spice|Spice|SPICE|CSL)[ _\\-]?)?([Mm][Ii])([ _\\-])?(\\d{3}[^;/]*) Build/");e[1]="$1$2$3$4";e[2]=0;e[3]=0;e[4]=0;h.device[379]=e;e=Object.create(null);e[0]=new RegExp("; *(Sprint )(.+?) *(?:Build|[;/])");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[380]=e;e=Object.create(null);e[0]=new RegExp("\\b(Sprint)[: ]([^;,/ ]+)");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[381]=e;e=Object.create(null);e[0]=new RegExp("; *(TAGI[ ]?)(MID) ?([^;/]+) Build/");e[1]="$1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[382]=e;e=Object.create(null);e[0]=new RegExp("; *(Oyster500|Opal 800) Build");e[1]="Tecmobile $1";e[2]=0;e[3]=0;e[4]=0;h.device[383]=e;e=Object.create(null);e[0]=new RegExp("; *(TECNO[ _])([^;/]+) Build/");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[384]=e;e=Object.create(null);e[0]=new RegExp("; *Android for (Telechips|Techvision) ([^ ]+) ");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[385]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Hub2) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[386]=e;e=Object.create(null);e[0]=new RegExp("; *(PAD) ?(100[12]) Build/");e[1]="Terra $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[387]=e;e=Object.create(null);e[0]=new RegExp("; *(T[BM]-\\d{3}[^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[388]=e;e=Object.create(null);e[0]=new RegExp("; *(tolino [^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[389]=e;e=Object.create(null);e[0]=new RegExp("; *Build/.* (TOLINO_BROWSER)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[390]=e;e=Object.create(null);e[0]=new RegExp("; *(?:CJ[ -])?(ThL|THL)[ -]([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[391]=e;e=Object.create(null);e[0]=new RegExp("; *(T100|T200|T5|W100|W200|W8s) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[392]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile[ _]G2[ _]Touch) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[393]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile[ _]G2) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[394]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile myTouch Q) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[395]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile myTouch) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[396]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile_Espresso) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[397]=e;e=Object.create(null);e[0]=new RegExp("; *(T-Mobile G1) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[398]=e;e=Object.create(null);e[0]=new RegExp("\\b(T-Mobile ?)?(myTouch)[ _]?([34]G)[ _]?([^\\/]*) (?:Mozilla|Build)");e[1]="$1$2 $3 $4";e[2]=0;e[3]=0;e[4]=0;h.device[399]=e;e=Object.create(null);e[0]=new RegExp("\\b(T-Mobile)_([^_]+)_(.*) Build");e[1]="$1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[400]=e;e=Object.create(null);e[0]=new RegExp("\\b(T-Mobile)[_ ]?(.*?)Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[401]=e;e=Object.create(null);e[0]=new RegExp(" (ATP[0-9]{4}) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[402]=e;e=Object.create(null);e[0]=new RegExp(" *(TOOKY)[ _\\-]([^;/]+) ?(?:Build|;)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[403]=e;e=Object.create(null);e[0]=new RegExp("\\b(TOSHIBA_AC_AND_AZ|TOSHIBA_FOLIO_AND_A|FOLIO_AND_A)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[404]=e;e=Object.create(null);e[0]=new RegExp("; *([Ff]olio ?100) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[405]=e;e=Object.create(null);e[0]=new RegExp("; *(AT[0-9]{2,3}(?:\\-A|LE\\-A|PE\\-A|SE|a)?|AT7-A|AT1S0|Hikari-iFrame/WDPF-[^;/]+|THRiVE|Thrive) Build/");e[1]="Toshiba $1";e[2]=0;e[3]=0;e[4]=0;h.device[406]=e;e=Object.create(null);e[0]=new RegExp("; *(TM-MID\\d+[^;/]+|TOUCHMATE|MID-750) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[407]=e;e=Object.create(null);e[0]=new RegExp("; *(TM-SM\\d+[^;/]+) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[408]=e;e=Object.create(null);e[0]=new RegExp("; *(A10 [Bb]asic2?) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[409]=e;e=Object.create(null);e[0]=new RegExp("; *(TREQ[ _\\-])([^;/]+) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[410]=e;e=Object.create(null);e[0]=new RegExp("; *(X-?5|X-?3) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[411]=e;e=Object.create(null);e[0]=new RegExp("; *(A502\\+?|A936|A603|X1|X2) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[412]=e;e=Object.create(null);e[0]=new RegExp("(TOUCH(?:TAB|PAD).+?) Build/");e[1]="Versus $1";e[2]=0;e[3]=0;e[4]=0;h.device[413]=e;e=Object.create(null);e[0]=new RegExp("(VERTU) ([^;/]+) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[414]=e;e=Object.create(null);e[0]=new RegExp("; *(Videocon)[ _\\-]([^;/]+) *(?:Build|;)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[415]=e;e=Object.create(null);e[0]=new RegExp(" (VT\\d{2}[A-Za-z]*) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[416]=e;e=Object.create(null);e[0]=new RegExp("; *((?:ViewPad|ViewPhone|VSD)[^;/]+) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[417]=e;e=Object.create(null);e[0]=new RegExp("; *(ViewSonic-)([^;/]+) Build/");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[418]=e;e=Object.create(null);e[0]=new RegExp("; *(GTablet.*) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[419]=e;e=Object.create(null);e[0]=new RegExp("; *([Vv]ivo)[ _]([^;/]+) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[420]=e;e=Object.create(null);e[0]=new RegExp("(Vodafone) (.*) Build/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[421]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Walton[ _\\-])?(Primo[ _\\-][^;/]+) Build");e[1]="Walton $1";e[2]=0;e[3]=0;e[4]=0;h.device[422]=e;e=Object.create(null);e[0]=new RegExp("; *(?:WIKO[ \\-])?(CINK\\+?|BARRY|BLOOM|DARKFULL|DARKMOON|DARKNIGHT|DARKSIDE|FIZZ|HIGHWAY|IGGY|OZZY|RAINBOW|STAIRWAY|SUBLIM|WAX|CINK [^;/]+) Build/");e[1]="Wiko $1";e[2]=0;e[3]=0;e[4]=0;h.device[423]=e;e=Object.create(null);e[0]=new RegExp("; *WellcoM-([^;/]+) Build");e[1]="Wellcom $1";e[2]=0;e[3]=0;e[4]=0;h.device[424]=e;e=Object.create(null);e[0]=new RegExp("(?:(WeTab)-Browser|; (wetab) Build)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[425]=e;e=Object.create(null);e[0]=new RegExp("; *(AT-AS[^;/]+) Build");e[1]="Wolfgang $1";e[2]=0;e[3]=0;e[4]=0;h.device[426]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Woxter|Wxt) ([^;/]+) Build");e[1]="Woxter $1";e[2]=0;e[3]=0;e[4]=0;h.device[427]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Xenta |Luna )?(TAB[234][0-9]{2}|TAB0[78]-\\d{3}|TAB0?9-\\d{3}|TAB1[03]-\\d{3}|SMP\\d{2}-\\d{3}) Build/");e[1]="Yarvik $1";e[2]=0;e[3]=0;e[4]=0;h.device[428]=e;e=Object.create(null);e[0]=new RegExp("; *([A-Z]{2,4})(M\\d{3,}[A-Z]{2})([^;\\)\\/]*)(?: Build|[;\\)])");e[1]="Yifang $1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[429]=e;e=Object.create(null);e[0]=new RegExp("; *((MI|HM|MI-ONE|Redmi)[ -](NOTE |Note )?[^;/]*) (Build|MIUI)/");e[1]="XiaoMi $1";e[2]=0;e[3]=0;e[4]=0;h.device[430]=e;e=Object.create(null);e[0]=new RegExp("; *XOLO[ _]([^;/]*tab.*) Build");e[1]="Xolo $1";e[2]=0;e[3]=0;e[4]=0;h.device[431]=e;e=Object.create(null);e[0]=new RegExp("; *XOLO[ _]([^;/]+) Build");e[1]="Xolo $1";e[2]=0;e[3]=0;e[4]=0;h.device[432]=e;e=Object.create(null);e[0]=new RegExp("; *(q\\d0{2,3}[a-z]?) Build");e[1]="Xolo $1";e[2]=0;e[3]=0;e[4]=0;h.device[433]=e;e=Object.create(null);e[0]=new RegExp("; *(PAD ?[79]\\d+[^;/]*|TelePAD\\d+[^;/]) Build");e[1]="Xoro $1";e[2]=0;e[3]=0;e[4]=0;h.device[434]=e;e=Object.create(null);e[0]=new RegExp("; *(?:(?:ZOPO|Zopo)[ _]([^;/]+)|(ZP ?(?:\\d{2}[^;/]+|C2))|(C[2379])) Build");e[1]="$1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[435]=e;e=Object.create(null);e[0]=new RegExp("; *(ZiiLABS) (Zii[^;/]*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[436]=e;e=Object.create(null);e[0]=new RegExp("; *(Zii)_([^;/]*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[437]=e;e=Object.create(null);e[0]=new RegExp("; *(ARIZONA|(?:ATLAS|Atlas) W|D930|Grand (?:[SX][^;]*|Era|Memo[^;]*)|JOE|(?:Kis|KIS)\\b[^;]*|Libra|Light [^;]*|N8[056][01]|N850L|N8000|N9[15]\\d{2}|N9810|NX501|Optik|(?:Vip )Racer[^;]*|RacerII|RACERII|San Francisco[^;]*|V9[AC]|V55|V881|Z[679][0-9]{2}[A-z]?) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[438]=e;e=Object.create(null);e[0]=new RegExp("; *([A-Z]\\d+)_USA_[^;]* Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[439]=e;e=Object.create(null);e[0]=new RegExp("; *(SmartTab\\d+)[^;]* Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[440]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Blade|BLADE|ZTE-BLADE)([^;/]*) Build");e[1]="ZTE Blade$1";e[2]=0;e[3]=0;e[4]=0;h.device[441]=e;e=Object.create(null);e[0]=new RegExp("; *(?:Skate|SKATE|ZTE-SKATE)([^;/]*) Build");e[1]="ZTE Skate$1";e[2]=0;e[3]=0;e[4]=0;h.device[442]=e;e=Object.create(null);e[0]=new RegExp("; *(Orange |Optimus )(Monte Carlo|San Francisco) Build");e[1]="$1$2";e[2]=0;e[3]=0;e[4]=0;h.device[443]=e;e=Object.create(null);e[0]=new RegExp("; *(?:ZXY-ZTE_|ZTE\\-U |ZTE[\\- _]|ZTE-C[_ ])([^;/]+) Build");e[1]="ZTE $1";e[2]=0;e[3]=0;e[4]=0;h.device[444]=e;e=Object.create(null);e[0]=new RegExp("; (BASE) (lutea|Lutea 2|Tab[^;]*) Build");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[445]=e;e=Object.create(null);e[0]=new RegExp("; (Avea inTouch 2|soft stone|tmn smart a7|Movistar[ _]Link) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[446]=e;e=Object.create(null);e[0]=new RegExp("; *(vp9plus)\\)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[447]=e;e=Object.create(null);e[0]=new RegExp("; ?(Cloud[ _]Z5|z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900) Build/");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[448]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFOT|Kindle Fire) Build\\b");e[1]="Kindle Fire";e[2]=0;e[3]=0;e[4]=0;h.device[449]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFOTE|Amazon Kindle Fire2) Build\\b");e[1]="Kindle Fire 2";e[2]=0;e[3]=0;e[4]=0;h.device[450]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFTT) Build\\b");e[1]="Kindle Fire HD";e[2]=0;e[3]=0;e[4]=0;h.device[451]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFJWI) Build\\b");e[1]='Kindle Fire HD 8.9" WiFi';e[2]=0;e[3]=0;e[4]=0;h.device[452]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFJWA) Build\\b");e[1]='Kindle Fire HD 8.9" 4G';e[2]=0;e[3]=0;e[4]=0;h.device[453]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFSOWI) Build\\b");e[1]='Kindle Fire HD 7" WiFi';e[2]=0;e[3]=0;e[4]=0;h.device[454]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFTHWI) Build\\b");e[1]='Kindle Fire HDX 7" WiFi';e[2]=0;e[3]=0;e[4]=0;h.device[455]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFTHWA) Build\\b");e[1]='Kindle Fire HDX 7" 4G';e[2]=0;e[3]=0;e[4]=0;h.device[456]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFAPWI) Build\\b");e[1]='Kindle Fire HDX 8.9" WiFi';e[2]=0;e[3]=0;e[4]=0;h.device[457]=e;e=Object.create(null);e[0]=new RegExp("; ?(KFAPWA) Build\\b");e[1]='Kindle Fire HDX 8.9" 4G';e[2]=0;e[3]=0;e[4]=0;h.device[458]=e;e=Object.create(null);e[0]=new RegExp("; ?Amazon ([^;/]+) Build\\b");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[459]=e;e=Object.create(null);e[0]=new RegExp("; ?(Kindle) Build\\b");e[1]="Kindle";e[2]=0;e[3]=0;e[4]=0;h.device[460]=e;e=Object.create(null);e[0]=new RegExp("; ?(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+))? Build\\b");e[1]="Kindle Fire";e[2]=0;e[3]=0;e[4]=0;h.device[461]=e;e=Object.create(null);e[0]=new RegExp(" (Kindle)/(\\d+\\.\\d+)");e[1]="Kindle";e[2]=0;e[3]=0;e[4]=0;h.device[462]=e;e=Object.create(null);e[0]=new RegExp(" (Silk|Kindle)/(\\d+)\\.");e[1]="Kindle";e[2]=0;e[3]=0;e[4]=0;h.device[463]=e;e=Object.create(null);e[0]=new RegExp("(sprd)\\-([^/]+)/");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[464]=e;e=Object.create(null);e[0]=new RegExp("; *(H\\d{2}00\\+?) Build");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[465]=e;e=Object.create(null);e[0]=new RegExp("; *(iphone|iPhone5) Build/");e[1]="Xianghe $1";e[2]=0;e[3]=0;e[4]=0;h.device[466]=e;e=Object.create(null);e[0]=new RegExp("; *(e\\d{4}[a-z]?_?v\\d+|v89_[^;/]+)[^;/]+ Build/");e[1]="Xianghe $1";e[2]=0;e[3]=0;e[4]=0;h.device[467]=e;e=Object.create(null);e[0]=new RegExp("\\bUSCC[_\\-]?([^ ;/\\)]+)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[468]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:ALCATEL)[^;]*; *([^;,\\)]+)");e[1]="Alcatel $1";e[2]=0;e[3]=0;e[4]=0;h.device[469]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:ASUS|Asus)[^;]*; *([^;,\\)]+)");e[1]="Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[470]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:DELL|Dell)[^;]*; *([^;,\\)]+)");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[471]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:HTC|Htc|HTC_blocked[^;]*)[^;]*; *(?:HTC)?([^;,\\)]+)");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[472]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:HUAWEI)[^;]*; *(?:HUAWEI )?([^;,\\)]+)");e[1]="Huawei $1";e[2]=0;e[3]=0;e[4]=0;h.device[473]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:LG|Lg)[^;]*; *(?:LG[ \\-])?([^;,\\)]+)");e[1]="LG $1";e[2]=0;e[3]=0;e[4]=0;h.device[474]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:rv:11; )?(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?)*(\\d{3,}[^;\\)]*)");e[1]="Lumia $1";e[2]=0;e[3]=0;e[4]=0;h.device[475]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:NOKIA|Nokia)[^;]*; *(RM-\\d{3,})");e[1]="Nokia $1";e[2]=0;e[3]=0;e[4]=0;h.device[476]=e;e=Object.create(null);e[0]=new RegExp("(?:Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)]|WPDesktop;) ?(?:ARM; ?Touch; ?|Touch; ?)?(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?)*([^;\\)]+)");e[1]="Nokia $1";e[2]=0;e[3]=0;e[4]=0;h.device[477]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:Microsoft(?: Corporation)?)[^;]*; *([^;,\\)]+)");e[1]="Microsoft $1";e[2]=0;e[3]=0;e[4]=0;h.device[478]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:SAMSUNG)[^;]*; *(?:SAMSUNG )?([^;,\\.\\)]+)");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[479]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:TOSHIBA|FujitsuToshibaMobileCommun)[^;]*; *([^;,\\)]+)");e[1]="Toshiba $1";e[2]=0;e[3]=0;e[4]=0;h.device[480]=e;e=Object.create(null);e[0]=new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?([^;]+); *([^;,\\)]+)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[481]=e;e=Object.create(null);e[0]=new RegExp("(?:^|; )SAMSUNG\\-([A-Za-z0-9\\-]+).* Bada/");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[482]=e;e=Object.create(null);e[0]=new RegExp("\\(Mobile; ALCATEL ?(One|ONE) ?(Touch|TOUCH) ?([^;/]+)(?:/[^;]+)?; rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/");e[1]="Alcatel $1 $2 $3";e[2]=0;e[3]=0;e[4]=0;h.device[483]=e;e=Object.create(null);e[0]=new RegExp("\\(Mobile; (?:ZTE([^;]+)|(OpenC)); rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/");e[1]="ZTE $1$2";e[2]=0;e[3]=0;e[4]=0;h.device[484]=e;e=Object.create(null);e[0]=new RegExp("Nokia(N[0-9]+)([A-z_\\-][A-z0-9_\\-]*)");e[1]="Nokia $1";e[2]=0;e[3]=0;e[4]=0;h.device[485]=e;e=Object.create(null);e[0]=new RegExp("(?:NOKIA|Nokia)(?:\\-| *)(?:([A-Za-z0-9]+)\\-[0-9a-f]{32}|([A-Za-z0-9\\-]+)(?:UCBrowser)|([A-Za-z0-9\\-]+))");e[1]="Nokia $1$2$3";e[2]=0;e[3]=0;e[4]=0;h.device[486]=e;e=Object.create(null);e[0]=new RegExp("Lumia ([A-Za-z0-9\\-]+)");e[1]="Lumia $1";e[2]=0;e[3]=0;e[4]=0;h.device[487]=e;e=Object.create(null);e[0]=new RegExp("\\(Symbian; U; S60 V5; [A-z]{2}\\-[A-z]{2}; (SonyEricsson|Samsung|Nokia|LG)([^;/]+)\\)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[488]=e;e=Object.create(null);e[0]=new RegExp("\\(Symbian(?:/3)?; U; ([^;]+);");e[1]="Nokia $1";e[2]=0;e[3]=0;e[4]=0;h.device[489]=e;e=Object.create(null);e[0]=new RegExp("BB10; ([A-Za-z0-9\\- ]+)\\)");e[1]="BlackBerry $1";e[2]=0;e[3]=0;e[4]=0;h.device[490]=e;e=Object.create(null);e[0]=new RegExp("Play[Bb]ook.+RIM Tablet OS");e[1]="BlackBerry Playbook";e[2]=0;e[3]=0;e[4]=0;h.device[491]=e;e=Object.create(null);e[0]=new RegExp("Black[Bb]erry ([0-9]+);");e[1]="BlackBerry $1";e[2]=0;e[3]=0;e[4]=0;h.device[492]=e;e=Object.create(null);e[0]=new RegExp("Black[Bb]erry([0-9]+)");e[1]="BlackBerry $1";e[2]=0;e[3]=0;e[4]=0;h.device[493]=e;e=Object.create(null);e[0]=new RegExp("Black[Bb]erry;");e[1]="BlackBerry";e[2]=0;e[3]=0;e[4]=0;h.device[494]=e;e=Object.create(null);e[0]=new RegExp("(Pre|Pixi)/\\d+\\.\\d+");e[1]="Palm $1";e[2]=0;e[3]=0;e[4]=0;h.device[495]=e;e=Object.create(null);e[0]=new RegExp("Palm([0-9]+)");e[1]="Palm $1";e[2]=0;e[3]=0;e[4]=0;h.device[496]=e;e=Object.create(null);e[0]=new RegExp("Treo([A-Za-z0-9]+)");e[1]="Palm Treo $1";e[2]=0;e[3]=0;e[4]=0;h.device[497]=e;e=Object.create(null);e[0]=new RegExp("webOS.*(P160U(?:NA)?)/(\\d+).(\\d+)");e[1]="HP Veer";e[2]=0;e[3]=0;e[4]=0;h.device[498]=e;e=Object.create(null);e[0]=new RegExp("(Touch[Pp]ad)/\\d+\\.\\d+");e[1]="HP TouchPad";e[2]=0;e[3]=0;e[4]=0;h.device[499]=e;e=Object.create(null);e[0]=new RegExp("HPiPAQ([A-Za-z0-9]+)/\\d+.\\d+");e[1]="HP iPAQ $1";e[2]=0;e[3]=0;e[4]=0;h.device[500]=e;e=Object.create(null);e[0]=new RegExp("PDA; (PalmOS)/sony/model ([a-z]+)/Revision");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[501]=e;e=Object.create(null);e[0]=new RegExp("(Apple\\s?TV)");e[1]="AppleTV";e[2]=0;e[3]=0;e[4]=0;h.device[502]=e;e=Object.create(null);e[0]=new RegExp("(QtCarBrowser)");e[1]="Tesla Model S";e[2]=0;e[3]=0;e[4]=0;h.device[503]=e;e=Object.create(null);e[0]=new RegExp("(iPhone|iPad|iPod)(\\d+,\\d+)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[504]=e;e=Object.create(null);e[0]=new RegExp("(iPad)(?:;| Simulator;)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[505]=e;e=Object.create(null);e[0]=new RegExp("(iPod)(?:;| touch;| Simulator;)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[506]=e;e=Object.create(null);e[0]=new RegExp("(iPhone)(?:;| Simulator;)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[507]=e;e=Object.create(null);e[0]=new RegExp("iPhone");e[1]="iPhone";e[2]=0;e[3]=0;e[4]=0;h.device[508]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/\\d.*\\(((?:Mac|iMac|PowerMac|PowerBook)[^\\d]*)(\\d+)(?:,|%2C)(\\d+)");e[1]="$1$2,$3";e[2]=0;e[3]=0;e[4]=0;h.device[509]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/\\d+\\.\\d+\\.\\d+ \\(x86_64\\)");e[1]="Mac";e[2]=0;e[3]=0;e[4]=0;h.device[510]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/\\d");e[1]="iOS-Device";e[2]=0;e[3]=0;e[4]=0;h.device[511]=e;e=Object.create(null);e[0]=new RegExp("acer_([A-Za-z0-9]+)_");e[1]="Acer $1";e[2]=0;e[3]=0;e[4]=0;h.device[512]=e;e=Object.create(null);e[0]=new RegExp("(?:ALCATEL|Alcatel)-([A-Za-z0-9\\-]+)");e[1]="Alcatel $1";e[2]=0;e[3]=0;e[4]=0;h.device[513]=e;e=Object.create(null);e[0]=new RegExp("(?:Amoi|AMOI)\\-([A-Za-z0-9]+)");e[1]="Amoi $1";e[2]=0;e[3]=0;e[4]=0;h.device[514]=e;e=Object.create(null);e[0]=new RegExp("(?:; |\\/|^)((?:Transformer (?:Pad|Prime) |Transformer |PadFone[ _]?)[A-Za-z0-9]*)");e[1]="Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[515]=e;e=Object.create(null);e[0]=new RegExp("(?:asus.*?ASUS|Asus|ASUS|asus)[\\- ;]*((?:Transformer (?:Pad|Prime) |Transformer |Padfone |Nexus[ _])?[A-Za-z0-9]+)");e[1]="Asus $1";e[2]=0;e[3]=0;e[4]=0;h.device[516]=e;e=Object.create(null);e[0]=new RegExp("\\bBIRD[ \\-\\.]([A-Za-z0-9]+)");e[1]="Bird $1";e[2]=0;e[3]=0;e[4]=0;h.device[517]=e;e=Object.create(null);e[0]=new RegExp("\\bDell ([A-Za-z0-9]+)");e[1]="Dell $1";e[2]=0;e[3]=0;e[4]=0;h.device[518]=e;e=Object.create(null);e[0]=new RegExp("DoCoMo/2\\.0 ([A-Za-z0-9]+)");e[1]="DoCoMo $1";e[2]=0;e[3]=0;e[4]=0;h.device[519]=e;e=Object.create(null);e[0]=new RegExp("([A-Za-z0-9]+)_W;FOMA");e[1]="DoCoMo $1";e[2]=0;e[3]=0;e[4]=0;h.device[520]=e;e=Object.create(null);e[0]=new RegExp("([A-Za-z0-9]+);FOMA");e[1]="DoCoMo $1";e[2]=0;e[3]=0;e[4]=0;h.device[521]=e;e=Object.create(null);e[0]=new RegExp("\\b(?:HTC/|HTC/[a-z0-9]+/)?HTC[ _\\-;]? *(.*?)(?:-?Mozilla|fingerPrint|[;/\\(\\)]|$)");e[1]="HTC $1";e[2]=0;e[3]=0;e[4]=0;h.device[522]=e;e=Object.create(null);e[0]=new RegExp("Huawei([A-Za-z0-9]+)");e[1]="Huawei $1";e[2]=0;e[3]=0;e[4]=0;h.device[523]=e;e=Object.create(null);e[0]=new RegExp("HUAWEI-([A-Za-z0-9]+)");e[1]="Huawei $1";e[2]=0;e[3]=0;e[4]=0;h.device[524]=e;e=Object.create(null);e[0]=new RegExp("vodafone([A-Za-z0-9]+)");e[1]="Huawei Vodafone $1";e[2]=0;e[3]=0;e[4]=0;h.device[525]=e;e=Object.create(null);e[0]=new RegExp("i\\-mate ([A-Za-z0-9]+)");e[1]="i-mate $1";e[2]=0;e[3]=0;e[4]=0;h.device[526]=e;e=Object.create(null);e[0]=new RegExp("Kyocera\\-([A-Za-z0-9]+)");e[1]="Kyocera $1";e[2]=0;e[3]=0;e[4]=0;h.device[527]=e;e=Object.create(null);e[0]=new RegExp("KWC\\-([A-Za-z0-9]+)");e[1]="Kyocera $1";e[2]=0;e[3]=0;e[4]=0;h.device[528]=e;e=Object.create(null);e[0]=new RegExp("Lenovo[_\\-]([A-Za-z0-9]+)");e[1]="Lenovo $1";e[2]=0;e[3]=0;e[4]=0;h.device[529]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+ \\([^;]*; *(LG)E *; *([^;]*) *;[^;]*;[^;]*;\\)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[530]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/1\\.1\\.1.*CE-HTML/1\\.\\d;(Vendor/)*(THOM[^;]*?)[;\\s](?:.*SW-Version/.*)*(LF[^;]+);?");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[531]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)(?:/1\\.1\\.1)?(?: ?\\(;;;;;\\))?; *CE-HTML(?:/1\\.\\d)?; *([^ ]+) ([^;]+);");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[532]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/1\\.1\\.1 \\(;;;;;\\) Maple_2011");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[533]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+ \\([^;]*; *(?:CUS:([^;]*)|([^;]+)) *; *([^;]*) *;.*;");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[534]=e;e=Object.create(null);e[0]=new RegExp("(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[535]=e;e=Object.create(null);e[0]=new RegExp('LGE; (?:Media\\/)?([^;]*);[^;]*;[^;]*;?\\); "?LG NetCast(\\.TV|\\.Media|)-\\d+');e[1]="NetCast$2";e[2]=0;e[3]=0;e[4]=0;h.device[536]=e;e=Object.create(null);e[0]=new RegExp("InettvBrowser/[0-9]+\\.[0-9A-Z]+ \\([^;]*;(Sony)([^;]*);[^;]*;[^\\)]*\\)");e[1]="Inettv";e[2]=0;e[3]=0;e[4]=0;h.device[537]=e;e=Object.create(null);e[0]=new RegExp("InettvBrowser/[0-9]+\\.[0-9A-Z]+ \\([^;]*;([^;]*);[^;]*;[^\\)]*\\)");e[1]="Inettv";e[2]=0;e[3]=0;e[4]=0;h.device[538]=e;e=Object.create(null);e[0]=new RegExp("(?:InettvBrowser|TSBNetTV|NETTV|HBBTV)");e[1]="Inettv";e[2]=0;e[3]=0;e[4]=0;h.device[539]=e;e=Object.create(null);e[0]=new RegExp("Series60/\\d\\.\\d (LG)[\\-]?([A-Za-z0-9 \\-]+)");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[540]=e;e=Object.create(null);e[0]=new RegExp("\\b(?:LGE[ \\-]LG\\-(?:AX)?|LGE |LGE?-LG|LGE?[ \\-]|LG[ /\\-]|lg[\\-])([A-Za-z0-9]+)\\b");e[1]="LG $1";e[2]=0;e[3]=0;e[4]=0;h.device[541]=e;e=Object.create(null);e[0]=new RegExp("(?:^LG[\\-]?|^LGE[\\-/]?)([A-Za-z]+[0-9]+[A-Za-z]*)");e[1]="LG $1";e[2]=0;e[3]=0;e[4]=0;h.device[542]=e;e=Object.create(null);e[0]=new RegExp("^LG([0-9]+[A-Za-z]*)");e[1]="LG $1";e[2]=0;e[3]=0;e[4]=0;h.device[543]=e;e=Object.create(null);e[0]=new RegExp("(KIN\\.[^ ]+) (\\d+)\\.(\\d+)");e[1]="Microsoft $1";e[2]=0;e[3]=0;e[4]=0;h.device[544]=e;e=Object.create(null);e[0]=new RegExp("(?:MSIE|XBMC).*\\b(Xbox)\\b");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[545]=e;e=Object.create(null);e[0]=new RegExp("; ARM; Trident/6\\.0; Touch[\\);]");e[1]="Microsoft Surface RT";e[2]=0;e[3]=0;e[4]=0;h.device[546]=e;e=Object.create(null);e[0]=new RegExp("Motorola\\-([A-Za-z0-9]+)");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[547]=e;e=Object.create(null);e[0]=new RegExp("MOTO\\-([A-Za-z0-9]+)");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[548]=e;e=Object.create(null);e[0]=new RegExp("MOT\\-([A-z0-9][A-z0-9\\-]*)");e[1]="Motorola $1";e[2]=0;e[3]=0;e[4]=0;h.device[549]=e;e=Object.create(null);e[0]=new RegExp("Nintendo WiiU");e[1]="Nintendo Wii U";e[2]=0;e[3]=0;e[4]=0;h.device[550]=e;e=Object.create(null);e[0]=new RegExp("Nintendo (DS|3DS|DSi|Wii);");e[1]="Nintendo $1";e[2]=0;e[3]=0;e[4]=0;h.device[551]=e;e=Object.create(null);e[0]=new RegExp("(?:Pantech|PANTECH)[ _-]?([A-Za-z0-9\\-]+)");e[1]="Pantech $1";e[2]=0;e[3]=0;e[4]=0;h.device[552]=e;e=Object.create(null);e[0]=new RegExp("Philips([A-Za-z0-9]+)");e[1]="Philips $1";e[2]=0;e[3]=0;e[4]=0;h.device[553]=e;e=Object.create(null);e[0]=new RegExp("Philips ([A-Za-z0-9]+)");e[1]="Philips $1";e[2]=0;e[3]=0;e[4]=0;h.device[554]=e;e=Object.create(null);e[0]=new RegExp("(SMART-TV); .* Tizen ");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[555]=e;e=Object.create(null);e[0]=new RegExp("SymbianOS/9\\.\\d.* Samsung[/\\-]([A-Za-z0-9 \\-]+)");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[556]=e;e=Object.create(null);e[0]=new RegExp("(Samsung)(SGH)(i[0-9]+)");e[1]="$1 $2$3";e[2]=0;e[3]=0;e[4]=0;h.device[557]=e;e=Object.create(null);e[0]=new RegExp("SAMSUNG-ANDROID-MMS/([^;/]+)");e[1]="$1";e[2]=0;e[3]=0;e[4]=0;h.device[558]=e;e=Object.create(null);e[0]=new RegExp("SAMSUNG(?:; |[ -/])([A-Za-z0-9\\-]+)");e[1]="Samsung $1";e[2]=0;e[3]=0;e[4]=0;h.device[559]=e;e=Object.create(null);e[0]=new RegExp("(Dreamcast)");e[1]="Sega $1";e[2]=0;e[3]=0;e[4]=0;h.device[560]=e;e=Object.create(null);e[0]=new RegExp("^SIE-([A-Za-z0-9]+)");e[1]="Siemens $1";e[2]=0;e[3]=0;e[4]=0;h.device[561]=e;e=Object.create(null);e[0]=new RegExp("Softbank/[12]\\.0/([A-Za-z0-9]+)");e[1]="Softbank $1";e[2]=0;e[3]=0;e[4]=0;h.device[562]=e;e=Object.create(null);e[0]=new RegExp("SonyEricsson ?([A-Za-z0-9\\-]+)");e[1]="Ericsson $1";e[2]=0;e[3]=0;e[4]=0;h.device[563]=e;e=Object.create(null);e[0]=new RegExp("Android [^;]+; ([^ ]+) (Sony)/");e[1]="$2 $1";e[2]=0;e[3]=0;e[4]=0;h.device[564]=e;e=Object.create(null);e[0]=new RegExp("(Sony)(?:BDP\\/|\\/)?([^ /;\\)]+)[ /;\\)]");e[1]="$1 $2";e[2]=0;e[3]=0;e[4]=0;h.device[565]=e;e=Object.create(null);e[0]=new RegExp("Puffin/[\\d\\.]+IT");e[1]="iPad";e[2]=0;e[3]=0;e[4]=0;h.device[566]=e;e=Object.create(null);e[0]=new RegExp("Puffin/[\\d\\.]+IP");e[1]="iPhone";e[2]=0;e[3]=0;e[4]=0;h.device[567]=e;e=Object.create(null);e[0]=new RegExp("Puffin/[\\d\\.]+AT");e[1]="Generic Tablet";e[2]=0;e[3]=0;e[4]=0;h.device[568]=e;e=Object.create(null);e[0]=new RegExp("Puffin/[\\d\\.]+AP");e[1]="Generic Smartphone";e[2]=0;e[3]=0;e[4]=0;h.device[569]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+\\.[\\d]+; [A-Za-z]{2}\\-[A-Za-z]{0,2}; WOWMobile (.+) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[570]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+\\.[\\d]+\\-update1; [A-Za-z]{2}\\-[A-Za-z]{0,2} *; *(.+?) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[571]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *[A-Za-z]{2}[_\\-][A-Za-z]{0,2}\\-? *; *(.+?) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[572]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *[A-Za-z]{0,2}\\- *; *(.+?) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[573]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *[a-z]{0,2}[_\\-]?[A-Za-z]{0,2};? Build[/ ]");e[1]="Generic Smartphone";e[2]=0;e[3]=0;e[4]=0;h.device[574]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *\\-?[A-Za-z]{2}; *(.+?) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[575]=e;e=Object.create(null);e[0]=new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}(?:;.*)?; *(.+?) Build[/ ]");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[576]=e;e=Object.create(null);e[0]=new RegExp("(GoogleTV)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[577]=e;e=Object.create(null);e[0]=new RegExp("(WebTV)/\\d+.\\d+");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[578]=e;e=Object.create(null);e[0]=new RegExp("^(Roku)/DVP-\\d+\\.\\d+");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.device[579]=e;e=Object.create(null);e[0]=new RegExp("(Android 3\\.\\d|Opera Tablet|Tablet; .+Firefox/|Android.*(?:Tab|Pad))");e[1]="Generic Tablet";e[2]=0;e[3]=0;e[4]=0;h.device[580]=e;e=Object.create(null);e[0]=new RegExp("(Symbian|\\bS60(Version|V\\d)|\\bS60\\b|\\((Series 60|Windows Mobile|Palm OS|Bada); Opera Mini|Windows CE|Opera Mobi|BREW|Brew|Mobile; .+Firefox/|iPhone OS|Android|MobileSafari|Windows *Phone|\\(webOS/|PalmOS)");e[1]="Generic Smartphone";e[2]=0;e[3]=0;e[4]=0;h.device[581]=e;e=Object.create(null);e[0]=new RegExp("(hiptop|avantgo|plucker|xiino|blazer|elaine)");e[1]="Generic Smartphone";e[2]=0;e[3]=0;e[4]=0;h.device[582]=e;e=Object.create(null);e[0]=new RegExp("(bot|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|BingPreview|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.*/\\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes|NL-Crawler|Pingdom|StatusCake|WhatsApp|masscan|Google Web Preview|Qwantify)");e[1]="Spider";e[2]=0;e[3]=0;e[4]=0;h.device[583]=e;e=Object.create(null);e[0]=new RegExp("^(1207|3gso|4thp|501i|502i|503i|504i|505i|506i|6310|6590|770s|802s|a wa|acer|acs\\-|airn|alav|asus|attw|au\\-m|aur |aus |abac|acoo|aiko|alco|alca|amoi|anex|anny|anyw|aptu|arch|argo|bmobile|bell|bird|bw\\-n|bw\\-u|beck|benq|bilb|blac|c55/|cdm\\-|chtm|capi|comp|cond|dall|dbte|dc\\-s|dica|ds\\-d|ds12|dait|devi|dmob|doco|dopo|dorado|el(?:38|39|48|49|50|55|58|68)|el[3456]\\d{2}dual|erk0|esl8|ex300|ez40|ez60|ez70|ezos|ezze|elai|emul|eric|ezwa|fake|fly\\-|fly_|g\\-mo|g1 u|g560|gf\\-5|grun|gene|go.w|good|grad|hcit|hd\\-m|hd\\-p|hd\\-t|hei\\-|hp i|hpip|hs\\-c|htc |htc\\-|htca|htcg)");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[584]=e;e=Object.create(null);e[0]=new RegExp("^(htcp|htcs|htct|htc_|haie|hita|huaw|hutc|i\\-20|i\\-go|i\\-ma|i\\-mobile|i230|iac|iac\\-|iac/|ig01|im1k|inno|iris|jata|kddi|kgt|kgt/|kpt |kwc\\-|klon|lexi|lg g|lg\\-a|lg\\-b|lg\\-c|lg\\-d|lg\\-f|lg\\-g|lg\\-k|lg\\-l|lg\\-m|lg\\-o|lg\\-p|lg\\-s|lg\\-t|lg\\-u|lg\\-w|lg/k|lg/l|lg/u|lg50|lg54|lge\\-|lge/|leno|m1\\-w|m3ga|m50/|maui|mc01|mc21|mcca|medi|meri|mio8|mioa|mo01|mo02|mode|modo|mot |mot\\-|mt50|mtp1|mtv |mate|maxo|merc|mits|mobi|motv|mozz|n100|n101|n102|n202|n203|n300|n302|n500|n502|n505|n700|n701|n710|nec\\-|nem\\-|newg|neon)");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[585]=e;e=Object.create(null);e[0]=new RegExp("^(netf|noki|nzph|o2 x|o2\\-x|opwv|owg1|opti|oran|ot\\-s|p800|pand|pg\\-1|pg\\-2|pg\\-3|pg\\-6|pg\\-8|pg\\-c|pg13|phil|pn\\-2|pt\\-g|palm|pana|pire|pock|pose|psio|qa\\-a|qc\\-2|qc\\-3|qc\\-5|qc\\-7|qc07|qc12|qc21|qc32|qc60|qci\\-|qwap|qtek|r380|r600|raks|rim9|rove|s55/|sage|sams|sc01|sch\\-|scp\\-|sdk/|se47|sec\\-|sec0|sec1|semc|sgh\\-|shar|sie\\-|sk\\-0|sl45|slid|smb3|smt5|sp01|sph\\-|spv |spv\\-|sy01|samm|sany|sava|scoo|send|siem|smar|smit|soft|sony|t\\-mo|t218|t250|t600|t610|t618|tcl\\-|tdg\\-|telm|tim\\-|ts70|tsm\\-|tsm3|tsm5|tx\\-9|tagt)");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[586]=e;e=Object.create(null);e[0]=new RegExp("^(talk|teli|topl|tosh|up.b|upg1|utst|v400|v750|veri|vk\\-v|vk40|vk50|vk52|vk53|vm40|vx98|virg|vertu|vite|voda|vulc|w3c |w3c\\-|wapj|wapp|wapu|wapm|wig |wapi|wapr|wapv|wapy|wapa|waps|wapt|winc|winw|wonu|x700|xda2|xdag|yas\\-|your|zte\\-|zeto|aste|audi|avan|blaz|brew|brvw|bumb|ccwa|cell|cldc|cmd\\-|dang|eml2|fetc|hipt|http|ibro|idea|ikom|ipaq|jbro|jemu|jigs|keji|kyoc|kyok|libw|m\\-cr|midp|mmef|moto|mwbp|mywa|newt|nok6|o2im|pant|pdxg|play|pluc|port|prox|rozo|sama|seri|smal|symb|treo|upsi|vx52|vx53|vx60|vx61|vx70|vx80|vx81|vx83|vx85|wap\\-|webc|whit|wmlb|xda\\-|xda_)");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[587]=e;e=Object.create(null);e[0]=new RegExp("^(Ice)$");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[588]=e;e=Object.create(null);e[0]=new RegExp("(wap[\\-\\ ]browser|maui|netfront|obigo|teleca|up\\.browser|midp|Opera Mini)");e[1]="Generic Feature Phone";e[2]=0;e[3]=0;e[4]=0;h.device[589]=e;h.device.length=590;h.os=Object.create(null);e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+ \\( ;(LG)E ;NetCast 4.0");e[1]=0;e[2]="2013";e[3]=0;e[4]=0;h.os[0]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+ \\( ;(LG)E ;NetCast 3.0");e[1]=0;e[2]="2012";e[3]=0;e[4]=0;h.os[1]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/1.1.1 \\(;;;;;\\) Maple_2011");e[1]="Samsung";e[2]="2011";e[3]=0;e[4]=0;h.os[2]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+ \\(;(Samsung);SmartTV([0-9]{4});.*FXPDEUC");e[1]=0;e[2]=0;e[3]="UE40F7000";e[4]=0;h.os[3]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+ \\(;(Samsung);SmartTV([0-9]{4});.*MST12DEUC");e[1]=0;e[2]=0;e[3]="UE32F4500";e[4]=0;h.os[4]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/1.1.1 \\(; (Philips);.*NETTV/4");e[1]=0;e[2]="2013";e[3]=0;e[4]=0;h.os[5]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/1.1.1 \\(; (Philips);.*NETTV/3");e[1]=0;e[2]="2012";e[3]=0;e[4]=0;h.os[6]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/1.1.1 \\(; (Philips);.*NETTV/2");e[1]=0;e[2]="2011";e[3]=0;e[4]=0;h.os[7]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+.*(firetv)-firefox-plugin (\\d+).(\\d+).(\\d+)");e[1]="FireHbbTV";e[2]=0;e[3]=0;e[4]=0;h.os[8]=e;e=Object.create(null);e[0]=new RegExp("HbbTV/\\d+\\.\\d+\\.\\d+ \\(.*; ?([a-zA-Z]+) ?;.*(201[1-9]).*\\)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[9]=e;e=Object.create(null);e[0]=new RegExp("(Windows Phone) (?:OS[ /])?(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[10]=e;e=Object.create(null);e[0]=new RegExp("(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone)[ +]+(\\d+)[_\\.](\\d+)(?:[_\\.](\\d+))?.*Outlook-iOS-Android");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[11]=e;e=Object.create(null);e[0]=new RegExp("(Android)[ \\-/](\\d+)\\.(\\d+)(?:[.\\-]([a-z0-9]+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[12]=e;e=Object.create(null);e[0]=new RegExp("(Android) Donut");e[1]=0;e[2]="1";e[3]="2";e[4]=0;h.os[13]=e;e=Object.create(null);e[0]=new RegExp("(Android) Eclair");e[1]=0;e[2]="2";e[3]="1";e[4]=0;h.os[14]=e;e=Object.create(null);e[0]=new RegExp("(Android) Froyo");e[1]=0;e[2]="2";e[3]="2";e[4]=0;h.os[15]=e;e=Object.create(null);e[0]=new RegExp("(Android) Gingerbread");e[1]=0;e[2]="2";e[3]="3";e[4]=0;h.os[16]=e;e=Object.create(null);e[0]=new RegExp("(Android) Honeycomb");e[1]=0;e[2]="3";e[3]=0;e[4]=0;h.os[17]=e;e=Object.create(null);e[0]=new RegExp("^UCWEB.*; (Adr) (\\d+)\\.(\\d+)(?:[.\\-]([a-z0-9]+))?;");e[1]="Android";e[2]=0;e[3]=0;e[4]=0;h.os[18]=e;e=Object.create(null);e[0]=new RegExp("^UCWEB.*; (iPad|iPh|iPd) OS (\\d+)_(\\d+)(?:_(\\d+))?;");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[19]=e;e=Object.create(null);e[0]=new RegExp("^UCWEB.*; (wds) (\\d+)\\.(\\d+)(?:\\.(\\d+))?;");e[1]="Windows Phone";e[2]=0;e[3]=0;e[4]=0;h.os[20]=e;e=Object.create(null);e[0]=new RegExp("^(JUC).*; ?U; ?(?:Android)?(\\d+)\\.(\\d+)(?:[\\.\\-]([a-z0-9]+))?");e[1]="Android";e[2]=0;e[3]=0;e[4]=0;h.os[21]=e;e=Object.create(null);e[0]=new RegExp("(Silk-Accelerated=[a-z]{4,5})");e[1]="Android";e[2]=0;e[3]=0;e[4]=0;h.os[22]=e;e=Object.create(null);e[0]=new RegExp("(XBLWP7)");e[1]="Windows Phone";e[2]=0;e[3]=0;e[4]=0;h.os[23]=e;e=Object.create(null);e[0]=new RegExp("(Windows ?Mobile)");e[1]="Windows Mobile";e[2]=0;e[3]=0;e[4]=0;h.os[24]=e;e=Object.create(null);e[0]=new RegExp("(Windows (?:NT 5\\.2|NT 5\\.1))");e[1]="Windows";e[2]="XP";e[3]=0;e[4]=0;h.os[25]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.1)");e[1]="Windows";e[2]="7";e[3]=0;e[4]=0;h.os[26]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.0)");e[1]="Windows";e[2]="Vista";e[3]=0;e[4]=0;h.os[27]=e;e=Object.create(null);e[0]=new RegExp("(Win 9x 4\\.90)");e[1]="Windows";e[2]="ME";e[3]=0;e[4]=0;h.os[28]=e;e=Object.create(null);e[0]=new RegExp("(Windows 98|Windows XP|Windows ME|Windows 95|Windows CE|Windows 7|Windows NT 4\\.0|Windows Vista|Windows 2000|Windows 3.1)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[29]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.2; ARM;)");e[1]="Windows";e[2]="RT";e[3]=0;e[4]=0;h.os[30]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.2)");e[1]="Windows";e[2]="8";e[3]=0;e[4]=0;h.os[31]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.3; ARM;)");e[1]="Windows";e[2]="RT 8.1";e[3]=0;e[4]=0;h.os[32]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.3)");e[1]="Windows";e[2]="8.1";e[3]=0;e[4]=0;h.os[33]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 6\\.4)");e[1]="Windows";e[2]="10";e[3]=0;e[4]=0;h.os[34]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 10\\.0)");e[1]="Windows";e[2]="10";e[3]=0;e[4]=0;h.os[35]=e;e=Object.create(null);e[0]=new RegExp("(Windows NT 5\\.0)");e[1]="Windows";e[2]="2000";e[3]=0;e[4]=0;h.os[36]=e;e=Object.create(null);e[0]=new RegExp("(WinNT4.0)");e[1]="Windows";e[2]="NT 4.0";e[3]=0;e[4]=0;h.os[37]=e;e=Object.create(null);e[0]=new RegExp("(Windows ?CE)");e[1]="Windows";e[2]="CE";e[3]=0;e[4]=0;h.os[38]=e;e=Object.create(null);e[0]=new RegExp("Win ?(95|98|3.1|NT|ME|2000)");e[1]="Windows";e[2]="$1";e[3]=0;e[4]=0;h.os[39]=e;e=Object.create(null);e[0]=new RegExp("Win16");e[1]="Windows";e[2]="3.1";e[3]=0;e[4]=0;h.os[40]=e;e=Object.create(null);e[0]=new RegExp("Win32");e[1]="Windows";e[2]="95";e[3]=0;e[4]=0;h.os[41]=e;e=Object.create(null);e[0]=new RegExp("^Box.*Windows/([\\d.]+);");e[1]="Windows";e[2]="$1";e[3]=0;e[4]=0;h.os[42]=e;e=Object.create(null);e[0]=new RegExp("(Tizen)[/ ](\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[43]=e;e=Object.create(null);e[0]=new RegExp("((?:Mac[ +]?|; )OS[ +]X)[\\s+/](?:(\\d+)[_.](\\d+)(?:[_.](\\d+))?|Mach-O)");e[1]="Mac OS X";e[2]=0;e[3]=0;e[4]=0;h.os[44]=e;e=Object.create(null);e[0]=new RegExp(" (Dar)(win)/(9).(\\d+).*\\((?:i386|x86_64|Power Macintosh)\\)");e[1]="Mac OS X";e[2]="10";e[3]="5";e[4]=0;h.os[45]=e;e=Object.create(null);e[0]=new RegExp(" (Dar)(win)/(10).(\\d+).*\\((?:i386|x86_64)\\)");e[1]="Mac OS X";e[2]="10";e[3]="6";e[4]=0;h.os[46]=e;e=Object.create(null);e[0]=new RegExp(" (Dar)(win)/(11).(\\d+).*\\((?:i386|x86_64)\\)");e[1]="Mac OS X";e[2]="10";e[3]="7";e[4]=0;h.os[47]=e;e=Object.create(null);e[0]=new RegExp(" (Dar)(win)/(12).(\\d+).*\\((?:i386|x86_64)\\)");e[1]="Mac OS X";e[2]="10";e[3]="8";e[4]=0;h.os[48]=e;e=Object.create(null);e[0]=new RegExp(" (Dar)(win)/(13).(\\d+).*\\((?:i386|x86_64)\\)");e[1]="Mac OS X";e[2]="10";e[3]="9";e[4]=0;h.os[49]=e;e=Object.create(null);e[0]=new RegExp("Mac_PowerPC");e[1]="Mac OS";e[2]=0;e[3]=0;e[4]=0;h.os[50]=e;e=Object.create(null);e[0]=new RegExp("(?:PPC|Intel) (Mac OS X)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[51]=e;e=Object.create(null);e[0]=new RegExp("^Box.*;(Darwin)/(10)\\.(1\\d)(?:\\.(\\d+))?");e[1]="Mac OS X";e[2]=0;e[3]=0;e[4]=0;h.os[52]=e;e=Object.create(null);e[0]=new RegExp("(Apple\\s?TV)(?:/(\\d+)\\.(\\d+))?");e[1]="ATV OS X";e[2]=0;e[3]=0;e[4]=0;h.os[53]=e;e=Object.create(null);e[0]=new RegExp("(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS)[ +]+(\\d+)[_\\.](\\d+)(?:[_\\.](\\d+))?");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[54]=e;e=Object.create(null);e[0]=new RegExp("(iPhone|iPad|iPod); Opera");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[55]=e;e=Object.create(null);e[0]=new RegExp("(iPhone|iPad|iPod).*Mac OS X.*Version/(\\d+)\\.(\\d+)");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[56]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(5)48\\.0\\.3.* Darwin/11\\.0\\.0");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[57]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(5)48\\.(0)\\.4.* Darwin/(1)1\\.0\\.0");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[58]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(5)48\\.(1)\\.4");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[59]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(4)85\\.1(3)\\.9");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[60]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(6)09\\.(1)\\.4");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[61]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/(6)(0)9");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[62]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/6(7)2\\.(1)\\.13");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[63]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/6(7)2\\.(1)\\.(1)4");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[64]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/6(7)(2)\\.1\\.15");e[1]="iOS";e[2]="7";e[3]="1";e[4]=0;h.os[65]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/6(7)2\\.(0)\\.(?:2|8)");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[66]=e;e=Object.create(null);e[0]=new RegExp("(CFNetwork)/709\\.1");e[1]="iOS";e[2]="8";e[3]="0.b5";e[4]=0;h.os[67]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/711\\.(\\d)");e[1]="iOS";e[2]="8";e[3]=0;e[4]=0;h.os[68]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/(720)\\.(\\d)");e[1]="Mac OS X";e[2]="10";e[3]="10";e[4]=0;h.os[69]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/(760)\\.(\\d)");e[1]="Mac OS X";e[2]="10";e[3]="11";e[4]=0;h.os[70]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/758\\.(\\d)");e[1]="iOS";e[2]="9";e[3]=0;e[4]=0;h.os[71]=e;e=Object.create(null);e[0]=new RegExp("(CF)(Network)/808\\.(\\d)");e[1]="iOS";e[2]="10";e[3]=0;e[4]=0;h.os[72]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/16\\.\\d+.*\\(x86_64\\)");e[1]="Mac OS X";e[2]="10";e[3]="12";e[4]=0;h.os[73]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/15\\.\\d+.*\\(x86_64\\)");e[1]="Mac OS X";e[2]="10";e[3]="11";e[4]=0;h.os[74]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/(9)\\.\\d+");e[1]="iOS";e[2]="1";e[3]=0;e[4]=0;h.os[75]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/(10)\\.\\d+");e[1]="iOS";e[2]="4";e[3]=0;e[4]=0;h.os[76]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/(11)\\.\\d+");e[1]="iOS";e[2]="5";e[3]=0;e[4]=0;h.os[77]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/.* Darwin/(13)\\.\\d+");e[1]="iOS";e[2]="6";e[3]=0;e[4]=0;h.os[78]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/6.* Darwin/(14)\\.\\d+");e[1]="iOS";e[2]="7";e[3]=0;e[4]=0;h.os[79]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/7.* Darwin/(14)\\.\\d+");e[1]="iOS";e[2]="8";e[3]="0";e[4]=0;h.os[80]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/7.* Darwin/(15)\\.\\d+");e[1]="iOS";e[2]="9";e[3]="0";e[4]=0;h.os[81]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/16\\.5\\.\\d+");e[1]="iOS";e[2]="10";e[3]="3";e[4]=0;h.os[82]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/16\\.6\\.\\d+");e[1]="iOS";e[2]="10";e[3]="3";e[4]="2";h.os[83]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/16\\.7\\.\\d+");e[1]="iOS";e[2]="10";e[3]="3";e[4]="3";h.os[84]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/(16)\\.\\d+");e[1]="iOS";e[2]="10";e[3]=0;e[4]=0;h.os[85]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/17\\.0\\.\\d+");e[1]="iOS";e[2]="11";e[3]="0";e[4]=0;h.os[86]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/17\\.2\\.\\d+");e[1]="iOS";e[2]="11";e[3]="1";e[4]=0;h.os[87]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/17\\.3\\.\\d+");e[1]="iOS";e[2]="11";e[3]="2";e[4]=0;h.os[88]=e;e=Object.create(null);e[0]=new RegExp("CFNetwork/8.* Darwin/(17)\\.\\d+");e[1]="iOS";e[2]="11";e[3]=0;e[4]=0;h.os[89]=e;e=Object.create(null);e[0]=new RegExp("\\b(iOS[ /]|iOS; |iPhone(?:/| v|[ _]OS[/,]|; | OS : |\\d,\\d/|\\d,\\d; )|iPad/)(\\d{1,2})[_\\.](\\d{1,2})(?:[_\\.](\\d+))?");e[1]="iOS";e[2]=0;e[3]=0;e[4]=0;h.os[90]=e;e=Object.create(null);e[0]=new RegExp("\\((iOS);");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[91]=e;e=Object.create(null);e[0]=new RegExp("(tvOS)/(\\d+).(\\d+)");e[1]="tvOS";e[2]=0;e[3]=0;e[4]=0;h.os[92]=e;e=Object.create(null);e[0]=new RegExp("(CrOS) [a-z0-9_]+ (\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="Chrome OS";e[2]=0;e[3]=0;e[4]=0;h.os[93]=e;e=Object.create(null);e[0]=new RegExp("([Dd]ebian)");e[1]="Debian";e[2]=0;e[3]=0;e[4]=0;h.os[94]=e;e=Object.create(null);e[0]=new RegExp("(Linux Mint)(?:/(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[95]=e;e=Object.create(null);e[0]=new RegExp("(Mandriva)(?: Linux)?/(?:[\\d.-]+m[a-z]{2}(\\d+).(\\d))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[96]=e;e=Object.create(null);e[0]=new RegExp("(Symbian[Oo][Ss])[/ ](\\d+)\\.(\\d+)");e[1]="Symbian OS";e[2]=0;e[3]=0;e[4]=0;h.os[97]=e;e=Object.create(null);e[0]=new RegExp("(Symbian/3).+NokiaBrowser/7\\.3");e[1]="Symbian^3 Anna";e[2]=0;e[3]=0;e[4]=0;h.os[98]=e;e=Object.create(null);e[0]=new RegExp("(Symbian/3).+NokiaBrowser/7\\.4");e[1]="Symbian^3 Belle";e[2]=0;e[3]=0;e[4]=0;h.os[99]=e;e=Object.create(null);e[0]=new RegExp("(Symbian/3)");e[1]="Symbian^3";e[2]=0;e[3]=0;e[4]=0;h.os[100]=e;e=Object.create(null);e[0]=new RegExp("\\b(Series 60|SymbOS|S60Version|S60V\\d|S60\\b)");e[1]="Symbian OS";e[2]=0;e[3]=0;e[4]=0;h.os[101]=e;e=Object.create(null);e[0]=new RegExp("(MeeGo)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[102]=e;e=Object.create(null);e[0]=new RegExp("Symbian [Oo][Ss]");e[1]="Symbian OS";e[2]=0;e[3]=0;e[4]=0;h.os[103]=e;e=Object.create(null);e[0]=new RegExp("Series40;");e[1]="Nokia Series 40";e[2]=0;e[3]=0;e[4]=0;h.os[104]=e;e=Object.create(null);e[0]=new RegExp("Series30Plus;");e[1]="Nokia Series 30 Plus";e[2]=0;e[3]=0;e[4]=0;h.os[105]=e;e=Object.create(null);e[0]=new RegExp("(BB10);.+Version/(\\d+)\\.(\\d+)\\.(\\d+)");e[1]="BlackBerry OS";e[2]=0;e[3]=0;e[4]=0;h.os[106]=e;e=Object.create(null);e[0]=new RegExp("(Black[Bb]erry)[0-9a-z]+/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="BlackBerry OS";e[2]=0;e[3]=0;e[4]=0;h.os[107]=e;e=Object.create(null);e[0]=new RegExp("(Black[Bb]erry).+Version/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="BlackBerry OS";e[2]=0;e[3]=0;e[4]=0;h.os[108]=e;e=Object.create(null);e[0]=new RegExp("(RIM Tablet OS) (\\d+)\\.(\\d+)\\.(\\d+)");e[1]="BlackBerry Tablet OS";e[2]=0;e[3]=0;e[4]=0;h.os[109]=e;e=Object.create(null);e[0]=new RegExp("(Play[Bb]ook)");e[1]="BlackBerry Tablet OS";e[2]=0;e[3]=0;e[4]=0;h.os[110]=e;e=Object.create(null);e[0]=new RegExp("(Black[Bb]erry)");e[1]="BlackBerry OS";e[2]=0;e[3]=0;e[4]=0;h.os[111]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/18.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="1";e[3]="0";e[4]="1";h.os[112]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/18.1 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="1";e[3]="1";e[4]=0;h.os[113]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/26.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="1";e[3]="2";e[4]=0;h.os[114]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/28.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="1";e[3]="3";e[4]=0;h.os[115]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/30.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="1";e[3]="4";e[4]=0;h.os[116]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/32.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="2";e[3]="0";e[4]=0;h.os[117]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Gecko/34.0 Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]="2";e[3]="1";e[4]=0;h.os[118]=e;e=Object.create(null);e[0]=new RegExp("\\((?:Mobile|Tablet);.+Firefox/\\d+\\.\\d+");e[1]="Firefox OS";e[2]=0;e[3]=0;e[4]=0;h.os[119]=e;e=Object.create(null);e[0]=new RegExp("(BREW)[ /](\\d+)\\.(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[120]=e;e=Object.create(null);e[0]=new RegExp("(BREW);");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[121]=e;e=Object.create(null);e[0]=new RegExp("(Brew MP|BMP)[ /](\\d+)\\.(\\d+)\\.(\\d+)");e[1]="Brew MP";e[2]=0;e[3]=0;e[4]=0;h.os[122]=e;e=Object.create(null);e[0]=new RegExp("BMP;");e[1]="Brew MP";e[2]=0;e[3]=0;e[4]=0;h.os[123]=e;e=Object.create(null);e[0]=new RegExp("(GoogleTV)(?: (\\d+)\\.(\\d+)(?:\\.(\\d+))?|/[\\da-z]+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[124]=e;e=Object.create(null);e[0]=new RegExp("(WebTV)/(\\d+).(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[125]=e;e=Object.create(null);e[0]=new RegExp("(CrKey)(?:[/](\\d+)\\.(\\d+)(?:\\.(\\d+))?)?");e[1]="Chromecast";e[2]=0;e[3]=0;e[4]=0;h.os[126]=e;e=Object.create(null);e[0]=new RegExp("(hpw|web)OS/(\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]="webOS";e[2]=0;e[3]=0;e[4]=0;h.os[127]=e;e=Object.create(null);e[0]=new RegExp("(VRE);");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[128]=e;e=Object.create(null);e[0]=new RegExp("(Fedora|Red Hat|PCLinuxOS|Puppy|Ubuntu|Kindle|Bada|Lubuntu|BackTrack|Slackware|(?:Free|Open|Net|\\b)BSD)[/ ](\\d+)\\.(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[129]=e;e=Object.create(null);e[0]=new RegExp("(Linux)[ /](\\d+)\\.(\\d+)(?:\\.(\\d+))?.*gentoo");e[1]="Gentoo";e[2]=0;e[3]=0;e[4]=0;h.os[130]=e;e=Object.create(null);e[0]=new RegExp("\\((Bada);");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[131]=e;e=Object.create(null);e[0]=new RegExp("(Windows|Android|WeTab|Maemo|Web0S)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[132]=e;e=Object.create(null);e[0]=new RegExp("(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Mageia|(?:Free|Open|Net|\\b)BSD)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[133]=e;e=Object.create(null);e[0]=new RegExp("(Linux)(?:[ /](\\d+)\\.(\\d+)(?:\\.(\\d+))?)?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[134]=e;e=Object.create(null);e[0]=new RegExp("SunOS");e[1]="Solaris";e[2]=0;e[3]=0;e[4]=0;h.os[135]=e;e=Object.create(null);e[0]=new RegExp("^(Roku)/DVP-(\\d+)\\.(\\d+)");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[136]=e;e=Object.create(null);e[0]=new RegExp("(iOS) (\\d+)\\.(\\d+)(?:\\.(\\d+))?");e[1]=0;e[2]=0;e[3]=0;e[4]=0;h.os[137]=e;h.os.length=138});var q4=Y((AD,j8)=>{j8.exports=[{name:"nodejs",version:"0.2.0",date:"2011-08-26",lts:!1,security:!1},{name:"nodejs",version:"0.3.0",date:"2011-08-26",lts:!1,security:!1},{name:"nodejs",version:"0.4.0",date:"2011-08-26",lts:!1,security:!1},{name:"nodejs",version:"0.5.0",date:"2011-08-26",lts:!1,security:!1},{name:"nodejs",version:"0.6.0",date:"2011-11-04",lts:!1,security:!1},{name:"nodejs",version:"0.7.0",date:"2012-01-17",lts:!1,security:!1},{name:"nodejs",version:"0.8.0",date:"2012-06-22",lts:!1,security:!1},{name:"nodejs",version:"0.9.0",date:"2012-07-20",lts:!1,security:!1},{name:"nodejs",version:"0.10.0",date:"2013-03-11",lts:!1,security:!1},{name:"nodejs",version:"0.11.0",date:"2013-03-28",lts:!1,security:!1},{name:"nodejs",version:"0.12.0",date:"2015-02-06",lts:!1,security:!1},{name:"iojs",version:"1.0.0",date:"2015-01-14"},{name:"iojs",version:"1.1.0",date:"2015-02-03"},{name:"iojs",version:"1.2.0",date:"2015-02-11"},{name:"iojs",version:"1.3.0",date:"2015-02-20"},{name:"iojs",version:"1.5.0",date:"2015-03-06"},{name:"iojs",version:"1.6.0",date:"2015-03-20"},{name:"iojs",version:"2.0.0",date:"2015-05-04"},{name:"iojs",version:"2.1.0",date:"2015-05-24"},{name:"iojs",version:"2.2.0",date:"2015-06-01"},{name:"iojs",version:"2.3.0",date:"2015-06-13"},{name:"iojs",version:"2.4.0",date:"2015-07-17"},{name:"iojs",version:"2.5.0",date:"2015-07-28"},{name:"iojs",version:"3.0.0",date:"2015-08-04"},{name:"iojs",version:"3.1.0",date:"2015-08-19"},{name:"iojs",version:"3.2.0",date:"2015-08-25"},{name:"iojs",version:"3.3.0",date:"2015-09-02"},{name:"nodejs",version:"4.0.0",date:"2015-09-08",lts:!1,security:!1},{name:"nodejs",version:"4.1.0",date:"2015-09-17",lts:!1,security:!1},{name:"nodejs",version:"4.2.0",date:"2015-10-12",lts:"Argon",security:!1},{name:"nodejs",version:"4.3.0",date:"2016-02-09",lts:"Argon",security:!1},{name:"nodejs",version:"4.4.0",date:"2016-03-08",lts:"Argon",security:!1},{name:"nodejs",version:"4.5.0",date:"2016-08-16",lts:"Argon",security:!1},{name:"nodejs",version:"4.6.0",date:"2016-09-27",lts:"Argon",security:!0},{name:"nodejs",version:"4.7.0",date:"2016-12-06",lts:"Argon",security:!1},{name:"nodejs",version:"4.8.0",date:"2017-02-21",lts:"Argon",security:!1},{name:"nodejs",version:"4.9.0",date:"2018-03-28",lts:"Argon",security:!0},{name:"nodejs",version:"5.0.0",date:"2015-10-29",lts:!1,security:!1},{name:"nodejs",version:"5.1.0",date:"2015-11-17",lts:!1,security:!1},{name:"nodejs",version:"5.2.0",date:"2015-12-09",lts:!1,security:!1},{name:"nodejs",version:"5.3.0",date:"2015-12-15",lts:!1,security:!1},{name:"nodejs",version:"5.4.0",date:"2016-01-06",lts:!1,security:!1},{name:"nodejs",version:"5.5.0",date:"2016-01-21",lts:!1,security:!1},{name:"nodejs",version:"5.6.0",date:"2016-02-09",lts:!1,security:!1},{name:"nodejs",version:"5.7.0",date:"2016-02-23",lts:!1,security:!1},{name:"nodejs",version:"5.8.0",date:"2016-03-09",lts:!1,security:!1},{name:"nodejs",version:"5.9.0",date:"2016-03-16",lts:!1,security:!1},{name:"nodejs",version:"5.10.0",date:"2016-04-01",lts:!1,security:!1},{name:"nodejs",version:"5.11.0",date:"2016-04-21",lts:!1,security:!1},{name:"nodejs",version:"5.12.0",date:"2016-06-23",lts:!1,security:!1},{name:"nodejs",version:"6.0.0",date:"2016-04-26",lts:!1,security:!1},{name:"nodejs",version:"6.1.0",date:"2016-05-05",lts:!1,security:!1},{name:"nodejs",version:"6.2.0",date:"2016-05-17",lts:!1,security:!1},{name:"nodejs",version:"6.3.0",date:"2016-07-06",lts:!1,security:!1},{name:"nodejs",version:"6.4.0",date:"2016-08-12",lts:!1,security:!1},{name:"nodejs",version:"6.5.0",date:"2016-08-26",lts:!1,security:!1},{name:"nodejs",version:"6.6.0",date:"2016-09-14",lts:!1,security:!1},{name:"nodejs",version:"6.7.0",date:"2016-09-27",lts:!1,security:!0},{name:"nodejs",version:"6.8.0",date:"2016-10-12",lts:!1,security:!1},{name:"nodejs",version:"6.9.0",date:"2016-10-18",lts:"Boron",security:!1},{name:"nodejs",version:"6.10.0",date:"2017-02-21",lts:"Boron",security:!1},{name:"nodejs",version:"6.11.0",date:"2017-06-06",lts:"Boron",security:!1},{name:"nodejs",version:"6.12.0",date:"2017-11-06",lts:"Boron",security:!1},{name:"nodejs",version:"6.13.0",date:"2018-02-10",lts:"Boron",security:!1},{name:"nodejs",version:"6.14.0",date:"2018-03-28",lts:"Boron",security:!0},{name:"nodejs",version:"6.15.0",date:"2018-11-27",lts:"Boron",security:!0},{name:"nodejs",version:"6.16.0",date:"2018-12-26",lts:"Boron",security:!1},{name:"nodejs",version:"6.17.0",date:"2019-02-28",lts:"Boron",security:!0},{name:"nodejs",version:"7.0.0",date:"2016-10-25",lts:!1,security:!1},{name:"nodejs",version:"7.1.0",date:"2016-11-08",lts:!1,security:!1},{name:"nodejs",version:"7.2.0",date:"2016-11-22",lts:!1,security:!1},{name:"nodejs",version:"7.3.0",date:"2016-12-20",lts:!1,security:!1},{name:"nodejs",version:"7.4.0",date:"2017-01-04",lts:!1,security:!1},{name:"nodejs",version:"7.5.0",date:"2017-01-31",lts:!1,security:!1},{name:"nodejs",version:"7.6.0",date:"2017-02-21",lts:!1,security:!1},{name:"nodejs",version:"7.7.0",date:"2017-02-28",lts:!1,security:!1},{name:"nodejs",version:"7.8.0",date:"2017-03-29",lts:!1,security:!1},{name:"nodejs",version:"7.9.0",date:"2017-04-11",lts:!1,security:!1},{name:"nodejs",version:"7.10.0",date:"2017-05-02",lts:!1,security:!1},{name:"nodejs",version:"8.0.0",date:"2017-05-30",lts:!1,security:!1},{name:"nodejs",version:"8.1.0",date:"2017-06-08",lts:!1,security:!1},{name:"nodejs",version:"8.2.0",date:"2017-07-19",lts:!1,security:!1},{name:"nodejs",version:"8.3.0",date:"2017-08-08",lts:!1,security:!1},{name:"nodejs",version:"8.4.0",date:"2017-08-15",lts:!1,security:!1},{name:"nodejs",version:"8.5.0",date:"2017-09-12",lts:!1,security:!1},{name:"nodejs",version:"8.6.0",date:"2017-09-26",lts:!1,security:!1},{name:"nodejs",version:"8.7.0",date:"2017-10-11",lts:!1,security:!1},{name:"nodejs",version:"8.8.0",date:"2017-10-24",lts:!1,security:!1},{name:"nodejs",version:"8.9.0",date:"2017-10-31",lts:"Carbon",security:!1},{name:"nodejs",version:"8.10.0",date:"2018-03-06",lts:"Carbon",security:!1},{name:"nodejs",version:"8.11.0",date:"2018-03-28",lts:"Carbon",security:!0},{name:"nodejs",version:"8.12.0",date:"2018-09-10",lts:"Carbon",security:!1},{name:"nodejs",version:"8.13.0",date:"2018-11-20",lts:"Carbon",security:!1},{name:"nodejs",version:"8.14.0",date:"2018-11-27",lts:"Carbon",security:!0},{name:"nodejs",version:"8.15.0",date:"2018-12-26",lts:"Carbon",security:!1},{name:"nodejs",version:"8.16.0",date:"2019-04-16",lts:"Carbon",security:!1},{name:"nodejs",version:"8.17.0",date:"2019-12-17",lts:"Carbon",security:!0},{name:"nodejs",version:"9.0.0",date:"2017-10-31",lts:!1,security:!1},{name:"nodejs",version:"9.1.0",date:"2017-11-07",lts:!1,security:!1},{name:"nodejs",version:"9.2.0",date:"2017-11-14",lts:!1,security:!1},{name:"nodejs",version:"9.3.0",date:"2017-12-12",lts:!1,security:!1},{name:"nodejs",version:"9.4.0",date:"2018-01-10",lts:!1,security:!1},{name:"nodejs",version:"9.5.0",date:"2018-01-31",lts:!1,security:!1},{name:"nodejs",version:"9.6.0",date:"2018-02-21",lts:!1,security:!1},{name:"nodejs",version:"9.7.0",date:"2018-03-01",lts:!1,security:!1},{name:"nodejs",version:"9.8.0",date:"2018-03-07",lts:!1,security:!1},{name:"nodejs",version:"9.9.0",date:"2018-03-21",lts:!1,security:!1},{name:"nodejs",version:"9.10.0",date:"2018-03-28",lts:!1,security:!0},{name:"nodejs",version:"9.11.0",date:"2018-04-04",lts:!1,security:!1},{name:"nodejs",version:"10.0.0",date:"2018-04-24",lts:!1,security:!1},{name:"nodejs",version:"10.1.0",date:"2018-05-08",lts:!1,security:!1},{name:"nodejs",version:"10.2.0",date:"2018-05-23",lts:!1,security:!1},{name:"nodejs",version:"10.3.0",date:"2018-05-29",lts:!1,security:!1},{name:"nodejs",version:"10.4.0",date:"2018-06-06",lts:!1,security:!1},{name:"nodejs",version:"10.5.0",date:"2018-06-20",lts:!1,security:!1},{name:"nodejs",version:"10.6.0",date:"2018-07-04",lts:!1,security:!1},{name:"nodejs",version:"10.7.0",date:"2018-07-18",lts:!1,security:!1},{name:"nodejs",version:"10.8.0",date:"2018-08-01",lts:!1,security:!1},{name:"nodejs",version:"10.9.0",date:"2018-08-15",lts:!1,security:!1},{name:"nodejs",version:"10.10.0",date:"2018-09-06",lts:!1,security:!1},{name:"nodejs",version:"10.11.0",date:"2018-09-19",lts:!1,security:!1},{name:"nodejs",version:"10.12.0",date:"2018-10-10",lts:!1,security:!1},{name:"nodejs",version:"10.13.0",date:"2018-10-30",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.14.0",date:"2018-11-27",lts:"Dubnium",security:!0},{name:"nodejs",version:"10.15.0",date:"2018-12-26",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.16.0",date:"2019-05-28",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.17.0",date:"2019-10-22",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.18.0",date:"2019-12-17",lts:"Dubnium",security:!0},{name:"nodejs",version:"10.19.0",date:"2020-02-05",lts:"Dubnium",security:!0},{name:"nodejs",version:"10.20.0",date:"2020-03-26",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.21.0",date:"2020-06-02",lts:"Dubnium",security:!0},{name:"nodejs",version:"10.22.0",date:"2020-07-21",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.23.0",date:"2020-10-27",lts:"Dubnium",security:!1},{name:"nodejs",version:"10.24.0",date:"2021-02-23",lts:"Dubnium",security:!0},{name:"nodejs",version:"11.0.0",date:"2018-10-23",lts:!1,security:!1},{name:"nodejs",version:"11.1.0",date:"2018-10-30",lts:!1,security:!1},{name:"nodejs",version:"11.2.0",date:"2018-11-15",lts:!1,security:!1},{name:"nodejs",version:"11.3.0",date:"2018-11-27",lts:!1,security:!0},{name:"nodejs",version:"11.4.0",date:"2018-12-07",lts:!1,security:!1},{name:"nodejs",version:"11.5.0",date:"2018-12-18",lts:!1,security:!1},{name:"nodejs",version:"11.6.0",date:"2018-12-26",lts:!1,security:!1},{name:"nodejs",version:"11.7.0",date:"2019-01-17",lts:!1,security:!1},{name:"nodejs",version:"11.8.0",date:"2019-01-24",lts:!1,security:!1},{name:"nodejs",version:"11.9.0",date:"2019-01-30",lts:!1,security:!1},{name:"nodejs",version:"11.10.0",date:"2019-02-14",lts:!1,security:!1},{name:"nodejs",version:"11.11.0",date:"2019-03-05",lts:!1,security:!1},{name:"nodejs",version:"11.12.0",date:"2019-03-14",lts:!1,security:!1},{name:"nodejs",version:"11.13.0",date:"2019-03-28",lts:!1,security:!1},{name:"nodejs",version:"11.14.0",date:"2019-04-10",lts:!1,security:!1},{name:"nodejs",version:"11.15.0",date:"2019-04-30",lts:!1,security:!1},{name:"nodejs",version:"12.0.0",date:"2019-04-23",lts:!1,security:!1},{name:"nodejs",version:"12.1.0",date:"2019-04-29",lts:!1,security:!1},{name:"nodejs",version:"12.2.0",date:"2019-05-07",lts:!1,security:!1},{name:"nodejs",version:"12.3.0",date:"2019-05-21",lts:!1,security:!1},{name:"nodejs",version:"12.4.0",date:"2019-06-04",lts:!1,security:!1},{name:"nodejs",version:"12.5.0",date:"2019-06-26",lts:!1,security:!1},{name:"nodejs",version:"12.6.0",date:"2019-07-03",lts:!1,security:!1},{name:"nodejs",version:"12.7.0",date:"2019-07-23",lts:!1,security:!1},{name:"nodejs",version:"12.8.0",date:"2019-08-06",lts:!1,security:!1},{name:"nodejs",version:"12.9.0",date:"2019-08-20",lts:!1,security:!1},{name:"nodejs",version:"12.10.0",date:"2019-09-04",lts:!1,security:!1},{name:"nodejs",version:"12.11.0",date:"2019-09-25",lts:!1,security:!1},{name:"nodejs",version:"12.12.0",date:"2019-10-11",lts:!1,security:!1},{name:"nodejs",version:"12.13.0",date:"2019-10-21",lts:"Erbium",security:!1},{name:"nodejs",version:"12.14.0",date:"2019-12-17",lts:"Erbium",security:!0},{name:"nodejs",version:"12.15.0",date:"2020-02-05",lts:"Erbium",security:!0},{name:"nodejs",version:"12.16.0",date:"2020-02-11",lts:"Erbium",security:!1},{name:"nodejs",version:"12.17.0",date:"2020-05-26",lts:"Erbium",security:!1},{name:"nodejs",version:"12.18.0",date:"2020-06-02",lts:"Erbium",security:!0},{name:"nodejs",version:"12.19.0",date:"2020-10-06",lts:"Erbium",security:!1},{name:"nodejs",version:"12.20.0",date:"2020-11-24",lts:"Erbium",security:!1},{name:"nodejs",version:"12.21.0",date:"2021-02-23",lts:"Erbium",security:!0},{name:"nodejs",version:"13.0.0",date:"2019-10-22",lts:!1,security:!1},{name:"nodejs",version:"13.1.0",date:"2019-11-05",lts:!1,security:!1},{name:"nodejs",version:"13.2.0",date:"2019-11-21",lts:!1,security:!1},{name:"nodejs",version:"13.3.0",date:"2019-12-03",lts:!1,security:!1},{name:"nodejs",version:"13.4.0",date:"2019-12-17",lts:!1,security:!0},{name:"nodejs",version:"13.5.0",date:"2019-12-18",lts:!1,security:!1},{name:"nodejs",version:"13.6.0",date:"2020-01-07",lts:!1,security:!1},{name:"nodejs",version:"13.7.0",date:"2020-01-21",lts:!1,security:!1},{name:"nodejs",version:"13.8.0",date:"2020-02-05",lts:!1,security:!0},{name:"nodejs",version:"13.9.0",date:"2020-02-18",lts:!1,security:!1},{name:"nodejs",version:"13.10.0",date:"2020-03-04",lts:!1,security:!1},{name:"nodejs",version:"13.11.0",date:"2020-03-12",lts:!1,security:!1},{name:"nodejs",version:"13.12.0",date:"2020-03-26",lts:!1,security:!1},{name:"nodejs",version:"13.13.0",date:"2020-04-14",lts:!1,security:!1},{name:"nodejs",version:"13.14.0",date:"2020-04-29",lts:!1,security:!1},{name:"nodejs",version:"14.0.0",date:"2020-04-21",lts:!1,security:!1},{name:"nodejs",version:"14.1.0",date:"2020-04-29",lts:!1,security:!1},{name:"nodejs",version:"14.2.0",date:"2020-05-05",lts:!1,security:!1},{name:"nodejs",version:"14.3.0",date:"2020-05-19",lts:!1,security:!1},{name:"nodejs",version:"14.4.0",date:"2020-06-02",lts:!1,security:!0},{name:"nodejs",version:"14.5.0",date:"2020-06-30",lts:!1,security:!1},{name:"nodejs",version:"14.6.0",date:"2020-07-20",lts:!1,security:!1},{name:"nodejs",version:"14.7.0",date:"2020-07-29",lts:!1,security:!1},{name:"nodejs",version:"14.8.0",date:"2020-08-11",lts:!1,security:!1},{name:"nodejs",version:"14.9.0",date:"2020-08-27",lts:!1,security:!1},{name:"nodejs",version:"14.10.0",date:"2020-09-08",lts:!1,security:!1},{name:"nodejs",version:"14.11.0",date:"2020-09-15",lts:!1,security:!0},{name:"nodejs",version:"14.12.0",date:"2020-09-22",lts:!1,security:!1},{name:"nodejs",version:"14.13.0",date:"2020-09-29",lts:!1,security:!1},{name:"nodejs",version:"14.14.0",date:"2020-10-15",lts:!1,security:!1},{name:"nodejs",version:"14.15.0",date:"2020-10-27",lts:"Fermium",security:!1},{name:"nodejs",version:"14.16.0",date:"2021-02-23",lts:"Fermium",security:!0},{name:"nodejs",version:"15.0.0",date:"2020-10-20",lts:!1,security:!1},{name:"nodejs",version:"15.1.0",date:"2020-11-04",lts:!1,security:!1},{name:"nodejs",version:"15.2.0",date:"2020-11-10",lts:!1,security:!1},{name:"nodejs",version:"15.3.0",date:"2020-11-24",lts:!1,security:!1},{name:"nodejs",version:"15.4.0",date:"2020-12-09",lts:!1,security:!1},{name:"nodejs",version:"15.5.0",date:"2020-12-22",lts:!1,security:!1},{name:"nodejs",version:"15.6.0",date:"2021-01-14",lts:!1,security:!1},{name:"nodejs",version:"15.7.0",date:"2021-01-25",lts:!1,security:!1},{name:"nodejs",version:"15.8.0",date:"2021-02-02",lts:!1,security:!1},{name:"nodejs",version:"15.9.0",date:"2021-02-18",lts:!1,security:!1},{name:"nodejs",version:"15.10.0",date:"2021-02-23",lts:!1,security:!0}]});var W4=Y((RD,z4)=>{A();z4.exports={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"}});var V4=Y((MD,G4)=>{A();G4.exports.browsers=W4()});var K4=Y((PD,J4)=>{A();J4.exports={"0":"43","1":"44","2":"45","3":"46","4":"47","5":"48","6":"49","7":"50","8":"51","9":"52",A:"10",B:"11",C:"12",D:"7",E:"8",F:"9",G:"15",H:"91",I:"4",J:"6",K:"13",L:"14",M:"16",N:"17",O:"18",P:"89",Q:"62",R:"79",S:"80",T:"81",U:"83",V:"84",W:"85",X:"86",Y:"87",Z:"88",a:"90",b:"5",c:"19",d:"20",e:"21",f:"22",g:"23",h:"24",i:"25",j:"26",k:"27",l:"28",m:"29",n:"30",o:"31",p:"32",q:"33",r:"34",s:"35",t:"36",u:"37",v:"38",w:"39",x:"40",y:"41",z:"42",AB:"53",BB:"54",CB:"55",DB:"56",EB:"57",FB:"58",GB:"60",HB:"63",IB:"64",JB:"65",KB:"66",LB:"67",MB:"68",NB:"69",OB:"70",PB:"71",QB:"72",RB:"73",SB:"74",TB:"75",UB:"76",VB:"11.1",WB:"12.1",XB:"3",YB:"59",ZB:"61",aB:"77",bB:"78",cB:"3.2",dB:"10.1",eB:"11.5",fB:"4.2-4.3",gB:"5.5",hB:"2",iB:"82",jB:"3.5",kB:"3.6",lB:"92",mB:"93",nB:"94",oB:"3.1",pB:"5.1",qB:"6.1",rB:"7.1",sB:"9.1",tB:"13.1",uB:"14.1",vB:"TP",wB:"9.5-9.6",xB:"10.0-10.1",yB:"10.5",zB:"10.6","0B":"11.6","1B":"4.0-4.1","2B":"5.0-5.1","3B":"6.0-6.1","4B":"7.0-7.1","5B":"8.1-8.4","6B":"9.0-9.2","7B":"9.3","8B":"10.0-10.2","9B":"10.3",AC:"11.0-11.2",BC:"11.3-11.4",CC:"12.0-12.1",DC:"12.2-12.4",EC:"13.0-13.1",FC:"13.2",GC:"13.3",HC:"13.4-13.7",IC:"14.0-14.4",JC:"14.5-14.6",KC:"all",LC:"2.1",MC:"2.2",NC:"2.3",OC:"4.1",PC:"4.4",QC:"4.4.3-4.4.4",RC:"12.12",SC:"5.0-5.4",TC:"6.2-6.4",UC:"7.2-7.4",VC:"8.2",WC:"9.2",XC:"11.1-11.2",YC:"12.0",ZC:"13.0",aC:"14.0",bC:"10.4",cC:"7.12",dC:"2.5"}});var Z4=Y((ID,Y4)=>{A();Y4.exports.browserVersions=K4()});var Q4=Y((LD,X4)=>{A();X4.exports={A:{A:{J:.0131217,D:.00621152,E:.0199047,F:.0928884,A:.0132698,B:.849265,gB:.009298},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","gB","J","D","E","F","A","B","","",""],E:"IE",F:{gB:962323200,J:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968e3}},B:{A:{C:.008408,K:.004267,L:.004204,G:.004204,M:.008408,N:.033632,O:.092488,R:0,S:.004298,T:.00944,U:.00415,V:.008408,W:.008408,X:.012612,Y:.012612,Z:.016816,P:.079876,a:3.01006,H:.2102},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","K","L","G","M","N","O","R","S","T","U","V","W","X","Y","Z","P","a","H","","",""],E:"Edge",F:{C:1438128e3,K:1447286400,L:1470096e3,G:1491868800,M:1508198400,N:1525046400,O:1542067200,R:1579046400,S:1581033600,T:1586736e3,U:1590019200,V:1594857600,W:1598486400,X:1602201600,Y:1605830400,Z:161136e4,P:1614816e3,a:1618358400,H:1622073600},D:{C:"ms",K:"ms",L:"ms",G:"ms",M:"ms",N:"ms",O:"ms"}},C:{A:{"0":.058856,"1":.004204,"2":.004204,"3":.004525,"4":.004271,"5":.008408,"6":.004538,"7":.004267,"8":.004204,"9":.071468,hB:.012813,XB:.004271,I:.02102,b:.004879,J:.020136,D:.005725,E:.004525,F:.00533,A:.004283,B:.008408,C:.004471,K:.004486,L:.00453,G:.008542,M:.004417,N:.004425,O:.008542,c:.004443,d:.004283,e:.008542,f:.013698,g:.008542,h:.008786,i:.017084,j:.004317,k:.004393,l:.004418,m:.008834,n:.008542,o:.008928,p:.004471,q:.009284,r:.004707,s:.009076,t:.004425,u:.004783,v:.004271,w:.004783,x:.00487,y:.005029,z:.0047,AB:.004335,BB:.004204,CB:.004204,DB:.012612,EB:.004425,FB:.004204,YB:.004204,GB:.008408,ZB:.00472,Q:.004425,HB:.02102,IB:.00415,JB:.004267,KB:.008408,LB:.004267,MB:.012612,NB:.00415,OB:.004204,PB:.004425,QB:.008408,RB:.00415,SB:.00415,TB:.008542,UB:.004298,aB:.004204,bB:.14714,R:.008408,S:.008408,T:.012612,iB:.016816,U:.012612,V:.025224,W:.02102,X:.033632,Y:.071468,Z:2.3122,P:.029428,a:0,H:0,jB:.008786,kB:.00487},B:"moz",C:["hB","XB","jB","kB","I","b","J","D","E","F","A","B","C","K","L","G","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","YB","GB","ZB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","aB","bB","R","S","T","iB","U","V","W","X","Y","Z","P","a","H",""],E:"Firefox",F:{"0":1450137600,"1":1453852800,"2":1457395200,"3":1461628800,"4":1465257600,"5":1470096e3,"6":1474329600,"7":1479168e3,"8":1485216e3,"9":1488844800,hB:1161648e3,XB:1213660800,jB:124632e4,kB:1264032e3,I:1300752e3,b:1308614400,J:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968e3,C:1331596800,K:1335225600,L:1338854400,G:1342483200,M:1346112e3,N:1349740800,O:1353628800,c:1357603200,d:1361232e3,e:1364860800,f:1368489600,g:1372118400,h:1375747200,i:1379376e3,j:1386633600,k:1391472e3,l:1395100800,m:1398729600,n:1402358400,o:1405987200,p:1409616e3,q:1413244800,r:1417392e3,s:1421107200,t:1424736e3,u:1428278400,v:1431475200,w:1435881600,x:1439251200,y:144288e4,z:1446508800,AB:149256e4,BB:1497312e3,CB:1502150400,DB:1506556800,EB:1510617600,FB:1516665600,YB:1520985600,GB:1525824e3,ZB:1529971200,Q:1536105600,HB:1540252800,IB:1544486400,JB:154872e4,KB:1552953600,LB:1558396800,MB:1562630400,NB:1567468800,OB:1571788800,PB:1575331200,QB:1578355200,RB:1581379200,SB:1583798400,TB:1586304e3,UB:1588636800,aB:1591056e3,bB:1593475200,R:1595894400,S:1598313600,T:1600732800,iB:1603152e3,U:1605571200,V:1607990400,W:1611619200,X:1614038400,Y:1616457600,Z:1618790400,P:1622505600,a:null,H:null}},D:{A:{"0":.008408,"1":.004465,"2":.004642,"3":.004891,"4":.008408,"5":.02102,"6":.214404,"7":.004204,"8":.016816,"9":.004204,I:.004706,b:.004879,J:.004879,D:.005591,E:.005591,F:.005591,A:.004534,B:.004464,C:.010424,K:.0083,L:.004706,G:.015087,M:.004393,N:.004393,O:.008652,c:.008542,d:.004393,e:.004317,f:.012612,g:.008786,h:.008408,i:.004461,j:.004298,k:.004326,l:.0047,m:.004538,n:.008542,o:.008596,p:.004566,q:.004204,r:.008408,s:.012612,t:.004335,u:.004464,v:.025224,w:.004464,x:.012612,y:.0236,z:.004403,AB:.058856,BB:.008408,CB:.012612,DB:.04204,EB:.008408,FB:.008408,YB:.008408,GB:.016816,ZB:.121916,Q:.008408,HB:.02102,IB:.025224,JB:.02102,KB:.02102,LB:.033632,MB:.029428,NB:.067264,OB:.071468,PB:.025224,QB:.058856,RB:.02102,SB:.113508,TB:.092488,UB:.067264,aB:.029428,bB:.075672,R:.18918,S:.1051,T:.079876,U:.130324,V:.100896,W:.243832,X:.16816,Y:.311096,Z:.344728,P:1.0468,a:21.4866,H:.790352,lB:.025224,mB:.004204,nB:0},B:"webkit",C:["","","","I","b","J","D","E","F","A","B","C","K","L","G","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","YB","GB","ZB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","aB","bB","R","S","T","U","V","W","X","Y","Z","P","a","H","lB","mB","nB"],E:"Chrome",F:{"0":143208e4,"1":1437523200,"2":1441152e3,"3":1444780800,"4":1449014400,"5":1453248e3,"6":1456963200,"7":1460592e3,"8":1464134400,"9":1469059200,I:1264377600,b:1274745600,J:1283385600,D:1287619200,E:1291248e3,F:1296777600,A:1299542400,B:1303862400,C:1307404800,K:1312243200,L:1316131200,G:1316131200,M:1319500800,N:1323734400,O:1328659200,c:1332892800,d:133704e4,e:1340668800,f:1343692800,g:1348531200,h:1352246400,i:1357862400,j:1361404800,k:1364428800,l:1369094400,m:1374105600,n:1376956800,o:1384214400,p:1389657600,q:1392940800,r:1397001600,s:1400544e3,t:1405468800,u:1409011200,v:141264e4,w:1416268800,x:1421798400,y:1425513600,z:1429401600,AB:1472601600,BB:1476230400,CB:1480550400,DB:1485302400,EB:1489017600,FB:149256e4,YB:1496707200,GB:1500940800,ZB:1504569600,Q:1508198400,HB:1512518400,IB:1516752e3,JB:1520294400,KB:1523923200,LB:1527552e3,MB:1532390400,NB:1536019200,OB:1539648e3,PB:1543968e3,QB:154872e4,RB:1552348800,SB:1555977600,TB:1559606400,UB:1564444800,aB:1568073600,bB:1571702400,R:1575936e3,S:1580860800,T:1586304e3,U:1589846400,V:1594684800,W:1598313600,X:1601942400,Y:1605571200,Z:1611014400,P:1614556800,a:1618272e3,H:1621987200,lB:null,mB:null,nB:null}},E:{A:{I:0,b:.008542,J:.004656,D:.004465,E:.218608,F:.004891,A:.004425,B:.008408,C:.012612,K:.088284,L:2.26175,G:0,oB:0,cB:.008692,pB:.109304,qB:.00456,rB:.004283,sB:.02102,dB:.02102,VB:.058856,WB:.088284,tB:.395176,uB:.748312,vB:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","oB","cB","I","b","pB","J","qB","D","rB","E","F","sB","A","dB","B","VB","C","WB","K","tB","L","uB","G","vB",""],E:"Safari",F:{oB:1205798400,cB:1226534400,I:1244419200,b:1275868800,pB:131112e4,J:1343174400,qB:13824e5,D:13824e5,rB:1410998400,E:1413417600,F:1443657600,sB:1458518400,A:1474329600,dB:1490572800,B:1505779200,VB:1522281600,C:1537142400,WB:1553472e3,K:1568851200,tB:1585008e3,L:1600214400,uB:1619395200,G:null,vB:null}},F:{A:{"0":.008542,"1":.004227,"2":.004725,"3":.008408,"4":.008942,"5":.004707,"6":.004827,"7":.004707,"8":.004707,"9":.004326,F:.0082,B:.016581,C:.004317,G:.00685,M:.00685,N:.00685,O:.005014,c:.006015,d:.004879,e:.006597,f:.006597,g:.013434,h:.006702,i:.006015,j:.005595,k:.004393,l:.008652,m:.004879,n:.004879,o:.004711,p:.005152,q:.005014,r:.009758,s:.004879,t:.008408,u:.004283,v:.004367,w:.004534,x:.008408,y:.004227,z:.004418,AB:.008922,BB:.014349,CB:.004425,DB:.00472,EB:.004425,FB:.004425,GB:.00472,Q:.004532,HB:.004566,IB:.02283,JB:.00867,KB:.004656,LB:.004642,MB:.004298,NB:.00944,OB:.00415,PB:.004271,QB:.004298,RB:.096692,SB:.008408,TB:.433012,UB:.437216,wB:.00685,xB:0,yB:.008392,zB:.004706,VB:.006229,eB:.004879,"0B":.008786,WB:.00472},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","F","wB","xB","yB","zB","B","VB","eB","0B","C","WB","G","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","","",""],E:"Opera",F:{"0":1486425600,"1":1490054400,"2":1494374400,"3":1498003200,"4":1502236800,"5":1506470400,"6":1510099200,"7":1515024e3,"8":1517961600,"9":1521676800,F:1150761600,wB:1223424e3,xB:1251763200,yB:1267488e3,zB:1277942400,B:1292457600,VB:1302566400,eB:1309219200,"0B":1323129600,C:1323129600,WB:1352073600,G:1372723200,M:1377561600,N:1381104e3,O:1386288e3,c:1390867200,d:1393891200,e:1399334400,f:1401753600,g:1405987200,h:1409616e3,i:1413331200,j:1417132800,k:1422316800,l:1425945600,m:1430179200,n:1433808e3,o:1438646400,p:1442448e3,q:1445904e3,r:1449100800,s:1454371200,t:1457308800,u:146232e4,v:1465344e3,w:1470096e3,x:1474329600,y:1477267200,z:1481587200,AB:1525910400,BB:1530144e3,CB:1534982400,DB:1537833600,EB:1543363200,FB:1548201600,GB:1554768e3,Q:1561593600,HB:1566259200,IB:1570406400,JB:1573689600,KB:1578441600,LB:1583971200,MB:1587513600,NB:1592956800,OB:1595894400,PB:1600128e3,QB:1603238400,RB:161352e4,SB:1612224e3,TB:1616544e3,UB:1619568e3},D:{F:"o",B:"o",C:"o",wB:"o",xB:"o",yB:"o",zB:"o",VB:"o",eB:"o","0B":"o",WB:"o"}},G:{A:{E:.00144955,cB:0,"1B":0,fB:.00289911,"2B":.00869732,"3B":.0449361,"4B":.0304406,"5B":.0202937,"6B":.0217433,"7B":.147854,"8B":.0347893,"9B":.149304,AC:.0855236,BC:.0739272,CC:.0768263,DC:.246424,EC:.0666794,FC:.0333397,GC:.172497,HC:.572573,IC:10.1498,JC:1.93225},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cB","1B","fB","2B","3B","4B","E","5B","6B","7B","8B","9B","AC","BC","CC","DC","EC","FC","GC","HC","IC","JC","","",""],E:"Safari on iOS",F:{cB:1270252800,"1B":1283904e3,fB:1299628800,"2B":1331078400,"3B":1359331200,"4B":1394409600,E:1410912e3,"5B":1413763200,"6B":1442361600,"7B":1458518400,"8B":1473724800,"9B":1490572800,AC:1505779200,BC:1522281600,CC:1537142400,DC:1553472e3,EC:1568851200,FC:1572220800,GC:1580169600,HC:1585008e3,IC:1600214400,JC:1619395200}},H:{A:{KC:1.18546},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","KC","","",""],E:"Opera Mini",F:{KC:1426464e3}},I:{A:{XB:0,I:.0263634,H:0,LC:0,MC:0,NC:0,OC:.0301296,fB:.0979213,PC:0,QC:.43688},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","LC","MC","NC","XB","I","OC","fB","PC","QC","H","","",""],E:"Android Browser",F:{LC:1256515200,MC:1274313600,NC:1291593600,XB:1298332800,I:1318896e3,OC:1341792e3,fB:1374624e3,PC:1386547200,QC:1401667200,H:1621987200}},J:{A:{D:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","A","","",""],E:"Blackberry Browser",F:{D:1325376e3,A:1359504e3}},K:{A:{A:0,B:0,C:0,Q:.0111391,VB:0,eB:0,WB:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","VB","eB","C","WB","Q","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752e3,VB:1314835200,eB:1318291200,C:1330300800,WB:1349740800,Q:1613433600},D:{Q:"webkit"}},L:{A:{H:38.7167},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","H","","",""],E:"Chrome for Android",F:{H:1621987200}},M:{A:{P:.278256},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","P","","",""],E:"Firefox for Android",F:{P:1622505600}},N:{A:{A:.0115934,B:.022664},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456e3}},O:{A:{RC:1.36809},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","RC","","",""],E:"UC Browser for Android",F:{RC:1471392e3},D:{RC:"webkit"}},P:{A:{I:.309232,SC:.0103543,TC:.010304,UC:.0824619,VC:.0103584,WC:.0721541,dB:.0412309,XC:.164924,YC:.113385,ZC:.412309,aC:2.19555},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","I","SC","TC","UC","VC","WC","dB","XC","YC","ZC","aC","","",""],E:"Samsung Internet",F:{I:1461024e3,SC:1481846400,TC:1509408e3,UC:1528329600,VC:1546128e3,WC:1554163200,dB:1567900800,XC:1582588800,YC:1593475200,ZC:1605657600,aC:1618531200}},Q:{A:{bC:.185504},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bC","","",""],E:"QQ Browser",F:{bC:1589846400}},R:{A:{cC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cC","","",""],E:"Baidu Browser",F:{cC:1491004800}},S:{A:{dC:.098549},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","dC","","",""],E:"KaiOS Browser",F:{dC:1527811200}}}});var rS=Y((BD,nS)=>{A();var{browsers:D8}=V4(),B0=Z4().browserVersions,eS=Q4();function tS(i){return Object.keys(i).reduce((t,n)=>(t[B0[n]]=i[n],t),{})}nS.exports.agents=Object.keys(eS).reduce((i,t)=>{let n=eS[t];return i[D8[t]]=Object.keys(n).reduce((r,o)=>(o==="A"?r.usage_global=tS(n[o]):o==="C"?r.versions=n[o].reduce((a,l)=>(l===""?a.push(null):a.push(B0[l]),a),[]):o==="D"?r.prefix_exceptions=tS(n[o]):o==="E"?r.browser=n[o]:o==="F"?r.release_date=Object.keys(n[o]).reduce((a,l)=>(a[B0[l]]=n[o][l],a),{}):r.prefix=n[o],r),{}),i},{})});var iS=Y((kD,F8)=>{F8.exports={"v0.8":{start:"2012-06-25",end:"2014-07-31"},"v0.10":{start:"2013-03-11",end:"2016-10-31"},"v0.12":{start:"2015-02-06",end:"2016-12-31"},v4:{start:"2015-09-08",lts:"2015-10-12",maintenance:"2017-04-01",end:"2018-04-30",codename:"Argon"},v5:{start:"2015-10-29",maintenance:"2016-04-30",end:"2016-06-30"},v6:{start:"2016-04-26",lts:"2016-10-18",maintenance:"2018-04-30",end:"2019-04-30",codename:"Boron"},v7:{start:"2016-10-25",maintenance:"2017-04-30",end:"2017-06-30"},v8:{start:"2017-05-30",lts:"2017-10-31",maintenance:"2019-01-01",end:"2019-12-31",codename:"Carbon"},v9:{start:"2017-10-01",maintenance:"2018-04-01",end:"2018-06-30"},v10:{start:"2018-04-24",lts:"2018-10-30",maintenance:"2020-05-19",end:"2021-04-30",codename:"Dubnium"},v11:{start:"2018-10-23",maintenance:"2019-04-22",end:"2019-06-01"},v12:{start:"2019-04-23",lts:"2019-10-21",maintenance:"2020-11-30",end:"2022-04-30",codename:"Erbium"},v13:{start:"2019-10-22",maintenance:"2020-04-01",end:"2020-06-01"},v14:{start:"2020-04-21",lts:"2020-10-27",maintenance:"2021-10-19",end:"2023-04-30",codename:"Fermium"},v15:{start:"2020-10-20",maintenance:"2021-04-01",end:"2021-06-01"},v16:{start:"2021-04-20",lts:"2021-10-26",maintenance:"2022-10-18",end:"2024-04-30",codename:""}}});var sS=Y((ND,oS)=>{A();oS.exports={"0.20":"39","0.21":"41","0.22":"41","0.23":"41","0.24":"41","0.25":"42","0.26":"42","0.27":"43","0.28":"43","0.29":"43","0.30":"44","0.31":"45","0.32":"45","0.33":"45","0.34":"45","0.35":"45","0.36":"47","0.37":"49","1.0":"49","1.1":"50","1.2":"51","1.3":"52","1.4":"53","1.5":"54","1.6":"56","1.7":"58","1.8":"59","2.0":"61","2.1":"61","3.0":"66","3.1":"66","4.0":"69","4.1":"69","4.2":"69","5.0":"73","6.0":"76","6.1":"76","7.0":"78","7.1":"78","7.2":"78","7.3":"78","8.0":"80","8.1":"80","8.2":"80","8.3":"80","8.4":"80","8.5":"80","9.0":"83","9.1":"83","9.2":"83","9.3":"83","9.4":"83","10.0":"85","10.1":"85","10.2":"85","10.3":"85","10.4":"85","11.0":"87","11.1":"87","11.2":"87","11.3":"87","11.4":"87","12.0":"89","13.0":"91","13.1":"91","14.0":"92"}});var N0=Y((HD,aS)=>{A();function k0(i){this.name="BrowserslistError",this.message=i,this.browserslist=!0,Error.captureStackTrace&&Error.captureStackTrace(this,k0)}k0.prototype=Error.prototype;aS.exports=k0});var cS=Y((jD,lS)=>{A();var Sd=N0();function tl(){}lS.exports={loadQueries:function(){throw new Sd("Sharable configs are not supported in client-side build of Browserslist")},getStat:function(t){return t.stats},loadConfig:function(t){if(t.config)throw new Sd("Browserslist config are not supported in client-side build")},loadCountry:function(){throw new Sd("Country statistics are not supported in client-side build of Browserslist")},loadFeature:function(){throw new Sd("Supports queries are not available in client-side build of Browserslist")},currentNode:function(t,n){return t(["maintained node versions"],n)[0]},parseConfig:tl,readConfig:tl,findConfig:tl,clearCaches:tl,oldDataWarning:tl}});var AS=Y((DD,CS)=>{A();var Od=q4(),Bi=rS().agents,H0=iS(),xd=ka(),qr=sS(),Jn=N0(),Pn=cS(),$8=365.259641*24*60*60*1e3,uS=37,j0=1,dS=2;function fS(i,t){return(i+".").indexOf(t+".")===0}function U8(i){var t=i.slice(1);return Od.some(function(n){return fS(n.version,t)})}function hS(i){return i.filter(function(t){return typeof t=="string"})}function _d(i){var t=i;return i.split(".").length===3&&(t=i.split(".").slice(0,-1).join(".")),t}function oo(i){return function(n){return i+" "+n}}function pS(i){return parseInt(i.split(".")[0])}function D0(i,t){if(i.length===0)return[];var n=gS(i.map(pS)),r=n[n.length-t];if(!r)return i;for(var o=[],a=i.length-1;a>=0&&!(r>pS(i[a]));a--)o.unshift(i[a]);return o}function gS(i){for(var t=[],n=0;n<i.length;n++)t.indexOf(i[n])===-1&&t.push(i[n]);return t}function Td(i,t,n){for(var r in n)i[t+" "+r]=n[r]}function mS(i,t){return t=parseFloat(t),i===">"?function(n){return parseFloat(n)>t}:i===">="?function(n){return parseFloat(n)>=t}:i==="<"?function(n){return parseFloat(n)<t}:function(n){return parseFloat(n)<=t}}function q8(i,t){return t=t.split(".").map(so),t[1]=t[1]||0,t[2]=t[2]||0,i===">"?function(n){return n=n.split(".").map(so),nl(n,t)>0}:i===">="?function(n){return n=n.split(".").map(so),nl(n,t)>=0}:i==="<"?function(n){return n=n.split(".").map(so),nl(t,n)>0}:function(n){return n=n.split(".").map(so),nl(t,n)>=0}}function so(i){return parseInt(i)}function Cd(i,t){return i<t?-1:i>t?1:0}function nl(i,t){return Cd(parseInt(i[0]),parseInt(t[0]))||Cd(parseInt(i[1]||"0"),parseInt(t[1]||"0"))||Cd(parseInt(i[2]||"0"),parseInt(t[2]||"0"))}function yS(i,t){switch(t=t.split(".").map(so),typeof t[1]=="undefined"&&(t[1]="x"),i){case"<=":return function(n){return n=n.split(".").map(so),bS(n,t)<=0};default:case">=":return function(n){return n=n.split(".").map(so),bS(n,t)>=0}}}function bS(i,t){return i[0]!==t[0]?i[0]<t[0]?-1:1:t[1]==="x"?0:i[1]!==t[1]?i[1]<t[1]?-1:1:0}function z8(i,t){return i.versions.indexOf(t)!==-1?t:ze.versionAliases[i.name][t]?ze.versionAliases[i.name][t]:!1}function Ad(i,t){var n=z8(i,t);return n||(i.versions.length===1?i.versions[0]:!1)}function vS(i,t){return i=i/1e3,Object.keys(Bi).reduce(function(n,r){var o=zo(r,t);if(!o)return n;var a=Object.keys(o.releaseDate).filter(function(l){return o.releaseDate[l]>=i});return n.concat(a.map(oo(o.name)))},[])}function wS(i){return{name:i.name,versions:i.versions,released:i.released,releaseDate:i.releaseDate}}function W8(i,t){i.versions=i.versions.map(function(o){return t[o]||o}),i.released=i.versions.map(function(o){return t[o]||o});var n={};for(var r in i.releaseDate)n[t[r]||r]=i.releaseDate[r];return i.releaseDate=n,i}function zo(i,t){if(i=i.toLowerCase(),i=ze.aliases[i]||i,t.mobileToDesktop&&ze.desktopNames[i]){var n=ze.data[ze.desktopNames[i]];if(i==="android")return G8(wS(ze.data[i]),n);var r=wS(n);return r.name=i,i==="op_mob"&&(r=W8(r,{"10.0-10.1":"10"})),r}return ze.data[i]}function ES(i,t){var n=uS,r=t[t.length-1];return i.filter(function(o){return/^(?:[2-4]\.|[34]$)/.test(o)}).concat(t.slice(n-r-1))}function G8(i,t){return i.released=ES(i.released,t.released),i.versions=ES(i.versions,t.versions),i}function Gs(i,t){var n=zo(i,t);if(!n)throw new Jn("Unknown browser "+i);return n}function SS(i){return new Jn("Unknown browser query `"+i+"`. Maybe you are using old Browserslist or made typo in query.")}function Rd(i,t,n){if(n.mobileToDesktop)return i;var r=ze.data.android.released,o=r[r.length-1],a=o-uS-t;return a>0?i.slice(-1):i.slice(a-1)}function Vs(i,t){return Array.isArray(i)?i=xS(i.map(OS)):i=OS(i),i.reduce(function(n,r,o){var a=r.queryString,l=a.indexOf("not ")===0;if(l){if(o===0)throw new Jn("Write any browsers query (for instance, `defaults`) before `"+a+"`");a=a.slice(4)}for(var u=0;u<TS.length;u++){var d=TS[u],f=a.match(d.regexp);if(f){var m=[t].concat(f.slice(1)),p=d.select.apply(ze,m).map(function(S){var v=S.split(" ");return v[1]==="0"?v[0]+" "+zo(v[0],t).versions[0]:S});switch(r.type){case dS:return l?n.filter(function(S){return p.indexOf(S)===-1}):n.filter(function(S){return p.indexOf(S)!==-1});case j0:default:if(l){var E={};return p.forEach(function(S){E[S]=!0}),n.filter(function(S){return!E[S]})}return n.concat(p)}}}throw SS(a)},[])}var F0={};function ze(i,t){if(typeof t=="undefined"&&(t={}),typeof t.path=="undefined"&&(t.path=xd.resolve?xd.resolve("."):"."),typeof i=="undefined"||i===null){var n=ze.loadConfig(t);n?i=n:i=ze.defaults}if(!(typeof i=="string"||Array.isArray(i)))throw new Jn("Browser queries must be an array or string. Got "+typeof i+".");var r={ignoreUnknownVersions:t.ignoreUnknownVersions,dangerousExtend:t.dangerousExtend,mobileToDesktop:t.mobileToDesktop,path:t.path,env:t.env};Pn.oldDataWarning(ze.data);var o=Pn.getStat(t,ze.data);if(o){r.customUsage={};for(var a in o)Td(r.customUsage,a,o[a])}var l=JSON.stringify([i,r]);if(F0[l])return F0[l];var u=gS(Vs(i,r)).sort(function(d,f){if(d=d.split(" "),f=f.split(" "),d[0]===f[0]){var m=d[1].split("-")[0],p=f[1].split("-")[0];return nl(p.split("."),m.split("."))}else return Cd(d[0],f[0])});return j.env.BROWSERSLIST_DISABLE_CACHE||(F0[l]=u),u}function OS(i){var t=[];do i=V8(i,t);while(i);return t}function V8(i,t){var n=/^(?:,\s*|\s+or\s+)(.*)/i,r=/^\s+and\s+(.*)/i;return J8(i,function(o,a,l){return r.test(o)?(t.unshift({type:dS,queryString:o.match(r)[1]}),!0):n.test(o)?(t.unshift({type:j0,queryString:o.match(n)[1]}),!0):a===l?(t.unshift({type:j0,queryString:o.trim()}),!0):!1})}function J8(i,t){for(var n=1,r=i.length;n<=r;n++){var o=i.substr(-n,n);if(t(o,n,r))return i.slice(0,-n)}return""}function xS(i){return Array.isArray(i)?i.reduce(function(t,n){return t.concat(xS(n))},[]):[i]}ze.cache={};ze.data={};ze.usage={global:{},custom:null};ze.defaults=["> 0.5%","last 2 versions","Firefox ESR","not dead"];ze.aliases={fx:"firefox",ff:"firefox",ios:"ios_saf",explorer:"ie",blackberry:"bb",explorermobile:"ie_mob",operamini:"op_mini",operamobile:"op_mob",chromeandroid:"and_chr",firefoxandroid:"and_ff",ucandroid:"and_uc",qqandroid:"and_qq"};ze.desktopNames={and_chr:"chrome",and_ff:"firefox",ie_mob:"ie",op_mob:"opera",android:"chrome"};ze.versionAliases={};ze.clearCaches=Pn.clearCaches;ze.parseConfig=Pn.parseConfig;ze.readConfig=Pn.readConfig;ze.findConfig=Pn.findConfig;ze.loadConfig=Pn.loadConfig;ze.coverage=function(i,t){var n;if(typeof t=="undefined")n=ze.usage.global;else if(t==="my stats"){var r={};r.path=xd.resolve?xd.resolve("."):".";var o=Pn.getStat(r);if(!o)throw new Jn("Custom usage statistics was not provided");n={};for(var a in o)Td(n,a,o[a])}else if(typeof t=="string")t.length>2?t=t.toLowerCase():t=t.toUpperCase(),Pn.loadCountry(ze.usage,t,ze.data),n=ze.usage[t];else{"dataByBrowser"in t&&(t=t.dataByBrowser),n={};for(var l in t)for(var u in t[l])n[l+" "+u]=t[l][u]}return i.reduce(function(d,f){var m=n[f];return m===void 0&&(m=n[f.replace(/ \S+$/," 0")]),d+(m||0)},0)};function $0(i,t){var n=Od.filter(function(o){return o.name==="nodejs"}),r=n.filter(function(o){return fS(o.version,t)});if(r.length===0){if(i.ignoreUnknownVersions)return[];throw new Jn("Unknown version "+t+" of Node.js")}return["node "+r[r.length-1].version]}function U0(i,t,n,r){return t=parseInt(t),n=parseInt(n||"01")-1,r=parseInt(r||"01"),vS(Date.UTC(t,n,r,0,0,0),i)}function _S(i,t,n){t=parseFloat(t);var r=ze.usage.global;if(n)if(n.match(/^my\s+stats$/)){if(!i.customUsage)throw new Jn("Custom usage statistics was not provided");r=i.customUsage}else{var o;n.length===2?o=n.toUpperCase():o=n.toLowerCase(),Pn.loadCountry(ze.usage,o,ze.data),r=ze.usage[o]}for(var a=Object.keys(r).sort(function(m,p){return r[p]-r[m]}),l=0,u=[],d,f=0;f<=a.length&&(d=a[f],!(r[d]===0||(l+=r[d],u.push(d),l>=t)));f++);return u}var TS=[{regexp:/^last\s+(\d+)\s+major\s+versions?$/i,select:function(i,t){return Object.keys(Bi).reduce(function(n,r){var o=zo(r,i);if(!o)return n;var a=D0(o.released,t);return a=a.map(oo(o.name)),o.name==="android"&&(a=Rd(a,t,i)),n.concat(a)},[])}},{regexp:/^last\s+(\d+)\s+versions?$/i,select:function(i,t){return Object.keys(Bi).reduce(function(n,r){var o=zo(r,i);if(!o)return n;var a=o.released.slice(-t);return a=a.map(oo(o.name)),o.name==="android"&&(a=Rd(a,t,i)),n.concat(a)},[])}},{regexp:/^last\s+(\d+)\s+electron\s+major\s+versions?$/i,select:function(i,t){var n=D0(Object.keys(qr),t);return n.map(function(r){return"chrome "+qr[r]})}},{regexp:/^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,select:function(i,t,n){var r=Gs(n,i),o=D0(r.released,t),a=o.map(oo(r.name));return r.name==="android"&&(a=Rd(a,t,i)),a}},{regexp:/^last\s+(\d+)\s+electron\s+versions?$/i,select:function(i,t){return Object.keys(qr).slice(-t).map(function(n){return"chrome "+qr[n]})}},{regexp:/^last\s+(\d+)\s+(\w+)\s+versions?$/i,select:function(i,t,n){var r=Gs(n,i),o=r.released.slice(-t).map(oo(r.name));return r.name==="android"&&(o=Rd(o,t,i)),o}},{regexp:/^unreleased\s+versions$/i,select:function(i){return Object.keys(Bi).reduce(function(t,n){var r=zo(n,i);if(!r)return t;var o=r.versions.filter(function(a){return r.released.indexOf(a)===-1});return o=o.map(oo(r.name)),t.concat(o)},[])}},{regexp:/^unreleased\s+electron\s+versions?$/i,select:function(){return[]}},{regexp:/^unreleased\s+(\w+)\s+versions?$/i,select:function(i,t){var n=Gs(t,i);return n.versions.filter(function(r){return n.released.indexOf(r)===-1}).map(oo(n.name))}},{regexp:/^last\s+(\d*.?\d+)\s+years?$/i,select:function(i,t){return vS(Date.now()-$8*t,i)}},{regexp:/^since (\d+)$/i,select:U0},{regexp:/^since (\d+)-(\d+)$/i,select:U0},{regexp:/^since (\d+)-(\d+)-(\d+)$/i,select:U0},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,select:function(i,t,n){n=parseFloat(n);var r=ze.usage.global;return Object.keys(r).reduce(function(o,a){return t===">"?r[a]>n&&o.push(a):t==="<"?r[a]<n&&o.push(a):t==="<="?r[a]<=n&&o.push(a):r[a]>=n&&o.push(a),o},[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,select:function(i,t,n){if(n=parseFloat(n),!i.customUsage)throw new Jn("Custom usage statistics was not provided");var r=i.customUsage;return Object.keys(r).reduce(function(o,a){return t===">"?r[a]>n&&o.push(a):t==="<"?r[a]<n&&o.push(a):t==="<="?r[a]<=n&&o.push(a):r[a]>=n&&o.push(a),o},[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,select:function(i,t,n,r){n=parseFloat(n);var o=Pn.loadStat(i,r,ze.data);if(o){i.customUsage={};for(var a in o)Td(i.customUsage,a,o[a])}if(!i.customUsage)throw new Jn("Custom usage statistics was not provided");var l=i.customUsage;return Object.keys(l).reduce(function(u,d){return t===">"?l[d]>n&&u.push(d):t==="<"?l[d]<n&&u.push(d):t==="<="?l[d]<=n&&u.push(d):l[d]>=n&&u.push(d),u},[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,select:function(i,t,n,r){n=parseFloat(n),r.length===2?r=r.toUpperCase():r=r.toLowerCase(),Pn.loadCountry(ze.usage,r,ze.data);var o=ze.usage[r];return Object.keys(o).reduce(function(a,l){return t===">"?o[l]>n&&a.push(l):t==="<"?o[l]<n&&a.push(l):t==="<="?o[l]<=n&&a.push(l):o[l]>=n&&a.push(l),a},[])}},{regexp:/^cover\s+(\d+|\d+\.\d+|\.\d+)%$/,select:_S},{regexp:/^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/,select:_S},{regexp:/^supports\s+([\w-]+)$/,select:function(i,t){Pn.loadFeature(ze.cache,t);var n=ze.cache[t];return Object.keys(n).reduce(function(r,o){var a=n[o];return(a.indexOf("y")>=0||a.indexOf("a")>=0)&&r.push(o),r},[])}},{regexp:/^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(i,t,n){var r=_d(t),o=_d(n);if(!qr[r])throw new Jn("Unknown version "+t+" of electron");if(!qr[o])throw new Jn("Unknown version "+n+" of electron");return t=parseFloat(t),n=parseFloat(n),Object.keys(qr).filter(function(a){var l=parseFloat(a);return l>=t&&l<=n}).map(function(a){return"chrome "+qr[a]})}},{regexp:/^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(i,t,n){var r=Od.filter(function(o){return o.name==="nodejs"}).map(function(o){return o.version});return r.filter(yS(">=",t)).filter(yS("<=",n)).map(function(o){return"node "+o})}},{regexp:/^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(i,t,n,r){var o=Gs(t,i);n=parseFloat(Ad(o,n)||n),r=parseFloat(Ad(o,r)||r);function a(l){var u=parseFloat(l);return u>=n&&u<=r}return o.released.filter(a).map(oo(o.name))}},{regexp:/^electron\s*(>=?|<=?)\s*([\d.]+)$/i,select:function(i,t,n){var r=_d(n);return Object.keys(qr).filter(mS(t,r)).map(function(o){return"chrome "+qr[o]})}},{regexp:/^node\s*(>=?|<=?)\s*([\d.]+)$/i,select:function(i,t,n){var r=Od.filter(function(o){return o.name==="nodejs"}).map(function(o){return o.version});return r.filter(q8(t,n)).map(function(o){return"node "+o})}},{regexp:/^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,select:function(i,t,n,r){var o=Gs(t,i),a=ze.versionAliases[o.name][r];return a&&(r=a),o.released.filter(mS(n,r)).map(function(l){return o.name+" "+l})}},{regexp:/^(firefox|ff|fx)\s+esr$/i,select:function(){return["firefox 78"]}},{regexp:/(operamini|op_mini)\s+all/i,select:function(){return["op_mini all"]}},{regexp:/^electron\s+([\d.]+)$/i,select:function(i,t){var n=_d(t),r=qr[n];if(!r)throw new Jn("Unknown version "+t+" of electron");return["chrome "+r]}},{regexp:/^node\s+(\d+)$/i,select:$0},{regexp:/^node\s+(\d+\.\d+)$/i,select:$0},{regexp:/^node\s+(\d+\.\d+\.\d+)$/i,select:$0},{regexp:/^current\s+node$/i,select:function(i){return[Pn.currentNode(Vs,i)]}},{regexp:/^maintained\s+node\s+versions$/i,select:function(i){var t=Date.now(),n=Object.keys(H0).filter(function(r){return t<Date.parse(H0[r].end)&&t>Date.parse(H0[r].start)&&U8(r)}).map(function(r){return"node "+r.slice(1)});return Vs(n,i)}},{regexp:/^phantomjs\s+1.9$/i,select:function(){return["safari 5"]}},{regexp:/^phantomjs\s+2.1$/i,select:function(){return["safari 6"]}},{regexp:/^(\w+)\s+(tp|[\d.]+)$/i,select:function(i,t,n){/^tp$/i.test(n)&&(n="TP");var r=Gs(t,i),o=Ad(r,n);if(o)n=o;else if(n.indexOf(".")===-1?o=n+".0":o=n.replace(/\.0$/,""),o=Ad(r,o),o)n=o;else{if(i.ignoreUnknownVersions)return[];throw new Jn("Unknown version "+n+" of "+t)}return[r.name+" "+n]}},{regexp:/^browserslist config$/i,select:function(i){return ze(void 0,i)}},{regexp:/^extends (.+)$/i,select:function(i,t){return Vs(Pn.loadQueries(i,t),i)}},{regexp:/^defaults$/i,select:function(i){return Vs(ze.defaults,i)}},{regexp:/^dead$/i,select:function(i){var t=["ie <= 10","ie_mob <= 11","bb <= 10","op_mob <= 12.1","samsung 4"];return Vs(t,i)}},{regexp:/^(\w+)$/i,select:function(i,t){throw zo(t,i)?new Jn("Specify versions in Browserslist query for browser "+t):SS(t)}}];(function(){for(var i in Bi){var t=Bi[i];ze.data[i]={name:i,versions:hS(Bi[i].versions),released:hS(Bi[i].versions.slice(0,-3)),releaseDate:Bi[i].release_date},Td(ze.usage.global,i,t.usage_global),ze.versionAliases[i]={};for(var n=0;n<t.versions.length;n++){var r=t.versions[n];if(!!r&&r.indexOf("-")!==-1)for(var o=r.split("-"),a=0;a<o.length;a++)ze.versionAliases[i][o[a]]=r}}ze.versionAliases.op_mob["59"]="58"})();CS.exports=ze});var g3=Y(Ee=>{A();"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});var K8=U4(),Y8=AS();function RS(i){return i&&typeof i=="object"&&"default"in i?i:{default:i}}var MS=RS(K8),Z8=RS(Y8);(function(i){i[i.RegExp=0]="RegExp",i[i.Family=1]="Family",i[i.Major=2]="Major",i[i.Minor=3]="Minor",i[i.Patch=4]="Patch"})(Ee.BrowserRegExpSourceProp||(Ee.BrowserRegExpSourceProp={}));var ki="\\d",Md=`${ki}+`,Ni=`(${Md})`,ai="\\";function Pd(i,t=!1){let n=i.join("|");return t||i.length>1?`(${n})`:n}function PS(i){return i.map(t=>`(${t.regExpString})`).join("|")}function IS(i){return i.toString().includes(Ni)}function q0(i){return i.toString().split(Ni).length-1}function Wo(i){return i.toString().replace(/^\/|\/$/g,"")}function LS(i,t,n){let r=typeof i=="string"?i:Wo(i);return(typeof n=="number"&&n<t.length?t.slice(0,n):t).reduce((l,u)=>l.replace(Ni,u),r)}function Id(i){return Array.from(i.toString()).map(Number)}function Ld(i,t,n){return n==="["&&t!==ai?!0:n==="]"&&t!==ai?!1:i}function z0(i,t){let n=i[t];switch(n){case"+":case"*":case"?":return n;case"(":{let d=i[t+1],f=i[t+2];if(d!=="?"||f!=="="&&f!=="!")return"";break}case"{":break;default:return""}let r=i.length,o="",a=0,l=!1,u="";for(let d=t;d<r&&(n=i[d],o=i[d-1],l=Ld(l,o,n),!l&&o!==ai&&(n==="("||n==="{")&&a++,a>0&&(u+=n),!(!l&&o!==ai&&a>0&&(n===")"||n==="}")&&(a--,a===0)));d++);return u}(function(i){i[i.Major=0]="Major",i[i.Minor=1]="Minor",i[i.Patch=2]="Patch"})(Ee.SemverPart||(Ee.SemverPart={}));var Bd={bb:"BlackBerry",and_chr:"Chrome",ChromeAndroid:"Chrome",FirefoxAndroid:"Firefox",ff:"Firefox",ie_mob:"ExplorerMobile",ie:"Explorer",and_ff:"Firefox",ios_saf:"iOS",op_mini:"OperaMini",op_mob:"OperaMobile",and_qq:"QQAndroid",and_uc:"UCAndroid"},BS=new RegExp(`(${Object.keys(Bd).join("|")})`);function kS(i){let t=BS.exec(i);if(Array.isArray(t)){let[n]=t;return i.replace(n,Bd[n])}return i}function W0(i,t,n=0){let r=i.length;for(let o=n;o<r;o++)if(i[o]!==t[o])return!1;return!0}function kd(i){return typeof i=="number"?i:i.length===1?i[0]:[i[0],i[i.length-1]]}function Js(i){return(Array.isArray(i)?i[0]:i)==="all"}function NS(i){return i.filter(Boolean).filter((t,n,r)=>r&&!r.some((o,a)=>a>n&&W0(t,o)))}function G0(i,t){let n=i+Number(!t);return n===0?ki:n===9?"9":n>9?"":`[${n}-9]`}function HS(i){return i===ki}function jS(i){let t=[],n=0,r=0;return i.filter((o,a)=>a>0&&(n=o.filter(HS).length,r=t.filter(HS).length,n<=r)?!1:(t=o,!0))}function DS(i){if(i===0)return[Md];let t=Id(i),n=t.length,r=`${ki}{${n+1},}`,o=n-1;if(i/Math.pow(10,o)===t[0])return[`${G0(t[0],!0)}${ki.repeat(o)}`,r];let l=jS(t.map((u,d)=>{let f=n-d-1,m=d<=0,p=" ";return t.map((E,S)=>S<f?E.toString():p?S>f?ki:(p=G0(E,m),p):"")})).map(u=>u.join(""));return l.push(r),l}function Go(i,t,n){if(t<i)return"";let r=typeof n=="number"&&n>0?"0".repeat(n):"";return i===t?`${r}${i}`:i===0&&t===9?`${r}${ki}`:`${r}[${i}-${t}]`}function FS(i,t){let n=[],r=i,o=1;do o*=10,r<o&&(n.push([r,Math.min(o-1,t)]),r=o);while(o<=t);return n}function $S(i,t){let n=i.length;if(n!==t.length||i[0]!==t[0])return null;let r=i[0].toString(),o=0,a=0,l="",u="";for(let d=1;d<n;d++)o=i[d],a=t[d],o===a?r+=o:(l+=o,u+=a);return[r,parseInt(l,10),parseInt(u,10)]}function US(i,t,n){let r=n.length,o=[],a=0,l=0,u=0;for(let d=i;d<=t;d++)for(o.push(d.toString()),u+=Math.floor(Math.log10(d)+1)+1;u>l;){if(a>=r)return n;l+=n[a++].length+1}return o}function Nd(i,t,n=0){let r=Id(i),o=r.length;if(i<10&&t<10||i===t){let m=n-o;return[Go(i,t,m)]}let a=Id(t);if(o!==a.length){let m=FS(i,t);return[].concat(...m.map(([E,S])=>Nd(E,S,n)))}let l=$S(r,a);if(Array.isArray(l)){let[m,p,E]=l,S=o-m.length,v=Nd(p,E,S);return[`${m}${Pd(v)}`]}let u=Array.from({length:o-1}),d=Go(r[0]+1,a[0]-1);return[...u.map((m,p)=>{let E=o-p-1,S=Number(p>0);return r.map((v,y)=>y<E?v:y>E?Go(0,9):Go(v+S,9)).join("")}),...d?[`${d}${ki.repeat(o-1)}`]:[],...u.map((m,p)=>{let E=o-p-1,S=Number(p>0);return a.map((v,y)=>y<E?v:y>E?Go(0,9):Go(0,v-S)).join("")})]}function qS(i,t){return US(i,t,Nd(i,t))}function V0(i,t=1/0){if(Js(i))return Md;let n=t===1/0?DS(i):qS(i,t);return Pd(n)}function J0(i){let t=Array.isArray(i)?i:i.toString().split(".");if(Js(t[0]))return[t[0],0,0];for(;t.length<3;)t.push("0");return t.map(n=>{let r=typeof n=="number"?n:parseInt(n,10);return isNaN(r)?0:r})}function K0(i,t,n){let[r,o,a]=i,[l,u,d]=t,{ignoreMinor:f,ignorePatch:m,allowHigherVersions:p}=n;if(Js(l))return!0;let E=!f,S=E&&!m;return p?S&&a<d||E&&o<u?!1:r>=l:S&&a!==d||E&&o!==u?!1:r===l}function zS(i,t){let{ignoreMinor:n,ignorePatch:r,allowZeroSubversions:o}=t,a=n?1:r?2:3;if(o)for(let l=a-1;l>0&&!(i[l]!==0||a===1);l--)a--;return a}function WS(i,t){let{ignoreMinor:n,ignorePatch:r,allowHigherVersions:o}=t,a=Js(i[0])?0:n?1:r?2:1/0;return o?NS(i.map((d,f)=>{let m=2-f,p=Number(f>0),E=0;return i.map((S,v)=>v>=a?Ni:(E=Array.isArray(S)?S[0]:S,v<m?E.toString():v>m?Ni:V0(E+p)))})):[i.map((u,d)=>d>=a?Ni:Array.isArray(u)?V0(u[0],u[1]):u.toString())]}function Y0(i){return i.filter((t,n)=>!i.includes(t,n+1))}function GS(i,t,n,r){let o=jt(Fe({},r),{allowHigherVersions:!0});return(!i||n.some(a=>K0(a,i,o)))&&(!t||n.some(a=>K0(t,a,o)))}function VS(i,t){return Boolean(i||IS(t))}function ao(i,t,n){let r=t instanceof RegExp,o=null;switch(!0){case r:{let a=t.toString();o=l=>new RegExp(`(^|[^\\w])${l.replace(/ /g,"\\s*")}([^\\w]|$)`).test(a);break}case i:o=a=>a===t;break;default:o=a=>t.includes(a)}return n.some(o)}function JS(i){let t=Wo(i);switch(!0){case t.includes("Fennec"):return[null,[31,0,0]];case t.includes("Minefield"):return[[3,0,0],[4,0,0]];case t.includes("Namoroka"):return[[3,6,0],[3,6,0]];case t.includes("Shiretoko"):return[[3,0,0],[3,5,0]];case t.includes("CrMo"):return[[16,0,0],[16,0,0]];case t.includes("Opera)\\/9.8"):return[null,[12,15,0]];default:return[null,null]}}var KS=[...QS(MS.default.os),...XS(MS.default.browser)];function YS(i,t){let n=[];return KS.forEach(({family:r,regExp:o,fixedVersion:a,minVersion:l,maxVersion:u})=>{let d=i.get(r);d&&GS(l,u,d,t)&&VS(a,o)&&n.push({family:r,regExp:o,requestVersions:d,resultFixedVersion:a,resultMinVersion:l,resultMaxVersion:u})}),n}function ZS(i,t){let n=i||t,r=Wo(t);switch(!0){case/[^\w]?([A-Z]\w+iOS)[^\w]?/.test(r):case/iPhone.*Outlook-iOS-Android|UCWEB.*iPad\|iPh/.test(r):case r.includes("(iPhone|iPad|iPod).*Mac OS X.*Version"):case/YaBrowser|MRCHROME|Chrome.*\(OPR\)/.test(r):case/\(Chrome\).* Mobile|Mobile \.\*\(Chrome\)|; wv\\\)\.\+\(Chrome\)/.test(r):case r.includes("(?:Mobile|Tablet);.*(Firefox)"):case r.includes("(?:Mobile Safari).*(OPR)"):case/Opera.*\) \(\\d/.test(r):case/bingbot|^\\b\(/.test(r):return[];case ao(!1,n,["Chrome Mobile","Chromium"]):return[{family:"chrome"}];case ao(!0,n,["Samsung Internet"]):return[{family:"samsung"}];case ao(!0,n,["Firefox Mobile","Firefox ($1)"]):return[{family:"firefox"}];case ao(!0,n,["IE"]):return[{family:"explorer"}];case ao(!0,n,["IE Mobile"]):return[{family:"explorermobile"}];case ao(!0,n,["BlackBerry WebKit"]):return[{family:"blackberry"}];case ao(!0,n,["Opera Mobile"]):return[{family:"operamobile"}];case n===t:{let o=/\(([\s\w\d_\-/!|]+)\)/i.exec(r);if(Array.isArray(o)){let a=o[1],l=a.split("|"),u=new Map;return Y0(l.map(f=>{let m=f.replace(/[^\d\w]/g,"").toLowerCase();return u.has(m)?u.get(m).push(f):u.set(m,[f]),m})).map(f=>({family:f,regExp:new RegExp(r.replace(a,u.get(f).join("|")))}))}return[]}case typeof i=="string":return[{family:i.toLowerCase()}];default:return[]}}function Z0(i){let{[Ee.BrowserRegExpSourceProp.RegExp]:t,[Ee.BrowserRegExpSourceProp.Family]:n,[Ee.BrowserRegExpSourceProp.Major]:r,[Ee.BrowserRegExpSourceProp.Minor]:o,[Ee.BrowserRegExpSourceProp.Patch]:a}=i,l=ZS(n,t),u=r===0?null:J0([r,o,a]),d=u,f=u;return l.map(E=>{var S=E,{regExp:m=t}=S,p=Vi(S,["regExp"]);return u||([d,f]=JS(m)),Fe({regExp:m,fixedVersion:u,minVersion:d,maxVersion:f},p)})}function XS(i){let t=i.length,n=[];for(let r=0;r<t;r++)n.push(...Z0(i[r]));return n}function QS(i){let t=i.length,n=[];for(let r=0;r<t;r++)i[r][Ee.BrowserRegExpSourceProp.Family]==="iOS"&&n.push(...Z0(i[r]));return n}function e3(i){return[].concat(...i.map(t=>{let[n,...r]=t.split(/ |-/),o=(Bd[n]||n).toLowerCase();return r.map(a=>({family:o,version:J0(a)}))}))}function t3(i={}){let{browsers:t,env:n,path:r}=i,o=Array.isArray(t)?t.map(kS):t,a=Z8.default(o,{env:n,path:r});return e3(a)}function n3(i){let t=new Map;return i.forEach(({family:n,version:r})=>{let o=t.get(n);if(o){let a=r.join(".");o.every(l=>l.join(".")!==a)&&o.push(r);return}t.set(n,[r])}),t.forEach(n=>{n.sort((r,o)=>{for(let a in r)if(r[a]!==o[a])return r[a]-o[a];return 0})}),t}function r3(i){if(i.length<2)return i;let t=i.length+1,n=[],r=null,o=i[0],a=[o[Ee.SemverPart.Major]],l=[o[Ee.SemverPart.Minor]],u=[o[Ee.SemverPart.Patch]],d=null;for(let f=1;f<t;f++){r=i[f-1],o=i[f]||[];for(let m=Ee.SemverPart.Major;m<=Ee.SemverPart.Patch;m++){if((m===d||d===null)&&r[m]+1===o[m]&&W0(r,o,m+1)){d=m,m===Ee.SemverPart.Major?a.push(o[Ee.SemverPart.Major]):a=o[Ee.SemverPart.Major],m===Ee.SemverPart.Minor?l.push(o[Ee.SemverPart.Minor]):l=o[Ee.SemverPart.Minor],m===Ee.SemverPart.Patch?u.push(o[Ee.SemverPart.Patch]):u=o[Ee.SemverPart.Patch];break}if(d===m||r[m]!==o[m]){n.push([kd(a),kd(l),kd(u)]),a=[o[Ee.SemverPart.Major]],l=[o[Ee.SemverPart.Minor]],u=[o[Ee.SemverPart.Patch]],d=null;break}}}return n}function i3(i){let t=new Map;return i.forEach((n,r)=>{t.set(r,r3(n))}),t}var o3=/^\([\s\w\d_\-/!]+\)$/,s3=/[/.$*+?[{}|()]/;function a3(i){let t=i.length,n=!1,r=!1,o="",a="",l="",u="",d="",f="";for(let m=0;m<t;m++)o=i[m],a=i[m-1],l=i[m+1],r=Ld(r,a,o),!r&&a!==ai&&o==="("&&(n&&(f+=d),n=!0,d=""),r&&o===ai&&s3.test(l)&&(m++,o=l),n?d+=o:f+=o,!r&&a!==ai&&o===")"&&n&&(n=!1,u=z0(i,m+1),d+=u,(d===Ni||o3.test(d))&&(d=d.substr(1,d.length-2)),f+=d,m+=u.length);return f}function l3(i,t){let n=typeof i=="string"?i:Wo(i),r=n.length,o=typeof t=="number"?t:q0(n),a=0,l=!1,u=0,d="",f="",m="",p="";for(let E=0;E<r;E++)if(d=n[E],f=n[E-1],l=Ld(l,f,d),!l&&f!==ai&&d==="("&&(a++,m=""),(a>0||u>0)&&(p+=d,m+=d),!l&&f!==ai&&d===")"&&a>0&&(a--,m===Ni&&u++,a===0&&u===0&&(p=""),a===0&&u>=o)){p+=z0(n,++E);break}return p}function c3(i,t,n){let r=1,o=typeof i=="string"?i:Wo(i),a=q0(o),l=t.map(m=>{let p=zS(m,n);return r=Math.max(r,p),a>=p?m:null}).filter(Boolean);if(!l.length)return null;let u=l3(o,r),d=Pd(Y0([].concat(...l.map(m=>WS(m,n).map(p=>LS(u,p,r))))));return o.replace(u,d)}function u3(i,t,n){let r=[];return i.forEach(f=>{var m=f,{family:o,regExp:a,resultFixedVersion:l,requestVersions:u}=m,d=Vi(m,["family","regExp","resultFixedVersion","requestVersions"]);let p=Wo(a),E=null,S="";l?(E=a,S=p):(S=c3(p,t.get(o),n),E=new RegExp(S)),S&&E&&r.push(Fe({family:o,sourceRegExp:a,sourceRegExpString:p,regExp:E,regExpString:S,resultFixedVersion:l,requestVersions:u,requestVersionsStrings:u.map(v=>Js(v)?String(v[0]):v.join("."))},d))}),r}function d3(i){return i.map(r=>{var o=r,{regExpString:t}=o,n=Vi(o,["regExpString"]);let a=a3(t),l=new RegExp(a);return jt(Fe({},n),{regExp:l,regExpString:a})})}var X8=[{test(i){let t=i.get("chrome"),n=i.get("edge");if(!(t&&n))return!1;let o=t[0][0],a=n[0][0];return o<74&&a<=18},patch(i){let{family:t,regExpString:n,resultMinVersion:r}=i;if(t!=="chrome"||r&&r[0]>=74||n.includes("HeadlessChrome"))return i;let o=`${n}([\\d.]+$|.*Safari\\/(?![\\d.]+ Edge\\/[\\d.]+$))`,a=new RegExp(o);return jt(Fe({},i),{regExp:a,regExpString:o})}},{test(i){return i.has("safari")},patch(i){let{family:t,regExpString:n}=i;if(t!=="safari")return i;let r=n.replace(/\.\*(Safari\\\/)/," $1"),o=new RegExp(r);return jt(Fe({},i),{regExp:o,regExpString:r})}}];function f3(i,t){let n=new Map;return i.map(r=>X8.reduce((o,a)=>(n.has(a)||n.set(a,a.test(t)),n.get(a)?a.patch(o):o),r))}var h3={ignoreMinor:!1,ignorePatch:!0,allowZeroSubversions:!1,allowHigherVersions:!1};function p3(i={}){let S=i,{browsers:t,env:n,path:r}=S,o=Vi(S,["browsers","env","path"]),a=Fe(Fe({},h3),o),l=t3({browsers:t,env:n,path:r}),u=n3(l),d=i3(u),f=YS(u,a),m=u3(f,d,a),p=f3(m,u);return d3(p)}function Q8(i={}){let t=p3(i),n=PS(t);return new RegExp(n)}Ee.BRACED_NUMBER_PATTERN=Ni;Ee.BROWSERS_REGEXPS=KS;Ee.BROWSERS_SHIRTNAMES=Bd;Ee.BROWSERS_SHIRTNAMES_REGEXP=BS;Ee.CHARCLASS_UNESCAPES=s3;Ee.DIGIT_PATTERN=ki;Ee.ESCAPE_SYMBOL=ai;Ee.NUMBER_PATTERN=Md;Ee.OPTIMIZABLE_GROUP=o3;Ee.applyVersionsToRegExp=c3;Ee.applyVersionsToRegExps=u3;Ee.browserVersionsToRanges=i3;Ee.capturePostfix=z0;Ee.compareArrays=W0;Ee.compareSemvers=K0;Ee.defaultOptions=h3;Ee.enumOrRange=US;Ee.extractIOSRegExp=QS;Ee.familyMatched=ao;Ee.fixBrowserFamily=ZS;Ee.fixBrowserRegExp=Z0;Ee.fixBrowsersRegExps=XS;Ee.getBrowsersList=t3;Ee.getMinMaxVersions=JS;Ee.getNumberPatternsCount=q0;Ee.getNumberPatternsPart=l3;Ee.getRegExpsForBrowsers=YS;Ee.getRequiredSemverPartsCount=zS;Ee.getUserAgentRegExp=Q8;Ee.getUserAgentRegExps=p3;Ee.hasNumberPattern=IS;Ee.hasVersion=VS;Ee.isAllVersion=Js;Ee.joinParts=Pd;Ee.joinVersionedBrowsersRegExps=PS;Ee.mergeBrowserVersions=n3;Ee.normalizeBrowserFamily=kS;Ee.numberToDigits=Id;Ee.numbersToRanges=kd;Ee.optimize=a3;Ee.optimizeAll=d3;Ee.optimizeRaysNumberPatterns=jS;Ee.parseBrowsersList=e3;Ee.patchRegExps=f3;Ee.rangeToRegExp=V0;Ee.rangedSemverToRegExp=WS;Ee.rayRangeDigitPattern=G0;Ee.rayToNumberPatterns=DS;Ee.regExpToString=Wo;Ee.replaceNumberPatterns=LS;Ee.segmentRangeNumberPattern=Go;Ee.segmentToNumberPatterns=Nd;Ee.segmentToNumberPatternsOrEnum=qS;Ee.semverify=J0;Ee.skipSquareBraces=Ld;Ee.someSemverMatched=GS;Ee.splitCommonDiff=$S;Ee.splitToDecadeRanges=FS;Ee.uniq=Y0;Ee.uniqItems=NS;Ee.versionsListToRanges=r3});var m3=Y((rl,X0)=>{A();(function(i,t){typeof rl=="object"&&typeof X0=="object"?X0.exports=t():typeof define=="function"&&define.amd?define([],t):typeof rl=="object"?rl.devtoolsDetector=t():i.devtoolsDetector=t()})(typeof self!="undefined"?self:rl,function(){return function(i){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return i[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=i,n.c=t,n.d=function(r,o,a){n.o(r,o)||Object.defineProperty(r,o,{configurable:!1,enumerable:!0,get:a})},n.n=function(r){var o=r&&r.__esModule?function(){return r.default}:function(){return r};return n.d(o,"a",o),o},n.o=function(r,o){return Object.prototype.hasOwnProperty.call(r,o)},n.p="",n(n.s=3)}([function(i,t,n){"use strict";n.d(t,"j",function(){return m}),n.d(t,"e",function(){return p}),n.d(t,"f",function(){return E}),n.d(t,"d",function(){return S}),n.d(t,"i",function(){return v}),n.d(t,"g",function(){return y}),n.d(t,"c",function(){return b}),n.d(t,"h",function(){return w}),t.a=function(){for(var T,C=[],_=0;_<arguments.length;_++)C[_]=arguments[_];return(f==null?void 0:f.document)?(T=f.document).createElement.apply(T,C):{}},n.d(t,"b",function(){return O});var r,o,a,l,u,d=n(1),f=Object(d.a)(),m=((r=f==null?void 0:f.navigator)===null||r===void 0?void 0:r.userAgent)||"unknown",p="InstallTrigger"in((f==null?void 0:f.window)||{})||/firefox/i.test(m),E=/trident/i.test(m)||/msie/i.test(m),S=/edge/i.test(m),v=/webkit/i.test(m)&&!S,y=/IqiyiApp/.test(m),b=((o=f==null?void 0:f.window)===null||o===void 0?void 0:o.chrome)!==void 0||/chrome/i.test(m)||/CriOS/i.test(m),w=(((l=(a=f==null?void 0:f.window)===null||a===void 0?void 0:a.safari)===null||l===void 0?void 0:l.pushNotification)||!1).toString()==="[object SafariRemoteNotification]"||/safari/i.test(m)&&!b,O=typeof((u=f.document)===null||u===void 0?void 0:u.createElement)=="function"},function(i,t,n){"use strict";(function(r){t.c=function(){return typeof performance!="undefined"?performance.now():Date.now()},t.b=function(l){l===void 0&&(l={});for(var u=l.includes,d=u===void 0?[]:u,f=l.excludes,m=f===void 0?[]:f,p=!1,E=!1,S=0,v=d;S<v.length;S++){var y=v[S];if(y===!0){p=!0;break}}for(var b=0,w=m;b<w.length;b++){var y=w[b];if(y===!0){E=!0;break}}return p&&!E},t.d=function(l,u,d){var f=a.a[l];return f===void 0?!1:Object(o.compare)(f,u,d)},t.a=function(){return typeof self!="undefined"?self:typeof window!="undefined"?window:r!==void 0?r:this};var o=n(8),a=(n.n(o),n(4))}).call(t,n(7))},function(i,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return l}),n.d(t,"a",function(){return u});var r=n(0);function o(d){if(console){if(!r.f&&!r.d)return console[d];if(d==="log"||d==="clear")return function(){for(var f=[],m=0;m<arguments.length;m++)f[m]=arguments[m];console[d].apply(console,f)}}return function(){for(var f=[],m=0;m<arguments.length;m++)f[m]=arguments[m]}}var a=o("log"),l=o("table"),u=o("clear")},function(i,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addListener=function(p){m.addListener(p)},t.removeListener=function(p){m.removeListener(p)},t.isLaunch=function(){return m.isLaunch()},t.launch=function(){m.launch()},t.stop=function(){m.stop()},t.setDetectDelay=function(p){m.setDetectDelay(p)};var r=n(6),o=n(9);n.d(t,"DevtoolsDetector",function(){return r.a}),n.d(t,"checkers",function(){return o});var a=n(1);n.d(t,"match",function(){return a.b}),n.d(t,"specificVersionMatch",function(){return a.d});var l=n(0);n.d(t,"userAgent",function(){return l.j}),n.d(t,"isFirefox",function(){return l.e}),n.d(t,"isIE",function(){return l.f}),n.d(t,"isEdge",function(){return l.d}),n.d(t,"isWebkit",function(){return l.i}),n.d(t,"isIqiyiApp",function(){return l.g}),n.d(t,"isChrome",function(){return l.c}),n.d(t,"isSafari",function(){return l.h}),n.d(t,"createElement",function(){return l.a}),n.d(t,"inBrowser",function(){return l.b});var u=n(2);n.d(t,"log",function(){return u.b}),n.d(t,"table",function(){return u.c}),n.d(t,"clear",function(){return u.a});var d=n(4);n.d(t,"versionMap",function(){return d.a});var f=n(5);n.d(t,"isMac",function(){return f.d}),n.d(t,"isIpad",function(){return f.b}),n.d(t,"isIphone",function(){return f.c}),n.d(t,"isAndroid",function(){return f.a}),n.d(t,"isWindows",function(){return f.e});var m=new r.a({checkers:[o.erudaChecker,o.elementIdChecker,o.regToStringChecker,o.functionToStringChecker,o.depRegToStringChecker,o.dateToStringChecker,o.performanceChecker,o.debuggerChecker]});t.default=m},function(i,t,n){"use strict";n.d(t,"a",function(){return r});for(var r={},o=0,a=(n(0).j||"").match(/\w+\/(\d|\.)+(\s|$)/gi)||[];o<a.length;o++){var l=a[o].split("/"),u=l[0],d=l[1];r[u]=d}},function(i,t,n){"use strict";n.d(t,"d",function(){return o}),n.d(t,"b",function(){return a}),n.d(t,"c",function(){return l}),n.d(t,"a",function(){return u}),n.d(t,"e",function(){return d});var r=n(0),o=/macintosh/i.test(r.j),a=/ipad/i.test(r.j)||o&&navigator.maxTouchPoints>1,l=/iphone/i.test(r.j),u=/android/i.test(r.j),d=/windows/i.test(r.j)},function(i,t,n){"use strict";n.d(t,"a",function(){return l});var r=n(0),o=this&&this.__awaiter||function(u,d,f,m){return new(f||(f=Promise))(function(p,E){function S(b){try{y(m.next(b))}catch(w){E(w)}}function v(b){try{y(m.throw(b))}catch(w){E(w)}}function y(b){b.done?p(b.value):function(w){return w instanceof f?w:new f(function(O){O(w)})}(b.value).then(S,v)}y((m=m.apply(u,d||[])).next())})},a=this&&this.__generator||function(u,d){var f,m,p,E,S={label:0,sent:function(){if(1&p[0])throw p[1];return p[1]},trys:[],ops:[]};return E={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(E[Symbol.iterator]=function(){return this}),E;function v(y){return function(b){return function(w){if(f)throw new TypeError("Generator is already executing.");for(;S;)try{if(f=1,m&&(p=2&w[0]?m.return:w[0]?m.throw||((p=m.return)&&p.call(m),0):m.next)&&!(p=p.call(m,w[1])).done)return p;switch(m=0,p&&(w=[2&w[0],p.value]),w[0]){case 0:case 1:p=w;break;case 4:return S.label++,{value:w[1],done:!1};case 5:S.label++,m=w[1],w=[0];continue;case 7:w=S.ops.pop(),S.trys.pop();continue;default:if(!(p=(p=S.trys).length>0&&p[p.length-1])&&(w[0]===6||w[0]===2)){S=0;continue}if(w[0]===3&&(!p||w[1]>p[0]&&w[1]<p[3])){S.label=w[1];break}if(w[0]===6&&S.label<p[1]){S.label=p[1],p=w;break}if(p&&S.label<p[2]){S.label=p[2],S.ops.push(w);break}p[2]&&S.ops.pop(),S.trys.pop();continue}w=d.call(u,S)}catch(O){w=[6,O],m=0}finally{f=p=0}if(5&w[0])throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}([y,b])}}},l=function(){function u(d){var f=d.checkers;this._listeners=[],this._isOpen=!1,this._detectLoopStopped=!0,this._detectLoopDelay=500,this._checkers=f.slice()}return u.prototype.launch=function(){r.b&&(this._detectLoopDelay<=0&&this.setDetectDelay(500),this._detectLoopStopped&&(this._detectLoopStopped=!1,this._detectLoop()))},u.prototype.stop=function(){this._detectLoopStopped||(this._detectLoopStopped=!0,clearTimeout(this._timer))},u.prototype.isLaunch=function(){return!this._detectLoopStopped},u.prototype.setDetectDelay=function(d){this._detectLoopDelay=d},u.prototype.addListener=function(d){this._listeners.push(d)},u.prototype.removeListener=function(d){this._listeners=this._listeners.filter(function(f){return f!==d})},u.prototype._broadcast=function(d){for(var f=0,m=this._listeners;f<m.length;f++){var p=m[f];try{p(d.isOpen,d)}catch(E){}}},u.prototype._detectLoop=function(){return o(this,void 0,void 0,function(){var d,f,m,p,E,S=this;return a(this,function(v){switch(v.label){case 0:d=!1,f="",m=0,p=this._checkers,v.label=1;case 1:return m<p.length?[4,(E=p[m]).isEnable()]:[3,6];case 2:return v.sent()?(f=E.name,[4,E.isOpen()]):[3,4];case 3:d=v.sent(),v.label=4;case 4:if(d)return[3,6];v.label=5;case 5:return m++,[3,1];case 6:return d!=this._isOpen&&(this._isOpen=d,this._broadcast({isOpen:d,checkerName:f})),this._detectLoopDelay>0&&!this._detectLoopStopped?this._timer=setTimeout(function(){return S._detectLoop()},this._detectLoopDelay):this.stop(),[2]}})})},u}()},function(i,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(r){typeof window=="object"&&(n=window)}i.exports=n},function(i,t,n){var r,o,a;(function(l,u){o=[],(a=typeof(r=u)=="function"?r.apply(t,o):r)===void 0||(i.exports=a)})(0,function(){var l=/^v?(?:\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+))?(?:-[\da-z\-]+(?:\.[\da-z\-]+)*)?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;function u(S){var v=S.replace(/^v/,"").replace(/\+.*$/,""),y=function(w,O){return w.indexOf(O)===-1?w.length:w.indexOf(O)}(v,"-"),b=v.substring(0,y).split(".");return b.push(v.substring(y+1)),b}function d(S){return isNaN(Number(S))?S:Number(S)}function f(S){if(typeof S!="string")throw new TypeError("Invalid argument expected string");if(!l.test(S))throw new Error("Invalid argument not valid semver ('"+S+"' received)")}function m(S,v){[S,v].forEach(f);for(var y=u(S),b=u(v),w=0;w<Math.max(y.length-1,b.length-1);w++){var O=parseInt(y[w]||0,10),T=parseInt(b[w]||0,10);if(O>T)return 1;if(T>O)return-1}var C=y[y.length-1],_=b[b.length-1];if(C&&_){var P=C.split(".").map(d),D=_.split(".").map(d);for(w=0;w<Math.max(P.length,D.length);w++){if(P[w]===void 0||typeof D[w]=="string"&&typeof P[w]=="number")return-1;if(D[w]===void 0||typeof P[w]=="string"&&typeof D[w]=="number"||P[w]>D[w])return 1;if(D[w]>P[w])return-1}}else if(C||_)return C?-1:1;return 0}var p=[">",">=","=","<","<="],E={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]};return m.validate=function(S){return typeof S=="string"&&l.test(S)},m.compare=function(S,v,y){(function(w){if(typeof w!="string")throw new TypeError("Invalid operator type, expected string but got "+typeof w);if(p.indexOf(w)===-1)throw new TypeError("Invalid operator, expected one of "+p.join("|"))})(y);var b=m(S,v);return E[y].indexOf(b)>-1},m})},function(i,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(10);n.d(t,"depRegToStringChecker",function(){return r.a});var o=n(11);n.d(t,"elementIdChecker",function(){return o.a});var a=n(12);n.d(t,"functionToStringChecker",function(){return a.a});var l=n(13);n.d(t,"regToStringChecker",function(){return l.a});var u=n(14);n.d(t,"debuggerChecker",function(){return u.a});var d=n(15);n.d(t,"dateToStringChecker",function(){return d.a});var f=n(16);n.d(t,"performanceChecker",function(){return f.a});var m=n(17);n.d(t,"erudaChecker",function(){return m.a})},function(i,t,n){"use strict";n.d(t,"a",function(){return m});var r=n(0),o=n(2),a=n(1),l=this&&this.__awaiter||function(p,E,S,v){return new(S||(S=Promise))(function(y,b){function w(C){try{T(v.next(C))}catch(_){b(_)}}function O(C){try{T(v.throw(C))}catch(_){b(_)}}function T(C){C.done?y(C.value):function(_){return _ instanceof S?_:new S(function(P){P(_)})}(C.value).then(w,O)}T((v=v.apply(p,E||[])).next())})},u=this&&this.__generator||function(p,E){var S,v,y,b,w={label:0,sent:function(){if(1&y[0])throw y[1];return y[1]},trys:[],ops:[]};return b={next:O(0),throw:O(1),return:O(2)},typeof Symbol=="function"&&(b[Symbol.iterator]=function(){return this}),b;function O(T){return function(C){return function(_){if(S)throw new TypeError("Generator is already executing.");for(;w;)try{if(S=1,v&&(y=2&_[0]?v.return:_[0]?v.throw||((y=v.return)&&y.call(v),0):v.next)&&!(y=y.call(v,_[1])).done)return y;switch(v=0,y&&(_=[2&_[0],y.value]),_[0]){case 0:case 1:y=_;break;case 4:return w.label++,{value:_[1],done:!1};case 5:w.label++,v=_[1],_=[0];continue;case 7:_=w.ops.pop(),w.trys.pop();continue;default:if(!(y=(y=w.trys).length>0&&y[y.length-1])&&(_[0]===6||_[0]===2)){w=0;continue}if(_[0]===3&&(!y||_[1]>y[0]&&_[1]<y[3])){w.label=_[1];break}if(_[0]===6&&w.label<y[1]){w.label=y[1],y=_;break}if(y&&w.label<y[2]){w.label=y[2],w.ops.push(_);break}y[2]&&w.ops.pop(),w.trys.pop();continue}_=E.call(p,w)}catch(P){_=[6,P],v=0}finally{S=y=0}if(5&_[0])throw _[1];return{value:_[0]?_[1]:void 0,done:!0}}([T,C])}}},d=/ /,f=!1;d.toString=function(){return f=!0,m.name};var m={name:"dep-reg-to-string",isOpen:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return f=!1,Object(o.c)({dep:d}),Object(o.a)(),[2,f]})})},isEnable:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return[2,Object(a.b)({includes:[!0],excludes:[r.e,r.f]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return m});var r=n(0),o=n(2),a=n(1),l=this&&this.__awaiter||function(p,E,S,v){return new(S||(S=Promise))(function(y,b){function w(C){try{T(v.next(C))}catch(_){b(_)}}function O(C){try{T(v.throw(C))}catch(_){b(_)}}function T(C){C.done?y(C.value):function(_){return _ instanceof S?_:new S(function(P){P(_)})}(C.value).then(w,O)}T((v=v.apply(p,E||[])).next())})},u=this&&this.__generator||function(p,E){var S,v,y,b,w={label:0,sent:function(){if(1&y[0])throw y[1];return y[1]},trys:[],ops:[]};return b={next:O(0),throw:O(1),return:O(2)},typeof Symbol=="function"&&(b[Symbol.iterator]=function(){return this}),b;function O(T){return function(C){return function(_){if(S)throw new TypeError("Generator is already executing.");for(;w;)try{if(S=1,v&&(y=2&_[0]?v.return:_[0]?v.throw||((y=v.return)&&y.call(v),0):v.next)&&!(y=y.call(v,_[1])).done)return y;switch(v=0,y&&(_=[2&_[0],y.value]),_[0]){case 0:case 1:y=_;break;case 4:return w.label++,{value:_[1],done:!1};case 5:w.label++,v=_[1],_=[0];continue;case 7:_=w.ops.pop(),w.trys.pop();continue;default:if(!(y=(y=w.trys).length>0&&y[y.length-1])&&(_[0]===6||_[0]===2)){w=0;continue}if(_[0]===3&&(!y||_[1]>y[0]&&_[1]<y[3])){w.label=_[1];break}if(_[0]===6&&w.label<y[1]){w.label=y[1],y=_;break}if(y&&w.label<y[2]){w.label=y[2],w.ops.push(_);break}y[2]&&w.ops.pop(),w.trys.pop();continue}_=E.call(p,w)}catch(P){_=[6,P],v=0}finally{S=y=0}if(5&_[0])throw _[1];return{value:_[0]?_[1]:void 0,done:!0}}([T,C])}}},d=Object(r.a)("div"),f=!1;Object.defineProperty(d,"id",{get:function(){return f=!0,m.name},configurable:!0});var m={name:"element-id",isOpen:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return f=!1,Object(o.b)(d),Object(o.a)(),[2,f]})})},isEnable:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return[2,Object(a.b)({includes:[!0],excludes:[r.f,r.d,r.e]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return p});var r=n(0),o=n(2),a=n(5),l=n(1),u=this&&this.__awaiter||function(E,S,v,y){return new(v||(v=Promise))(function(b,w){function O(_){try{C(y.next(_))}catch(P){w(P)}}function T(_){try{C(y.throw(_))}catch(P){w(P)}}function C(_){_.done?b(_.value):function(P){return P instanceof v?P:new v(function(D){D(P)})}(_.value).then(O,T)}C((y=y.apply(E,S||[])).next())})},d=this&&this.__generator||function(E,S){var v,y,b,w,O={label:0,sent:function(){if(1&b[0])throw b[1];return b[1]},trys:[],ops:[]};return w={next:T(0),throw:T(1),return:T(2)},typeof Symbol=="function"&&(w[Symbol.iterator]=function(){return this}),w;function T(C){return function(_){return function(P){if(v)throw new TypeError("Generator is already executing.");for(;O;)try{if(v=1,y&&(b=2&P[0]?y.return:P[0]?y.throw||((b=y.return)&&b.call(y),0):y.next)&&!(b=b.call(y,P[1])).done)return b;switch(y=0,b&&(P=[2&P[0],b.value]),P[0]){case 0:case 1:b=P;break;case 4:return O.label++,{value:P[1],done:!1};case 5:O.label++,y=P[1],P=[0];continue;case 7:P=O.ops.pop(),O.trys.pop();continue;default:if(!(b=(b=O.trys).length>0&&b[b.length-1])&&(P[0]===6||P[0]===2)){O=0;continue}if(P[0]===3&&(!b||P[1]>b[0]&&P[1]<b[3])){O.label=P[1];break}if(P[0]===6&&O.label<b[1]){O.label=b[1],b=P;break}if(b&&O.label<b[2]){O.label=b[2],O.ops.push(P);break}b[2]&&O.ops.pop(),O.trys.pop();continue}P=S.call(E,O)}catch(D){P=[6,D],y=0}finally{v=b=0}if(5&P[0])throw P[1];return{value:P[0]?P[1]:void 0,done:!0}}([C,_])}}};function f(){}var m=0;f.toString=function(){return m++,""};var p={name:"function-to-string",isOpen:function(){return u(this,void 0,void 0,function(){return d(this,function(E){return m=0,Object(o.b)(f),Object(o.a)(),[2,m===2]})})},isEnable:function(){return u(this,void 0,void 0,function(){return d(this,function(E){return[2,Object(l.b)({includes:[!0],excludes:[r.g,r.e,(a.b||a.c)&&r.c]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return m});var r=n(2),o=n(0),a=n(1),l=this&&this.__awaiter||function(p,E,S,v){return new(S||(S=Promise))(function(y,b){function w(C){try{T(v.next(C))}catch(_){b(_)}}function O(C){try{T(v.throw(C))}catch(_){b(_)}}function T(C){C.done?y(C.value):function(_){return _ instanceof S?_:new S(function(P){P(_)})}(C.value).then(w,O)}T((v=v.apply(p,E||[])).next())})},u=this&&this.__generator||function(p,E){var S,v,y,b,w={label:0,sent:function(){if(1&y[0])throw y[1];return y[1]},trys:[],ops:[]};return b={next:O(0),throw:O(1),return:O(2)},typeof Symbol=="function"&&(b[Symbol.iterator]=function(){return this}),b;function O(T){return function(C){return function(_){if(S)throw new TypeError("Generator is already executing.");for(;w;)try{if(S=1,v&&(y=2&_[0]?v.return:_[0]?v.throw||((y=v.return)&&y.call(v),0):v.next)&&!(y=y.call(v,_[1])).done)return y;switch(v=0,y&&(_=[2&_[0],y.value]),_[0]){case 0:case 1:y=_;break;case 4:return w.label++,{value:_[1],done:!1};case 5:w.label++,v=_[1],_=[0];continue;case 7:_=w.ops.pop(),w.trys.pop();continue;default:if(!(y=(y=w.trys).length>0&&y[y.length-1])&&(_[0]===6||_[0]===2)){w=0;continue}if(_[0]===3&&(!y||_[1]>y[0]&&_[1]<y[3])){w.label=_[1];break}if(_[0]===6&&w.label<y[1]){w.label=y[1],y=_;break}if(y&&w.label<y[2]){w.label=y[2],w.ops.push(_);break}y[2]&&w.ops.pop(),w.trys.pop();continue}_=E.call(p,w)}catch(P){_=[6,P],v=0}finally{S=y=0}if(5&_[0])throw _[1];return{value:_[0]?_[1]:void 0,done:!0}}([T,C])}}},d=/ /,f=!1;d.toString=function(){return f=!0,m.name};var m={name:"reg-to-string",isOpen:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return f=!1,Object(r.b)(d),Object(r.a)(),[2,f]})})},isEnable:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return[2,Object(a.b)({includes:[!0],excludes:[o.i]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return l});var r=n(1),o=this&&this.__awaiter||function(u,d,f,m){return new(f||(f=Promise))(function(p,E){function S(b){try{y(m.next(b))}catch(w){E(w)}}function v(b){try{y(m.throw(b))}catch(w){E(w)}}function y(b){b.done?p(b.value):function(w){return w instanceof f?w:new f(function(O){O(w)})}(b.value).then(S,v)}y((m=m.apply(u,d||[])).next())})},a=this&&this.__generator||function(u,d){var f,m,p,E,S={label:0,sent:function(){if(1&p[0])throw p[1];return p[1]},trys:[],ops:[]};return E={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(E[Symbol.iterator]=function(){return this}),E;function v(y){return function(b){return function(w){if(f)throw new TypeError("Generator is already executing.");for(;S;)try{if(f=1,m&&(p=2&w[0]?m.return:w[0]?m.throw||((p=m.return)&&p.call(m),0):m.next)&&!(p=p.call(m,w[1])).done)return p;switch(m=0,p&&(w=[2&w[0],p.value]),w[0]){case 0:case 1:p=w;break;case 4:return S.label++,{value:w[1],done:!1};case 5:S.label++,m=w[1],w=[0];continue;case 7:w=S.ops.pop(),S.trys.pop();continue;default:if(!(p=(p=S.trys).length>0&&p[p.length-1])&&(w[0]===6||w[0]===2)){S=0;continue}if(w[0]===3&&(!p||w[1]>p[0]&&w[1]<p[3])){S.label=w[1];break}if(w[0]===6&&S.label<p[1]){S.label=p[1],p=w;break}if(p&&S.label<p[2]){S.label=p[2],S.ops.push(w);break}p[2]&&S.ops.pop(),S.trys.pop();continue}w=d.call(u,S)}catch(O){w=[6,O],m=0}finally{f=p=0}if(5&w[0])throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}([y,b])}}},l={name:"debugger-checker",isOpen:function(){return o(this,void 0,void 0,function(){var u;return a(this,function(d){return u=Object(r.c)(),function(){}.constructor("debugger")(),[2,Object(r.c)()-u>100]})})},isEnable:function(){return o(this,void 0,void 0,function(){return a(this,function(u){return[2,!0]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return p});var r=n(0),o=n(2),a=n(1),l=n(3),u=this&&this.__awaiter||function(E,S,v,y){return new(v||(v=Promise))(function(b,w){function O(_){try{C(y.next(_))}catch(P){w(P)}}function T(_){try{C(y.throw(_))}catch(P){w(P)}}function C(_){_.done?b(_.value):function(P){return P instanceof v?P:new v(function(D){D(P)})}(_.value).then(O,T)}C((y=y.apply(E,S||[])).next())})},d=this&&this.__generator||function(E,S){var v,y,b,w,O={label:0,sent:function(){if(1&b[0])throw b[1];return b[1]},trys:[],ops:[]};return w={next:T(0),throw:T(1),return:T(2)},typeof Symbol=="function"&&(w[Symbol.iterator]=function(){return this}),w;function T(C){return function(_){return function(P){if(v)throw new TypeError("Generator is already executing.");for(;O;)try{if(v=1,y&&(b=2&P[0]?y.return:P[0]?y.throw||((b=y.return)&&b.call(y),0):y.next)&&!(b=b.call(y,P[1])).done)return b;switch(y=0,b&&(P=[2&P[0],b.value]),P[0]){case 0:case 1:b=P;break;case 4:return O.label++,{value:P[1],done:!1};case 5:O.label++,y=P[1],P=[0];continue;case 7:P=O.ops.pop(),O.trys.pop();continue;default:if(!(b=(b=O.trys).length>0&&b[b.length-1])&&(P[0]===6||P[0]===2)){O=0;continue}if(P[0]===3&&(!b||P[1]>b[0]&&P[1]<b[3])){O.label=P[1];break}if(P[0]===6&&O.label<b[1]){O.label=b[1],b=P;break}if(b&&O.label<b[2]){O.label=b[2],O.ops.push(P);break}b[2]&&O.ops.pop(),O.trys.pop();continue}P=S.call(E,O)}catch(D){P=[6,D],y=0}finally{v=b=0}if(5&P[0])throw P[1];return{value:P[0]?P[1]:void 0,done:!0}}([C,_])}}},f=new Date,m=0;f.toString=function(){return m++,""};var p={name:"date-to-string",isOpen:function(){return u(this,void 0,void 0,function(){return d(this,function(E){return m=0,Object(o.b)(f),Object(o.a)(),[2,m===2]})})},isEnable:function(){return u(this,void 0,void 0,function(){return d(this,function(E){return[2,Object(a.b)({includes:[r.c],excludes:[(l.isIpad||l.isIphone)&&r.c]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return m});var r=n(0),o=n(2),a=n(1),l=this&&this.__awaiter||function(p,E,S,v){return new(S||(S=Promise))(function(y,b){function w(C){try{T(v.next(C))}catch(_){b(_)}}function O(C){try{T(v.throw(C))}catch(_){b(_)}}function T(C){C.done?y(C.value):function(_){return _ instanceof S?_:new S(function(P){P(_)})}(C.value).then(w,O)}T((v=v.apply(p,E||[])).next())})},u=this&&this.__generator||function(p,E){var S,v,y,b,w={label:0,sent:function(){if(1&y[0])throw y[1];return y[1]},trys:[],ops:[]};return b={next:O(0),throw:O(1),return:O(2)},typeof Symbol=="function"&&(b[Symbol.iterator]=function(){return this}),b;function O(T){return function(C){return function(_){if(S)throw new TypeError("Generator is already executing.");for(;w;)try{if(S=1,v&&(y=2&_[0]?v.return:_[0]?v.throw||((y=v.return)&&y.call(v),0):v.next)&&!(y=y.call(v,_[1])).done)return y;switch(v=0,y&&(_=[2&_[0],y.value]),_[0]){case 0:case 1:y=_;break;case 4:return w.label++,{value:_[1],done:!1};case 5:w.label++,v=_[1],_=[0];continue;case 7:_=w.ops.pop(),w.trys.pop();continue;default:if(!(y=(y=w.trys).length>0&&y[y.length-1])&&(_[0]===6||_[0]===2)){w=0;continue}if(_[0]===3&&(!y||_[1]>y[0]&&_[1]<y[3])){w.label=_[1];break}if(_[0]===6&&w.label<y[1]){w.label=y[1],y=_;break}if(y&&w.label<y[2]){w.label=y[2],w.ops.push(_);break}y[2]&&w.ops.pop(),w.trys.pop();continue}_=E.call(p,w)}catch(P){_=[6,P],v=0}finally{S=y=0}if(5&_[0])throw _[1];return{value:_[0]?_[1]:void 0,done:!0}}([T,C])}}},d=null,f=0,m={name:"performance",isOpen:function(){return l(this,void 0,void 0,function(){var p,E;return u(this,function(S){return d===null&&(d=function(){for(var v=function(){for(var w={},O=0;O<500;O++)w["".concat(O)]="".concat(O);return w}(),y=[],b=0;b<50;b++)y.push(v);return y}()),p=function(){var v=Object(a.c)();return Object(o.c)(d),Object(a.c)()-v}(),E=function(){var v=Object(a.c)();return Object(o.b)(d),Object(a.c)()-v}(),f=Math.max(f,E),Object(o.a)(),p===0?[2,!1]:f===0?[2,!1]:[2,p>10*f]})})},isEnable:function(){return l(this,void 0,void 0,function(){return u(this,function(p){return[2,Object(a.b)({includes:[r.c],excludes:[]})]})})}}},function(i,t,n){"use strict";n.d(t,"a",function(){return a});var r=this&&this.__awaiter||function(l,u,d,f){return new(d||(d=Promise))(function(m,p){function E(y){try{v(f.next(y))}catch(b){p(b)}}function S(y){try{v(f.throw(y))}catch(b){p(b)}}function v(y){y.done?m(y.value):function(b){return b instanceof d?b:new d(function(w){w(b)})}(y.value).then(E,S)}v((f=f.apply(l,u||[])).next())})},o=this&&this.__generator||function(l,u){var d,f,m,p,E={label:0,sent:function(){if(1&m[0])throw m[1];return m[1]},trys:[],ops:[]};return p={next:S(0),throw:S(1),return:S(2)},typeof Symbol=="function"&&(p[Symbol.iterator]=function(){return this}),p;function S(v){return function(y){return function(b){if(d)throw new TypeError("Generator is already executing.");for(;E;)try{if(d=1,f&&(m=2&b[0]?f.return:b[0]?f.throw||((m=f.return)&&m.call(f),0):f.next)&&!(m=m.call(f,b[1])).done)return m;switch(f=0,m&&(b=[2&b[0],m.value]),b[0]){case 0:case 1:m=b;break;case 4:return E.label++,{value:b[1],done:!1};case 5:E.label++,f=b[1],b=[0];continue;case 7:b=E.ops.pop(),E.trys.pop();continue;default:if(!(m=(m=E.trys).length>0&&m[m.length-1])&&(b[0]===6||b[0]===2)){E=0;continue}if(b[0]===3&&(!m||b[1]>m[0]&&b[1]<m[3])){E.label=b[1];break}if(b[0]===6&&E.label<m[1]){E.label=m[1],m=b;break}if(m&&E.label<m[2]){E.label=m[2],E.ops.push(b);break}m[2]&&E.ops.pop(),E.trys.pop();continue}b=u.call(l,E)}catch(w){b=[6,w],f=0}finally{d=m=0}if(5&b[0])throw b[1];return{value:b[0]?b[1]:void 0,done:!0}}([v,y])}}},a={name:"eruda",isOpen:function(){var l;return r(this,void 0,void 0,function(){return o(this,function(u){return typeof eruda!="undefined"?[2,((l=eruda==null?void 0:eruda._devTools)===null||l===void 0?void 0:l._isShow)===!0]:[2,!1]})})},isEnable:function(){return r(this,void 0,void 0,function(){return o(this,function(l){return[2,!0]})})}}}])})});var b3=Y(()=>{A()});var v3=Y((il,eg)=>{A();(function(i,t){if(typeof il=="object"&&typeof eg=="object")eg.exports=t();else if(typeof define=="function"&&define.amd)define([],t);else if(typeof il=="object")il.JsCrypto=t();else{var n=t();for(var r in i.JsCrypto=i.JsCrypto||{},n)i.JsCrypto[r]=n[r]}})(il,function(){return function(){"use strict";var i={9691:function(o,a,l){l.d(a,{AES:function(){return q}});var u,d=l(9456),f=l(787),m=l(5693),p=l(9109),E=(u=function(U,k){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(B,N){B.__proto__=N}||function(B,N){for(var W in N)Object.prototype.hasOwnProperty.call(N,W)&&(B[W]=N[W])})(U,k)},function(U,k){function B(){this.constructor=U}u(U,k),U.prototype=k===null?Object.create(k):(B.prototype=k.prototype,new B)}),S=function(){return(S=Object.assign||function(U){for(var k,B=1,N=arguments.length;B<N;B++)for(var W in k=arguments[B])Object.prototype.hasOwnProperty.call(k,W)&&(U[W]=k[W]);return U}).apply(this,arguments)},v=[],y=[],b=[],w=[],O=[],T=[],C=[],_=[],P=[],D=[];(function(){for(var U=[],k=0;k<256;k++)U[k]=k<128?k<<1:k<<1^283;var B=0,N=0;for(k=0;k<256;k++){var W=N^N<<1^N<<2^N<<3^N<<4;W=W>>>8^255&W^99,v[B]=W,y[W]=B;var ye=U[B],be=U[ye],fe=U[be],re=257*U[W]^16843008*W;b[B]=re<<24|re>>>8,w[B]=re<<16|re>>>16,O[B]=re<<8|re>>>24,T[B]=re,re=16843009*fe^65537*be^257*ye^16843008*B,C[W]=re<<24|re>>>8,_[W]=re<<16|re>>>16,P[W]=re<<8|re>>>24,D[W]=re,B?(B=ye^U[U[U[fe^ye]]],N^=U[U[N]]):B=N=1}})();var I=[0,1,2,4,8,16,32,64,128,27,54],q=function(U){function k(B){var N=U.call(this,B)||this;return N.u=0,N.h=[],N.v=[],N.O=B,N.A(),N}return E(k,U),k.prototype.A=function(){var B;if(!this.u||this.k!==this.H){for(var N=this.k=this.H,W=N.words,ye=N.nSigBytes/4,be=4*((this.u=ye+6)+1),fe=this.h=[],re=0;re<be;re++)re<ye?fe[re]=W[re]:(B=fe[re-1],re%ye?ye>6&&re%ye==4&&(B=v[B>>>24]<<24|v[B>>>16&255]<<16|v[B>>>8&255]<<8|v[255&B]):(B=v[(B=B<<8|B>>>24)>>>24]<<24|v[B>>>16&255]<<16|v[B>>>8&255]<<8|v[255&B],B^=I[re/ye|0]<<24),fe[re]=fe[re-ye]^B);this.v=[];for(var he=0;he<be;he++)re=be-he,B=he%4?fe[re]:fe[re-4],this.v[he]=he<4||re<=4?B:C[v[B>>>24]]^_[v[B>>>16&255]]^P[v[B>>>8&255]]^D[v[255&B]]}},k.prototype.encryptBlock=function(B,N){this.B(B,N,this.h,b,w,O,T,v)},k.prototype.decryptBlock=function(B,N){var W=B[N+1];B[N+1]=B[N+3],B[N+3]=W,this.B(B,N,this.v,C,_,P,D,y),W=B[N+1],B[N+1]=B[N+3],B[N+3]=W},k.prototype.B=function(B,N,W,ye,be,fe,re,he){for(var Ae=this.u,ue=B[N]^W[0],xe=B[N+1]^W[1],Re=B[N+2]^W[2],Se=B[N+3]^W[3],V=4,ee=1;ee<Ae;ee++){var ne=ye[ue>>>24]^be[xe>>>16&255]^fe[Re>>>8&255]^re[255&Se]^W[V++],ae=ye[xe>>>24]^be[Re>>>16&255]^fe[Se>>>8&255]^re[255&ue]^W[V++],bt=ye[Re>>>24]^be[Se>>>16&255]^fe[ue>>>8&255]^re[255&xe]^W[V++],Ft=ye[Se>>>24]^be[ue>>>16&255]^fe[xe>>>8&255]^re[255&Re]^W[V++];ue=ne,xe=ae,Re=bt,Se=Ft}var Mt=(he[ue>>>24]<<24|he[xe>>>16&255]<<16|he[Re>>>8&255]<<8|he[255&Se])^W[V++],Et=(he[xe>>>24]<<24|he[Re>>>16&255]<<16|he[Se>>>8&255]<<8|he[255&ue])^W[V++],On=(he[Re>>>24]<<24|he[Se>>>16&255]<<16|he[ue>>>8&255]<<8|he[255&xe])^W[V++],Bn=(he[Se>>>24]<<24|he[ue>>>16&255]<<16|he[xe>>>8&255]<<8|he[255&Re])^W[V++];B[N]=Mt,B[N+1]=Et,B[N+2]=On,B[N+3]=Bn},k.createEncryptor=function(B,N){return new k(S(S({},N=N===void 0?{}:N),{key:B,transformMode:d.t.ENC_TRANSFORM_MODE}))},k.createDecryptor=function(B,N){return new k(S(S({},N=N===void 0?{}:N),{key:B,transformMode:d.t.DEC_TRANSFORM_MODE}))},k.encrypt=function(B,N,W){if(typeof N=="string")return m.E.encrypt(k,B,N,W);if(N.nSigBytes%4!=0)throw new Error("Key size must be multiple of 32bit/4byte/1word");return p.D.encrypt(k,B,N,W)},k.decrypt=function(B,N,W){if(typeof N=="string")return m.E.decrypt(k,B,N,W);if(N.nSigBytes%4!=0)throw new Error("Key size must be multiple of 32bit/4byte/1word");return p.D.decrypt(k,B,N,W)},k.keySize=8,k}(f.G)},3967:function(o,a,l){l.d(a,{CBCMAC:function(){return p}});var u=l(4768),d=l(3354),f=l(9691),m=l(3664);function p(E,S,v,y,b,w){var O=w&&w.Cipher?w.Cipher:f.AES,T=typeof v=="string"?u.d.parse(v):v,C=y||new d.e([0,0]),_=typeof S=="string"?u.d.parse(S):S,P=typeof E=="string"?u.d.parse(E):E,D=b||16;return m.K.mac(O,T,C,_,P,D)}},9910:function(o,a,l){l.d(a,{DES:function(){return T}});var u,d=l(787),f=l(9456),m=l(5693),p=l(9109),E=(u=function(C,_){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(P,D){P.__proto__=D}||function(P,D){for(var I in D)Object.prototype.hasOwnProperty.call(D,I)&&(P[I]=D[I])})(C,_)},function(C,_){function P(){this.constructor=C}u(C,_),C.prototype=_===null?Object.create(_):(P.prototype=_.prototype,new P)}),S=function(){return(S=Object.assign||function(C){for(var _,P=1,D=arguments.length;P<D;P++)for(var I in _=arguments[P])Object.prototype.hasOwnProperty.call(_,I)&&(C[I]=_[I]);return C}).apply(this,arguments)},v=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],y=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],b=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],w=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],O=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],T=function(C){function _(P){var D=C.call(this,P)||this;return D.N=2,D.I=[],D.U=[],D.L=0,D.F=0,D.O=P,D.A(),D}return E(_,C),_.prototype.A=function(){for(var P=this.H.words,D=[],I=0;I<56;I++){var q=v[I]-1;D[I]=P[q>>>5]>>>31-q%32&1}for(var U=this.I=[],k=0;k<16;k++){var B=U[k]=[],N=b[k];for(I=0;I<24;I++)B[I/6|0]|=D[(y[I]-1+N)%28]<<31-I%6,B[4+(I/6|0)]|=D[28+(y[I+24]-1+N)%28]<<31-I%6;for(B[0]=B[0]<<1|B[0]>>>31,I=1;I<7;I++)B[I]=B[I]>>>4*(I-1)+3;B[7]=B[7]<<5|B[7]>>>27}for(this.U=[],I=0;I<16;I++)this.U[I]=U[15-I]},_.prototype.encryptBlock=function(P,D){this.R(P,D,this.I)},_.prototype.decryptBlock=function(P,D){this.R(P,D,this.U)},_.prototype.R=function(P,D,I){this.L=P[D],this.F=P[D+1],this.X(4,252645135),this.X(16,65535),this.Z(2,858993459),this.Z(8,16711935),this.X(1,1431655765);for(var q=0;q<16;q++){for(var U=I[q],k=this.L,B=this.F,N=0,W=0;W<8;W++){var ye=(B^U[W])&O[W];N|=w[W][ye>>>0]}this.L=B,this.F=k^N}var be=this.L;this.L=this.F,this.F=be,this.X(1,1431655765),this.Z(8,16711935),this.Z(2,858993459),this.X(16,65535),this.X(4,252645135),P[D]=this.L,P[D+1]=this.F},_.prototype.X=function(P,D){var I=(this.L>>>P^this.F)&D;this.F^=I,this.L^=I<<P},_.prototype.Z=function(P,D){var I=(this.F>>>P^this.L)&D;this.L^=I,this.F^=I<<P},_.createEncryptor=function(P,D){return new _(S(S({},D=D===void 0?{}:D),{key:P,transformMode:f.t.ENC_TRANSFORM_MODE}))},_.createDecryptor=function(P,D){return new _(S(S({},D=D===void 0?{}:D),{key:P,transformMode:f.t.DEC_TRANSFORM_MODE}))},_.encrypt=function(P,D,I){return typeof D=="string"?m.E.encrypt(_,P,D,I):p.D.encrypt(_,P,D,I)},_.decrypt=function(P,D,I){return typeof D=="string"?m.E.decrypt(_,P,D,I):p.D.decrypt(_,P,D,I)},_.keySize=2,_.ivSize=2,_}(d.G)},6739:function(o,a,l){l.d(a,{DES3:function(){return b}});var u,d=l(9109),f=l(787),m=l(9456),p=l(9910),E=l(3354),S=l(5693),v=(u=function(w,O){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,C){T.__proto__=C}||function(T,C){for(var _ in C)Object.prototype.hasOwnProperty.call(C,_)&&(T[_]=C[_])})(w,O)},function(w,O){function T(){this.constructor=w}u(w,O),w.prototype=O===null?Object.create(O):(T.prototype=O.prototype,new T)}),y=function(){return(y=Object.assign||function(w){for(var O,T=1,C=arguments.length;T<C;T++)for(var _ in O=arguments[T])Object.prototype.hasOwnProperty.call(O,_)&&(w[_]=O[_]);return w}).apply(this,arguments)},b=function(w){function O(T){var C=w.call(this,T)||this;C.N=2,C.O=T;var _=C.J();return C.Y=_[0],C.$=_[1],C.nn=_[2],C}return v(O,w),O.prototype.J=function(){var T=this.H.words;if(T.length!==2&&T.length!==4&&T.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var C=T.slice(0,2),_=T.length<4?T.slice(0,2):T.slice(2,4),P=T.length<6?T.slice(0,2):T.slice(4,6);return[p.DES.createEncryptor(new E.e(C)),p.DES.createEncryptor(new E.e(_)),p.DES.createEncryptor(new E.e(P))]},O.prototype.A=function(){var T=this.J();this.Y=T[0],this.$=T[1],this.nn=T[2]},O.prototype.encryptBlock=function(T,C){this.Y.encryptBlock(T,C),this.$.decryptBlock(T,C),this.nn.encryptBlock(T,C)},O.prototype.decryptBlock=function(T,C){this.nn.decryptBlock(T,C),this.$.encryptBlock(T,C),this.Y.decryptBlock(T,C)},O.createEncryptor=function(T,C){return new O(y(y({},C=C===void 0?{}:C),{key:T,transformMode:m.t.ENC_TRANSFORM_MODE}))},O.createDecryptor=function(T,C){return new O(y(y({},C=C===void 0?{}:C),{key:T,transformMode:m.t.DEC_TRANSFORM_MODE}))},O.encrypt=function(T,C,_){return typeof C=="string"?S.E.encrypt(O,T,C,_):d.D.encrypt(O,T,C,_)},O.decrypt=function(T,C,_){return typeof C=="string"?S.E.decrypt(O,T,C,_):d.D.decrypt(O,T,C,_)},O.keySize=6,O.ivSize=2,O}(f.G)},7753:function(o,a,l){l.d(a,{GMAC:function(){return p}});var u=l(4768),d=l(3354),f=l(9691),m=l(5607);function p(E,S,v,y,b){var w=typeof E=="string"?u.d.parse(E):E,O=v||new d.e([0,0,0,0]),T=b&&b.Cipher?b.Cipher:f.AES,C=typeof S=="string"?u.d.parse(S):S,_=y||16;return m.V.mac(T,C,O,w,void 0,_)}},6367:function(o,a,l){l.d(a,{Hmac:function(){return d}});var u=l(4768),d=function(){function f(m,p){this.tn=m,typeof p=="string"&&(p=u.d.parse(p));var E=m.blockSize,S=4*E;p.nSigBytes>S&&(p=m.finalize(p)),p.clamp();for(var v=this.rn=p.clone(),y=this.en=p.clone(),b=v.words,w=y.words,O=0;O<E;O++)b[O]^=1549556828,w[O]^=909522486;y.nSigBytes=S,v.nSigBytes=S,this.reset()}return f.prototype.reset=function(){this.tn.reset(),this.tn.update(this.en)},f.prototype.update=function(m){return this.tn.update(m),this},f.prototype.finalize=function(m){var p=this.tn.finalize(m);return this.tn.reset(),this.tn.finalize(this.rn.clone().concat(p))},f}()},3027:function(o,a,l){l.d(a,{HmacMD5:function(){return f}});var u=l(6367),d=l(670);function f(m,p){return new u.Hmac(new d.MD5,p).finalize(m)}},149:function(o,a,l){l.d(a,{HmacSHA1:function(){return f}});var u=l(6367),d=l(3173);function f(m,p){return new u.Hmac(new d.SHA1,p).finalize(m)}},4105:function(o,a,l){l.d(a,{HmacSHA224:function(){return f}});var u=l(6367),d=l(766);function f(m,p){return new u.Hmac(new d.SHA224,p).finalize(m)}},980:function(o,a,l){l.d(a,{HmacSHA256:function(){return f}});var u=l(6367),d=l(5561);function f(m,p){return new u.Hmac(new d.SHA256,p).finalize(m)}},5838:function(o,a,l){l.d(a,{HmacSHA384:function(){return f}});var u=l(6367),d=l(6324);function f(m,p){return new u.Hmac(new d.SHA384,p).finalize(m)}},9902:function(o,a,l){l.d(a,{HmacSHA512:function(){return f}});var u=l(6367),d=l(7491);function f(m,p){return new u.Hmac(new d.SHA512,p).finalize(m)}},670:function(o,a,l){l.d(a,{MD5:function(){return b}});var u,d=l(3354),f=l(1868),m=(u=function(w,O){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,C){T.__proto__=C}||function(T,C){for(var _ in C)Object.prototype.hasOwnProperty.call(C,_)&&(T[_]=C[_])})(w,O)},function(w,O){function T(){this.constructor=w}u(w,O),w.prototype=O===null?Object.create(O):(T.prototype=O.prototype,new T)}),p=[];function E(w,O,T,C,_,P,D){var I=w+(O&T|~O&C)+_+D;return(I<<P|I>>>32-P)+O}function S(w,O,T,C,_,P,D){var I=w+(O&C|T&~C)+_+D;return(I<<P|I>>>32-P)+O}function v(w,O,T,C,_,P,D){var I=w+(O^T^C)+_+D;return(I<<P|I>>>32-P)+O}function y(w,O,T,C,_,P,D){var I=w+(T^(O|~C))+_+D;return(I<<P|I>>>32-P)+O}(function(){for(var w=0;w<64;w++)p[w]=4294967296*Math.abs(Math.sin(w+1))|0})();var b=function(w){function O(T){var C=w.call(this,T)||this;return C.on=new d.e([1732584193,4023233417,2562383102,271733878]),T&&T.hash!==void 0&&(C.on=T.hash.clone()),C}return m(O,w),O.prototype.A=function(){this.on=new d.e([1732584193,4023233417,2562383102,271733878])},O.prototype.un=function(T,C){for(var _=0;_<16;_++){var P=C+_,D=T[P];T[P]=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8)}var I=this.on.words,q=T[C],U=T[C+1],k=T[C+2],B=T[C+3],N=T[C+4],W=T[C+5],ye=T[C+6],be=T[C+7],fe=T[C+8],re=T[C+9],he=T[C+10],Ae=T[C+11],ue=T[C+12],xe=T[C+13],Re=T[C+14],Se=T[C+15],V=I[0],ee=I[1],ne=I[2],ae=I[3];V=E(V,ee,ne,ae,q,7,p[0]),ae=E(ae,V,ee,ne,U,12,p[1]),ne=E(ne,ae,V,ee,k,17,p[2]),ee=E(ee,ne,ae,V,B,22,p[3]),V=E(V,ee,ne,ae,N,7,p[4]),ae=E(ae,V,ee,ne,W,12,p[5]),ne=E(ne,ae,V,ee,ye,17,p[6]),ee=E(ee,ne,ae,V,be,22,p[7]),V=E(V,ee,ne,ae,fe,7,p[8]),ae=E(ae,V,ee,ne,re,12,p[9]),ne=E(ne,ae,V,ee,he,17,p[10]),ee=E(ee,ne,ae,V,Ae,22,p[11]),V=E(V,ee,ne,ae,ue,7,p[12]),ae=E(ae,V,ee,ne,xe,12,p[13]),ne=E(ne,ae,V,ee,Re,17,p[14]),V=S(V,ee=E(ee,ne,ae,V,Se,22,p[15]),ne,ae,U,5,p[16]),ae=S(ae,V,ee,ne,ye,9,p[17]),ne=S(ne,ae,V,ee,Ae,14,p[18]),ee=S(ee,ne,ae,V,q,20,p[19]),V=S(V,ee,ne,ae,W,5,p[20]),ae=S(ae,V,ee,ne,he,9,p[21]),ne=S(ne,ae,V,ee,Se,14,p[22]),ee=S(ee,ne,ae,V,N,20,p[23]),V=S(V,ee,ne,ae,re,5,p[24]),ae=S(ae,V,ee,ne,Re,9,p[25]),ne=S(ne,ae,V,ee,B,14,p[26]),ee=S(ee,ne,ae,V,fe,20,p[27]),V=S(V,ee,ne,ae,xe,5,p[28]),ae=S(ae,V,ee,ne,k,9,p[29]),ne=S(ne,ae,V,ee,be,14,p[30]),V=v(V,ee=S(ee,ne,ae,V,ue,20,p[31]),ne,ae,W,4,p[32]),ae=v(ae,V,ee,ne,fe,11,p[33]),ne=v(ne,ae,V,ee,Ae,16,p[34]),ee=v(ee,ne,ae,V,Re,23,p[35]),V=v(V,ee,ne,ae,U,4,p[36]),ae=v(ae,V,ee,ne,N,11,p[37]),ne=v(ne,ae,V,ee,be,16,p[38]),ee=v(ee,ne,ae,V,he,23,p[39]),V=v(V,ee,ne,ae,xe,4,p[40]),ae=v(ae,V,ee,ne,q,11,p[41]),ne=v(ne,ae,V,ee,B,16,p[42]),ee=v(ee,ne,ae,V,ye,23,p[43]),V=v(V,ee,ne,ae,re,4,p[44]),ae=v(ae,V,ee,ne,ue,11,p[45]),ne=v(ne,ae,V,ee,Se,16,p[46]),V=y(V,ee=v(ee,ne,ae,V,k,23,p[47]),ne,ae,q,6,p[48]),ae=y(ae,V,ee,ne,be,10,p[49]),ne=y(ne,ae,V,ee,Re,15,p[50]),ee=y(ee,ne,ae,V,W,21,p[51]),V=y(V,ee,ne,ae,ue,6,p[52]),ae=y(ae,V,ee,ne,B,10,p[53]),ne=y(ne,ae,V,ee,he,15,p[54]),ee=y(ee,ne,ae,V,U,21,p[55]),V=y(V,ee,ne,ae,fe,6,p[56]),ae=y(ae,V,ee,ne,Se,10,p[57]),ne=y(ne,ae,V,ee,ye,15,p[58]),ee=y(ee,ne,ae,V,xe,21,p[59]),V=y(V,ee,ne,ae,N,6,p[60]),ae=y(ae,V,ee,ne,Ae,10,p[61]),ne=y(ne,ae,V,ee,k,15,p[62]),ee=y(ee,ne,ae,V,re,21,p[63]),I[0]=I[0]+V|0,I[1]=I[1]+ee|0,I[2]=I[2]+ne|0,I[3]=I[3]+ae|0},O.prototype.fn=function(){var T=this.cn,C=T.words,_=8*this.sn,P=8*T.nSigBytes;C[P>>>5]|=128<<24-P%32;var D=Math.floor(_/4294967296),I=_;C[15+(P+64>>>9<<4)]=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8),C[14+(P+64>>>9<<4)]=16711935&(I<<8|I>>>24)|4278255360&(I<<24|I>>>8),T.nSigBytes=4*(C.length+1),this.an();for(var q=this.on,U=q.words,k=0;k<4;k++){var B=U[k];U[k]=16711935&(B<<8|B>>>24)|4278255360&(B<<24|B>>>8)}return q},O.prototype.clone=function(){return new O({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},O.hash=function(T){return new O().finalize(T)},O}(f.P)},4615:function(o,a,l){l.d(a,{RC4:function(){return S}});var u,d=l(30),f=l(5693),m=l(9109),p=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),E=function(){return(E=Object.assign||function(v){for(var y,b=1,w=arguments.length;b<w;b++)for(var O in y=arguments[b])Object.prototype.hasOwnProperty.call(y,O)&&(v[O]=y[O]);return v}).apply(this,arguments)},S=function(v){function y(b){var w=v.call(this,b)||this;return w.S=[],w.i=0,w.j=0,w.O=b,w.A(),w}return p(y,v),y.prototype.A=function(){var b=this.H,w=b.words,O=b.nSigBytes;this.S=[];for(var T=0;T<256;T++)this.S[T]=T;T=0;for(var C=0;T<256;T++){var _=T%O,P=w[_>>>2]>>>24-_%4*8&255;C=(C+this.S[T]+P)%256;var D=this.S[T];this.S[T]=this.S[C],this.S[C]=D}this.i=this.j=0},y.prototype.un=function(b,w){b[w]^=this.generateKeyStreamWord()},y.prototype.generateKeyStreamWord=function(){for(var b=this.S,w=this.i,O=this.j,T=0,C=0;C<4;C++){O=(O+b[w=(w+1)%256])%256;var _=b[w];b[w]=b[O],b[O]=_,T|=b[(b[w]+b[O])%256]<<24-8*C}return this.i=w,this.j=O,T},y.createEncryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.createDecryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.encrypt=function(b,w,O){return typeof w=="string"?f.E.encrypt(y,b,w,O):m.D.encrypt(y,b,w,O)},y.decrypt=function(b,w,O){return typeof w=="string"?f.E.decrypt(y,b,w,O):m.D.decrypt(y,b,w,O)},y.ivSize=0,y.keySize=8,y}(d.q)},9639:function(o,a,l){l.d(a,{RC4Drop:function(){return S}});var u,d=l(5693),f=l(9109),m=l(4615),p=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),E=function(){return(E=Object.assign||function(v){for(var y,b=1,w=arguments.length;b<w;b++)for(var O in y=arguments[b])Object.prototype.hasOwnProperty.call(y,O)&&(v[O]=y[O]);return v}).apply(this,arguments)},S=function(v){function y(b){var w=v.call(this,b)||this;return w.drop=192,w.O=b,b&&typeof b.drop=="number"&&(w.drop=b.drop),w.A(),w}return p(y,v),y.prototype.A=function(){v.prototype.A.call(this);for(var b=this.drop;b>0;b--)this.generateKeyStreamWord()},y.createEncryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.createDecryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.encrypt=function(b,w,O){return typeof w=="string"?d.E.encrypt(y,b,w,O):f.D.encrypt(y,b,w,O)},y.decrypt=function(b,w,O){return typeof w=="string"?d.E.decrypt(y,b,w,O):f.D.decrypt(y,b,w,O)},y}(m.RC4)},7104:function(o,a,l){l.d(a,{RIPEMD160:function(){return D}});var u,d=l(1868),f=l(3354),m=(u=function(I,q){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(U,k){U.__proto__=k}||function(U,k){for(var B in k)Object.prototype.hasOwnProperty.call(k,B)&&(U[B]=k[B])})(I,q)},function(I,q){function U(){this.constructor=I}u(I,q),I.prototype=q===null?Object.create(q):(U.prototype=q.prototype,new U)}),p=new f.e([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),E=new f.e([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),S=new f.e([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),v=new f.e([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),y=new f.e([0,1518500249,1859775393,2400959708,2840853838]),b=new f.e([1352829926,1548603684,1836072691,2053994217,0]);function w(I,q,U){return I^q^U}function O(I,q,U){return I&q|~I&U}function T(I,q,U){return(I|~q)^U}function C(I,q,U){return I&U|q&~U}function _(I,q,U){return I^(q|~U)}function P(I,q){return I<<q|I>>>32-q}var D=function(I){function q(U){var k=I.call(this,U)||this;return k.on=new f.e([1732584193,4023233417,2562383102,271733878,3285377520]),k.O=U,U&&U.hash!==void 0&&(k.on=U.hash.clone()),k}return m(q,I),q.prototype.A=function(){this.on=new f.e([1732584193,4023233417,2562383102,271733878,3285377520])},q.prototype.un=function(U,k){for(var B=0;B<16;B++){var N=k+B,W=U[N];U[N]=16711935&(W<<8|W>>>24)|4278255360&(W<<24|W>>>8)}var ye,be,fe,re,he,Ae,ue,xe,Re,Se,V,ee=this.on.words,ne=y.words,ae=b.words,bt=p.words,Ft=E.words,Mt=S.words,Et=v.words;for(Ae=ye=ee[0],ue=be=ee[1],xe=fe=ee[2],Re=re=ee[3],Se=he=ee[4],B=0;B<80;B+=1)V=ye+U[k+bt[B]]|0,V+=B<16?w(be,fe,re)+ne[0]:B<32?O(be,fe,re)+ne[1]:B<48?T(be,fe,re)+ne[2]:B<64?C(be,fe,re)+ne[3]:_(be,fe,re)+ne[4],V=(V=P(V|=0,Mt[B]))+he|0,ye=he,he=re,re=P(fe,10),fe=be,be=V,V=Ae+U[k+Ft[B]]|0,V+=B<16?_(ue,xe,Re)+ae[0]:B<32?C(ue,xe,Re)+ae[1]:B<48?T(ue,xe,Re)+ae[2]:B<64?O(ue,xe,Re)+ae[3]:w(ue,xe,Re)+ae[4],V=(V=P(V|=0,Et[B]))+Se|0,Ae=Se,Se=Re,Re=P(xe,10),xe=ue,ue=V;V=ee[1]+fe+Re|0,ee[1]=ee[2]+re+Se|0,ee[2]=ee[3]+he+Ae|0,ee[3]=ee[4]+ye+ue|0,ee[4]=ee[0]+be+xe|0,ee[0]=V},q.prototype.fn=function(){var U=this.cn,k=U.words,B=8*this.sn,N=8*U.nSigBytes;k[N>>>5]|=128<<24-N%32,k[14+(N+64>>>9<<4)]=16711935&(B<<8|B>>>24)|4278255360&(B<<24|B>>>8),U.nSigBytes=4*(k.length+1),this.an();for(var W=this.on,ye=W.words,be=0;be<5;be++){var fe=ye[be];ye[be]=16711935&(fe<<8|fe>>>24)|4278255360&(fe<<24|fe>>>8)}return W},q.prototype.clone=function(){return new q({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},q.hash=function(U,k){return new q(k).finalize(U)},q}(d.P)},5187:function(o,a,l){l.d(a,{Rabbit:function(){return S}});var u,d=l(30),f=l(5693),m=l(9109),p=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),E=function(){return(E=Object.assign||function(v){for(var y,b=1,w=arguments.length;b<w;b++)for(var O in y=arguments[b])Object.prototype.hasOwnProperty.call(y,O)&&(v[O]=y[O]);return v}).apply(this,arguments)},S=function(v){function y(b){var w=v.call(this,b)||this;return w.N=4,w.S=[],w.C=[],w.G=[],w.hn=[],w.vn=[],w.wn=0,w.O=b,w.A(),w}return p(y,v),y.prototype.A=function(){for(var b=this.H.words,w=this.ln,O=0;O<4;O++)b[O]=16711935&(b[O]<<8|b[O]>>>24)|4278255360&(b[O]<<24|b[O]>>>8);var T=this.hn=[b[0],b[3]<<16|b[2]>>>16,b[1],b[0]<<16|b[3]>>>16,b[2],b[1]<<16|b[0]>>>16,b[3],b[2]<<16|b[1]>>>16],C=this.vn=[b[2]<<16|b[2]>>>16,4294901760&b[0]|65535&b[1],b[3]<<16|b[3]>>>16,4294901760&b[1]|65535&b[2],b[0]<<16|b[0]>>>16,4294901760&b[2]|65535&b[3],b[1]<<16|b[1]>>>16,4294901760&b[3]|65535&b[0]];for(this.wn=0,O=0;O<4;O++)this.nextState();for(O=0;O<8;O++)C[O]^=T[O+4&7];if(w){var _=w.words,P=_[0],D=_[1],I=16711935&(P<<8|P>>>24)|4278255360&(P<<24|P>>>8),q=16711935&(D<<8|D>>>24)|4278255360&(D<<24|D>>>8),U=I>>>16|4294901760&q,k=q<<16|65535&I;for(C[0]^=I,C[1]^=U,C[2]^=q,C[3]^=k,C[4]^=I,C[5]^=U,C[6]^=q,C[7]^=k,O=0;O<4;O++)this.nextState()}},y.prototype.un=function(b,w){var O=this.hn;this.nextState(),this.S[0]=O[0]^O[5]>>>16^O[3]<<16,this.S[1]=O[2]^O[7]>>>16^O[5]<<16,this.S[2]=O[4]^O[1]>>>16^O[7]<<16,this.S[3]=O[6]^O[3]>>>16^O[1]<<16;for(var T=0;T<4;T++)this.S[T]=16711935&(this.S[T]<<8|this.S[T]>>>24)|4278255360&(this.S[T]<<24|this.S[T]>>>8),b[w+T]^=this.S[T]},y.prototype.nextState=function(){for(var b=this.hn,w=this.vn,O=0;O<8;O++)this.C[O]=w[O];for(w[0]=w[0]+1295307597+this.wn|0,w[1]=w[1]+3545052371+(w[0]>>>0<this.C[0]>>>0?1:0)|0,w[2]=w[2]+886263092+(w[1]>>>0<this.C[1]>>>0?1:0)|0,w[3]=w[3]+1295307597+(w[2]>>>0<this.C[2]>>>0?1:0)|0,w[4]=w[4]+3545052371+(w[3]>>>0<this.C[3]>>>0?1:0)|0,w[5]=w[5]+886263092+(w[4]>>>0<this.C[4]>>>0?1:0)|0,w[6]=w[6]+1295307597+(w[5]>>>0<this.C[5]>>>0?1:0)|0,w[7]=w[7]+3545052371+(w[6]>>>0<this.C[6]>>>0?1:0)|0,this.wn=w[7]>>>0<this.C[7]>>>0?1:0,O=0;O<8;O++){var T=b[O]+w[O],C=65535&T,_=T>>>16,P=((C*C>>>17)+C*_>>>15)+_*_,D=((4294901760&T)*T|0)+((65535&T)*T|0);this.G[O]=P^D}var I=this.G;b[0]=I[0]+(I[7]<<16|I[7]>>>16)+(I[6]<<16|I[6]>>>16)|0,b[1]=I[1]+(I[0]<<8|I[0]>>>24)+I[7]|0,b[2]=I[2]+(I[1]<<16|I[1]>>>16)+(I[0]<<16|I[0]>>>16)|0,b[3]=I[3]+(I[2]<<8|I[2]>>>24)+I[1]|0,b[4]=I[4]+(I[3]<<16|I[3]>>>16)+(I[2]<<16|I[2]>>>16)|0,b[5]=I[5]+(I[4]<<8|I[4]>>>24)+I[3]|0,b[6]=I[6]+(I[5]<<16|I[5]>>>16)+(I[4]<<16|I[4]>>>16)|0,b[7]=I[7]+(I[6]<<8|I[6]>>>24)+I[5]|0},y.createEncryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.createDecryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b}))},y.encrypt=function(b,w,O){return typeof w=="string"?f.E.encrypt(y,b,w,O):m.D.encrypt(y,b,w,O)},y.decrypt=function(b,w,O){return typeof w=="string"?f.E.decrypt(y,b,w,O):m.D.decrypt(y,b,w,O)},y.ivSize=4,y}(d.q)},3173:function(o,a,l){l.d(a,{SHA1:function(){return E}});var u,d=l(1868),f=l(3354),m=(u=function(S,v){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,b){y.__proto__=b}||function(y,b){for(var w in b)Object.prototype.hasOwnProperty.call(b,w)&&(y[w]=b[w])})(S,v)},function(S,v){function y(){this.constructor=S}u(S,v),S.prototype=v===null?Object.create(v):(y.prototype=v.prototype,new y)}),p=[],E=function(S){function v(y){var b=S.call(this,y)||this;return b.on=new f.e([1732584193,4023233417,2562383102,271733878,3285377520]),b.O=y,y&&y.hash!==void 0&&(b.on=y.hash.clone()),b}return m(v,S),v.prototype.A=function(){this.on=new f.e([1732584193,4023233417,2562383102,271733878,3285377520])},v.prototype.un=function(y,b){for(var w=this.on.words,O=w[0],T=w[1],C=w[2],_=w[3],P=w[4],D=0;D<80;D++){if(D<16)p[D]=0|y[b+D];else{var I=p[D-3]^p[D-8]^p[D-14]^p[D-16];p[D]=I<<1|I>>>31}var q=(O<<5|O>>>27)+P+p[D];q+=D<20?1518500249+(T&C|~T&_):D<40?1859775393+(T^C^_):D<60?(T&C|T&_|C&_)-1894007588:(T^C^_)-899497514,P=_,_=C,C=T<<30|T>>>2,T=O,O=q}w[0]=w[0]+O|0,w[1]=w[1]+T|0,w[2]=w[2]+C|0,w[3]=w[3]+_|0,w[4]=w[4]+P|0},v.prototype.fn=function(){var y=this.cn.words,b=8*this.sn,w=8*this.cn.nSigBytes;return y[w>>>5]|=128<<24-w%32,y[14+(w+64>>>9<<4)]=Math.floor(b/4294967296),y[15+(w+64>>>9<<4)]=b,this.cn.nSigBytes=4*y.length,this.an(),this.on},v.prototype.clone=function(){return new v({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},v.hash=function(y,b){return new v(b).finalize(y)},v}(d.P)},766:function(o,a,l){l.d(a,{SHA224:function(){return p}});var u,d=l(3354),f=l(5561),m=(u=function(E,S){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,y){v.__proto__=y}||function(v,y){for(var b in y)Object.prototype.hasOwnProperty.call(y,b)&&(v[b]=y[b])})(E,S)},function(E,S){function v(){this.constructor=E}u(E,S),E.prototype=S===null?Object.create(S):(v.prototype=S.prototype,new v)}),p=function(E){function S(v){var y=E.call(this,v)||this;return y.on=new d.e([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),y.O=v,v&&v.hash!==void 0&&(y.on=v.hash.clone()),y}return m(S,E),S.prototype.A=function(){this.on=new d.e([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},S.prototype.fn=function(){var v=E.prototype.fn.call(this);return v.nSigBytes-=4,v},S.prototype.clone=function(){return new S({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},S.hash=function(v,y){return new S(y).finalize(v)},S}(f.SHA256)},5561:function(o,a,l){l.d(a,{SHA256:function(){return b}});var u,d=l(1868),f=l(3354),m=(u=function(w,O){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,C){T.__proto__=C}||function(T,C){for(var _ in C)Object.prototype.hasOwnProperty.call(C,_)&&(T[_]=C[_])})(w,O)},function(w,O){function T(){this.constructor=w}u(w,O),w.prototype=O===null?Object.create(O):(T.prototype=O.prototype,new T)}),p=[],E=[];function S(w){for(var O=Math.sqrt(w),T=2;T<=O;T++)if(!(w%T))return!1;return!0}function v(w){return 4294967296*(w-(0|w))|0}(function(){for(var w=2,O=0;O<64;)S(w)&&(O<8&&(p[O]=v(Math.pow(w,.5))),E[O]=v(Math.pow(w,1/3)),O++),w++})();var y=[],b=function(w){function O(T){var C=w.call(this,T)||this;return C.on=new f.e(p.slice(0)),C.O=T,T&&T.hash!==void 0&&(C.on=T.hash.clone()),C}return m(O,w),O.prototype.A=function(){this.on=new f.e(p.slice(0))},O.prototype.un=function(T,C){for(var _=this.on.words,P=_[0],D=_[1],I=_[2],q=_[3],U=_[4],k=_[5],B=_[6],N=_[7],W=0;W<64;W++){if(W<16)y[W]=0|T[C+W];else{var ye=y[W-15],be=(ye<<25|ye>>>7)^(ye<<14|ye>>>18)^ye>>>3,fe=y[W-2],re=(fe<<15|fe>>>17)^(fe<<13|fe>>>19)^fe>>>10;y[W]=be+y[W-7]+re+y[W-16]}var he=P&D^P&I^D&I,Ae=(P<<30|P>>>2)^(P<<19|P>>>13)^(P<<10|P>>>22),ue=N+((U<<26|U>>>6)^(U<<21|U>>>11)^(U<<7|U>>>25))+(U&k^~U&B)+E[W]+y[W];N=B,B=k,k=U,U=q+ue|0,q=I,I=D,D=P,P=ue+(Ae+he)|0}_[0]=_[0]+P|0,_[1]=_[1]+D|0,_[2]=_[2]+I|0,_[3]=_[3]+q|0,_[4]=_[4]+U|0,_[5]=_[5]+k|0,_[6]=_[6]+B|0,_[7]=_[7]+N|0},O.prototype.fn=function(){var T=this.cn.words,C=8*this.sn,_=8*this.cn.nSigBytes;return T[_>>>5]|=128<<24-_%32,T[14+(_+64>>>9<<4)]=Math.floor(C/4294967296),T[15+(_+64>>>9<<4)]=C,this.cn.nSigBytes=4*T.length,this.an(),this.on},O.prototype.clone=function(){return new O({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},O.hash=function(T,C){return new O(C).finalize(T)},O}(d.P)},3408:function(o,a,l){l.d(a,{SHA3:function(){return b}});var u,d=l(6957),f=l(1868),m=l(3354),p=(u=function(w,O){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(T,C){T.__proto__=C}||function(T,C){for(var _ in C)Object.prototype.hasOwnProperty.call(C,_)&&(T[_]=C[_])})(w,O)},function(w,O){function T(){this.constructor=w}u(w,O),w.prototype=O===null?Object.create(O):(T.prototype=O.prototype,new T)}),E=[],S=[],v=[];(function(){for(var w=1,O=0,T=0;T<24;T++){E[w+5*O]=(T+1)*(T+2)/2%64;var C=(2*w+3*O)%5;w=O%5,O=C}for(var _=0;_<5;_++)for(var P=0;P<5;P++)S[_+5*P]=P+(2*_+3*P)%5*5;for(var D=1,I=0;I<24;I++){for(var q=0,U=0,k=0;k<7;k++){if(1&D){var B=(1<<k)-1;B<32?U^=1<<B:q^=1<<B-32}128&D?D=D<<1^113:D<<=1}v[I]=new d.r(q,U)}})();var y=[];(function(){for(var w=0;w<25;w++)y[w]=new d.r(0,0)})();var b=function(w){function O(T){var C=w.call(this,T)||this;if(C.N=32,C.bn=[],C.dn=512,C.O=T,T){if(T.outputLength!==void 0){if(![224,256,384,512].includes(T.outputLength))throw new Error("Unsupported output length.");C.dn=T.outputLength}T.state!==void 0&&(C.bn=T.state.map(function(P){return P.clone()}))}if(C.bn.length===0)for(var _=0;_<25;_++)C.bn[_]=new d.r(0,0);return C.N=(1600-2*C.dn)/32,C}return p(O,w),O.prototype.A=function(){this.bn=[];for(var T=0;T<25;T++)this.bn[T]=new d.r(0,0);this.N=(1600-2*this.dn)/32},O.prototype.un=function(T,C){for(var _=this.bn,P=this.N/2,D=0;D<P;D++){var I=T[C+2*D],q=T[C+2*D+1];I=16711935&(I<<8|I>>>24)|4278255360&(I<<24|I>>>8),q=16711935&(q<<8|q>>>24)|4278255360&(q<<24|q>>>8),_[D].high^=q,_[D].low^=I}for(var U=0;U<24;U++){for(var k=0;k<5;k++){for(var B=0,N=0,W=0;W<5;W++)B^=(ne=_[k+5*W]).high,N^=ne.low;var ye=y[k];ye.high=B,ye.low=N}for(k=0;k<5;k++){var be=y[(k+4)%5],fe=y[(k+1)%5],re=fe.high,he=fe.low;for(B=be.high^(re<<1|he>>>31),N=be.low^(he<<1|re>>>31),W=0;W<5;W++)(ne=_[k+5*W]).high^=B,ne.low^=N}for(var Ae=1;Ae<25;Ae++){B=void 0,N=void 0;var ue=_[Ae].high,xe=_[Ae].low,Re=E[Ae];Re<32?(B=ue<<Re|xe>>>32-Re,N=xe<<Re|ue>>>32-Re):(B=xe<<Re-32|ue>>>64-Re,N=ue<<Re-32|xe>>>64-Re);var Se=y[S[Ae]];Se.high=B,Se.low=N}var V=y[0],ee=_[0];for(V.high=ee.high,V.low=ee.low,k=0;k<5;k++)for(W=0;W<5;W++){var ne=_[Ae=k+5*W],ae=y[Ae],bt=y[(k+1)%5+5*W],Ft=y[(k+2)%5+5*W];ne.high=ae.high^~bt.high&Ft.high,ne.low=ae.low^~bt.low&Ft.low}var Mt=_[0],Et=v[U];Mt.high^=Et.high,Mt.low^=Et.low}},O.prototype.fn=function(){var T=this.cn,C=T.words,_=8*T.nSigBytes,P=32*this.blockSize;C[_>>>5]|=1<<24-_%32,C[(Math.ceil((_+1)/P)*P>>>5)-1]|=128,T.nSigBytes=4*C.length,this.an();for(var D=this.bn,I=this.dn/8,q=I/8,U=[],k=0;k<q;k++){var B=D[k],N=B.high,W=B.low;N=16711935&(N<<8|N>>>24)|4278255360&(N<<24|N>>>8),W=16711935&(W<<8|W>>>24)|4278255360&(W<<24|W>>>8),U.push(W),U.push(N)}return new m.e(U,I)},O.prototype.clone=function(){return new O({outputLength:this.dn,state:this.bn,blockSize:this.N,data:this.cn,nBytes:this.sn})},O.hash=function(T,C){return new O(C).finalize(T)},O}(f.P)},6324:function(o,a,l){l.d(a,{SHA384:function(){return p}});var u,d=l(6957),f=l(7491),m=(u=function(E,S){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,y){v.__proto__=y}||function(v,y){for(var b in y)Object.prototype.hasOwnProperty.call(y,b)&&(v[b]=y[b])})(E,S)},function(E,S){function v(){this.constructor=E}u(E,S),E.prototype=S===null?Object.create(S):(v.prototype=S.prototype,new v)}),p=function(E){function S(v){var y=E.call(this,v)||this;return y.on=new d.m([new d.r(3418070365,3238371032),new d.r(1654270250,914150663),new d.r(2438529370,812702999),new d.r(355462360,4144912697),new d.r(1731405415,4290775857),new d.r(2394180231,1750603025),new d.r(3675008525,1694076839),new d.r(1203062813,3204075428)]),y.O=v,v&&v.hash!==void 0&&(y.on=v.hash.clone()),y}return m(S,E),S.prototype.A=function(){this.on=new d.m([new d.r(3418070365,3238371032),new d.r(1654270250,914150663),new d.r(2438529370,812702999),new d.r(355462360,4144912697),new d.r(1731405415,4290775857),new d.r(2394180231,1750603025),new d.r(3675008525,1694076839),new d.r(1203062813,3204075428)])},S.prototype.fn=function(){var v=E.prototype.fn.call(this);return v.nSigBytes-=16,v},S.prototype.clone=function(){return new S({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},S.hash=function(v,y){return new S(y).finalize(v)},S}(f.SHA512)},7491:function(o,a,l){l.d(a,{SHA512:function(){return S}});var u,d=l(1868),f=l(6957),m=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),p=[new f.r(1116352408,3609767458),new f.r(1899447441,602891725),new f.r(3049323471,3964484399),new f.r(3921009573,2173295548),new f.r(961987163,4081628472),new f.r(1508970993,3053834265),new f.r(2453635748,2937671579),new f.r(2870763221,3664609560),new f.r(3624381080,2734883394),new f.r(310598401,1164996542),new f.r(607225278,1323610764),new f.r(1426881987,3590304994),new f.r(1925078388,4068182383),new f.r(2162078206,991336113),new f.r(2614888103,633803317),new f.r(3248222580,3479774868),new f.r(3835390401,2666613458),new f.r(4022224774,944711139),new f.r(264347078,2341262773),new f.r(604807628,2007800933),new f.r(770255983,1495990901),new f.r(1249150122,1856431235),new f.r(1555081692,3175218132),new f.r(1996064986,2198950837),new f.r(2554220882,3999719339),new f.r(2821834349,766784016),new f.r(2952996808,2566594879),new f.r(3210313671,3203337956),new f.r(3336571891,1034457026),new f.r(3584528711,2466948901),new f.r(113926993,3758326383),new f.r(338241895,168717936),new f.r(666307205,1188179964),new f.r(773529912,1546045734),new f.r(1294757372,1522805485),new f.r(1396182291,2643833823),new f.r(1695183700,2343527390),new f.r(1986661051,1014477480),new f.r(2177026350,1206759142),new f.r(2456956037,344077627),new f.r(2730485921,1290863460),new f.r(2820302411,3158454273),new f.r(3259730800,3505952657),new f.r(3345764771,106217008),new f.r(3516065817,3606008344),new f.r(3600352804,1432725776),new f.r(4094571909,1467031594),new f.r(275423344,851169720),new f.r(430227734,3100823752),new f.r(506948616,1363258195),new f.r(659060556,3750685593),new f.r(883997877,3785050280),new f.r(958139571,3318307427),new f.r(1322822218,3812723403),new f.r(1537002063,2003034995),new f.r(1747873779,3602036899),new f.r(1955562222,1575990012),new f.r(2024104815,1125592928),new f.r(2227730452,2716904306),new f.r(2361852424,442776044),new f.r(2428436474,593698344),new f.r(2756734187,3733110249),new f.r(3204031479,2999351573),new f.r(3329325298,3815920427),new f.r(3391569614,3928383900),new f.r(3515267271,566280711),new f.r(3940187606,3454069534),new f.r(4118630271,4000239992),new f.r(116418474,1914138554),new f.r(174292421,2731055270),new f.r(289380356,3203993006),new f.r(460393269,320620315),new f.r(685471733,587496836),new f.r(852142971,1086792851),new f.r(1017036298,365543100),new f.r(1126000580,2618297676),new f.r(1288033470,3409855158),new f.r(1501505948,4234509866),new f.r(1607167915,987167468),new f.r(1816402316,1246189591)],E=[];(function(){for(var v=0;v<80;v++)E[v]=new f.r(0,0)})();var S=function(v){function y(b){var w=v.call(this,b)||this;return w.N=32,w.on=new f.m([new f.r(1779033703,4089235720),new f.r(3144134277,2227873595),new f.r(1013904242,4271175723),new f.r(2773480762,1595750129),new f.r(1359893119,2917565137),new f.r(2600822924,725511199),new f.r(528734635,4215389547),new f.r(1541459225,327033209)]),w.O=b,b&&b.hash!==void 0&&(w.on=b.hash.clone()),w}return m(y,v),y.prototype.A=function(){this.on=new f.m([new f.r(1779033703,4089235720),new f.r(3144134277,2227873595),new f.r(1013904242,4271175723),new f.r(2773480762,1595750129),new f.r(1359893119,2917565137),new f.r(2600822924,725511199),new f.r(528734635,4215389547),new f.r(1541459225,327033209)])},y.prototype.un=function(b,w){for(var O=this.on.words,T=O[0],C=O[1],_=O[2],P=O[3],D=O[4],I=O[5],q=O[6],U=O[7],k=T.high,B=T.low,N=C.high,W=C.low,ye=_.high,be=_.low,fe=P.high,re=P.low,he=D.high,Ae=D.low,ue=I.high,xe=I.low,Re=q.high,Se=q.low,V=U.high,ee=U.low,ne=k,ae=B,bt=N,Ft=W,Mt=ye,Et=be,On=fe,Bn=re,It=he,Kt=Ae,zr=ue,xn=xe,Oe=Re,pe=Se,le=V,_e=ee,Ie=0;Ie<80;Ie++){var z=void 0,X=void 0,oe=E[Ie];if(Ie<16)X=oe.high=0|b[w+2*Ie],z=oe.low=0|b[w+2*Ie+1];else{var ve=E[Ie-15],Ce=ve.high,ft=ve.low,$e=(Ce>>>1|ft<<31)^(Ce>>>8|ft<<24)^Ce>>>7,Ye=(ft>>>1|Ce<<31)^(ft>>>8|Ce<<24)^(ft>>>7|Ce<<25),je=E[Ie-2],Xe=je.high,et=je.low,kn=(Xe>>>19|et<<13)^(Xe<<3|et>>>29)^Xe>>>6,ho=(et>>>19|Xe<<13)^(et<<3|Xe>>>29)^(et>>>6|Xe<<26),ul=E[Ie-7],Kd=ul.high,dl=ul.low,Zs=E[Ie-16],Yd=Zs.high,fl=Zs.low;X=(X=(X=$e+Kd+((z=Ye+dl)>>>0<Ye>>>0?1:0))+kn+((z+=ho)>>>0<ho>>>0?1:0))+Yd+((z+=fl)>>>0<fl>>>0?1:0),oe.high=X,oe.low=z}var Zd=It&zr^~It&Oe,hl=Kt&xn^~Kt&pe,pl=ne&bt^ne&Mt^bt&Mt,Xd=ae&Ft^ae&Et^Ft&Et,Qd=(ne>>>28|ae<<4)^(ne<<30|ae>>>2)^(ne<<25|ae>>>7),gl=(ae>>>28|ne<<4)^(ae<<30|ne>>>2)^(ae<<25|ne>>>7),Xs=(It>>>14|Kt<<18)^(It>>>18|Kt<<14)^(It<<23|Kt>>>9),ef=(Kt>>>14|It<<18)^(Kt>>>18|It<<14)^(Kt<<23|It>>>9),Zo=p[Ie],tf=Zo.high,ml=Zo.low,li=_e+ef,po=le+Xs+(li>>>0<_e>>>0?1:0),yl=gl+Xd;le=Oe,_e=pe,Oe=zr,pe=xn,zr=It,xn=Kt,It=On+(po=(po=(po=po+Zd+((li+=hl)>>>0<hl>>>0?1:0))+tf+((li+=ml)>>>0<ml>>>0?1:0))+X+((li+=z)>>>0<z>>>0?1:0))+((Kt=Bn+li|0)>>>0<Bn>>>0?1:0)|0,On=Mt,Bn=Et,Mt=bt,Et=Ft,bt=ne,Ft=ae,ne=po+(Qd+pl+(yl>>>0<gl>>>0?1:0))+((ae=li+yl|0)>>>0<li>>>0?1:0)|0}B=T.low=B+ae,T.high=k+ne+(B>>>0<ae>>>0?1:0),W=C.low=W+Ft,C.high=N+bt+(W>>>0<Ft>>>0?1:0),be=_.low=be+Et,_.high=ye+Mt+(be>>>0<Et>>>0?1:0),re=P.low=re+Bn,P.high=fe+On+(re>>>0<Bn>>>0?1:0),Ae=D.low=Ae+Kt,D.high=he+It+(Ae>>>0<Kt>>>0?1:0),xe=I.low=xe+xn,I.high=ue+zr+(xe>>>0<xn>>>0?1:0),Se=q.low=Se+pe,q.high=Re+Oe+(Se>>>0<pe>>>0?1:0),ee=U.low=ee+_e,U.high=V+le+(ee>>>0<_e>>>0?1:0)},y.prototype.fn=function(){var b=this.cn,w=b.words,O=8*this.sn,T=8*b.nSigBytes;return w[T>>>5]|=128<<24-T%32,w[30+(T+128>>>10<<5)]=Math.floor(O/4294967296),w[31+(T+128>>>10<<5)]=O,b.nSigBytes=4*w.length,this.an(),this.on.to32()},y.prototype.clone=function(){return new y({hash:this.on,blockSize:this.N,data:this.cn,nBytes:this.sn})},y.hash=function(b,w){return new y(w).finalize(b)},y}(d.P)},3354:function(o,a,l){l.d(a,{e:function(){return f}});var u=l(5720),d=l(9054),f=function(){function m(p,E){if(Array.isArray(p)||!p)return this.yn=Array.isArray(p)?p:[],void(this.pn=typeof E=="number"?E:4*this.yn.length);if(p instanceof m)return this.yn=p.words.slice(),void(this.pn=p.nSigBytes);var S;try{p instanceof ArrayBuffer?S=new Uint8Array(p):(p instanceof Uint8Array||p instanceof Int8Array||p instanceof Uint8ClampedArray||p instanceof Int16Array||p instanceof Uint16Array||p instanceof Int32Array||p instanceof Uint32Array||p instanceof Float32Array||p instanceof Float64Array)&&(S=new Uint8Array(p.buffer,p.byteOffset,p.byteLength))}catch(w){throw new Error("Invalid argument")}if(!S)throw new Error("Invalid argument");for(var v=S.byteLength,y=[],b=0;b<v;b++)y[b>>>2]|=S[b]<<24-b%4*8;this.yn=y,this.pn=v}return Object.defineProperty(m.prototype,"nSigBytes",{get:function(){return this.pn},set:function(p){this.pn=p},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"words",{get:function(){return this.yn},enumerable:!1,configurable:!0}),m.prototype.toString=function(p){return p?p.stringify(this):u.p.stringify(this)},m.prototype.toUint8Array=function(){for(var p=this.yn,E=this.pn,S=new Uint8Array(E),v=0;v<E;v++)S[v]=p[v>>>2]>>>24-v%4*8&255;return S},m.prototype.concat=function(p){var E=p.words.slice(),S=p.nSigBytes;if(this.clamp(),this.pn%4)for(var v=0;v<S;v++){var y=E[v>>>2]>>>24-v%4*8&255;this.yn[this.pn+v>>>2]|=y<<24-(this.pn+v)%4*8}else for(v=0;v<S;v+=4)this.yn[this.pn+v>>>2]=E[v>>>2];return this.pn+=S,this},m.prototype.clamp=function(){var p=this.pn;this.yn[p>>>2]&=4294967295<<32-p%4*8,this.yn.length=Math.ceil(p/4)},m.prototype.clone=function(){return new m(this.yn.slice(),this.pn)},m.random=function(p){for(var E=[],S=0;S<p;S+=4)E.push((0,d.M)());return new m(E,p)},m}()},6957:function(o,a,l){l.d(a,{r:function(){return f},m:function(){return m}});var u=l(5720),d=l(3354),f=function(){function p(E,S){this.high=E,this.low=S}return p.prototype.clone=function(){return new p(this.high,this.low)},p}(),m=function(){function p(E,S){this.yn=E||[],this.pn=typeof S=="number"?S:8*this.yn.length}return Object.defineProperty(p.prototype,"nSigBytes",{get:function(){return this.pn},set:function(E){this.pn=E},enumerable:!1,configurable:!0}),Object.defineProperty(p.prototype,"words",{get:function(){return this.yn},enumerable:!1,configurable:!0}),p.prototype.to32=function(){for(var E=[],S=0;S<this.yn.length;S++){var v=this.yn[S];E.push(v.high),E.push(v.low)}return new d.e(E,this.pn)},p.prototype.toString=function(E){return E?E.stringify(this.to32()):u.p.stringify(this.to32())},p.prototype.clone=function(){for(var E=this.yn.slice(),S=0;S<E.length;S++)E[S]=E[S].clone();return new p(E,this.pn)},p}()},7211:function(o,a,l){l.d(a,{C:function(){return f}});var u=l(3354),d=l(4768),f=function(){function m(p){this.On=0,this.N=0,this.O=p,this.cn=p&&p.data!==void 0?p.data.clone():new u.e,this.sn=p&&typeof p.nBytes=="number"?p.nBytes:0}return Object.defineProperty(m.prototype,"blockSize",{get:function(){return this.N},enumerable:!1,configurable:!0}),m.prototype.reset=function(p,E){this.cn=p!==void 0?p.clone():new u.e,this.sn=typeof E=="number"?E:0},m.prototype.jn=function(p){var E=typeof p=="string"?d.d.parse(p):p;this.cn.concat(E),this.sn+=E.nSigBytes},m.prototype.an=function(p){var E,S=this.cn.words,v=this.cn.nSigBytes,y=this.N,b=v/(4*this.N),w=(b=p?Math.ceil(b):Math.max((0|b)-this.On,0))*y,O=Math.min(4*w,v);if(w){for(var T=0;T<w;T+=y)this.un(S,T);E=S.splice(0,w),this.cn.nSigBytes-=O}return new u.e(E,O)},m.prototype.un=function(p,E){throw new Error("Not implemented")},m}()},1868:function(o,a,l){l.d(a,{P:function(){return m}});var u,d=l(7211),f=(u=function(p,E){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,v){S.__proto__=v}||function(S,v){for(var y in v)Object.prototype.hasOwnProperty.call(v,y)&&(S[y]=v[y])})(p,E)},function(p,E){function S(){this.constructor=p}u(p,E),p.prototype=E===null?Object.create(E):(S.prototype=E.prototype,new S)}),m=function(p){function E(S){var v=p.call(this,S)||this;return v.N=16,v.O=S,S&&typeof S.blockSize=="number"&&(v.N=S.blockSize),v.reset(S?S.data:void 0,S?S.nBytes:void 0),v}return f(E,p),Object.defineProperty(E.prototype,"blockSize",{get:function(){return this.N},enumerable:!1,configurable:!0}),E.prototype.reset=function(S,v){p.prototype.reset.call(this,S,v),this.A()},E.prototype.update=function(S){return this.jn(S),this.an(),this},E.prototype.finalize=function(S){return S&&this.jn(S),this.fn()},E.prototype.A=function(){throw new Error("Not implemented")},E.prototype.fn=function(){throw new Error("Not implemented")},E}(d.C)},787:function(o,a,l){l.d(a,{G:function(){return S}});var u,d=l(9456),f=l(4344),m=l(7919),p=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),E=function(){return(E=Object.assign||function(v){for(var y,b=1,w=arguments.length;b<w;b++)for(var O in y=arguments[b])Object.prototype.hasOwnProperty.call(y,O)&&(v[O]=y[O]);return v}).apply(this,arguments)},S=function(v){function y(b){var w=v.call(this,b)||this;return w.N=4,w._n=f.n,w.mn=m.l,w.O=b,w._n=b.mode!==void 0?b.mode:w._n,w.mn=b.padding!==void 0?b.padding:w.mn,w.reset(b==null?void 0:b.data,b==null?void 0:b.nBytes),w}return p(y,v),Object.defineProperty(y.prototype,"mode",{get:function(){return this.An},enumerable:!1,configurable:!0}),Object.defineProperty(y.prototype,"padding",{get:function(){return this.mn},enumerable:!1,configurable:!0}),y.prototype.reset=function(b,w){var O;v.prototype.reset.call(this,b,w),this.gn===d.t.ENC_TRANSFORM_MODE?O=this._n.createEncryptor:(O=this._n.createDecryptor,this.On=1),this._n&&this.En===O?this.An=new this._n({cipher:this,iv:this.ln}):(this.An=O.call(this._n,{cipher:this,iv:this.ln}),this.En=O)},y.prototype.un=function(b,w){var O;(O=this.An)===null||O===void 0||O.processBlock(b,w)},y.prototype.fn=function(){var b,w=this.mn;return this.gn===d.t.ENC_TRANSFORM_MODE?(w.pad(this.cn,this.blockSize),b=this.an(!0)):(b=this.an(!0),w.unpad(b)),b},y.prototype.encryptBlock=function(b,w){throw new Error("Not implemented")},y.prototype.decryptBlock=function(b,w){throw new Error("Not implemented")},y.createEncryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b,transformMode:d.t.ENC_TRANSFORM_MODE}))},y.createDecryptor=function(b,w){return new y(E(E({},w=w===void 0?{}:w),{key:b,transformMode:d.t.DEC_TRANSFORM_MODE}))},y}(d.t)},9456:function(o,a,l){l.d(a,{t:function(){return p}});var u,d=l(7211),f=(u=function(E,S){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,y){v.__proto__=y}||function(v,y){for(var b in y)Object.prototype.hasOwnProperty.call(y,b)&&(v[b]=y[b])})(E,S)},function(E,S){function v(){this.constructor=E}u(E,S),E.prototype=S===null?Object.create(S):(v.prototype=S.prototype,new v)}),m=function(){return(m=Object.assign||function(E){for(var S,v=1,y=arguments.length;v<y;v++)for(var b in S=arguments[v])Object.prototype.hasOwnProperty.call(S,b)&&(E[b]=S[b]);return E}).apply(this,arguments)},p=function(E){function S(v){var y=E.call(this,v)||this;return y.gn=1,y.O=v,y.H=v.key,y.ln=v.iv!==void 0?v.iv:y.ln,y.gn=v.transformMode!==void 0?v.transformMode:y.gn,y}return f(S,E),Object.defineProperty(S.prototype,"iv",{get:function(){return this.ln},enumerable:!1,configurable:!0}),S.prototype.reset=function(v,y){E.prototype.reset.call(this,v,y),this.A()},S.prototype.process=function(v){return this.jn(v),this.an()},S.prototype.finalize=function(v){return v&&this.jn(v),this.fn()},S.prototype.A=function(){throw new Error("Not implemented")},S.prototype.un=function(v,y){throw new Error("Not implemented")},S.prototype.fn=function(){throw new Error("Not implemented")},S.createEncryptor=function(v,y){return new S(m(m({},y=y===void 0?{}:y),{key:v,transformMode:S.ENC_TRANSFORM_MODE}))},S.createDecryptor=function(v,y){return new S(m(m({},y=y===void 0?{}:y),{key:v,transformMode:S.DEC_TRANSFORM_MODE}))},S.ENC_TRANSFORM_MODE=1,S.DEC_TRANSFORM_MODE=2,S.keySize=4,S.ivSize=4,S}(d.C)},2505:function(o,a,l){l.d(a,{Q:function(){return d}});var u=l(1232),d=function(){function f(m){this.formatter=u.w,m&&(this.cipherText=m.cipherText,this.key=m.key,this.iv=m.iv,this.salt=m.salt,this.Algorithm=m.Algorithm,this.mode=m.mode,this.padding=m.padding,this.blockSize=m.blockSize,this.formatter=m.formatter||u.w)}return f.prototype.toString=function(m){return(m||this.formatter).stringify(this)},f}()},5693:function(o,a,l){l.d(a,{E:function(){return E}});var u=l(9109),d=l(2214),f=l(2505),m=l(1232),p=function(){return(p=Object.assign||function(S){for(var v,y=1,b=arguments.length;y<b;y++)for(var w in v=arguments[y])Object.prototype.hasOwnProperty.call(v,w)&&(S[w]=v[w]);return S}).apply(this,arguments)},E={encrypt:function(S,v,y,b){var w=b?p({},b):{},O=b&&b.KDF?b.KDF:d.s,T={};b&&b.kdfHasher&&(T.kdfHasher=b.kdfHasher),b&&b.kdfIterations&&(T.kdfIterations=b.kdfIterations),b&&b.kdfModule&&(T.kdfModule=b.kdfModule);var C=O.execute(y,S.keySize,S.ivSize,w.kdfSalt,T);w.iv=C.iv;var _=u.D.encrypt(S,v,C.key,w);return new f.Q(p(p({},_),{key:C.key,iv:C.iv,salt:C.salt}))},decrypt:function(S,v,y,b){var w=b?p({},b):{},O=w.KDF?w.KDF:d.s,T=w.formatter?w.formatter:m.w,C=(0,u.W)(v,T),_={};b&&b.kdfHasher&&(_.kdfHasher=b.kdfHasher),b&&b.kdfIterations&&(_.kdfIterations=b.kdfIterations),b&&b.kdfModule&&(_.kdfModule=b.kdfModule);var P=O.execute(y,S.keySize,S.ivSize,C.salt,_);return w.iv=P.iv,u.D.decrypt(S,C,P.key,w)}}},9109:function(o,a,l){l.d(a,{W:function(){return f},D:function(){return m}});var u=l(1232),d=l(2505);function f(p,E){return typeof p=="string"?E.parse(p):p}var m={encrypt:function(p,E,S,v){var y=p.createEncryptor(S,v),b=y.finalize(E);return new d.Q({cipherText:b,key:S,iv:y.iv,Algorithm:p,mode:y.mode,padding:y.padding,blockSize:y.blockSize,formatter:(v==null?void 0:v.formatter)||u.w})},decrypt:function(p,E,S,v){var y=p.createDecryptor(S,v),b=f(E,(v==null?void 0:v.formatter)||u.w);return y.finalize(b.cipherText||"")}}},30:function(o,a,l){l.d(a,{q:function(){return m}});var u,d=l(9456),f=(u=function(p,E){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,v){S.__proto__=v}||function(S,v){for(var y in v)Object.prototype.hasOwnProperty.call(v,y)&&(S[y]=v[y])})(p,E)},function(p,E){function S(){this.constructor=p}u(p,E),p.prototype=E===null?Object.create(E):(S.prototype=E.prototype,new S)}),m=function(p){function E(S){var v=p.call(this,S)||this;return v.N=1,v}return f(E,p),E.prototype.fn=function(){return this.an(!0)},E}(d.t)},1232:function(o,a,l){l.d(a,{w:function(){return m}});var u=l(2505),d=l(3354),f=l(1773),m={stringify:function(p){var E=p.cipherText,S=p.salt;return E?S?new d.e([1398893684,1701076831]).concat(S).concat(E).toString(f.D):E.toString(f.D):""},parse:function(p){var E,S=f.D.parse(p),v=S.words;return v[0]===1398893684&&v[1]===1701076831&&(E=new d.e(v.slice(2,4)),v.splice(0,4),S.nSigBytes-=16),new u.Q({cipherText:S,salt:E})}}},2214:function(o,a,l){l.d(a,{s:function(){return p}});var u=l(3354),d=l(2505),f=l(7008),m=function(){return(m=Object.assign||function(E){for(var S,v=1,y=arguments.length;v<y;v++)for(var b in S=arguments[v])Object.prototype.hasOwnProperty.call(S,b)&&(E[b]=S[b]);return E}).apply(this,arguments)},p={execute:function(E,S,v,y,b){y||(y=u.e.random(8));var w=b&&b.kdfModule||f.E,O=b?{Hasher:b.kdfHasher,iterations:b.kdfIterations}:{},T=w.getKey(E,y,m(m({},O),{keySize:S+v})),C=new u.e(T.words.slice(S),4*v);return T.nSigBytes=4*S,new d.Q({key:T,iv:C,salt:y})}}},7008:function(o,a,l){l.d(a,{E:function(){return S}});var u,d=l(5561),f=l(6367),m=l(3354),p=l(9541),E=(u=function(v,y){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var O in w)Object.prototype.hasOwnProperty.call(w,O)&&(b[O]=w[O])})(v,y)},function(v,y){function b(){this.constructor=v}u(v,y),v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}),S=function(v){function y(b){var w=v.call(this,b)||this;return w.Sn=4,w.Mn=d.SHA256,w.kn=1e4,b&&(w.Sn=b.keySize!==void 0?b.keySize:w.Sn,w.Mn=b.Hasher!==void 0?b.Hasher:w.Mn,w.kn=b.iterations!==void 0?b.iterations:w.kn),w}return E(y,v),y.prototype.compute=function(b,w){for(var O=new f.Hmac(new this.Mn,b),T=new m.e,C=new m.e([1]),_=T.words,P=C.words,D=this.Sn,I=this.kn;_.length<D;){var q=O.update(w).finalize(C);O.reset();for(var U=q.words,k=U.length,B=q,N=1;N<I;N++){B=O.finalize(B),O.reset();for(var W=B.words,ye=0;ye<k;ye++)U[ye]^=W[ye]}T.concat(q),P[0]++}return T.nSigBytes=4*D,T},y.getKey=function(b,w,O){return new y(O).compute(b,w)},y}(p._)},9541:function(o,a,l){l.d(a,{_:function(){return u}});var u=function(){function d(f){this.O=f}return d.prototype.compute=function(f,m){throw new Error("Not implemented")},d.getKey=function(f,m,p){throw new Error("Not implemented")},d}()},1863:function(o,a,l){l.d(a,{T:function(){return u}});var u=function(){function d(f){this.O=f,this.Hn=f.cipher,this.ln=f.iv}return d.prototype.processBlock=function(f,m){},d.createEncryptor=function(f){throw new Error("Not implemented yet")},d.createDecryptor=function(f){throw new Error("Not implemented yet")},d}()},4344:function(o,a,l){l.d(a,{n:function(){return m}});var u,d=l(1863),f=(u=function(p,E){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(S,v){S.__proto__=v}||function(S,v){for(var y in v)Object.prototype.hasOwnProperty.call(v,y)&&(S[y]=v[y])})(p,E)},function(p,E){function S(){this.constructor=p}u(p,E),p.prototype=E===null?Object.create(E):(S.prototype=E.prototype,new S)}),m=function(p){function E(S){var v=p.call(this,S)||this;return v.Cn=[],v}return f(E,p),E.prototype.xorBlock=function(S,v,y){var b,w=this.ln;w?(b=w.words,this.ln=void 0):b=this.Cn;for(var O=0;O<y;O++)S[v+O]^=b[O]},E.createEncryptor=function(S){return new E.Encryptor(S)},E.createDecryptor=function(S){return new E.Decryptor(S)},E.Encryptor=function(S){function v(){return S!==null&&S.apply(this,arguments)||this}return f(v,S),v.prototype.processBlock=function(y,b){var w=this.Hn,O=w.blockSize;this.xorBlock(y,b,O),w.encryptBlock(y,b),this.Cn=y.slice(b,b+O)},v}(E),E.Decryptor=function(S){function v(){return S!==null&&S.apply(this,arguments)||this}return f(v,S),v.prototype.processBlock=function(y,b){var w=this.Hn,O=w.blockSize,T=y.slice(b,b+O);w.decryptBlock(y,b),this.xorBlock(y,b,O),this.Cn=T},v}(E),E}(d.T)},4055:function(o,a,l){l.d(a,{I4:function(){return d},z6:function(){return f},ur:function(){return m}});var u=l(3354);function d(p){var E=p.nSigBytes%16;if(E!==0){for(var S=16-E,v=[],y=Math.floor(S/4),b=0;b<y;b++)v.push(0);S%4>0&&v.push(0),p.concat(new u.e(v,S))}}function f(p,E){return new u.e(p.words.slice(),E)}function m(p,E){for(var S=p.nSigBytes-E,v=[],y=0;y<E;y++){var b=y>>>2,w=S+y,O=w>>>2,T=p.words[O]>>>24-w%4*8&255;v[b]=0|v[b]|T<<24-y%4*8}var C=new u.e(v,E);return C.clamp(),C}},7919:function(o,a,l){l.d(a,{l:function(){return d}});var u=l(3354),d={pad:function(f,m){for(var p=4*m,E=p-f.nSigBytes%p,S=E<<24|E<<16|E<<8|E,v=[],y=0;y<E;y+=4)v.push(S);var b=new u.e(v,E);f.concat(b)},unpad:function(f){var m=255&f.words[f.nSigBytes-1>>>2];f.nSigBytes-=m}}},1756:function(o,a,l){l.d(a,{w:function(){return m}});var u,d=typeof navigator!="undefined"&&navigator.userAgent?navigator.userAgent.toLowerCase():"",f=(u=parseInt((/msie (\d+)/.exec(d)||[])[1],10),isNaN(u)?(u=parseInt((/trident\/.*; rv:(\d+)/.exec(d)||[])[1],10),!isNaN(u)&&u):u);function m(p,E){return f!==!1&&(!E||(p==="<"?f<E:p==="<="?f<=E:p===">"?f>E:p===">="?f>=E:f===E))}},1773:function(o,a,l){l.d(a,{D:function(){return p}});for(var u=l(3354),d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",f=[],m=0;m<d.length;m++)f[d.charCodeAt(m)]=m;var p={stringify:function(E){var S=E.words,v=E.nSigBytes;E.clamp();for(var y=[],b=0;b<v;b+=3)for(var w=(S[b>>>2]>>>24-b%4*8&255)<<16|(S[b+1>>>2]>>>24-(b+1)%4*8&255)<<8|S[b+2>>>2]>>>24-(b+2)%4*8&255,O=0;O<4&&b+.75*O<v;O++)y.push(d.charAt(w>>>6*(3-O)&63));var T=d.charAt(64);if(T)for(;y.length%4;)y.push(T);return y.join("")},parse:function(E){var S=E.length,v=d.charAt(64);if(v){var y=E.indexOf(v);y!==-1&&(S=y)}for(var b=[],w=0,O=0;O<S;O++)if(O%4){var T=f[E.charCodeAt(O-1)]<<O%4*2|f[E.charCodeAt(O)]>>>6-O%4*2;b[w>>>2]|=T<<24-w%4*8,w++}return new u.e(b,w)}}},5720:function(o,a,l){l.d(a,{p:function(){return d}});var u=l(3354),d={stringify:function(f){for(var m=f.nSigBytes,p=f.words,E=[],S=0;S<m;S++){var v=p[S>>>2]>>>24-S%4*8&255;E.push((v>>>4).toString(16)),E.push((15&v).toString(16))}return E.join("")},parse:function(f){var m=f.length;if(m%2!=0)throw new Error("Hex string count must be even");if(!/^[a-fA-F0-9]+$/.test(f))throw new Error("Invalid Hex string: "+f);for(var p=[],E=0;E<m;E+=2)p[E>>>3]|=parseInt(f.substr(E,2),16)<<24-E%8*4;return new u.e(p,m/2)}}},8702:function(o,a,l){l.d(a,{m:function(){return d}});var u=l(3354),d={stringify:function(f){for(var m=f.nSigBytes,p=f.words,E=[],S=0;S<m;S++){var v=p[S>>>2]>>>24-S%4*8&255;E.push(String.fromCharCode(v))}return E.join("")},parse:function(f){for(var m=f.length,p=[],E=0;E<m;E++)p[E>>>2]|=(255&f.charCodeAt(E))<<24-E%4*8;return new u.e(p,m)}}},4768:function(o,a,l){l.d(a,{d:function(){return d}});var u=l(8702),d={stringify:function(f){try{return decodeURIComponent(escape(u.m.stringify(f)))}catch(m){throw new Error("Malformed UTF-8 data")}},parse:function(f){return u.m.parse(unescape(encodeURIComponent(f)))}}},2688:function(o,a,l){l.d(a,{Base64:function(){return f.D},EvpKDF:function(){return D},Hex:function(){return E.p},Latin1:function(){return p.m},OpenSSLKDF:function(){return O.s},PBKDF2:function(){return T.E},Utf16:function(){return w},Utf16BE:function(){return S},Utf16LE:function(){return b},Utf8:function(){return m.d},Word32Array:function(){return u.e},Word64:function(){return d.r},Word64Array:function(){return d.m}}),l(9054);var u=l(3354),d=l(6957),f=(l(1756),l(1773)),m=l(4768),p=l(8702),E=l(5720),S={stringify:function(I){for(var q=I.words,U=I.nSigBytes,k=[],B=0;B<U;B+=2){var N=q[B>>>2]>>>16-B%4*8&65535;k.push(String.fromCharCode(N))}return k.join("")},parse:function(I){for(var q=I.length,U=[],k=0;k<q;k++)U[k>>>1]|=I.charCodeAt(k)<<16-k%2*16;return new u.e(U,2*q)}};function v(I){return I<<8&4278255360|I>>>8&16711935}var y,b={stringify:function(I){for(var q=I.words,U=I.nSigBytes,k=[],B=0;B<U;B+=2){var N=v(q[B>>>2]>>>16-B%4*8&65535);k.push(String.fromCharCode(N))}return k.join("")},parse:function(I){for(var q=I.length,U=[],k=0;k<q;k++)U[k>>>1]|=v(I.charCodeAt(k)<<16-k%2*16);return new u.e(U,2*q)}},w=S,O=l(2214),T=l(7008),C=l(670),_=l(9541),P=(y=function(I,q){return(y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(U,k){U.__proto__=k}||function(U,k){for(var B in k)Object.prototype.hasOwnProperty.call(k,B)&&(U[B]=k[B])})(I,q)},function(I,q){function U(){this.constructor=I}y(I,q),I.prototype=q===null?Object.create(q):(U.prototype=q.prototype,new U)}),D=function(I){function q(U){var k=I.call(this,U)||this;return k.Sn=4,k.Mn=C.MD5,k.kn=1,U&&(k.Sn=U.keySize!==void 0?U.keySize:k.Sn,k.Mn=U.Hasher!==void 0?U.Hasher:k.Mn,k.kn=U.iterations!==void 0?U.iterations:k.kn),k}return P(q,I),q.prototype.compute=function(U,k){for(var B,N=new this.Mn,W=new u.e,ye=W.words,be=this.Sn,fe=this.kn;ye.length<be;){B&&N.update(B),B=N.update(U).finalize(k),N.reset();for(var re=1;re<fe;re++)B=N.finalize(B),N.reset();W.concat(B)}return W.nSigBytes=4*be,W},q.getKey=function(U,k,B){return new q(B).compute(U,k)},q}(_._)},9054:function(o,a,l){l.d(a,{M:function(){return d}});var u=l(1756),d=function(){if(typeof window!="undefined"){var f=window.crypto||window.msCrypto;if(!f){if((0,u.w)("<",11))return console.warn("IE <= 10 uses insecure random generator. Please consider to use IE11 or another modern browser"),function(){return Math.floor(512*Math.random())%256};throw new Error("Crypto module not found")}return function(){return f.getRandomValues(new Uint32Array(1))[0]}}return l.g!==void 0&&l.g.crypto?function(){return l.g.crypto.randomBytes(4).readInt32LE()}:function(){return b3().randomBytes(4).readInt32LE()}}()},3664:function(o,a,l){l.d(a,{K:function(){return E}});var u,d=l(1863),f=l(3354),m=l(4055),p=(u=function(S,v){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,b){y.__proto__=b}||function(y,b){for(var w in b)Object.prototype.hasOwnProperty.call(b,w)&&(y[w]=b[w])})(S,v)},function(S,v){function y(){this.constructor=S}u(S,v),S.prototype=v===null?Object.create(v):(y.prototype=v.prototype,new y)}),E=function(S){function v(y){var b=S.call(this,y)||this;b.Bn=1;var w=y.cipher,O=y.iv;if(w.blockSize!==4)throw new Error("In CCM, cipher block size must be 128bit");if(O&&(O.nSigBytes>13||O.nSigBytes<7))throw new Error("Byte size of iv must be between 7 and 13");return b.Nn=O||new f.e([0,0],8),b.In=15-b.Nn.nSigBytes,b}return p(v,S),v.getB0=function(y,b,w,O){if(w.nSigBytes+O.nSigBytes!==15)throw new Error("LEN(Q)+LEN(N) must be 15");var T=255&(0|(y?1:0)<<6|(b-2)/2<<3|w.nSigBytes-1),C=O.clone().concat(w);return new f.e([T<<24],1).concat(C)},v.formatAssociatedDataAndPayload=function(y,b){var w,O=y.nSigBytes;if(O===0)w=new f.e([0],0);else if(O<Math.pow(2,16)-Math.pow(2,8))w=new f.e([O<<16],2);else{if(!(O<Math.pow(2,32)))throw new Error("LEN(A) larger than 2**32-1 is not supported");w=new f.e([4294836224],2).concat(new f.e([O],4))}for(var T=Math.floor(y.nSigBytes/4),C=0;C<T;C++)w.concat(new f.e([y.words[C]],4));y.nSigBytes%4&&(w.concat(new f.e([y.words[T]],y.nSigBytes%4)),w.concat(new f.e([0],4-y.nSigBytes%4))),w.nSigBytes%16&&w.concat(new f.e([0],16-w.nSigBytes%16));var _=Math.floor(b.nSigBytes/4);for(C=0;C<_;C++)w.concat(new f.e([b.words[C]],4));return b.nSigBytes%4&&(w.concat(new f.e([b.words[_]],b.nSigBytes%4)),w.concat(new f.e([0],4-b.nSigBytes%4))),w.nSigBytes%16&&w.concat(new f.e([0],16-w.nSigBytes%16)),w},v.genCtr=function(y,b,w){if(b.nSigBytes+y!==15)throw new Error("LEN(Q)+LEN(N) must be 15");for(var O=new f.e([(y-1&7)<<24],1),T=new f.e([],0),C=Math.floor(y/4),_=0;_<C-1;_++)T.concat(new f.e([0],4));return y%4?y>4?(T.concat(new f.e([0],y%4)),T.concat(new f.e([w],4))):T.concat(new f.e([w<<32-8*y],y)):T.concat(new f.e([w],4)),O.concat(b).concat(T)},v.mac=function(y,b,w,O,T,C){var _=new y({key:b,iv:w});if(_.blockSize!==4)throw new Error("In CCM, cipher block size must be 128bit");if(w&&(w.nSigBytes>13||w.nSigBytes<7))throw new Error("Byte size of iv must be between 7 and 13");var P=w||new f.e([0,0],8),D=(O==null?void 0:O.clone())||new f.e,I=D.nSigBytes,q=(T==null?void 0:T.clone())||new f.e,U=q.nSigBytes;if(U>>>0>4294967295)throw new Error("Byte length of Payload(plainText) larger than 2^32-1 (4,294,967,295byte) is not supported at this time.");var k=15-P.nSigBytes,B=(0,m.ur)(new f.e([0,U],8),k),N=C||16,W=v.getB0(Boolean(I),N,B,P),ye=v.formatAssociatedDataAndPayload(D,q),be=W.words.slice();_.encryptBlock(be,0);for(var fe=ye.nSigBytes/16,re=ye.words,he=be,Ae=0;Ae<fe;Ae++){var ue=[re[4*Ae]^he[0],re[4*Ae+1]^he[1],re[4*Ae+2]^he[2],re[4*Ae+3]^he[3]];_.encryptBlock(ue,0),he=ue}var xe=new f.e(he,N),Re=v.genCtr(k,P,0);for(_.encryptBlock(Re.words,0),Ae=0;Ae<4;Ae++)xe.words[Ae]^=Re.words[Ae];return xe.clamp(),xe},v.combineCipherTextAndAuthTag=function(y,b){return y.clone().concat(b)},v.splitCipherTextAndAuthTag=function(y,b){var w=b||16;return{cipherText:(0,m.z6)(y,y.nSigBytes-w),authTag:(0,m.ur)(y,w)}},v.createEncryptor=function(y){return new v.Encryptor(y)},v.createDecryptor=function(y){return new v.Decryptor(y)},v.Encryptor=function(y){function b(){return y!==null&&y.apply(this,arguments)||this}return p(b,y),b.prototype.processBlock=function(w,O){var T=this.Hn,C=T.blockSize,_=v.genCtr(this.In,this.Nn,this.Bn);T.encryptBlock(_.words,0);for(var P=0;P<C;P++)w[O+P]^=_.words[P];this.Bn++},b}(v),v.Decryptor=function(y){function b(){return y!==null&&y.apply(this,arguments)||this}return p(b,y),b.prototype.processBlock=function(w,O){var T=this.Hn,C=T.blockSize,_=v.genCtr(this.In,this.Nn,this.Bn);T.encryptBlock(_.words,0);for(var P=0;P<C;P++)w[O+P]^=_.words[P];this.Bn++},b}(v),v}(d.T)},5607:function(o,a,l){l.d(a,{V:function(){return E}});var u,d=l(1863),f=l(3354),m=l(4055),p=(u=function(S,v){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,b){y.__proto__=b}||function(y,b){for(var w in b)Object.prototype.hasOwnProperty.call(b,w)&&(y[w]=b[w])})(S,v)},function(S,v){function y(){this.constructor=S}u(S,v),S.prototype=v===null?Object.create(v):(y.prototype=v.prototype,new y)}),E=function(S){function v(y){var b=S.call(this,y)||this;if(b.zn=[],b.Dn=[],b.Un=[],y.cipher.blockSize!==4)throw new Error("In GCM block cipher mode, cipher block size must be 128bit");var w=y.cipher,O=y.iv,T=[0,0,0,0];return w.encryptBlock(T,0),b.zn=T,b.Dn=v.getJ0(T,O==null?void 0:O.words),b.Un=b.Dn.slice(),b}return p(v,S),v.getJ0=function(y,b){var w;if(b&&b.length!==0)if(b.length===3)w=[b[0],b[1],b[2],1];else{for(var O=b.length%4>0?4-b.length%4:0,T=b.slice(),C=0;C<O+2;C++)T.push(0);T.push(0),T.push(32*b.length),w=v.GHASH(y,T)}else w=[0,0,0,1];return w},v.inc32=function(y){var b=y.slice(),w=b[3]>>>0,O=w+1>>>0<w;if(b[3]=b[3]+1|0,O){var T=b[2]>>>0,C=T+1>>>0<T;b[2]=b[2]+1|0,C&&(b[1]=b[1]+1|0)}return b},v.mul=function(y,b){for(var w=[3774873600,0,0,0],O=[0,0,0,0],T=b.slice(),C=0;C<128;C++){(y[C>>>5]>>>31-C%32&1)>0&&(O[0]=O[0]^T[0],O[1]=O[1]^T[1],O[2]=O[2]^T[2],O[3]=O[3]^T[3]);var _=(1&T[3])>>>0,P=(1&T[0])>>>0,D=(1&T[1])>>>0,I=(1&T[2])>>>0;T[0]=T[0]>>>1,T[1]=T[1]>>>1|(P?2147483648:0),T[2]=T[2]>>>1|(D?2147483648:0),T[3]=T[3]>>>1|(I?2147483648:0),_>0&&(T[0]^=w[0],T[1]^=w[1],T[2]^=w[2],T[3]^=w[3])}return O},v.GHASH=function(y,b){if(y.length%4!=0)throw new Error("Length of 32bit word array 'H' must be multiple of 4(128bit)");if(b.length%4!=0)throw new Error("Length of 32bit word array 'X' must be multiple of 4(128bit)");for(var w=b.length,O=[0,0,0,0],T=0;T<w;T+=4)O[0]=O[0]^b[T],O[1]=O[1]^b[T+1],O[2]=O[2]^b[T+2],O[3]=O[3]^b[T+3],O=v.mul(O,y);return O},v.GCTR=function(y,b,w){if(w.nSigBytes===0)return w.clone();if(b.length!==4)throw new Error("Initial Counter Block size must be 128bit");for(var O=w.words,T=Math.ceil(w.nSigBytes/16),C=[b.slice()],_=1;_<T;_++){var P=v.inc32(C[_-1]);C.push(P)}var D=new f.e;for(_=0;_<T;_++){y.encryptBlock(C[_],0);var I=w.nSigBytes%16;if(_<T-1||I===0){var q=O[4*_]^C[_][0],U=O[4*_+1]^C[_][1],k=O[4*_+2]^C[_][2],B=O[4*_+3]^C[_][3],N=new f.e([q,U,k,B]);D.concat(N)}else{for(var W=[],ye=0,be=Math.floor(I/4),fe=0;fe<be;fe++){var re=O[4*_+fe]^C[_][fe];W.push(re),ye+=4}var he=I%4;if(he>0){var Ae=O[4*_+be]<<32-8*he^C[_][be];W.push(Ae),ye+=he}var ue=new f.e(W,ye);D.concat(ue)}}return D.nSigBytes=w.nSigBytes,D.clamp(),D},v.mac=function(y,b,w,O,T,C){var _=new y({key:b,iv:w}),P=[0,0,0,0];_.encryptBlock(P,0);var D=v.getJ0(P,w.words),I=(O==null?void 0:O.clone())||new f.e,q=[0,8*I.nSigBytes],U=(T==null?void 0:T.clone())||new f.e,k=[0,8*U.nSigBytes],B=C||16;(0,m.I4)(I),(0,m.I4)(U);var N=I.words.concat(U.words).concat(q).concat(k),W=v.GHASH(P,N),ye=v.GCTR(_,D,new f.e(W));return(0,m.z6)(ye,B)},v.createEncryptor=function(y){return new v.Encryptor(y)},v.createDecryptor=function(y){return new v.Decryptor(y)},v.Encryptor=function(y){function b(){return y!==null&&y.apply(this,arguments)||this}return p(b,y),b.prototype.processBlock=function(w,O){var T=this.Hn.blockSize;this.Un=v.inc32(this.Un);for(var C=new f.e(w.slice(O,O+T)),_=v.GCTR(this.Hn,this.Un,C),P=0;P<T;P++)w[O+P]=_.words[P]},b}(v),v.Decryptor=function(y){function b(){return y!==null&&y.apply(this,arguments)||this}return p(b,y),b.prototype.processBlock=function(w,O){var T=this.Hn.blockSize;this.Un=v.inc32(this.Un);for(var C=new f.e(w.slice(O,O+T)),_=v.GCTR(this.Hn,this.Un,C),P=0;P<T;P++)w[O+P]=_.words[P]},b}(v),v}(d.T)}},t={};function n(o){var a=t[o];if(a!==void 0)return a.exports;var l=t[o]={exports:{}};return i[o](l,l.exports,n),l.exports}n.d=function(o,a){for(var l in a)n.o(a,l)&&!n.o(o,l)&&Object.defineProperty(o,l,{enumerable:!0,get:a[l]})},n.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(o){if(typeof window=="object")return window}}(),n.o=function(o,a){return Object.prototype.hasOwnProperty.call(o,a)},n.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"Ln",{value:!0})};var r={};return function(){n.r(r),n.d(r,{AES:function(){return q.AES},Base64:function(){return a.Base64},CBCMAC:function(){return w.CBCMAC},CipherParams:function(){return d.Q},DES:function(){return U.DES},DES3:function(){return k.DES3},EvpKDF:function(){return a.EvpKDF},GMAC:function(){return b.GMAC},Hex:function(){return a.Hex},Hmac:function(){return f.Hmac},HmacMD5:function(){return m.HmacMD5},HmacSHA1:function(){return p.HmacSHA1},HmacSHA224:function(){return E.HmacSHA224},HmacSHA256:function(){return S.HmacSHA256},HmacSHA384:function(){return v.HmacSHA384},HmacSHA512:function(){return y.HmacSHA512},Latin1:function(){return a.Latin1},MD5:function(){return O.MD5},OpenSSLKDF:function(){return a.OpenSSLKDF},PBKDF2:function(){return a.PBKDF2},PasswordBasedCipher:function(){return u.E},RC4:function(){return W.RC4},RC4Drop:function(){return ye.RC4Drop},RIPEMD160:function(){return B.RIPEMD160},Rabbit:function(){return N.Rabbit},SHA1:function(){return T.SHA1},SHA224:function(){return C.SHA224},SHA256:function(){return _.SHA256},SHA3:function(){return I.SHA3},SHA384:function(){return P.SHA384},SHA512:function(){return D.SHA512},SerializableCipher:function(){return l.D},Utf16:function(){return a.Utf16},Utf16BE:function(){return a.Utf16BE},Utf16LE:function(){return a.Utf16LE},Utf8:function(){return a.Utf8},Word32Array:function(){return a.Word32Array},Word64:function(){return a.Word64},Word64Array:function(){return a.Word64Array},formatter:function(){return xn},mode:function(){return Kt},pad:function(){return zr}});var o,a=n(2688),l=n(9109),u=n(5693),d=n(2505),f=n(6367),m=n(3027),p=n(149),E=n(4105),S=n(980),v=n(5838),y=n(9902),b=n(7753),w=n(3967),O=n(670),T=n(3173),C=n(766),_=n(5561),P=n(6324),D=n(7491),I=n(3408),q=n(9691),U=n(9910),k=n(6739),B=n(7104),N=n(5187),W=n(4615),ye=n(9639),be=n(4344),fe=n(1863),re=(o=function(Oe,pe){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(le,_e){le.__proto__=_e}||function(le,_e){for(var Ie in _e)Object.prototype.hasOwnProperty.call(_e,Ie)&&(le[Ie]=_e[Ie])})(Oe,pe)},function(Oe,pe){function le(){this.constructor=Oe}o(Oe,pe),Oe.prototype=pe===null?Object.create(pe):(le.prototype=pe.prototype,new le)}),he=function(Oe){function pe(le){var _e=Oe.call(this,le)||this;return _e.Cn=[],_e}return re(pe,Oe),pe.prototype.generateKeyStreamAndEncrypt=function(le,_e,Ie,z){var X,oe=this.ln;oe?(X=oe.words.slice(0),this.ln=void 0):X=this.Cn,z.encryptBlock(X,0);for(var ve=0;ve<Ie;ve++)le[_e+ve]^=X[ve]},pe.createEncryptor=function(le){return new pe.Encryptor(le)},pe.createDecryptor=function(le){return new pe.Decryptor(le)},pe.Encryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return re(_e,le),_e.prototype.processBlock=function(Ie,z){this.generateKeyStreamAndEncrypt(Ie,z,this.Hn.blockSize,this.Hn),this.Cn=Ie.slice(z,z+this.Hn.blockSize)},_e}(pe),pe.Decryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return re(_e,le),_e.prototype.processBlock=function(Ie,z){var X=Ie.slice(z,z+this.Hn.blockSize);this.generateKeyStreamAndEncrypt(Ie,z,this.Hn.blockSize,this.Hn),this.Cn=X},_e}(pe),pe}(fe.T),Ae=function(){var Oe=function(pe,le){return(Oe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_e,Ie){_e.__proto__=Ie}||function(_e,Ie){for(var z in Ie)Object.prototype.hasOwnProperty.call(Ie,z)&&(_e[z]=Ie[z])})(pe,le)};return function(pe,le){function _e(){this.constructor=pe}Oe(pe,le),pe.prototype=le===null?Object.create(le):(_e.prototype=le.prototype,new _e)}}(),ue=function(Oe){function pe(le){var _e=Oe.call(this,le)||this;return _e.Fn=[],_e}return Ae(pe,Oe),pe.createEncryptor=function(le){return new pe.Encryptor(le)},pe.createDecryptor=function(le){return new pe.Decryptor(le)},pe.Encryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return Ae(_e,le),_e.prototype.processBlock=function(Ie,z){var X=this.Hn,oe=X.blockSize,ve=this.ln,Ce=this.Fn;ve&&(Ce=this.Fn=ve.words.slice(0),this.ln=void 0);var ft=Ce.slice(0);X.encryptBlock(ft,0),Ce[oe-1]=Ce[oe-1]+1|0;for(var $e=0;$e<oe;$e++)Ie[z+$e]^=ft[$e]},_e}(pe),pe.Decryptor=pe.Encryptor,pe}(fe.T),xe=function(){var Oe=function(pe,le){return(Oe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_e,Ie){_e.__proto__=Ie}||function(_e,Ie){for(var z in Ie)Object.prototype.hasOwnProperty.call(Ie,z)&&(_e[z]=Ie[z])})(pe,le)};return function(pe,le){function _e(){this.constructor=pe}Oe(pe,le),pe.prototype=le===null?Object.create(le):(_e.prototype=le.prototype,new _e)}}(),Re=function(Oe){function pe(le){return Oe.call(this,le)||this}return xe(pe,Oe),pe.createEncryptor=function(le){return new pe.Encryptor(le)},pe.createDecryptor=function(le){return new pe.Decryptor(le)},pe.Encryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return xe(_e,le),_e.prototype.processBlock=function(Ie,z){this.Hn.encryptBlock(Ie,z)},_e}(pe),pe.Decryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return xe(_e,le),_e.prototype.processBlock=function(Ie,z){this.Hn.decryptBlock(Ie,z)},_e}(pe),pe}(fe.T),Se=function(){var Oe=function(pe,le){return(Oe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_e,Ie){_e.__proto__=Ie}||function(_e,Ie){for(var z in Ie)Object.prototype.hasOwnProperty.call(Ie,z)&&(_e[z]=Ie[z])})(pe,le)};return function(pe,le){function _e(){this.constructor=pe}Oe(pe,le),pe.prototype=le===null?Object.create(le):(_e.prototype=le.prototype,new _e)}}(),V=function(Oe){function pe(le){var _e=Oe.call(this,le)||this;return _e.xn=[],_e}return Se(pe,Oe),pe.createEncryptor=function(le){return new pe.Encryptor(le)},pe.createDecryptor=function(le){return new pe.Decryptor(le)},pe.Encryptor=function(le){function _e(){return le!==null&&le.apply(this,arguments)||this}return Se(_e,le),_e.prototype.processBlock=function(Ie,z){var X=this.Hn,oe=X.blockSize,ve=this.ln,Ce=this.xn;ve&&(Ce=this.xn=ve.words.slice(0),this.ln=void 0),X.encryptBlock(Ce,0);for(var ft=0;ft<oe;ft++)Ie[z+ft]^=Ce[ft]},_e}(pe),pe.Decryptor=pe.Encryptor,pe}(fe.T),ee=n(5607),ne=n(3664),ae={pad:function(Oe,pe){var le=Oe.nSigBytes,_e=4*pe,Ie=_e-le%_e,z=le+Ie-1;Oe.clamp(),Oe.words[z>>>2]|=Ie<<24-z%4*8,Oe.nSigBytes+=Ie},unpad:function(Oe){var pe=255&Oe.words[Oe.nSigBytes-1>>>2];Oe.nSigBytes-=pe}},bt=n(3354),Ft={pad:function(Oe,pe){var le=4*pe,_e=le-Oe.nSigBytes%le;Oe.concat(bt.e.random(_e-1)).concat(new bt.e([_e<<24],1))},unpad:function(Oe){var pe=255&Oe.words[Oe.nSigBytes-1>>>2];Oe.nSigBytes-=pe}},Mt={pad:function(Oe,pe){var le=4*pe;Oe.clamp(),Oe.nSigBytes+=le-(Oe.nSigBytes%le||le)},unpad:function(Oe){for(var pe=Oe.words,le=Oe.nSigBytes-1;le>=0;le--)if(pe[le>>>2]>>>24-le%4*8&255){Oe.nSigBytes=le+1;break}}},Et={pad:function(Oe,pe){Oe.concat(new bt.e([2147483648],1)),Mt.pad(Oe,pe)},unpad:function(Oe){Mt.unpad(Oe),Oe.nSigBytes-=1}},On=n(7919),Bn={pad:function(Oe,pe){},unpad:function(Oe){}},It=n(1232),Kt={CBC:be.n,CFB:he,CTR:ue,ECB:Re,OFB:V,GCM:ee.V,CCM:ne.K},zr={AnsiX923:ae,ISO10126:Ft,ISO97971:Et,Pkcs7:On.l,NoPadding:Bn,Zero:Mt},xn={OpenSSLFormatter:It.w}}(),r}()})});var R3=Y((_F,rg)=>{A();"use strict";var oN=Object.prototype.hasOwnProperty,In="~";function ol(){}Object.create&&(ol.prototype=Object.create(null),new ol().__proto__||(In=!1));function sN(i,t,n){this.fn=i,this.context=t,this.once=n||!1}function A3(i,t,n,r,o){if(typeof n!="function")throw new TypeError("The listener must be a function");var a=new sN(n,r||i,o),l=In?In+t:t;return i._events[l]?i._events[l].fn?i._events[l]=[i._events[l],a]:i._events[l].push(a):(i._events[l]=a,i._eventsCount++),i}function qd(i,t){--i._eventsCount==0?i._events=new ol:delete i._events[t]}function Sn(){this._events=new ol,this._eventsCount=0}Sn.prototype.eventNames=function(){var t=[],n,r;if(this._eventsCount===0)return t;for(r in n=this._events)oN.call(n,r)&&t.push(In?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(n)):t};Sn.prototype.listeners=function(t){var n=In?In+t:t,r=this._events[n];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,a=r.length,l=new Array(a);o<a;o++)l[o]=r[o].fn;return l};Sn.prototype.listenerCount=function(t){var n=In?In+t:t,r=this._events[n];return r?r.fn?1:r.length:0};Sn.prototype.emit=function(t,n,r,o,a,l){var u=In?In+t:t;if(!this._events[u])return!1;var d=this._events[u],f=arguments.length,m,p;if(d.fn){switch(d.once&&this.removeListener(t,d.fn,void 0,!0),f){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,n),!0;case 3:return d.fn.call(d.context,n,r),!0;case 4:return d.fn.call(d.context,n,r,o),!0;case 5:return d.fn.call(d.context,n,r,o,a),!0;case 6:return d.fn.call(d.context,n,r,o,a,l),!0}for(p=1,m=new Array(f-1);p<f;p++)m[p-1]=arguments[p];d.fn.apply(d.context,m)}else{var E=d.length,S;for(p=0;p<E;p++)switch(d[p].once&&this.removeListener(t,d[p].fn,void 0,!0),f){case 1:d[p].fn.call(d[p].context);break;case 2:d[p].fn.call(d[p].context,n);break;case 3:d[p].fn.call(d[p].context,n,r);break;case 4:d[p].fn.call(d[p].context,n,r,o);break;default:if(!m)for(S=1,m=new Array(f-1);S<f;S++)m[S-1]=arguments[S];d[p].fn.apply(d[p].context,m)}}return!0};Sn.prototype.on=function(t,n,r){return A3(this,t,n,r,!1)};Sn.prototype.once=function(t,n,r){return A3(this,t,n,r,!0)};Sn.prototype.removeListener=function(t,n,r,o){var a=In?In+t:t;if(!this._events[a])return this;if(!n)return qd(this,a),this;var l=this._events[a];if(l.fn)l.fn===n&&(!o||l.once)&&(!r||l.context===r)&&qd(this,a);else{for(var u=0,d=[],f=l.length;u<f;u++)(l[u].fn!==n||o&&!l[u].once||r&&l[u].context!==r)&&d.push(l[u]);d.length?this._events[a]=d.length===1?d[0]:d:qd(this,a)}return this};Sn.prototype.removeAllListeners=function(t){var n;return t?(n=In?In+t:t,this._events[n]&&qd(this,n)):(this._events=new ol,this._eventsCount=0),this};Sn.prototype.off=Sn.prototype.removeListener;Sn.prototype.addListener=Sn.prototype.on;Sn.prefixed=In;Sn.EventEmitter=Sn;typeof rg!="undefined"&&(rg.exports=Sn)});var pN={};dM(pN,{Link:()=>sl,default:()=>fN,load:()=>hN});A();A();A();var Kv=Je(Vv()),Yv=Je(Rn());A();var Jv=Je(Rn());function Cs(i,t){return Jv.TaJson.deserialize(i,t)}var Yi=class extends Kv.Publication{static async fromUrl(t,n){let o=await(await fetch(t.href,n)).json(),a=Cs(o,Yi);return a.manifestUrl=t,a}get readingOrder(){return this.Spine??[]}get resources(){return this.Resources??[]}get tableOfContents(){return this.sample?.isSampleRead&&this.positions?.length>0?this.limitedTOC():this.TOC}limitedTOC(){function t(r){for(let o=0;o<r.Children.length;o++){let a=r.Children[o];a.Href=void 0,a.Children&&t(a)}}return this.TOC.map(r=>{if(r.Href){let o=this.positionsByHref(this.getRelativeHref(r.Href));if(o?.length>0){let a=o[0],l=Math.round(a.locations.totalProgression?a.locations.totalProgression:0*100);this.sample?.limit&&(l<=this.sample?.limit||(r.Href=void 0,r.Children&&t(r)))}}return r})}get landmarks(){return this.Landmarks}get pageList(){return this.PageList}get isFixedLayout(){return this.Metadata.Rendition?.Layout==="fixed"}get isReflowable(){return!this.isFixedLayout}get layout(){return this.isFixedLayout?"fixed":"reflowable"}get hasMediaOverlays(){return this.readingOrder?this.readingOrder.filter(t=>t.Properties?.MediaOverlay).length>0:!1}getStartLink(){if(this.readingOrder!==void 0&&this.readingOrder.length>0)return this.readingOrder[0]}getPreviousSpineItem(t){let n=this.getSpineIndex(t);if(n!==void 0&&this.readingOrder!==void 0&&n>0)return this.readingOrder[n-1]}getNextSpineItem(t){let n=this.getSpineIndex(t);if(n!==void 0&&this.readingOrder!==void 0&&n<this.readingOrder.length-1)return this.readingOrder[n+1]}getSpineItem(t){let n=this.getSpineIndex(t);if(n!==void 0&&this.readingOrder!==void 0)return this.readingOrder[n]}getSpineIndex(t){return this.readingOrder?.findIndex(n=>n.Href&&this.getAbsoluteHref(n.Href)===t)}getAbsoluteHref(t){return new URL(t,this.manifestUrl.href).href}getRelativeHref(t){let n=this.manifestUrl.href.replace("/manifest.json",""),r=t.replace(n,"");return r.indexOf("#")>0&&(r=r.slice(0,r.indexOf("#"))),r.charAt(0)==="/"&&(r=r.substring(1)),r}getTOCItemAbsolute(t){let n=this.getAbsoluteHref(t),r=(a,l)=>{for(let u=0;u<l.length;u++){let d=l[u];if(d.Href){let f=d.Href.indexOf("#")!==-1?d.Href.slice(0,d.Href.indexOf("#")):d.Href;if(this.getAbsoluteHref(f)===a)return d}if(d.Children){let f=r(a,d.Children);if(f!==void 0)return f}}},o=r(n,this.tableOfContents);return o===void 0&&this.readingOrder!==void 0&&(o=r(n,this.readingOrder)),o}getTOCItem(t){let n=(o,a)=>{for(let l=0;l<a.length;l++){let u=a[l];if(u.Href&&this.getAbsoluteHref(u.Href)===o)return u;if(u.Children){let d=n(o,u.Children);if(d!==void 0)return d}}},r=n(t,this.tableOfContents);if(r===void 0&&this.readingOrder!==void 0&&(r=n(t,this.readingOrder)),r===void 0&&t.indexOf("#")!==-1){let o=t.slice(0,t.indexOf("#"));r=n(o,this.tableOfContents),r===void 0&&this.readingOrder!==void 0&&(r=n(o,this.readingOrder))}return r}positionsByHref(t){let n=decodeURI(t)??"";return this.positions?.filter(r=>n.includes(r.href))}async autoGeneratePositions(t,n=AL){let r=0,o=0,a=[];if(this.readingOrder!==void 0)for(let u of this.readingOrder)if(this.isFixedLayout){let d={href:u.Href,locations:{progression:0,position:r+1},type:u.TypeLink};a.push(d),r=r+1}else{let d=this.getAbsoluteHref(u.Href),f=await n(d,t);u.contentLength=f,o+=f;let p=Math.max(1,Math.ceil(f/1024));for(let E=0;E<p;E++){let S={href:u.Href,locations:{progression:E/p,position:r+(E+1)},type:u.TypeLink};a.push(S)}r=r+p}var l=0;if(this.isReflowable&&this.readingOrder!==void 0)for(let u of this.readingOrder){if(!u.contentLength){console.error("Link is missing contentLength",u);return}u.contentWeight=100/o*u.contentLength,l=l+u.contentWeight}for(let u of a){let d=a.filter(m=>m.href===decodeURI(u.href)),f=Math.ceil((u.locations.progression?u.locations.progression:0)*(d.length-1));u.locations.position&&(u.locations.totalProgression=(u.locations.position-1)/a.length),u.locations.remainingPositions=Math.abs(f-(d.length-1)),u.locations.position&&(u.locations.totalRemainingPositions=Math.abs(u.locations.position-1-(a.length-1)))}this.positions=a}async fetchPositionsFromService(t,n){let o=await(await fetch(t,n)).json();this.positions=o.positions}async fetchWeightsFromService(t,n){if(this.isFixedLayout){console.warn("Not fetching weights from service for fixed layout publication.");return}let o=await(await fetch(t,n)).json();this.readingOrder!==void 0&&this.readingOrder.forEach(a=>{a.contentWeight=o[a.Href]})}};Yi=ac([(0,Yv.JsonObject)()],Yi);var AL=async(i,t)=>(await(await fetch(i,t)).blob()).size;A();A();var As=class{json(){return JSON.stringify(this)}},Zv=class extends As{constructor(t,n,r){super();this.value=t,this.ref=n,this.name=r}toString(){return this.value}},Xv=class extends As{constructor(t,n,r){super();this.value=t,this.ref=n,this.name=r}toString(){return this.value}toJson(){return JSON.parse(this.value)}},Qv=class extends As{constructor(t,n,r,o){super();this.value=t,this.values=n,this.ref=r,this.name=o}toString(){return this.values[this.value]}},ew=class extends As{constructor(t,n,r,o,a,l,u){super();this.countDecimals=function(t){return t%1!=0?t.toString().split(".")[1].length:1};this.value=t,this.min=n,this.max=r,this.step=o,this.suffix=a,this.ref=l,this.name=u}toString(){return this.value.toString()+this.suffix}increment(){let t=this.countDecimals(this.max);parseFloat(this.value.toFixed(t))<this.max&&(this.value=parseFloat(this.value.toFixed(t))+this.step)}decrement(){let t=this.countDecimals(this.min);parseFloat(this.value.toFixed(t))>this.min&&(this.value=parseFloat(this.value.toFixed(t))-this.step)}},xa=class extends As{constructor(t,n,r,o,a){super();this.value=r,this.onValue=t,this.offValue=n,this.ref=o,this.name=a}toString(){return this.value?this.onValue:this.offValue}switch(){this.value=!this.value}},xi=class{constructor(){this.properties=[]}addIncremental(t,n,r,o,a,l,u){this.properties.push(new ew(t,n,r,o,a,l,u))}addStringable(t,n,r){this.properties.push(new Zv(t,n,r))}addJSONable(t,n,r){this.properties.push(new Xv(t,n,r))}addSwitchable(t,n,r,o,a){this.properties.push(new xa(t,n,r,o,a))}addEnumerable(t,n,r,o){this.properties.push(new Qv(t,n,r,o))}getByRef(t){let n=this.properties.filter(r=>r.ref===t);return n.length>0?n[0]:null}getByKey(t){let n=this.properties.filter(r=>r.key===t);return n.length>0?n[0]:null}};A();var cr=class{},K=cr;K.FONT_SIZE_REF="fontSize",K.FONT_FAMILY_REF="fontFamily",K.FONT_OVERRIDE_REF="fontOverride",K.APPEARANCE_REF="appearance",K.SCROLL_REF="scroll",K.TEXT_ALIGNMENT_REF="textAlign",K.COLUMN_COUNT_REF="colCount",K.WORD_SPACING_REF="wordSpacing",K.LETTER_SPACING_REF="letterSpacing",K.PAGE_MARGINS_REF="pageMargins",K.LINE_HEIGHT_REF="lineHeight",K.FONT_SIZE_KEY="--USER__"+cr.FONT_SIZE_REF,K.FONT_FAMILY_KEY="--USER__"+cr.FONT_FAMILY_REF,K.FONT_OVERRIDE_KEY="--USER__"+cr.FONT_OVERRIDE_REF,K.APPEARANCE_KEY="--USER__"+cr.APPEARANCE_REF,K.SCROLL_KEY="--USER__"+cr.SCROLL_REF,K.TEXT_ALIGNMENT_KEY="--USER__"+cr.TEXT_ALIGNMENT_REF,K.COLUMN_COUNT_KEY="--USER__"+cr.COLUMN_COUNT_REF,K.WORD_SPACING_KEY="--USER__"+cr.WORD_SPACING_REF,K.LETTER_SPACING_KEY="--USER__"+cr.LETTER_SPACING_REF,K.PAGE_MARGINS_KEY="--USER__"+cr.PAGE_MARGINS_REF,K.LINE_HEIGHT_KEY="--USER__"+cr.LINE_HEIGHT_REF;A();function de(i,t){return i.querySelector(t)}function dt(i,t){let n=de(i,t);if(n&&n instanceof HTMLElement)return n;throw new Error("required element "+t+" not found")}function Qt(i,t){if(i===null)throw new Error("parent element is null");return i.querySelector(t)}function _i(i,t){let n=Qt(i,t);if(n)return n;throw new Error("required element "+t+" not found in iframe")}function hn(i,t,n){i.setAttribute(t,n)}A();A();var YE=Je(Xp());var Va=class{constructor(t){this.getScrollingElement=t=>t.scrollingElement?t.scrollingElement:t.body;this.navigator=t}async handleFootnote(t,n){let r=t.getAttribute("href");if(r&&r.indexOf("#")>0){let a=function(u){let d=document.location.href;return new URL(u,d).href},o=r.substring(r.indexOf("#")+1),l=a(r);l&&(l=l.substring(0,l.indexOf("#")),n.preventDefault(),n.stopPropagation(),await fetch(l,this.navigator.requestConfig).then(u=>u.text()).then(async u=>{let m=new DOMParser().parseFromString(u,"text/html").querySelector("#"+o);m&&(n.preventDefault(),n.stopPropagation(),this.showPopup(m,n))}))}}async hidePopover(){let t=this.navigator.iframes[0].contentDocument?.getElementById("d2-popover");t&&t.parentElement?.removeChild(t);let n=dt(document,"#iframe-wrapper");n.style.overflow="auto"}async showPopover(t,n){let r=t.getAttribute("href"),o=t.getAttribute("src");function a(l){let u=document.location.href;return new URL(l,u).href}if(r){let l=a(r);if(l){n.preventDefault(),n.stopPropagation();let u=this.navigator.iframes[0].contentDocument?.getElementById("d2-popover");u&&u.parentElement?.removeChild(u);let d=document.createElement("div");d.id="d2-popover",d.className="d2-popover is-active";let f=dt(document,"#iframe-wrapper");f.style.overflow="hidden",d.style.top=f.scrollTop+"px",d.style.height=f.clientHeight*.9+"px";let m=document.createElement("div");m.className="d2-popover-wrapper",d.appendChild(m);let p=document.createElement("div");p.className="d2-popover-content",m.appendChild(p),await fetch(l,this.navigator.requestConfig).then(v=>v.text()).then(async v=>{p.innerHTML=v;let y=this.navigator.iframes[0].contentDocument;y&&y.body.appendChild(d)});let E=this.navigator.iframes[0].contentWindow;if(!E)return;let S=this;E.onclick=function(v){n.target!==v.target&&d.parentElement&&(S.hidePopover(),E&&(E.onclick=null))}}}else if(o&&a(o)){n.preventDefault(),n.stopPropagation();let u=this.navigator.iframes[0].contentDocument?.getElementById("d2-popover");u&&u.parentElement?.removeChild(u);let d=document.createElement("div");d.id="d2-popover",d.className="d2-popover is-active";let f=dt(document,"#iframe-wrapper");f.style.overflow="hidden",d.style.top=f.scrollTop+"px",d.style.height=f.clientHeight*.9+"px";let m=document.createElement("div");m.className="d2-popover-wrapper",d.appendChild(m);let p=document.createElement("img");p.className="d2-popover-content",m.appendChild(p),p.src=o;let E=this.navigator.iframes[0].contentDocument;E&&E.body.appendChild(d);let S=this.navigator.iframes[0].contentWindow;if(!S)return;let v=this;S.onclick=function(y){n.target!==y.target&&d.parentElement&&(v.hidePopover(),S&&(S.onclick=null))}}}showPopup(t,n){let r=this.navigator.iframes[0].contentDocument?.getElementById("d2-popup");r&&r.parentElement?.removeChild(r);let o=document.createElement("aside");o.id="d2-popup",o.className="d2-popup is-active";let a=document.createElement("div");a.className="d2-popup-wrapper",o.appendChild(a);let l=document.createElement("div");l.className="d2-popup-content",a.appendChild(l);let u=document.createElement("p");l.appendChild(u),typeof t=="string"?u.innerHTML=t:u.innerHTML=(0,YE.default)(t.innerHTML,{allowedTags:[],allowedAttributes:{}});let d=this.navigator.view?.isPaginated(),f=this.navigator.iframes[0].contentDocument;if(!f)return;let m=this.getScrollingElement(f),p=d?m.scrollLeft:0,E=d?m.scrollTop:0,S=n.x+p,v=n.y+E;o.style.top=v+"px",d&&(o.style.left=S+"px"),f.body.appendChild(o);let y=this.navigator.iframes[0].contentWindow;!y||(y.onclick=function(b){n.target!==b.target&&o.parentElement&&(o.style.display="none",o.parentElement.removeChild(o),y&&(y.onclick=null))})}};var hd=Je(Dt());function Z(i,t,n){i&&i.addEventListener(t,n,!0)}function we(i,t,n){i&&i.removeEventListener(t,n,!0)}var pd=class{constructor(t){this.onInternalLink=()=>{};this.onClickThrough=()=>{};this.checkForLink=t=>{let n=t.target;for(;n&&n.tagName.toLowerCase()!=="body";){if(n.tagName.toLowerCase()==="a"&&n.href)return n;n=n.parentElement}return null};this.linkInPublication=(t,n)=>t.some(r=>!r.Rel?.includes("external")&&this.navigator.publication.getRelativeHref(n).includes(r.Href));this.isReadingOrderInternal=t=>(hd.default.log("clickedLink: ",t),this.linkInPublication(this.navigator.publication.readingOrder,t.href));this.isResourceInternal=t=>(hd.default.log("clickedLink: ",t),this.linkInPublication(this.navigator.publication.resources,t.href));this.handleLinks=async t=>{hd.default.log("R2 Click Handler");let n=this.checkForLink(t);if(n){let r=window.location.protocol===n.protocol&&window.location.port===n.port&&window.location.hostname===n.hostname,o=this.isReadingOrderInternal(n),a=this.isResourceInternal(n);a||await this.popup.hidePopover();let l=n.href.indexOf("#");if(!o&&!a)window.open(n.href,n.target??"_blank"),t.preventDefault(),t.stopPropagation();else if(t.target.href=n.href,(r||o)&&l!==-1){let u=t.target;u?u.getAttribute("epub:type")==="noteref"?await this.popup.handleFootnote(u,t):a&&!o?await this.popup.showPopover(u,t):this.onInternalLink(t):this.onInternalLink(t)}else(r||o)&&l===-1&&this.onInternalLink(t)}else this.onClickThrough(t)};this.navigator=t,this.popup=new Va(this.navigator)}setupEvents(t){if(t!==null)t.addEventListener("dblclick",async n=>{let r=n.target;n.target&&r.tagName.toLowerCase()==="img"&&await this.popup.showPopover(r,n)},!0),t.addEventListener("click",this.handleLinks.bind(this));else throw"cannot setup events for null"}};A();A();function XE(){return dt(document,"#iframe-wrapper").clientWidth}function $r(){return dt(document,"#iframe-wrapper").clientHeight}var e4=Je(to()),gd=class{constructor(t){this.layout="reflowable";this.USERSETTINGS="userSetting";this.sideMargin=20;this.height=0;this.attributes={margin:0};this.hasFixedScrollWidth=!1;this.store=t,this.scrollMode?(this.name="readium-scroll-on",this.label="Scrolling"):(this.name="readium-scroll-off",this.label="Paginated")}setMode(t){if(this.scrollMode=t,t){this.name="readium-scroll-on",this.label="Scrolling";let n=this.iframe.contentDocument;if(n){let r=Qt(n,"head");if(r){let a=de(r,"meta[name=viewport]");a&&a.remove()}let o=Qt(n,"html");o&&o.style.setProperty("--USER__scroll","readium-scroll-on")}this.setSize(),this.setIframeHeight(this.iframe)}else{this.height=$r()-40-this.attributes.margin,this.name="readium-scroll-off",this.label="Paginated",this.checkForFixedScrollWidth();let n=this.iframe.contentDocument;if(n){let r=Qt(n,"html");r&&r.style.setProperty("--USER__scroll","readium-scroll-off")}this.setSize()}this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate()}start(){if(this.scrollMode){let t=this.iframe.contentDocument;if(t){let n=Qt(t,"head");if(n){let r=de(n,"meta[name=viewport]");r&&r.remove()}}this.setSize(),this.setIframeHeight(this.iframe)}else{this.iframe.height="0",this.iframe.width="0",this.setSize();let t=document.createElement("meta");t.name="viewport",t.content="width=device-width, initial-scale=1, maximum-scale=1",this.checkForFixedScrollWidth()}}stop(){if(this.iframe.height="0",this.iframe.width="0",this.iframe.contentDocument){let n=Qt(this.iframe.contentDocument,"body"),r=Array.prototype.slice.call(n.querySelectorAll("img"));for(let o of r)o.style.maxWidth=""}}getCurrentPosition(){let t=dt(document,"#iframe-wrapper");if(this.scrollMode)return t.scrollTop/this.scrollingElement.scrollHeight;{let n=this.getColumnWidth(),r=this.getLeftColumnsWidth(),o=this.getRightColumnsWidth(),a=r+n+o;return r/a}}goToProgression(t){let n=dt(document,"#iframe-wrapper");if(this.scrollMode)n.scrollTop=this.scrollingElement.scrollHeight*t;else{let r=this.getColumnWidth(),o=this.getLeftColumnsWidth(),a=this.getRightColumnsWidth(),l=o+r+a,u=t*l,d=Math.round(u/r)*r;d>=l&&(d=d-r),this.setLeftColumnsWidth(d)}}goToCssSelector(t,n){let r=this.iframe.contentDocument;if(r){let o=r.querySelector(t);this.goToElement(o,n)}}goToFragment(t,n){let r=this.iframe.contentDocument;if(r){let o=r.getElementById(t);this.goToElement(o,n)}}snap(t,n){if(t&&!this.scrollMode){let r=t.style.height;t.style.height="0";let o=this.getColumnWidth(),a=this.getLeftColumnsWidth()+t.getBoundingClientRect().left,l=Math.floor(a/o)*o;t.style.height=r,this.setLeftColumnsWidth(l),this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate(0)}}goToElement(t,n){if(this.scrollMode)t&&t.scrollIntoView({block:"center"});else if(t){let r=t.style.height;t.style.height="0";let o=t.getBoundingClientRect().left,a=this.getColumnWidth(),l=this.scrollingElement.scrollLeft-a,u=Math.ceil(o/a)*a+l;if(n){let d=this.getLeftColumnsWidth();u=Math.ceil(o/a)*a+d}t.style.height=r,this.setLeftColumnsWidth(u),this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate(200)}}atStart(){return this.scrollMode?dt(document,"#iframe-wrapper").scrollTop===0:this.getLeftColumnsWidth()<=0}atEnd(){if(this.scrollMode){let t=dt(document,"#iframe-wrapper");return Math.ceil(this.scrollingElement.scrollHeight-t.scrollTop)-1<=$r()}else return Math.floor(this.getRightColumnsWidth())<=0}goToPreviousPage(){let t=dt(document,"#iframe-wrapper");if(this.scrollMode){let n=t.scrollTop,r=this.getScreenHeight()-40,o=n-r;o>=0?t.scrollTop=o:t.scrollTop=0}else{let n=this.getLeftColumnsWidth(),r=this.getColumnWidth(),o=n-r;o>=0?this.setLeftColumnsWidth(o):this.setLeftColumnsWidth(0),this.delegate.checkResourcePosition()}this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate()}goToNextPage(){let t=dt(document,"#iframe-wrapper");if(this.scrollMode){let n=t.scrollTop,r=this.getScreenHeight()-40,o=this.scrollingElement.scrollHeight,a=n+r;a<o?t.scrollTop=a:t.scrollTop=o}else{let n=this.getLeftColumnsWidth(),r=this.getColumnWidth(),o=this.scrollWidth,a=n+r;a<o?this.setLeftColumnsWidth(a):this.setLeftColumnsWidth(o),this.delegate.checkResourcePosition()}this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate()}getCurrentPage(){return this.scrollMode?0:this.getCurrentPosition()*this.getPageCount()+1}getPageCount(){if(this.scrollMode)return 0;{let t=this.getColumnWidth();return this.scrollWidth/t}}isPaginated(){if(this.iframe){let t=this.iframe.contentDocument;if(t){let n=Qt(t,"html");if(n)return!(n.style.getPropertyValue("--USER__scroll")==="readium-scroll-on")}}return!this.scrollMode}isScrollMode(){if(this.iframe){let t=this.iframe.contentDocument;if(t){let n=Qt(t,"html");if(n)return n.style.getPropertyValue("--USER__scroll")==="readium-scroll-on"}}return this.scrollMode}async getProperty(t){let n=await this.store.get(this.USERSETTINGS);if(n){let r=JSON.parse(n);return r=r.filter(o=>o.name===t),r.length===0?null:r[0]}return null}getScreenHeight(){return dt(document,"#iframe-wrapper").clientHeight}setIframeHeight(t){(0,e4.debounce)(r=>{if(r){let o=r.contentWindow.document.body,a=r.contentWindow.document.documentElement,l=Math.max(o?.scrollHeight,o?.offsetHeight,a?.clientHeight,a?.scrollHeight,a?.offsetHeight);if(l){let u=$r()-this.attributes.margin;r.height=Math.max(u,l)+"px"}}},200)(t)}checkForFixedScrollWidth(){let t=this.iframe.contentDocument;if(t){let n=Qt(t,"body"),r=n?.scrollWidth;this.hasFixedScrollWidth=n?.scrollWidth===r}}setSize(){if(this.iframe.width=XE()+"px",this.scrollMode){let t=this.iframe.contentWindow?.document?.documentElement;this.iframe.height=t?.offsetHeight+"px"}else{let t=this.iframe.contentDocument;t&&t.documentElement&&(t.documentElement.style.height=this.height+"px"),this.iframe.height=this.height+"px"}}getLeftColumnsWidth(){return Math.ceil(this.scrollingElement.scrollLeft)}getRightColumnsWidth(){let t=this.getColumnWidth(),n=this.scrollWidth-t;if(this.hasFixedScrollWidth){let r=this.getLeftColumnsWidth();n=Math.max(0,n-r)}return n}getColumnWidth(){return this.scrollingElement.clientWidth}setLeftColumnsWidth(t){this.scrollingElement.scrollLeft=t}get scrollingElement(){return this.iframe.contentDocument?.scrollingElement?this.iframe.contentDocument?.scrollingElement:this.iframe.contentDocument?.body?this.iframe.contentDocument?.body:document.createElement("body")}get scrollWidth(){let t=this.scrollingElement?.scrollWidth,n=this.getColumnWidth();return Math.floor(t/n)*n}};A();var md=class{constructor(){this.layout="fixed";this.sideMargin=20;this.height=0;this.attributes={margin:0}}start(){}stop(){}getCurrentPosition(){return 0}getScreenHeight(){return dt(document,"#iframe-wrapper").clientHeight}goToProgression(t){}goToCssSelector(t,n){}goToFragment(t,n){}snap(t,n){}getCurrentPage(){return 0}getPageCount(){return 1}setSize(){}isPaginated(){return!0}isScrollMode(){return!1}atEnd(){return!0}atStart(){return!0}};var dr=Je(Dt()),wt=class{constructor(t,n,r,o,a){this.USERSETTINGS="userSetting";this.fontSize=100;this.fontOverride=!1;this.fontFamily=0;this.appearance=0;this.verticalScroll=!0;this.textAlignment=0;this.columnCount=0;this.wordSpacing=0;this.letterSpacing=0;this.pageMargins=2;this.lineHeight=1;this.settingsChangeCallback=()=>{};this.settingsColumnsChangeCallback=()=>{};this.viewChangeCallback=()=>{};this.store=t,this.view=a==="fixed"?new md:new gd(this.store),this.headerMenu=n,this.api=r,this.injectables=o,this.injectables?.forEach(l=>{l.type==="style"&&(l.fontFamily&&this.addFont(l.fontFamily),l.appearance&&this.addAppearance(l.appearance))})}async isPaginated(){return!await this.getPropertyAndFallback("verticalScroll",K.SCROLL_KEY)}async isScrollMode(){return!await this.isPaginated()}static async create(t){let n=new this(t.store,t.headerMenu,t.api,t.injectables,t.layout);if(await n.initialise(),t.initialUserSettings){n.userProperties||(n.userProperties=n.getUserSettings());let r=t.initialUserSettings;if(r.verticalScroll!==void 0){n.verticalScroll=this.parseScrollSetting(r.verticalScroll);let o=n.userProperties.getByRef(K.SCROLL_REF);o&&(o.value=n.verticalScroll,await n.saveProperty(o)),dr.default.log(n.verticalScroll)}if(r.appearance){n.appearance=wt.appearanceValues.findIndex(a=>a===r.appearance);let o=n.userProperties.getByRef(K.APPEARANCE_REF);o&&(o.value=n.appearance,await n.saveProperty(o)),dr.default.log(n.appearance)}if(r.fontSize){n.fontSize=r.fontSize;let o=n.userProperties.getByRef(K.FONT_SIZE_REF);o&&(o.value=n.fontSize,await n.saveProperty(o)),dr.default.log(n.fontSize)}if(r.fontFamily){n.fontFamily=wt.fontFamilyValues.findIndex(a=>a===r.fontFamily);let o=n.userProperties.getByRef(K.FONT_FAMILY_REF);o&&(o.value=n.fontFamily,await n.saveProperty(o)),dr.default.log(n.fontFamily),n.fontFamily!==0&&(n.fontOverride=!0)}if(r.textAlignment){n.textAlignment=wt.textAlignmentValues.findIndex(a=>a===r.textAlignment);let o=n.userProperties.getByRef(K.TEXT_ALIGNMENT_REF);o&&(o.value=n.textAlignment,await n.saveProperty(o)),dr.default.log(n.textAlignment)}if(r.columnCount){n.columnCount=wt.columnCountValues.findIndex(a=>a===r.columnCount);let o=n.userProperties.getByRef(K.COLUMN_COUNT_REF);o&&(o.value=n.columnCount,await n.saveProperty(o)),dr.default.log(n.columnCount)}if(r.wordSpacing){n.wordSpacing=r.wordSpacing;let o=n.userProperties.getByRef(K.WORD_SPACING_REF);o&&(o.value=n.wordSpacing,await n.saveProperty(o)),dr.default.log(n.wordSpacing)}if(r.letterSpacing){n.letterSpacing=r.letterSpacing;let o=n.userProperties.getByRef(K.LETTER_SPACING_REF);o&&(o.value=n.letterSpacing,await n.saveProperty(o)),dr.default.log(n.letterSpacing)}if(r.pageMargins){n.pageMargins=r.pageMargins;let o=n.userProperties.getByRef(K.PAGE_MARGINS_REF);o&&(o.value=n.pageMargins,await n.saveProperty(o)),dr.default.log(n.pageMargins)}if(r.lineHeight){n.lineHeight=r.lineHeight;let o=n.userProperties.getByRef(K.LINE_HEIGHT_REF);o&&(o.value=n.lineHeight,await n.saveProperty(o)),dr.default.log(n.lineHeight)}n.userProperties=n.getUserSettings(),await n.initialise()}return await n.initializeSelections(),new Promise(r=>r(n))}stop(){dr.default.log("book settings stop")}async initialise(){this.appearance=await this.getPropertyAndFallback("appearance",K.APPEARANCE_KEY),this.verticalScroll=await this.getPropertyAndFallback("verticalScroll",K.SCROLL_KEY),this.fontFamily=await this.getPropertyAndFallback("fontFamily",K.FONT_FAMILY_KEY),this.fontFamily!==0&&(this.fontOverride=!0),this.textAlignment=await this.getPropertyAndFallback("textAlignment",K.TEXT_ALIGNMENT_KEY),this.columnCount=await this.getPropertyAndFallback("columnCount",K.COLUMN_COUNT_KEY),this.fontSize=await this.getPropertyAndFallback("fontSize",K.FONT_SIZE_KEY),this.wordSpacing=await this.getPropertyAndFallback("wordSpacing",K.WORD_SPACING_KEY),this.letterSpacing=await this.getPropertyAndFallback("letterSpacing",K.LETTER_SPACING_KEY),this.pageMargins=await this.getPropertyAndFallback("pageMargins",K.PAGE_MARGINS_KEY),this.lineHeight=await this.getPropertyAndFallback("lineHeight",K.LINE_HEIGHT_KEY),this.userProperties=this.getUserSettings()}async reset(){this.appearance=0,this.verticalScroll=!0,this.fontSize=100,this.fontOverride=!1,this.fontFamily=0,this.textAlignment=0,this.columnCount=0,this.wordSpacing=0,this.letterSpacing=0,this.pageMargins=2,this.lineHeight=1,this.userProperties=this.getUserSettings();let t=this.iframe.contentDocument;if(t){let n=Qt(t,"html");if(n){let r=document.documentElement,o=dt(r,"body");n.style.removeProperty(K.FONT_SIZE_KEY),n.style.removeProperty(K.WORD_SPACING_KEY),n.style.removeProperty(K.LETTER_SPACING_KEY),n.style.removeProperty(K.COLUMN_COUNT_KEY),n.style.removeProperty(K.TEXT_ALIGNMENT_KEY),n.style.removeProperty(K.LINE_HEIGHT_KEY),n.style.removeProperty(K.PAGE_MARGINS_KEY),n.style.removeProperty(K.APPEARANCE_KEY),hn(r,"data-viewer-theme","day"),hn(o,"data-viewer-theme","day"),n.style.removeProperty(K.FONT_FAMILY_KEY),hn(n,"data-viewer-font","publisher"),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-off")}}}async initializeSelections(){this.headerMenu&&(this.settingsView=de(this.headerMenu,"#container-view-settings"))}async applyProperties(){this.userProperties=this.getUserSettings();let t=this.iframe.contentDocument;if(t){let n=Qt(t,"html");if(n){let r=document.documentElement,o=dt(r,"body");if(this.view?.delegate.publication.isReflowable&&(await this.getProperty(K.FONT_SIZE_KEY)&&n.style.setProperty(K.FONT_SIZE_KEY,this.userProperties.getByRef(K.FONT_SIZE_REF)?.toString()??null),await this.getProperty(K.WORD_SPACING_KEY)&&n.style.setProperty(K.WORD_SPACING_KEY,this.userProperties.getByRef(K.WORD_SPACING_REF)?.toString()??null),await this.getProperty(K.LETTER_SPACING_KEY)&&n.style.setProperty(K.LETTER_SPACING_KEY,this.userProperties.getByRef(K.LETTER_SPACING_REF)?.toString()??null)),await this.getProperty(K.COLUMN_COUNT_KEY)&&n.style.setProperty(K.COLUMN_COUNT_KEY,this.userProperties.getByRef(K.COLUMN_COUNT_REF)?.toString()??null),this.view?.delegate.publication.isReflowable&&(await this.getProperty(K.TEXT_ALIGNMENT_KEY)&&(this.userProperties.getByRef(K.TEXT_ALIGNMENT_REF)?.toString()==="auto"?n.style.removeProperty(K.TEXT_ALIGNMENT_KEY):n.style.setProperty(K.TEXT_ALIGNMENT_KEY,this.userProperties.getByRef(K.TEXT_ALIGNMENT_REF)?.toString()??null)),await this.getProperty(K.LINE_HEIGHT_KEY)&&n.style.setProperty(K.LINE_HEIGHT_KEY,this.userProperties.getByRef(K.LINE_HEIGHT_REF)?.toString()??null),await this.getProperty(K.PAGE_MARGINS_KEY)&&n.style.setProperty(K.PAGE_MARGINS_KEY,this.userProperties.getByRef(K.PAGE_MARGINS_REF)?.toString()??null)),await this.getProperty(K.APPEARANCE_KEY)?(n.style.setProperty(K.APPEARANCE_KEY,this.userProperties.getByRef(K.APPEARANCE_REF)?.toString()??null),this.userProperties.getByRef(K.APPEARANCE_REF)?.value===0?(hn(r,"data-viewer-theme","day"),hn(o,"data-viewer-theme","day")):this.userProperties.getByRef(K.APPEARANCE_REF)?.value===1?(hn(r,"data-viewer-theme","sepia"),hn(o,"data-viewer-theme","sepia")):this.userProperties.getByRef(K.APPEARANCE_REF)?.value===2&&(hn(r,"data-viewer-theme","night"),hn(o,"data-viewer-theme","night"))):(n.style.setProperty(K.APPEARANCE_KEY,this.userProperties.getByRef(K.APPEARANCE_REF)?.toString()??null),hn(r,"data-viewer-theme","day"),hn(o,"data-viewer-theme","day")),this.view?.delegate.publication.isReflowable){if(await this.getProperty(K.FONT_FAMILY_KEY))if(n.style.setProperty(K.FONT_FAMILY_KEY,this.userProperties.getByRef(K.FONT_FAMILY_REF)?.toString()??null),this.userProperties.getByRef(K.FONT_FAMILY_REF)?.value===0)hn(n,"data-viewer-font","publisher"),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-off");else if(this.userProperties.getByRef(K.FONT_FAMILY_REF)?.value===1)hn(n,"data-viewer-font","serif"),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-on");else if(this.userProperties.getByRef(K.FONT_FAMILY_REF)?.value===2)hn(n,"data-viewer-font","sans"),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-on");else{let a=this.userProperties.getByRef(K.FONT_FAMILY_REF);a&&hn(n,"data-viewer-font",a.toString()),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-on")}else n.style.setProperty(K.FONT_FAMILY_KEY,this.userProperties.getByRef(K.FONT_FAMILY_REF)?.toString()??null),hn(n,"data-viewer-font","publisher"),n.style.setProperty(K.FONT_OVERRIDE_KEY,"readium-font-off");await this.getProperty(K.SCROLL_KEY)?this.userProperties.getByRef(K.SCROLL_REF)?.value===!0?n.style.setProperty("--USER__scroll","readium-scroll-on"):n.style.setProperty("--USER__scroll","readium-scroll-off"):n.style.setProperty("--USER__scroll","readium-scroll-on"),n.style.setProperty("--USER__advancedSettings","readium-advanced-on"),this.isScrollMode().then(a=>{this.view?.setMode?.(a)})}}}}setIframe(t){this.iframe=t,this.view&&(this.view.iframe=t),this.settingsView&&wt.renderControls(this.settingsView)}static renderControls(t){Z(de(t,"ul"),"click",n=>{n.stopPropagation()})}onSettingsChange(t){this.settingsChangeCallback=t}onColumnSettingsChange(t){this.settingsColumnsChangeCallback=t}onViewChange(t){this.viewChangeCallback=t}async storeProperty(t){await this.updateUserSettings(),await this.saveProperty(t)}addAppearance(t){wt.appearanceValues.includes(t)||wt.appearanceValues.push(t)}initAddedAppearance(){this.applyProperties()}addFont(t){wt.fontFamilyValues.includes(t)||wt.fontFamilyValues.push(t)}initAddedFont(){this.applyProperties()}async updateUserSettings(){let t={fontFamily:wt.fontFamilyValues[await this.userProperties?.getByRef(K.FONT_FAMILY_REF)?.value],fontSize:this.userProperties?.getByRef(K.FONT_SIZE_REF)?.value,appearance:wt.appearanceValues[await this.userProperties?.getByRef(K.APPEARANCE_REF)?.value],textAlignment:wt.textAlignmentValues[await this.userProperties?.getByRef(K.TEXT_ALIGNMENT_REF)?.value],columnCount:wt.columnCountValues[await this.userProperties?.getByRef(K.COLUMN_COUNT_REF)?.value],wordSpacing:this.userProperties?.getByRef(K.WORD_SPACING_REF)?.value,letterSpacing:this.userProperties?.getByRef(K.LETTER_SPACING_REF)?.value,verticalScroll:this.userProperties?.getByRef(K.SCROLL_REF)?.value};this.api?.updateSettings&&this.api?.updateSettings(t).then(n=>{dr.default.log("api updated user settings",JSON.stringify(t))})}getUserSettings(){let t=new xi;return t.addSwitchable("readium-font-on","readium-font-off",this.fontOverride,K.FONT_OVERRIDE_REF,K.FONT_OVERRIDE_KEY),t.addEnumerable(this.columnCount,wt.columnCountValues,K.COLUMN_COUNT_REF,K.COLUMN_COUNT_KEY),t.addEnumerable(this.appearance,wt.appearanceValues,K.APPEARANCE_REF,K.APPEARANCE_KEY),t.addIncremental(this.pageMargins,.5,4,.25,"",K.PAGE_MARGINS_REF,K.PAGE_MARGINS_KEY),t.addEnumerable(this.textAlignment,wt.textAlignmentValues,K.TEXT_ALIGNMENT_REF,K.TEXT_ALIGNMENT_KEY),t.addEnumerable(this.fontFamily,wt.fontFamilyValues,K.FONT_FAMILY_REF,K.FONT_FAMILY_KEY),t.addIncremental(this.fontSize,100,300,25,"%",K.FONT_SIZE_REF,K.FONT_SIZE_KEY),t.addIncremental(this.lineHeight,1,2,.25,"em",K.LINE_HEIGHT_REF,K.LINE_HEIGHT_KEY),t.addIncremental(this.wordSpacing,0,1,.25,"rem",K.WORD_SPACING_REF,K.WORD_SPACING_KEY),t.addIncremental(this.letterSpacing,0,.5,.0625,"em",K.LETTER_SPACING_REF,K.LETTER_SPACING_KEY),t.addSwitchable("readium-scroll-on","readium-scroll-off",this.verticalScroll,K.SCROLL_REF,K.SCROLL_KEY),t}async saveProperty(t){let n=await this.store.get(this.USERSETTINGS);if(n){let r=JSON.parse(n);r=r.filter(o=>o.name!==t.name),t.value!==void 0&&r.push(t),await this.store.set(this.USERSETTINGS,JSON.stringify(r))}else{let r=[];r.push(t),await this.store.set(this.USERSETTINGS,JSON.stringify(r))}return new Promise(r=>r(t))}async getProperty(t){let n=await this.store.get(this.USERSETTINGS);if(n){let r=JSON.parse(n);return r=r.filter(o=>o.name===t),r.length===0?null:r[0]}return null}async getPropertyAndFallback(t,n){return(await this.getProperty(n))?.value??this[t]}async resetUserSettings(){await this.store.remove(this.USERSETTINGS),await this.reset(),this.settingsChangeCallback()}get currentSettings(){return{appearance:wt.appearanceValues[this.userProperties?.getByRef(K.APPEARANCE_REF)?.value],fontFamily:wt.fontFamilyValues[this.userProperties?.getByRef(K.FONT_FAMILY_REF)?.value],textAlignment:wt.textAlignmentValues[this.userProperties?.getByRef(K.TEXT_ALIGNMENT_REF)?.value],columnCount:wt.columnCountValues[this.userProperties?.getByRef(K.COLUMN_COUNT_REF)?.value],verticalScroll:this.verticalScroll,fontSize:this.fontSize,wordSpacing:this.wordSpacing,letterSpacing:this.letterSpacing,pageMargins:this.pageMargins,lineHeight:this.lineHeight}}async applyUserSettings(t){if(t.appearance){let n;t.appearance==="day"||t.appearance==="readium-default-on"?n=wt.appearanceValues[0]:t.appearance==="sepia"||t.appearance==="readium-sepia-on"?n=wt.appearanceValues[1]:t.appearance==="night"||t.appearance==="readium-night-on"?n=wt.appearanceValues[2]:n=t.appearance,this.appearance=wt.appearanceValues.findIndex(o=>o===n);let r=this.userProperties?.getByRef(K.APPEARANCE_REF);r&&(r.value=this.appearance,await this.storeProperty(r))}if(t.fontSize){this.fontSize=t.fontSize;let n=this.userProperties?.getByRef(K.FONT_SIZE_REF);n&&(n.value=this.fontSize,await this.storeProperty(n))}if(t.fontFamily){this.fontFamily=wt.fontFamilyValues.findIndex(r=>r===t.fontFamily);let n=this.userProperties?.getByRef(K.FONT_FAMILY_REF);n&&(n.value=this.fontFamily,await this.storeProperty(n))}if(t.letterSpacing){this.letterSpacing=t.letterSpacing;let n=this.userProperties?.getByRef(K.LETTER_SPACING_REF);n&&(n.value=this.letterSpacing,await this.storeProperty(n))}if(t.wordSpacing){this.wordSpacing=t.wordSpacing;let n=this.userProperties?.getByRef(K.WORD_SPACING_REF);n&&(n.value=this.wordSpacing,await this.storeProperty(n))}if(t.columnCount){this.columnCount=wt.columnCountValues.findIndex(r=>r===t.columnCount);let n=this.userProperties?.getByRef(K.COLUMN_COUNT_REF);n&&(n.value=this.columnCount,await this.storeProperty(n)),this.settingsColumnsChangeCallback()}if(t.textAlignment){this.textAlignment=wt.textAlignmentValues.findIndex(r=>r===t.textAlignment);let n=this.userProperties?.getByRef(K.TEXT_ALIGNMENT_REF);n&&(n.value=this.textAlignment,await this.storeProperty(n))}if(t.lineHeight){this.lineHeight=t.lineHeight;let n=this.userProperties?.getByRef(K.LINE_HEIGHT_REF);n&&(n.value=this.lineHeight,await this.storeProperty(n))}if(t.pageMargins){this.pageMargins=t.pageMargins;let n=this.userProperties?.getByRef(K.PAGE_MARGINS_REF);n&&(n.value=this.pageMargins,await this.storeProperty(n))}if(t.verticalScroll!==void 0){let n=this.view?.getCurrentPosition();this.verticalScroll=wt.parseScrollSetting(t.verticalScroll);let r=this.userProperties?.getByRef(K.SCROLL_REF);r&&(r.value=this.verticalScroll,await this.saveProperty(r)),this.view?.setMode?.(this.verticalScroll),n&&this.view?.goToProgression(n),this.viewChangeCallback()}await this.applyProperties(),this.settingsChangeCallback()}static parseScrollSetting(t){switch(t){case!0:case"scroll":case"readium-scroll-on":return!0;case!1:case"paginated":case"readium-scroll-off":return!1;default:return!1}}async scroll(t){let n=this.view?.getCurrentPosition();this.verticalScroll=t;let r=this.userProperties?.getByRef(K.SCROLL_REF);r&&(r.value=this.verticalScroll,await this.saveProperty(r)),await this.applyProperties(),this.view?.setMode?.(this.verticalScroll),n&&this.view?.goToProgression(n),this.viewChangeCallback()}async increase(t){if(t==="fontSize"){(this.userProperties?.getByRef(K.FONT_SIZE_REF)).increment(),this.fontSize=this.userProperties?.getByRef(K.FONT_SIZE_REF)?.value;let n=this.userProperties?.getByRef(K.FONT_SIZE_REF);n&&await this.storeProperty(n)}else if(t==="letterSpacing"){(this.userProperties?.getByRef(K.LETTER_SPACING_REF)).increment(),this.letterSpacing=this.userProperties?.getByRef(K.LETTER_SPACING_REF)?.value;let n=this.userProperties?.getByRef(K.LETTER_SPACING_REF);n&&await this.storeProperty(n)}else if(t==="wordSpacing"){(this.userProperties?.getByRef(K.WORD_SPACING_REF)).increment(),this.wordSpacing=this.userProperties?.getByRef(K.WORD_SPACING_REF)?.value;let n=this.userProperties?.getByRef(K.WORD_SPACING_REF);n&&await this.storeProperty(n)}else if(t==="lineHeight"){(this.userProperties?.getByRef(K.LINE_HEIGHT_REF)).increment(),this.lineHeight=this.userProperties?.getByRef(K.LINE_HEIGHT_REF)?.value;let n=this.userProperties?.getByRef(K.LINE_HEIGHT_REF);n&&await this.storeProperty(n)}await this.applyProperties(),this.settingsChangeCallback()}async decrease(t){if(t==="fontSize"){(this.userProperties?.getByRef(K.FONT_SIZE_REF)).decrement(),this.fontSize=this.userProperties?.getByRef(K.FONT_SIZE_REF)?.value;let n=this.userProperties?.getByRef(K.FONT_SIZE_REF);n&&await this.storeProperty(n)}else if(t==="letterSpacing"){(this.userProperties?.getByRef(K.LETTER_SPACING_REF)).decrement(),this.letterSpacing=this.userProperties?.getByRef(K.LETTER_SPACING_REF)?.value;let n=this.userProperties?.getByRef(K.LETTER_SPACING_REF);n&&await this.storeProperty(n)}else if(t==="wordSpacing"){(this.userProperties?.getByRef(K.WORD_SPACING_REF)).decrement(),this.wordSpacing=this.userProperties?.getByRef(K.WORD_SPACING_REF)?.value;let n=this.userProperties?.getByRef(K.WORD_SPACING_REF);n&&await this.storeProperty(n)}else if(t==="lineHeight"){(this.userProperties?.getByRef(K.LINE_HEIGHT_REF)).decrement(),this.wordSpacing=this.userProperties?.getByRef(K.LINE_HEIGHT_REF)?.value;let n=this.userProperties?.getByRef(K.LINE_HEIGHT_REF);n&&await this.storeProperty(n)}await this.applyProperties(),this.settingsChangeCallback()}},jo=wt;jo.appearanceValues=["readium-default-on","readium-sepia-on","readium-night-on"],jo.fontFamilyValues=["Original","serif","sans-serif"],jo.textAlignmentValues=["auto","justify","start"],jo.columnCountValues=["auto","1","2"];A();A();var fr;(function(n){n[n.Bookmark=0]="Bookmark",n[n.Annotation=1]="Annotation"})(fr||(fr={}));A();A();A();A();A();A();var t4={stringify(i){let t=i.nSigBytes,n=i.words,r=[];for(let o=0;o<t;o++){let a=n[o>>>2]>>>24-o%4*8&255;r.push((a>>>4).toString(16)),r.push((a&15).toString(16))}return r.join("")},parse(i){let t=i.length;if(t%2!=0)throw new Error("Hex string count must be even");if(!/^[a-fA-F0-9]+$/.test(i))throw new Error(`Invalid Hex string: ${i}`);let n=[];for(let r=0;r<t;r+=2)n[r>>>3]|=parseInt(i.substr(r,2),16)<<24-r%8*4;return new wn(n,t/2)}};A();A();var n4=typeof navigator!="undefined"&&navigator.userAgent?navigator.userAgent.toLowerCase():"",Do=(()=>{let i=parseInt((/msie (\d+)/.exec(n4)||[])[1],10);return isNaN(i)?(i=parseInt((/trident\/.*; rv:(\d+)/.exec(n4)||[])[1],10),isNaN(i)?!1:i):i})();function r4(i,t){return Do===!1?!1:t?i==="<"?Do<t:i==="<="?Do<=t:i===">"?Do>t:i===">="?Do>=t:Do===t:!0}function Yk(){if(typeof window!="undefined"){let i=window.crypto||window.msCrypto;if(!i){if(r4("<",11))return console.warn("IE <= 10 uses insecure random generator. Please consider to use IE11 or another modern browser"),function(){return Math.floor(Math.random()*512)%256};throw new Error("Crypto module not found")}return function(){return i.getRandomValues(new Uint32Array(1))[0]}}else{if(typeof globalThis!="undefined"&&globalThis.crypto)return function(){return globalThis.crypto.randomBytes(4).readInt32LE()};if(typeof Dy=="function")return function(){return __non_webpack_require__("crypto").randomBytes(4).readInt32LE()}}throw new Error("Unable to find crypto module")}var i4=Yk();var wn=class{constructor(t,n){if(Array.isArray(t)||!t){this._words=Array.isArray(t)?t:[],this._nSignificantBytes=typeof n=="number"?n:this._words.length*4;return}else if(t instanceof wn){this._words=t.words.slice(),this._nSignificantBytes=t.nSigBytes;return}let r;try{t instanceof ArrayBuffer?r=new Uint8Array(t):(t instanceof Uint8Array||t instanceof Int8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}catch(l){throw new Error("Invalid argument")}if(!r)throw new Error("Invalid argument");let o=r.byteLength,a=[];for(let l=0;l<o;l++)a[l>>>2]|=r[l]<<24-l%4*8;this._words=a,this._nSignificantBytes=o}get nSigBytes(){return this._nSignificantBytes}set nSigBytes(t){this._nSignificantBytes=t}get words(){return this._words}toString(t){return t?t.stringify(this):t4.stringify(this)}toUint8Array(){let t=this._words,n=this._nSignificantBytes,r=new Uint8Array(n);for(let o=0;o<n;o++)r[o]=t[o>>>2]>>>24-o%4*8&255;return r}concat(t){let n=t.words.slice(),r=t.nSigBytes;if(this.clamp(),this._nSignificantBytes%4)for(let o=0;o<r;o++){let a=n[o>>>2]>>>24-o%4*8&255;this._words[this._nSignificantBytes+o>>>2]|=a<<24-(this._nSignificantBytes+o)%4*8}else for(let o=0;o<r;o+=4)this._words[this._nSignificantBytes+o>>>2]=n[o>>>2];return this._nSignificantBytes+=r,this}clamp(){let t=this._nSignificantBytes;this._words[t>>>2]&=4294967295<<32-t%4*8,this._words.length=Math.ceil(t/4)}clone(){return new wn(this._words.slice(),this._nSignificantBytes)}static random(t){let n=[];for(let r=0;r<t;r+=4)n.push(i4());return new wn(n,t)}};A();A();var e0={stringify(i){let t=i.nSigBytes,n=i.words,r=[];for(let o=0;o<t;o++){let a=n[o>>>2]>>>24-o%4*8&255;r.push(String.fromCharCode(a))}return r.join("")},parse(i){let t=i.length,n=[];for(let r=0;r<t;r++)n[r>>>2]|=(i.charCodeAt(r)&255)<<24-r%4*8;return new wn(n,t)}};var o4={stringify(i){try{return decodeURIComponent(escape(e0.stringify(i)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse(i){return e0.parse(unescape(encodeURIComponent(i)))}};var t0=class{constructor(t){this._minBufferSize=0,this._blockSize=0,this._props=t,this._data=t&&typeof t.data!="undefined"?t.data.clone():new wn,this._nBytes=t&&typeof t.nBytes=="number"?t.nBytes:0}get blockSize(){return this._blockSize}reset(t,n){this._data=typeof t!="undefined"?t.clone():new wn,this._nBytes=typeof n=="number"?n:0}_append(t){let n=typeof t=="string"?o4.parse(t):t;this._data.concat(n),this._nBytes+=n.nSigBytes}_process(t){let n,r=this._data.words,o=this._data.nSigBytes,a=this._blockSize,l=this._blockSize*4,u=o/l;t?u=Math.ceil(u):u=Math.max((u|0)-this._minBufferSize,0);let d=u*a,f=Math.min(d*4,o);if(d){for(let m=0;m<d;m+=a)this._doProcessBlock(r,m);n=r.splice(0,d),this._data.nSigBytes-=f}return new wn(n,f)}_doProcessBlock(t,n){throw new Error("Not implemented")}};var n0=class extends t0{constructor(t){super(t);this._blockSize=512/32,this._props=t,t&&typeof t.blockSize=="number"&&(this._blockSize=t.blockSize),this.reset(t?t.data:void 0,t?t.nBytes:void 0)}get blockSize(){return this._blockSize}reset(t,n){super.reset.call(this,t,n),this._doReset()}update(t){return this._append(t),this._process(),this}finalize(t){return t&&this._append(t),this._doFinalize()}_doReset(){throw new Error("Not implemented")}_doFinalize(){throw new Error("Not implemented")}};var r0=[],s4=[];function Zk(i){let t=Math.sqrt(i);for(let n=2;n<=t;n++)if(!(i%n))return!1;return!0}function a4(i){return(i-(i|0))*4294967296|0}(function(){let t=2,n=0;for(;n<64;)Zk(t)&&(n<8&&(r0[n]=a4(Math.pow(t,1/2))),s4[n]=a4(Math.pow(t,1/3)),n++),t++})();var Fo=[],Cr=class extends n0{constructor(t){super(t);this._hash=new wn(r0.slice(0)),this._props=t,t&&typeof t.hash!="undefined"&&(this._hash=t.hash.clone())}_doReset(){this._hash=new wn(r0.slice(0))}_doProcessBlock(t,n){let r=this._hash.words,o=r[0],a=r[1],l=r[2],u=r[3],d=r[4],f=r[5],m=r[6],p=r[7];for(let E=0;E<64;E++){if(E<16)Fo[E]=t[n+E]|0;else{let T=Fo[E-15],C=(T<<25|T>>>7)^(T<<14|T>>>18)^T>>>3,_=Fo[E-2],P=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;Fo[E]=C+Fo[E-7]+P+Fo[E-16]}let S=d&f^~d&m,v=o&a^o&l^a&l,y=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),b=(d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25),w=p+b+S+s4[E]+Fo[E],O=y+v;p=m,m=f,f=d,d=u+w|0,u=l,l=a,a=o,o=w+O|0}r[0]=r[0]+o|0,r[1]=r[1]+a|0,r[2]=r[2]+l|0,r[3]=r[3]+u|0,r[4]=r[4]+d|0,r[5]=r[5]+f|0,r[6]=r[6]+m|0,r[7]=r[7]+p|0}_doFinalize(){let t=this._data.words,n=this._nBytes*8,r=this._data.nSigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),t[(r+64>>>9<<4)+15]=n,this._data.nSigBytes=t.length*4,this._process(),this._hash}clone(){let t={hash:this._hash,blockSize:this._blockSize,data:this._data,nBytes:this._nBytes};return new Cr(t)}static hash(t,n){return new Cr(n).finalize(t)}};var Ka=Je(to());A();var qe;(function(u){u[u.Annotation=0]="Annotation",u[u.Search=1]="Search",u[u.ReadAloud=2]="ReadAloud",u[u.PageBreak=3]="PageBreak",u[u.Definition=4]="Definition",u[u.LineFocus=5]="LineFocus",u[u.Comment=6]="Comment"})(qe||(qe={}));A();var En=Je(Dt());function yd(i,t){let n=i.getClientRects();return i0(n,t)}function i0(i,t){let n=1,r=[];for(let d of i)r.push({bottom:d.bottom,height:d.height,left:d.left,right:d.right,top:d.top,width:d.width});let o=c4(r,n,t),a=r8(o,n),l=u4(a),u=2*2;for(let d=l.length-1;d>=0;d--){let f=l[d];if(!(f.width*f.height>u))if(l.length>1)En.default.log("CLIENT RECT: remove small"),l.splice(d,1);else{En.default.log("CLIENT RECT: remove small, but keep otherwise empty!");break}}return d4(l),En.default.log(`CLIENT RECT: reduced ${r.length} --> ${l.length}`),l}function Ar(i,t,n){return Math.abs(i-t)<=n}function Xk(i,t){let n=Math.max(i.left,t.left),r=Math.min(i.right,t.right),o=Math.max(i.top,t.top),a=Math.min(i.bottom,t.bottom);return{bottom:a,height:Math.max(0,a-o),left:n,right:r,top:o,width:Math.max(0,r-n)}}function l4(i,t){let n=Xk(t,i);if(n.height===0||n.width===0)return[i];let r=[];{let o={bottom:i.bottom,height:0,left:i.left,right:n.left,top:i.top,width:0};o.width=o.right-o.left,o.height=o.bottom-o.top,o.height!==0&&o.width!==0&&r.push(o)}{let o={bottom:n.top,height:0,left:n.left,right:n.right,top:i.top,width:0};o.width=o.right-o.left,o.height=o.bottom-o.top,o.height!==0&&o.width!==0&&r.push(o)}{let o={bottom:i.bottom,height:0,left:n.left,right:n.right,top:n.bottom,width:0};o.width=o.right-o.left,o.height=o.bottom-o.top,o.height!==0&&o.width!==0&&r.push(o)}{let o={bottom:i.bottom,height:0,left:n.right,right:i.right,top:i.top,width:0};o.width=o.right-o.left,o.height=o.bottom-o.top,o.height!==0&&o.width!==0&&r.push(o)}return r}function bd(i,t,n,r){return(i.left<t||Ar(i.left,t,r))&&(i.right>t||Ar(i.right,t,r))&&(i.top<n||Ar(i.top,n,r))&&(i.bottom>n||Ar(i.bottom,n,r))}function Qk(i,t,n){return bd(i,t.left,t.top,n)&&bd(i,t.right,t.top,n)&&bd(i,t.left,t.bottom,n)&&bd(i,t.right,t.bottom,n)}function e8(i,t){let n=Math.min(i.left,t.left),r=Math.max(i.right,t.right),o=Math.min(i.top,t.top),a=Math.max(i.bottom,t.bottom);return{bottom:a,height:a-o,left:n,right:r,top:o,width:r-n}}function o0(i,t,n){return(i.left<t.right||n>=0&&Ar(i.left,t.right,n))&&(t.left<i.right||n>=0&&Ar(t.left,i.right,n))&&(i.top<t.bottom||n>=0&&Ar(i.top,t.bottom,n))&&(t.top<i.bottom||n>=0&&Ar(t.top,i.bottom,n))}function c4(i,t,n){for(let r=0;r<i.length;r++)for(let o=r+1;o<i.length;o++){let a=i[r],l=i[o];if(a===l){En.default.log("mergeTouchingRects rect1 === rect2 ??!");continue}let u=Ar(a.top,l.top,t)&&Ar(a.bottom,l.bottom,t),d=Ar(a.left,l.left,t)&&Ar(a.right,l.right,t);if((d&&!n||u&&!d)&&o0(a,l,t)){En.default.log(`CLIENT RECT: merging two into one, VERTICAL: ${u} HORIZONTAL: ${d} (${n})`);let E=i.filter(v=>v!==a&&v!==l),S=e8(a,l);return E.push(S),c4(E,t,n)}}return i}function u4(i){for(let t=0;t<i.length;t++)for(let n=t+1;n<i.length;n++){let r=i[t],o=i[n];if(r===o){En.default.log("replaceOverlappingRects rect1 === rect2 ??!");continue}if(o0(r,o,-1)){let a=[],l,u,d=l4(r,o);if(d.length===1)a=d,l=r,u=o;else{let p=l4(o,r);d.length<p.length?(a=d,l=r,u=o):(a=p,l=o,u=r)}let f=[];f.push(u),Array.prototype.push.apply(f,a),d4(f),En.default.log(`CLIENT RECT: overlap, cut one rect into ${a.length}`);let m=i.filter(p=>p!==l);return Array.prototype.push.apply(m,a),u4(m)}}return i}function t8(i,t){return Math.max(0,Math.min(i.right,t.right)-Math.max(i.left,t.left))}function n8(i,t){return Math.max(0,Math.min(i.bottom,t.bottom)-Math.max(i.top,t.top))}function r8(i,t){let n=new Set(i);for(let r of i){if(!(r.width>1&&r.height>1)){En.default.log("CLIENT RECT: remove tiny"),n.delete(r);continue}for(let a of i)if(r!==a&&!!n.has(a)&&Qk(a,r,t)){En.default.log("CLIENT RECT: remove contained"),n.delete(r);break}}return Array.from(n)}function d4(i){let t=[];for(let n of i)for(let r of i){if(n===r)continue;let o=t.indexOf(n)>=0,a=t.indexOf(r)>=0;if((!o||!a)&&o0(n,r,-1)){o||t.push(n),a||t.push(r),En.default.log("CLIENT RECT: overlap ---"),En.default.log(`#1 TOP:${n.top} BOTTOM:${n.bottom} LEFT:${n.left} RIGHT:${n.right} WIDTH:${n.width} HEIGHT:${n.height}`),En.default.log(`#2 TOP:${r.top} BOTTOM:${r.bottom} LEFT:${r.left} RIGHT:${r.right} WIDTH:${r.width} HEIGHT:${r.height}`);let l=t8(n,r);En.default.log(`xOverlap: ${l}`);let u=n8(n,r);En.default.log(`yOverlap: ${u}`)}}t.length&&En.default.log(`CLIENT RECT: overlaps ${t.length}`)}A();var Ct=Je(Dt());function oi(i,t){let n=i?i.getSelection():null;if(!n)return;if(n.isCollapsed){Ct.default.log("^^^ SELECTION COLLAPSED.");return}let r=n.toString(),o=r.trim().replace(/\n/g," ").replace(/\s\s+/g," ");if(o.length===0){Ct.default.log("^^^ SELECTION TEXT EMPTY.");return}if(!n.anchorNode||!n.focusNode)return;let a=n.rangeCount===1?n.getRangeAt(0):f4(n.anchorNode,n.anchorOffset,n.focusNode,n.focusOffset);if(!a||a.collapsed){Ct.default.log("$$$$$$$$$$$$$$$$$ CANNOT GET NON-COLLAPSED SELECTION RANGE?!");return}let l=o8(a);l.startContainer!==a.startContainer&&(Ct.default.log(">>>>>>>>>>>>>>>>>>>>>>> SELECTION RANGE NORMALIZE diff: startContainer"),Ct.default.log(l.startContainer),Ct.default.log(a.startContainer)),l.startOffset!==a.startOffset&&(Ct.default.log(">>>>>>>>>>>>>>>>>>>>>>> SELECTION RANGE NORMALIZE diff: startOffset"),Ct.default.log(`${l.startOffset} !== ${a.startOffset}`)),l.endContainer!==a.endContainer&&(Ct.default.log(">>>>>>>>>>>>>>>>>>>>>>> SELECTION RANGE NORMALIZE diff: endContainer"),Ct.default.log(l.endContainer),Ct.default.log(a.endContainer)),l.endOffset!==a.endOffset&&(Ct.default.log(">>>>>>>>>>>>>>>>>>>>>>> SELECTION RANGE NORMALIZE diff: endOffset"),Ct.default.log(`${l.endOffset} !== ${a.endOffset}`));let u=Pi(l,t);if(!u){Ct.default.log("^^^ SELECTION RANGE INFO FAIL?!");return}return{rangeInfo:u,cleanText:o,rawText:r,range:l}}function f4(i,t,n,r){try{let o=new Range;if(o.setStart(i,t),o.setEnd(n,r),!o.collapsed)return Ct.default.log(">>> createOrderedRange RANGE OK"),o;Ct.default.log(">>> createOrderedRange COLLAPSED ... RANGE REVERSE?");let a=new Range;if(a.setStart(n,r),a.setEnd(i,t),!a.collapsed)return Ct.default.log(">>> createOrderedRange RANGE REVERSE OK."),o;Ct.default.log(">>> createOrderedRange RANGE REVERSE ALSO COLLAPSED?!");return}catch(o){console.warn(o.message);return}}function Pi(i,t){let n=i.startContainer.nodeType===Node.ELEMENT_NODE,r=n?i.startContainer:i.startContainer.parentNode&&i.startContainer.parentNode.nodeType===Node.ELEMENT_NODE?i.startContainer.parentNode:void 0;if(!r)return;let o=n?-1:Array.from(r.childNodes).indexOf(i.startContainer);if(o<-1)return;let a=t(r),l=i.endContainer.nodeType===Node.ELEMENT_NODE,u=l?i.endContainer:i.endContainer.parentNode&&i.endContainer.parentNode.nodeType===Node.ELEMENT_NODE?i.endContainer.parentNode:void 0;if(!u)return;let d=l?-1:Array.from(u.childNodes).indexOf(i.endContainer);if(d<-1)return;let f=t(u),m=i8(i.startContainer,i.endContainer);if(!m){Ct.default.log("^^^ NO RANGE COMMON ANCESTOR?!");return}if(i.commonAncestorContainer){let p=i.commonAncestorContainer.nodeType===Node.ELEMENT_NODE?i.commonAncestorContainer:i.commonAncestorContainer.parentNode;p&&p.nodeType===Node.ELEMENT_NODE&&m!==p&&(Ct.default.log(">>>>>> COMMON ANCESTOR CONTAINER DIFF??!"),Ct.default.log(t(m)),Ct.default.log(t(p)))}if(f&&a)return{endContainerChildTextNodeIndex:d,endContainerElementCssSelector:f,endOffset:i.endOffset,startContainerChildTextNodeIndex:o,startContainerElementCssSelector:a,startOffset:i.startOffset}}function vd(i,t){let n=i.querySelector(t.startContainerElementCssSelector);if(!n){Ct.default.log("^^^ convertRangeInfo NO START ELEMENT CSS SELECTOR?!");return}let r=n;if(t.startContainerChildTextNodeIndex>=0){if(t.startContainerChildTextNodeIndex>=n.childNodes.length){Ct.default.log("^^^ convertRangeInfo rangeInfo.startContainerChildTextNodeIndex >= startElement.childNodes.length?!");return}if(r=n.childNodes[t.startContainerChildTextNodeIndex],r.nodeType!==Node.TEXT_NODE){Ct.default.log("^^^ convertRangeInfo startContainer.nodeType !== Node.TEXT_NODE?!");return}}let o=i.querySelector(t.endContainerElementCssSelector);if(!o){Ct.default.log("^^^ convertRangeInfo NO END ELEMENT CSS SELECTOR?!");return}let a=o;if(t.endContainerChildTextNodeIndex>=0){if(t.endContainerChildTextNodeIndex>=o.childNodes.length){Ct.default.log("^^^ convertRangeInfo rangeInfo.endContainerChildTextNodeIndex >= endElement.childNodes.length?!");return}if(a=o.childNodes[t.endContainerChildTextNodeIndex],a.nodeType!==Node.TEXT_NODE){Ct.default.log("^^^ convertRangeInfo endContainer.nodeType !== Node.TEXT_NODE?!");return}}return f4(r,t.startOffset,a,t.endOffset)}function i8(i,t){if(i.nodeType===Node.ELEMENT_NODE&&i===t||i.nodeType===Node.ELEMENT_NODE&&i.contains(t))return i;if(t.nodeType===Node.ELEMENT_NODE&&t.contains(i))return t;let n=[],r=i.parentNode;for(;r&&r.nodeType===Node.ELEMENT_NODE;)n.push(r),r=r.parentNode;let o=[];for(r=t.parentNode;r&&r.nodeType===Node.ELEMENT_NODE;)o.push(r),r=r.parentNode;let a=n.find(l=>o.indexOf(l)>=0);return a||(a=o.find(l=>n.indexOf(l)>=0)),a}function o8(i){let t=i.cloneRange(),n=t.startContainer,r=t.startOffset,o=t.endContainer,a=t.endOffset;n.childNodes.length&&r>0&&(n=p4(n.childNodes[r-1]),r=n.length||0),a<o.childNodes.length&&(o=h4(o.childNodes[a]),a=0);let l=h4(n),u=p4(o);function d(f){if(f.childNodes.length)return!1;let m=f.length||0;return f===n&&r===m?!1:!(f===o&&a===0)}for(;l&&!d(l)&&l!==u;)l=s8(l);for(l===n?t.setStart(n,r):l!==null&&(l.nodeType===3?t.setStart(l,0):t.setStartBefore(l));u&&!d(u)&&u!==l;)u=a8(u);return u===o?t.setEnd(o,a):u!==null&&(u.nodeType===3?t.setEnd(u,u.length):t.setEndAfter(u)),t}function s8(i){if(i.firstChild)return i.firstChild;let t=i;for(;!t.nextSibling;)if(t=t.parentNode,!t)return null;return t.nextSibling}function a8(i){if(i.lastChild)return i.lastChild;let t=i;for(;!t.previousSibling;)if(t=t.parentNode,!t)return null;return t.previousSibling}function h4(i){for(;i.firstChild;)i=i.firstChild;return i}function p4(i){for(;i.lastChild;)i=i.lastChild;return i}A();var a0=Je(m4()),no;(function(r){r[r.All=0]="All",r[r.Two=1]="Two",r[r.One=2]="One"})(no||(no={}));var Ii,l0;function ln(i,t,n){if(i.nodeType!==Node.ELEMENT_NODE)throw new Error("Can't generate CSS selector for non-element node type.");if(i.tagName.toLowerCase()==="html")return i.tagName.toLowerCase();let r={className:a=>!0,idName:a=>!0,optimizedMinLength:2,root:t.body,seedMinLength:1,tagName:a=>!0,threshold:1e3};Ii=Fe(Fe({},r),n),l0=p8(Ii.root,r);let o=c0(i,0,()=>c0(i,1,()=>c0(i,2)));if(o){let a=E4(S4(o,i));return a.length>0&&(o=a[0]),wd(o)}else throw new Error("Selector was not found.")}function p8(i,t){return i.nodeType===Node.DOCUMENT_NODE?i:i===t.root?i.ownerDocument:i}function c0(i,t,n){let r=null,o=[],a=i,l=0;for(;a&&a!==Ii.root.parentElement;){let u=f0(g8(a))||f0(...m8(a))||f0(y8(a))||[b8()],d=v8(a);if(t===0)d&&(u=u.concat(u.filter(d0).map(f=>u0(f,d))));else if(t===1)u=u.slice(0,1),d&&(u=u.concat(u.filter(d0).map(f=>u0(f,d))));else if(t===2){let[f]=u=u.slice(0,1);d&&d0(f)&&(u=[u0(f,d)])}for(let f of u)f.level=l;if(o.push(u),o.length>=Ii.seedMinLength&&(r=y4(o,n),r))break;a=a.parentElement,l++}return r||(r=y4(o,n)),r}function y4(i,t){let n=E4(w4(i));if(n.length>Ii.threshold)return t?t():null;for(let r of n)if(v4(r))return r;return null}function wd(i){let t=i[0],n=t.name;for(let r=1;r<i.length;r++){let o=i[r].level||0;t.level===o-1?n=`${i[r].name} > ${n}`:n=`${i[r].name} ${n}`,t=i[r]}return n}function b4(i){return i.map(t=>t.penalty).reduce((t,n)=>t+n,0)}function v4(i){switch(l0.querySelectorAll(wd(i)).length){case 0:throw new Error(`Can't select any node with this selector: ${wd(i)}`);case 1:return!0;default:return!1}}function g8(i){let t=i.getAttribute("id");return t&&Ii.idName(t)?{name:"#"+(0,a0.default)(t,{isIdentifier:!0}),penalty:0}:null}function m8(i){return Array.from(i.classList).filter(Ii.className).map(n=>({name:"."+(0,a0.default)(n,{isIdentifier:!0}),penalty:1}))}function y8(i){let t=i.tagName.toLowerCase();return Ii.tagName(t)?{name:t,penalty:2}:null}function b8(){return{name:"*",penalty:3}}function v8(i){let t=i.parentNode;if(!t)return null;let n=t.firstChild;if(!n)return null;let r=0;for(;n&&(n.nodeType===Node.ELEMENT_NODE&&r++,n!==i);)n=n.nextSibling;return r}function u0(i,t){return{name:i.name+`:nth-child(${t})`,penalty:i.penalty+1}}function d0(i){return i.name!=="html"&&!i.name.startsWith("#")}function f0(...i){let t=i.filter(w8);return t.length>0?t:null}function w8(i){return i!=null}function*w4(i,t=[]){if(i.length>0)for(let n of i[0])yield*w4(i.slice(1,i.length),t.concat(n));else yield t}function E4(i){return Array.from(i).sort((t,n)=>b4(t)-b4(n))}function*S4(i,t){if(i.length>2&&i.length>Ii.optimizedMinLength)for(let n=1;n<i.length-1;n++){let r=[...i];r.splice(n,1),v4(r)&&E8(r,t)&&(yield r,yield*S4(r,t))}}function E8(i,t){return l0.querySelector(wd(i))===t}A();var Le;(function(a){a[a.Highlight=0]="Highlight",a[a.Underline=1]="Underline",a[a.Bookmark=2]="Bookmark",a[a.Custom=3]="Custom",a[a.Comment=4]="Comment"})(Le||(Le={}));A();var h0=24,S8=24,O4="0 0 24 24",Gn=(i,t,n,r="icon")=>`<svg xmlns="http://www.w3.org/2000/svg" width="${h0}" height="${S8}" viewBox="${O4}" preserveAspectRatio="xMidYMid meet" role="img" class="${r}" aria-labelledBy="${i}">
|
|
67
67
|
<title id="${i}">${t}</title>
|
|
68
68
|
${n}
|
|
69
69
|
</svg>`,O8=(i,t,n,r,o="icon")=>`<svg xmlns="http://www.w3.org/2000/svg" width="${h0}" height="${h0}" viewBox="${r}" preserveAspectRatio="xMidYMid meet" role="img" class="${o}" aria-labelledBy="${i}">
|
|
@@ -72,7 +72,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
72
72
|
</svg>`,Us=(i,t,n,r="icon",o,a)=>`<svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" viewBox="${O4}" style="fill:${a}" preserveAspectRatio="xMidYMid meet" role="img" class="${r}" aria-labelledBy="${i}">
|
|
73
73
|
<title id="${i}">${t}</title>
|
|
74
74
|
${n}
|
|
75
|
-
</svg>`,Ur={error:Gn("error-icon","Warning",'<path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/>'),home:'<path d="M12 5.69l5 4.5V18h-2v-6H9v6H7v-7.81l5-4.5M12 3L2 12h3v8h6v-6h2v6h6v-8h3L12 3z"/>',expand:Gn("expand-icon","Enter fullscreen",'<path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/>',"icon active-icon"),loading:O8("loading-icon","Loading",'<path fill="#BBBBBB" d="M145,241.6c-53.3,0-96.6-43.2-96.6-96.6c0-53.3,43.2-96.6,96.6-96.6c53.3,0,96.6,43.2,96.6,96.6 c0,26.7-10.8,50.9-28.3,68.3l7.6,7.6c19.4-19.4,31.5-46.3,31.5-75.9c0-59.3-48-107.3-107.3-107.3S37.7,85.7,37.7,145 c0,59.3,48,107.3,107.3,107.3V241.6z"/>',"0 0 290 290"),next:Gn("next-icon","Next Chapter",'<path d="M6.49 20.13l1.77 1.77 9.9-9.9-9.9-9.9-1.77 1.77L14.62 12l-8.13 8.13z"/>'),previous:Gn("previous-icon","Previous Chapter",'<path d="M17.51 3.87L15.73 2.1 5.84 12l9.9 9.9 1.77-1.77L9.38 12l8.13-8.13z"/>'),settings:Gn("settings-icon","Settings",'<path d="M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/>',"icon open"),toc:Gn("toc-icon","Table of Contents",'<path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 0h2v-2h-2v2zm0-10v2h2V7h-2zm0 6h2v-2h-2v2z"/>',"icon open"),bookmarks:Gn("toc-icon","Bookmarks",'<path d="M4,6H2v16h16v-2H4V6z"/><path d="M22,2H6v16h16V2z M20,12l-2.5-1.5L15,12V4h5V12z"/>',"icon open"),bookmark:Gn("toc-icon","Bookmark",'<path d="M19,3H5v18l7-3l7,3V3z"/>',"icon open"),delete:Gn("delete-icon","Delete",'<path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"/>',"icon open"),close:Gn("close-icon","Close",'<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>',"icon open"),text:Gn("text-icon","Text",'<path d="M5 4v3h5.5v12h3V7H19V4z"/>',"icon open"),speak:Gn("speak-icon","Speak",'<circle cx="9" cy="9" r="4"/><path d="M9 15c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4zm7.76-9.64l-1.68 1.69c.84 1.18.84 2.71 0 3.89l1.68 1.69c2.02-2.02 2.02-5.07 0-7.27zM20.07 2l-1.63 1.63c2.77 3.02 2.77 7.56 0 10.74L20.07 16c3.9-3.89 3.91-9.95 0-14z"/><path d="M0 0h24v24H0z" fill="none"/>',"icon open"),note:Gn("note-icon","Note",'<polygon points="17.71 24.66 22.3 20.07 17.71 20.07 17.71 24.66" fill="none"/><path d="M22.42.07H5.58A3.28,3.28,0,0,0,2.29,3.35V24.79a3.28,3.28,0,0,0,3.29,3.28H16.71a1,1,0,0,0,.71-.29l8-8a1,1,0,0,0,.29-.71V3.35A3.28,3.28,0,0,0,22.42.07Zm-8.17,15h-7v-2h7Zm-7-6v-2h13v2ZM16.5,25.86v-6a1,1,0,0,1,1-1h6Z" />',"icon open"),highlight:Gn("highlight-icon","Highlight",'<path d="M27.71,7.78,21.12,1.19a1,1,0,0,0-1.38,0L4.32,15A1,1,0,0,0,4,15.7a1,1,0,0,0,.3.73c1.22,1.22,1.2,2.37,0,3.62a1,1,0,0,0,0,1.41l3.2,3.2a1,1,0,0,0,1.41,0c1.28-1.28,2.36-1.29,3.62,0a1,1,0,0,0,1.45,0L27.74,9.16A1,1,0,0,0,27.71,7.78Z" /><path d="M3.09,22.59l-2.8,2.8a1,1,0,0,0-.21,1.09A1,1,0,0,0,1,27.1H4.6a1,1,0,0,0,.71-.29l1-1Z" />',"icon open")};var p0=Je(Ed());var Mn=Je(Dt()),Me;(function(d){d.R2_ID_HIGHLIGHTS_CONTAINER="R2_ID_HIGHLIGHTS_CONTAINER",d.R2_ID_BOOKMAKRS_CONTAINER="R2_ID_BOOKMAKRS_CONTAINER",d.R2_ID_READALOUD_CONTAINER="R2_ID_READALOUD_CONTAINER",d.R2_ID_PAGEBREAK_CONTAINER="R2_ID_PAGEBREAK_CONTAINER",d.R2_ID_SEARCH_CONTAINER="R2_ID_SEARCH_CONTAINER",d.R2_ID_DEFINITIONS_CONTAINER="R2_ID_DEFINITIONS_CONTAINER",d.R2_ID_LINEFOCUS_CONTAINER="R2_ID_LINEFOCUS_CONTAINER",d.R2_ID_GUTTER_RIGHT_CONTAINER="R2_ID_GUTTER_RIGHT_CONTAINER"})(Me||(Me={}));var x4="R2_CLASS_HIGHLIGHT_CONTAINER",Ya="R2_CLASS_HIGHLIGHT_BOUNDING_AREA",pn="R2_CLASS_HIGHLIGHT_AREA",Za="R2_CLASS_HIGHLIGHT_ICON",si=.5,_4=.75,$o={blue:100,green:50,red:230},zt=[],x8="data-highlighted",_8="data-timestamp",zs={ELEMENT_NODE:1,TEXT_NODE:3},hr=[Me.R2_ID_HIGHLIGHTS_CONTAINER,Me.R2_ID_PAGEBREAK_CONTAINER,Me.R2_ID_SEARCH_CONTAINER,Me.R2_ID_READALOUD_CONTAINER,Me.R2_ID_BOOKMAKRS_CONTAINER,Me.R2_ID_DEFINITIONS_CONTAINER,Me.R2_ID_LINEFOCUS_CONTAINER,Me.R2_ID_GUTTER_RIGHT_CONTAINER,x4,pn,Ya],g0=-1,m0=-1,De=class{constructor(t,n,r,o,a,l){this.lastSelectedHighlight=void 0;this.activeAnnotationMarkerId=void 0;this.showTool=(0,Ka.debounce)(t=>{this.isAndroid()||this.snapSelectionToWord(t),this.toolboxShow()},navigator.userAgent.toLowerCase().indexOf("firefox")>-1?200:100);this.isSelectionMenuOpen=!1;this.selectionMenuOpened=(0,Ka.debounce)(()=>{this.isSelectionMenuOpen||(this.isSelectionMenuOpen=!0,this.api?.selectionMenuOpen&&this.api?.selectionMenuOpen(),this.delegate.emit("toolbox.opened","opened"))},100);this.selectionMenuClosed=(0,Ka.debounce)(()=>{this.isSelectionMenuOpen&&(this.isSelectionMenuOpen=!1,this.api?.selectionMenuClose&&this.api?.selectionMenuClose(),this.delegate.emit("toolbox.closed","closed"))},100);this.selection=(0,Ka.debounce)((t,n)=>{this.api?.selection&&this.api?.selection(t,n)},100);this.getScrollingElement=t=>t?.scrollingElement?t?.scrollingElement:t?.body?t?.body:document.createElement("body");this.delegate=t,this.layerSettings=n,this.properties=r,this.api=l,this.hasEventListener=o,this.options=this.defaults(a,{color:"#fce300",highlightedClass:"highlighted",contextClass:"highlighter-context",onBeforeHighlight:function(){return!0},onAfterHighlight:function(){}}),this.delegate.highlighter=this}static async create(t){let n=new this(t.delegate,t.layerSettings,t,!1,{},t.api);return new Promise(r=>r(n))}async initialize(){let t=this.delegate.iframes[0].contentDocument;t&&this.dom(t.body).addClass(this.options.contextClass),this.bindEvents(this.delegate.iframes[0].contentDocument?.body,this,this.hasEventListener),this.initializeToolbox(),g0=-1,m0=-1;let n=this;async function r(){n.lastSelectedHighlight===void 0||(n.lastSelectedHighlight=void 0)}setTimeout(async()=>{let o=this.delegate.iframes[0].contentDocument;o&&await o.body?.addEventListener("click",r)},100)}haveSameColor(t,n){return this.dom(t).color()===this.dom(n).color()}defaults(t,n){t=t||{};for(let r in n)n.hasOwnProperty(r)&&t[r]===void 0&&(t[r]=n[r]);return t}unique(t){return t.filter(function(n,r,o){return o.indexOf(n)===r})}refineRangeBoundaries(t){let n=t.startContainer,r=t.endContainer,o=t.commonAncestorContainer,a=!0;if(t.endOffset===0){for(;!r.previousSibling&&r.parentNode!==o;)r=r.parentNode;r=r.previousSibling}else r.nodeType===zs.TEXT_NODE?t.endOffset<r.nodeValue.length&&r.splitText(t.endOffset):t.endOffset>0&&(r=r.childNodes.item(t.endOffset-1));return n.nodeType===zs.TEXT_NODE?t.startOffset===n.nodeValue.length?a=!1:t.startOffset>0&&(n=n.splitText(t.startOffset),r===n.previousSibling&&(r=n)):t.startOffset<n.childNodes.length?n=n.childNodes.item(t.startOffset):n=n.nextSibling,{startContainer:n,endContainer:r,goDeeper:a}}sortByDepth(t,n){let r=this;t.sort(function(o,a){return r.dom(n?a:o).parents().length-r.dom(n?o:a).parents().length})}groupHighlights(t){let n=[],r={},o=[];return t.forEach(function(a){let l=a.getAttribute(_8);typeof r[l]=="undefined"&&(r[l]=[],n.push(l)),r[l].push(a)}),n.forEach(function(a){let l=r[a];o.push({chunks:l,timestamp:a,toString:function(){return l.map(function(u){return u.textContent}).join("")}})}),o}dom(t){let n=this;return{addClass:function(r){t.classList?t.classList.add(r):t.className+=" "+r},removeClass:function(r){t.classList?t.classList.remove(r):t.className=t.className.replace(new RegExp("(^|\\b)"+r+"(\\b|$)","gi")," ")},prepend:function(r){let o=Array.prototype.slice.call(r),a=o.length;for(;a--;)t.insertBefore(o[a],t.firstChild)},append:function(r){let o=Array.prototype.slice.call(r);for(let a=0,l=o.length;a<l;++a)t.appendChild(o[a])},insertAfter:function(r){return r.parentNode?.insertBefore(t,r.nextSibling)},insertBefore:function(r){return r.parentNode?.insertBefore(t,r)},remove:function(){t.parentNode.removeChild(t),t=null},contains:function(r){return t!==r&&t.contains(r)},wrap:function(r){return t.parentNode&&t.parentNode.insertBefore(r,t),r.appendChild(t),r},unwrap:function(){let r=Array.prototype.slice.call(t.childNodes),o;return r.forEach(function(a){o=a.parentNode,n.dom(a).insertBefore(a.parentNode),n.dom(o).remove()}),r},parents:function(){let r,o=[];for(;r=t.parentNode;)o.push(r),t=r;return o},normalizeTextNodes:function(){if(!!t){if(t.nodeType===zs.TEXT_NODE)for(;t.nextSibling&&t.nextSibling.nodeType===zs.TEXT_NODE;)t.nodeValue+=t.nextSibling.nodeValue,t.parentNode.removeChild(t.nextSibling);else n.dom(t.firstChild).normalizeTextNodes();n.dom(t.nextSibling).normalizeTextNodes()}},color:function(){return t.style.backgroundColor},fromHTML:function(r){let o=document.createElement("div");return o.innerHTML=r,o.childNodes},getRange:function(){let r=n.dom(t)?.getSelection(),o;return r?.rangeCount>0&&(o=r?.getRangeAt(0)),o},removeAllRanges:function(){n.dom(t)?.getSelection()?.removeAllRanges(),n.toolboxHide()},getSelection:function(){return n.dom(t).getWindow()?.getSelection()},getWindow:function(){return n.dom(t).getDocument()?.defaultView},getDocument:function(){return t?.ownerDocument||t}}}disableContext(t){return t.preventDefault(),t.stopPropagation(),!1}bindEvents(t,n,r){let o=t.ownerDocument;t.addEventListener("mouseup",this.toolboxShowDelayed.bind(this)),t.addEventListener("touchend",this.toolboxShowDelayed.bind(this)),o.addEventListener("mouseup",this.toolboxShowDelayed.bind(this)),o.addEventListener("touchend",this.toolboxShowDelayed.bind(this)),r||window.addEventListener("resize",this.toolboxPlacement.bind(this)),o.addEventListener("selectionchange",this.toolboxPlacement.bind(this)),t.addEventListener("mousedown",this.toolboxHide.bind(this)),t.addEventListener("touchstart",this.toolboxHide.bind(this)),this.isAndroid()&&t.addEventListener("contextmenu",this.disableContext),t.addEventListener("mousedown",this.mousedown.bind(this)),t.addEventListener("mouseup",this.mouseup.bind(this)),t.addEventListener("mousemove",this.mousemove.bind(this)),t.addEventListener("touchstart",this.mousedown.bind(this)),t.addEventListener("touchend",this.mouseup.bind(this)),t.addEventListener("touchmove",this.mousemove.bind(this)),this.hasEventListener=!0}async mousedown(t){g0=t.clientX,m0=t.clientY}async mouseup(t){Math.abs(g0-t.clientX)<3&&Math.abs(m0-t.clientY)<3&&await this.processMouseEvent(t)}async mousemove(t){await this.processMouseEvent(t)}unbindEvents(t,n){let r=t.ownerDocument;t.removeEventListener("mouseup",this.toolboxShowDelayed.bind(this)),t.removeEventListener("touchend",this.toolboxShowDelayed.bind(this)),r.removeEventListener("mouseup",this.toolboxShowDelayed.bind(this)),r.removeEventListener("touchend",this.toolboxShowDelayed.bind(this)),window.removeEventListener("resize",this.toolboxPlacement.bind(this)),r.removeEventListener("selectionchange",this.toolboxPlacement.bind(this)),t.removeEventListener("mousedown",this.toolboxHide.bind(this)),t.removeEventListener("touchstart",this.toolboxHide.bind(this)),this.isAndroid()&&t.removeEventListener("contextmenu",this.disableContext),t.removeEventListener("mousedown",this.mousedown.bind(this)),t.removeEventListener("mouseup",this.mouseup.bind(this)),t.removeEventListener("mousemove",this.mousemove.bind(this)),t.removeEventListener("touchstart",this.mousedown.bind(this)),t.removeEventListener("touchend",this.mouseup.bind(this)),t.removeEventListener("touchmove",this.mousemove.bind(this)),this.hasEventListener=!1}destroy(){this.toolboxHide();let t=this.delegate.iframes[0].contentDocument;t&&(this.unbindEvents(t.body,this),this.dom(t.body).removeClass(this.options.contextClass))}initializeToolbox(){let t=document.getElementById("highlight-toolbox-mode-colors"),n=document.getElementById("highlight-toolbox-mode-add"),r=["#fce300","#48e200","#00bae5","#157cf9","#6a39b7","#ea426a","#ff8500"],o=document.getElementById("colorIcon"),a=document.getElementById("actionIcon"),l=document.getElementById("dismissIcon"),u=document.getElementById("collapseIcon"),d=document.getElementById("highlightIcon"),f=this;if(l&&(l.innerHTML=Ur.close,l.addEventListener("click",function(){f.toolboxMode("add")})),u&&(u.innerHTML=Ur.close,u.addEventListener("click",function(){f.toolboxMode("add")})),o){o.style.position="relative",o.style.zIndex="20",r.forEach(E=>{let S=document.getElementById(E),v=document.getElementById(`c${E}`);S&&t?.contains(S)&&t.removeChild(S),n&&v&&n.contains(v)&&n.removeChild(v)});let m=[],p=[];if(o.addEventListener("click",function(){f.toolboxMode("colors")}),this.delegate.rights.enableAnnotations){let E=10;r.forEach(S=>{E--;let v=o?.cloneNode(!0),y=v.lastChild,b=De.hexToRgbChannels(S);y.style.backgroundColor="rgba("+[b.red,b.green,b.blue].join(",")+",.5)",v.id=`c${S}`,v.style.display="unset",v.style.position="relative",v.style.zIndex=`${E}`,v.style.marginLeft="-30px",p.push(v),n?.insertBefore(v,d)})}r.forEach(E=>{let S=o?.cloneNode(!0),v=S.lastChild;v.style.backgroundColor=E,S.id=E,S.style.position="relative",S.style.display="unset",m.push(S),o&&S.addEventListener("click",function(){f.setColor(E);let y=o?.lastChild;y&&(y.style.backgroundColor=E);let b=document.getElementById("highlightIcon"),w=document.getElementById("underlineIcon"),O=document.getElementById("noteIcon");(b?.getElementsByTagName?.("span").length??0)>0&&((b?.getElementsByTagName("span")[0]).style.background=f.getColor()),(w?.getElementsByTagName?.("span").length??0)>0&&((w?.getElementsByTagName("span")[0]).style.borderBottomColor=f.getColor()),(O?.getElementsByTagName?.("span").length??0)>0&&((O?.getElementsByTagName("span")[0]).style.borderBottomColor=f.getColor()),f.toolboxMode("add")}),t?.insertBefore(S,l)})}a&&a.addEventListener("click",function(){f.toolboxMode("action")}),f.toolboxMode("add")}toolboxMode(t){let n=document.getElementById("highlight-toolbox-mode-colors"),r=document.getElementById("highlight-toolbox-mode-add"),o=document.getElementById("highlight-toolbox-mode-edit"),a=document.getElementById("highlight-toolbox-mode-action");switch(t){case"colors":n&&(n.style.display="unset"),r&&(r.style.display="none"),o&&(o.style.display="none"),a&&(a.style.display="none");break;case"edit":n&&(n.style.display="none"),r&&(r.style.display="none"),o&&(o.style.display="unset"),a&&(a.style.display="none");break;case"action":n&&(n.style.display="none"),r&&(r.style.display="none"),o&&(o.style.display="none"),a&&(a.style.display="unset");break;default:n&&(n.style.display="none"),r&&(r.style.display="unset"),o&&(o.style.display="none"),a&&(a.style.display="none");break}}toolboxHide(){let t=document.getElementById("highlight-toolbox");t&&(t.style.display="none"),this.selectionMenuClosed()}toolboxShowDelayed(t){this.showTool(t.detail===1)}snapSelectionToWord(t=!1){let n=this,r=this.delegate.iframes[0].contentDocument;if(r){let a=n.dom(r.body)?.getSelection();if(n.dom(r.body)&&a&&!a?.isCollapsed){let f=function(b){let w=b.match(new RegExp("[^a-zA-Z0-9]+$"));return!w||!w.index?b:b.slice(0,w.index)},l=a.toString(),u=l.length-l.trimStart().length,d=l.length-l.trimEnd().length,m=l.length;var o=/[-!$%^&*()_+|~=`{}[\]:/;<>?,.@#]/;l=l.replace(o,""),u=m-l.trimStart().length,l=f(l),d=m-l.trimEnd().length;let p=document.createRange();t?(p.setStart(a.anchorNode,a.anchorOffset+u),p.setEnd(a.focusNode,a.focusOffset-d)):(p.setStart(a.anchorNode,a.anchorOffset),p.setEnd(a.focusNode,a.focusOffset));let E=p.collapsed;p.detach();let S=a.focusNode,v;t?(v=a.focusOffset-d,a.collapse(a.anchorNode,a.anchorOffset+u)):(v=a.focusOffset,a.collapse(a.anchorNode,a.anchorOffset));let y=["forward","backward"];E&&(y=["backward","forward"]),t?(a.modify("move",y[0],"character"),a.modify("move",y[1],"word"),a.extend(S,v),a.modify("extend",y[1],"character"),a.modify("extend",y[0],"word")):a.extend(S,v),this.selection(a.toString(),a)}return a}}toolboxShow(){if(this.activeAnnotationMarkerId===void 0){let t=this,n=document.getElementById("highlight-toolbox-mode-add"),r=this.dom(this.delegate.iframes[0].contentDocument?.body).getRange();if((!r||r.collapsed)&&n){getComputedStyle(n).display!=="none"&&t.toolboxHide();return}this.isIOS()&&setTimeout(function(){let o=t.delegate.iframes[0].contentDocument;if(o){let a=t.dom(o.body).getSelection();a.removeAllRanges(),setTimeout(function(){a.addRange(r);function l(f){let m={className:E=>hr.indexOf(E)<0,idName:E=>hr.indexOf(E)<0},p=t.delegate.iframes[0].contentDocument;if(p)return ln(f,p,m)}let u=t.delegate.iframes[0].contentWindow,d=oi(u,l);t.delegate.annotationModule?.annotator?.saveTemporarySelectionInfo(d)},5)}},100),this.toolboxPlacement(),this.toolboxHandler()}}toolboxPlacement(){let t=this.dom(this.delegate.iframes[0].contentDocument?.body).getRange();if(!t||t.collapsed)return;let n=t.getBoundingClientRect(),r=document.getElementById("highlight-toolbox");r&&(this.delegate.view?.isPaginated()?r.style.top=n.top+(this.delegate.attributes?.navHeight??0)+"px":r.style.top=n.top+"px",r.style.left=(n.right-n.left)/2+n.left+"px")}toolboxHandler(){let t=document.getElementById("highlight-toolbox");if(t&&getComputedStyle(t).display==="none"){t.style.display="block",this.delegate.view?.isPaginated()?t.style.position="absolute":t.style.position="relative",this.selectionMenuOpened();let r=this;r.toolboxMode("add");let o=document.getElementById("highlightIcon"),a=document.getElementById("collapseIcon"),l=document.getElementById("underlineIcon"),u=document.getElementById("noteIcon"),d=document.getElementById("colorIcon"),f=document.getElementById("speakIcon");if(this.delegate.rights.enableAnnotations){if(o&&(o.style.display="unset",d&&o.getElementsByTagName("span").length>0&&(o.getElementsByTagName("span")[0].style.background=this.getColor())),l&&(l.style.display="unset",d&&l.getElementsByTagName("span").length>0&&(l.getElementsByTagName("span")[0].style.borderBottomColor=this.getColor())),u&&(u.style.display="unset",d&&u.getElementsByTagName("span").length>0&&(u.getElementsByTagName("span")[0].style.borderBottomColor=this.getColor())),d){d.style.display="unset";let m=d.lastChild;m.style.backgroundColor=this.getColor()}if(o){let m=function(){r.doHighlight(!1,Le.Highlight),r.toolboxHide(),o?.removeEventListener("click",m)},p=o.cloneNode(!0);o?.parentNode?.replaceChild(p,o),o=document.getElementById("highlightIcon"),o?.addEventListener("click",m)}if(l){let m=function(){r.doHighlight(!1,Le.Underline),r.toolboxHide(),l?.removeEventListener("click",m)},p=l.cloneNode(!0);l?.parentNode?.replaceChild(p,l),l=document.getElementById("underlineIcon"),l?.addEventListener("click",m)}if(u){let m=function(){r.doHighlight(!1,Le.Comment),r.toolboxHide(),u?.removeEventListener("click",m)},p=u.cloneNode(!0);u?.parentNode?.replaceChild(p,u),u=document.getElementById("noteIcon"),u?.addEventListener("click",m)}}else o&&o.style.setProperty("display","none"),l&&l.style.setProperty("display","none"),u&&u.style.setProperty("display","none"),d&&d.style.setProperty("display","none"),a&&a.style.setProperty("display","none");if(this.delegate.rights.enableTTS){if(f){let m=function(){f?.removeEventListener("click",m),r.speak()},p=f.cloneNode(!0);f?.parentNode?.replaceChild(p,f),f=document.getElementById("speakIcon"),f?.addEventListener("click",m)}}else f&&f.style.setProperty("display","none");(this.properties?.selectionMenuItems??[])&&(this.properties?.selectionMenuItems??[]).forEach(m=>{m.icon&&(m.icon.id=m.id);let p=document.getElementById(m.id),E=this;function S(){p?.removeEventListener("click",S);function v(b){let w={className:T=>hr.indexOf(T)<0,idName:T=>hr.indexOf(T)<0},O=E.delegate.iframes[0].contentDocument;if(O)return ln(b,O,w)}let y=E.delegate.iframes[0].contentWindow;if(y){let b=oi(y,v);if(b===void 0){let w=E.delegate.iframes[0].contentDocument;b=E.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(w)}if(b!==void 0)if(m.callback)m.callback(b.cleanText,b.range?.startContainer.parentElement);else{let w=m.highlight?.style,O=m.marker?m.marker:Le.Custom;if(O===Le.Custom&&E.delegate.rights.enableAnnotations||O===Le.Bookmark&&E.delegate.rights.enableBookmarks){let T=E.delegate.iframes[0].contentDocument;if(T){let C=E.createHighlight(E.dom(T.body).getWindow(),b,m.highlight?.color,!0,O,m.icon,m.popup,w);E.options.onAfterHighlight(C,O),E.delegate.rights.enableAnnotations?E.delegate.annotationModule?.saveAnnotation(C[0]).then(_=>{m?.note&&_.highlight&&E.delegate.annotationModule?.api?.addCommentToAnnotation(_).then(P=>{E.delegate.annotationModule?.updateAnnotation(P).then(async()=>{Mn.default.log("update highlight "+P.id)})})}):E.delegate.rights.enableBookmarks&&E.delegate.bookmarkModule?.saveAnnotation(C[0])}}}}E.callbackComplete()}if(p){let v=p.cloneNode(!0);p?.parentNode?.replaceChild(v,p),p=document.getElementById(m.id),p?.addEventListener("click",S)}})}}doHighlight(t,n){let r=this;function o(l){let u={className:f=>hr.indexOf(f)<0,idName:f=>hr.indexOf(f)<0},d=r.delegate.iframes[0].contentDocument;if(d)return ln(l,d,u)}let a=r.delegate.iframes[0].contentWindow;if(a){let l=oi(a,o);if(l===void 0){let u=r.delegate.iframes[0].contentDocument;l=this.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(u)}if(l){if(this.options.onBeforeHighlight(l)===!0){let u;u=this.getColor(),De.isHexColor(u)&&(u=De.hexToRgbChannels(u));let d=r.delegate.iframes[0].contentDocument;if(d){let f=this.createHighlight(r.dom(d.body).getWindow(),l,u,!0,n??Le.Highlight);this.options.onAfterHighlight(f,n),this.delegate.rights.enableAnnotations&&n!==Le.Bookmark?this.delegate.annotationModule?.saveAnnotation(f[0]):this.delegate.rights.enableBookmarks&&n===Le.Bookmark&&this.delegate.bookmarkModule?.saveAnnotation(f[0])}}t||this.dom(this.delegate.iframes[0].contentDocument?.body).removeAllRanges()}else t||this.dom(this.delegate.iframes[0].contentDocument?.body).removeAllRanges()}}speak(){if(this.delegate.rights.enableTTS){let n=function(l){let u={className:f=>hr.indexOf(f)<0,idName:f=>hr.indexOf(f)<0},d=t.delegate.iframes[0].contentDocument;if(d)return ln(l,d,u)},t=this,r=t.delegate.iframes[0].contentWindow;if(r){let l=oi(r,n);if(l===void 0){let u=t.delegate.iframes[0].contentDocument;l=t.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(u)}l!==void 0&&this.delegate.ttsModule.speak(l,!0,()=>{})}let o=t.delegate.iframes[0].contentDocument;o&&t.dom(o.body).getSelection().removeAllRanges();let a=document.getElementById("highlight-toolbox");a&&(a.style.display="none"),this.selectionMenuClosed()}}stopReadAloud(){this.delegate.rights.enableTTS&&this.doneSpeaking()}callbackComplete(){this.toolboxHide();let t=this.delegate.iframes[0].contentDocument;t&&this.dom(t.body).removeAllRanges()}isOutsideViewport(t){let n=dt(document,"#iframe-wrapper"),r=n.scrollLeft,o=r+n.clientWidth,a=t.left+t.width,l=t.top+t.height,u=n.scrollTop,d=u+n.clientHeight,f=l<u,m=t.top>d,p=a<r,E=t.left>o;return f||m||p||E}isInsideViewport(t){let n=dt(document,"#iframe-wrapper"),r=n.scrollTop,o=r+n.clientHeight,a=t.top+20>=r,l=t.top<=o,u=n.scrollLeft,d=u+n.clientWidth,f=t.left+t.width,m=t.left>u,p=f<d;return a&&l&&m&&p}get visibleTextRects(){let t=this.delegate.iframes[0].contentDocument;if(t){let r=function(u,d=[]){let f=u.firstChild;for(;f;)f.nodeType===1&&r(f,d),f.nodeType===3&&f.textContent?.trim()&&d.push(f),f=f.nextSibling;return d},o=function(u){return r(u).map(f=>{let{top:m,height:p,left:E,width:S}=a(f);return{top:m,height:p,width:S,left:E,node:f,textContent:f.textContent??""}})},a=function(u){try{let d=document.createRange();d.selectNode(u);let f=d.getBoundingClientRect();return d.detach(),f}catch(d){Mn.default.log("measureTextNode "+d),Mn.default.log("measureTextNode "+u),Mn.default.log(`${u.textContent}`)}},n=_i(t,"body");return o(n).filter(u=>this.isInsideViewport(u))}return[]}doneSpeaking(t=!1){if(this.delegate.rights.enableTTS){this.toolboxHide();let n=this.delegate.iframes[0].contentDocument;n&&this.dom(n.body).removeAllRanges(),this.delegate.ttsModule.cancel(),t&&this.delegate.reload()}}normalizeHighlights(t){var n;return n=t.filter(function(r){return r.parentElement?r:null}),n=this.unique(n),n.sort(function(r,o){return r.offsetTop-o.offsetTop||r.offsetLeft-o.offsetLeft}),n}flattenNestedHighlights(t){let n,r=this;r.sortByDepth(t,!0);function o(){let a=!1;return t.forEach(function(l,u){let d=l.parentElement,f=d.previousSibling,m=d.nextSibling;r.isHighlight(d)&&(r.haveSameColor(d,l)?(d.replaceChild(l.firstChild,l),t[u]=d,a=!0):(l.nextSibling||(r.dom(l).insertBefore(m||d),a=!0),l.previousSibling||(r.dom(l).insertAfter(f||d),a=!0),d.hasChildNodes()||r.dom(d).remove()))}),a}do n=o();while(n)}mergeSiblingHighlights(t){let n=this;function r(o,a){return a&&a.nodeType===zs.ELEMENT_NODE&&n.haveSameColor(o,a)&&n.isHighlight(a)}t.forEach(function(o){let a=o.previousSibling,l=o.nextSibling;r(o,a)&&(n.dom(o).prepend(a.childNodes),n.dom(a).remove()),r(o,l)&&(n.dom(o).append(l.childNodes),n.dom(l).remove()),n.dom(o).normalizeTextNodes()})}setColor(t){this.options.color=t}getColor(){return this.options.color}isHighlight(t){return t&&t.nodeType===zs.ELEMENT_NODE&&t.hasAttribute(x8)}createWrapper(){let t=document.createElement("mark");return t.style.background="linear-gradient("+De.hexToRgbA(this.options.color)+", "+De.hexToRgbA(this.options.color)+")",t.className=this.options.highlightedClass,t}static isHexColor(t){return/^#([A-Fa-f0-9]{3}){1,2}$/.test(t)}static hexToRgbString(t){let n;return n=t.substring(1).split(""),n.length===3&&(n=[n[0],n[0],n[1],n[1],n[2],n[2]]),n="0x"+n.join(""),n}static hexToRgbChannels(t){let n;if(this.isHexColor(t))return n=this.hexToRgbString(t),{red:n>>16&255,green:n>>8&255,blue:n&255};throw new Error("Bad Hex")}static hexToRgbA(t){let n;if(this.isHexColor(t))return n=this.hexToRgbChannels(t),"rgba("+[n.red,n.green,n.blue].join(",")+",.5)";if(typeof t=="object"){let r=t;return"rgba("+[r.red,r.green,r.blue].join(",")+",.5)"}throw new Error("Bad Hex")}static hexToRgbAWithOpacity(t,n){let r;if(this.isHexColor(t))return r=this.hexToRgbChannels(t),"rgba("+[r.red,r.green,r.blue].join(",")+","+n+")";if(typeof t=="object"){let o=t;return"rgba("+[o.red,o.green,o.blue].join(",")+","+n+")"}throw new Error("Bad Hex")}resetHighlightBoundingStyle(t){t.style.outline="none",t.style.setProperty("background-color","transparent","important")}resetHighlightAreaStyle(t,n){let r=this.delegate.iframes[0].contentWindow?.document,o=t.parentNode&&t.parentNode.nodeType===Node.ELEMENT_NODE&&t.parentNode.getAttribute?t.parentNode.getAttribute("id"):void 0;if(o){let a=zt.find(l=>l.id===o);if(a){if(a.marker===Le.Custom||a.marker===Le.Bookmark)if(a.style?.hover){if(a.style?.hover)for(let d=0;d<a.style?.hover?.length;d++){let f=a.style?.hover[d];t.style.removeProperty(f.property)}let u="";if(a.style?.default)for(let d=0;d<a.style?.default?.length;d++){let f=a.style?.default[d];t.style.removeProperty(f.property),u+=`${f.property}: ${f.value} !${f.priority};`}t.setAttribute("style",`${t.getAttribute("style")}; ${u}`)}else if(a.style?.hoverClass){a.style?.hoverClass&&t.classList.remove(a.style?.hoverClass);let u="";a.style?.defaultClass&&t.classList.add(a.style?.defaultClass),t.setAttribute("style",`${t.getAttribute("style")}; ${u}`)}else if(De.isHexColor(a.color)){let u=De.hexToRgbChannels(a.color);t.style.setProperty("background-color",`rgba(${u.red}, ${u.green}, ${u.blue}, ${0})`,"important")}else t.classList.remove("hover");else if(a.marker===Le.Underline||a.marker===Le.Comment)if(typeof a.color=="object"){let u=a.color;t.style.setProperty("background-color",`rgba(${u.red}, ${u.green}, ${u.blue}, ${0})`,"important"),t.style.setProperty("border-bottom",`2px solid rgba(${u.red}, ${u.green}, ${u.blue}, ${1})`,"important")}else if(De.isHexColor(a.color)){let u=De.hexToRgbChannels(a.color);t.style.setProperty("background-color",`rgba(${u.red}, ${u.green}, ${u.blue}, ${0})`,"important"),t.style.setProperty("border-bottom",`2px solid rgba(${u.red}, ${u.green}, ${u.blue}, ${1})`,"important")}else t.classList.remove("hover");else if(typeof a.color=="object"){let u=a.color;t.style.setProperty("background-color",`rgba(${u.red}, ${u.green}, ${u.blue}, ${si})`,"important")}else if(De.isHexColor(a.color)){let u=De.hexToRgbChannels(a.color);t.style.setProperty("background-color",`rgba(${u.red}, ${u.green}, ${u.blue}, ${si})`,"important")}else t.classList.remove("hover");let l;if(r){let u=r.getElementById(n);u&&(l=u.querySelector(`#${a.id}`))}if(l){let u=l.getElementsByClassName(Za);if(u.length>0){let d=u.item(0).getElementsByClassName("icon-tooltip");d.length>0&&d.item(0).style.removeProperty("display")}}}}}setHighlightAreaStyle(t,n,r){for(let o of n){if(r.marker===Le.Custom||r.marker===Le.Bookmark)if(r.style?.hover){if(r.style?.default)for(let l=0;l<r.style?.default?.length;l++){let u=r.style?.default[l];o.style.removeProperty(u.property)}let a="";for(let l=0;l<r.style?.hover?.length;l++){let u=r.style?.hover[l];o.style.removeProperty(u.property),a+=`${u.property}: ${u.value} !${u.priority};`}o.setAttribute("style",`${o.getAttribute("style")}; ${a}`)}else if(r.style?.hoverClass){r.style?.defaultClass&&o.classList.remove(r.style?.defaultClass);let a="";o.classList.add(r.style?.hoverClass),o.setAttribute("style",`${o.getAttribute("style")}; ${a}`)}else if(De.isHexColor(r.color)){let a=De.hexToRgbChannels(r.color);o.style.setProperty("background-color",`rgba(${a.red}, ${a.green}, ${a.blue}, ${.1})`,"important")}else o.classList.add("hover");else if(r.marker===Le.Underline||r.marker===Le.Comment)if(typeof r.color=="object"){let a=r.color;o.style.setProperty("background-color",`rgba(${a.red}, ${a.green}, ${a.blue}, ${.1})`,"important"),o.style.setProperty("border-bottom",`2px solid rgba(${a.red}, ${a.green}, ${a.blue}, ${1})`,"important")}else if(De.isHexColor(r.color)){let a=De.hexToRgbChannels(r.color);o.style.setProperty("background-color",`rgba(${a.red}, ${a.green}, ${a.blue}, ${.1})`,"important"),o.style.setProperty("border-bottom",`2px solid rgba(${a.red}, ${a.green}, ${a.blue}, ${1})`,"important")}else o.classList.add("hover");else if(typeof r.color=="object"){let a=r.color;o.style.setProperty("background-color",`rgba(${a.red}, ${a.green}, ${a.blue}, ${_4})`,"important")}else if(De.isHexColor(r.color)){let a=De.hexToRgbChannels(r.color);o.style.setProperty("background-color",`rgba(${a.red}, ${a.green}, ${a.blue}, ${_4})`,"important")}else o.classList.add("hover");if(r.type!==qe.Definition){let l=t.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER).querySelector(`#${r.id}`).getElementsByClassName(Za);if(l.length>0){let u=l.item(0).getElementsByClassName("icon-tooltip");u.length>0&&u.item(0).style.setProperty("display","block")}}}}setAndResetSearchHighlight(t,n){let r=this.delegate.iframes[0].contentWindow?.document,o=Array.from(r.getElementById(Me.R2_ID_SEARCH_CONTAINER).querySelectorAll(`.${pn}`));for(let a of o){let l=a,u=l.parentNode&&l.parentNode.nodeType===Node.ELEMENT_NODE&&l.parentNode.getAttribute?l.parentNode.getAttribute("id"):void 0;if(n.forEach(d=>{if(u===d.id&&d){if(typeof d.color=="object"){let p=d.color;l.style.setProperty("background-color",`rgba(${p.red}, ${p.green}, ${p.blue}, ${si})`,"important")}else if(De.isHexColor(d.color)){let p=De.hexToRgbChannels(d.color);l.style.setProperty("background-color",`rgba(${p.red}, ${p.green}, ${p.blue}, ${si})`,"important")}else l.classList.remove("hover");let m=r.getElementById(Me.R2_ID_SEARCH_CONTAINER).querySelector(`#${d.id}`).getElementsByClassName(Za);if(m.length>0){let p=m.item(0).getElementsByClassName("icon-tooltip");p.length>0&&p.item(0).style.removeProperty("display")}}}),u===t.id&&t){if(typeof t.color=="object"){let m=t.color;l.style.setProperty("background-color",`rgba(${m.red}, ${m.green}, ${m.blue}, ${si})`,"important")}else if(De.isHexColor(t.color)){let m=De.hexToRgbChannels(t.color);l.style.setProperty("background-color",`rgba(${m.red}, ${m.green}, ${m.blue}, ${si})`,"important")}else l.classList.remove("hover");let f=r.getElementById(Me.R2_ID_SEARCH_CONTAINER).querySelector(`#${t.id}`).getElementsByClassName(Za);if(f.length>0){let m=f.item(0).getElementsByClassName("icon-tooltip");m.length>0&&m.item(0).style.removeProperty("display")}}}}isIOS(){return navigator.userAgent.match(/iPhone|iPad|iPod/i)!=null||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1}isAndroid(){return navigator.userAgent.match(/Android/i)!=null}async processMouseEvent(t){let n=this.delegate.iframes[0].contentWindow?.document,r=t.clientX,o=t.clientY;if(!n||!n.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER)&&!n.getElementById(Me.R2_ID_SEARCH_CONTAINER)&&!n.getElementById(Me.R2_ID_PAGEBREAK_CONTAINER)&&!n.getElementById(Me.R2_ID_READALOUD_CONTAINER)&&!n.getElementById(Me.R2_ID_DEFINITIONS_CONTAINER))return;let a=this.delegate.view?.isPaginated(),l=n.body.getBoundingClientRect(),u=this.getScrollingElement(n),d=a?-u.scrollLeft:l.left,f=a?-u.scrollTop:l.top,m,p;for(let E=zt.length-1;E>=0;E--){let S=zt[E],v=n.getElementById(`${S.id}`);if(!v){let w=n.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER);w&&(v=w.querySelector(`#${S.id}`))}if(!v)continue;let y=!1,b=v.querySelectorAll(`.${pn}`);for(let w of b){let O=w,T=O.rect.left+d,C=O.rect.top+f;if(r>=T&&r<T+O.rect.width&&o>=C&&o<C+O.rect.height){y=!0;break}}if(y){m=S,p=v;break}}if(!m||!p){for(let E in Me){let S=n.getElementById(E);if(S){let v=S.querySelectorAll(`.${Ya}`);for(let b of v)this.resetHighlightBoundingStyle(b);let y=Array.from(S.querySelectorAll(`.${pn}`));for(let b of y)this.resetHighlightAreaStyle(b,E)}}return}if(p.getAttribute("data-click")){if((t.type==="mousemove"||t.type==="touchmove")&&p.parentElement?.style.display!=="none"){let E=Array.from(p.querySelectorAll(`.${pn}`));for(let v in Me){let y=n.getElementById(v);if(y){let b=y.querySelectorAll(`.${pn}`);for(let w of b)E.indexOf(w)<0&&this.resetHighlightAreaStyle(w,v)}}this.setHighlightAreaStyle(n,E,m);let S=p.querySelector(`.${Ya}`);for(let v in Me){let y=n.getElementById(v);if(y){let b=y.querySelectorAll(`.${Ya}`);for(let w of b)(!S||w!==S)&&this.resetHighlightBoundingStyle(w)}}}else if((t.type==="mouseup"||t.type==="click"||t.type==="touchup")&&p.parentElement?.style.display!=="none"){let E={highlight:m};Mn.default.log(JSON.stringify(E));let S=this,v;if(S.delegate.rights.enableAnnotations?v=await this.delegate.annotationModule?.getAnnotation(E.highlight):S.delegate.rights.enableBookmarks&&(v=await this.delegate.bookmarkModule?.getAnnotation(E.highlight)),E.highlight.type===qe.Annotation&&this.delegate.annotationModule?.api?.selectedAnnotation(v).then(async()=>{}),v?.id){Mn.default.log("selected highlight "+v.id),S.lastSelectedHighlight=v.id;let y=document.getElementById("highlight-toolbox");if(y)if(y.style.top=t.clientY+(this.delegate.attributes?.navHeight??0)+"px",y.style.left=t.clientX+"px",getComputedStyle(y).display==="none"){let O=function(){S.delegate.annotationModule?.api?.addCommentToAnnotation(v).then(I=>{S.delegate.annotationModule?.updateAnnotation(I).then(async()=>{Mn.default.log("update highlight "+I.id),y&&(y.style.display="none"),S.selectionMenuClosed()}),y&&(y.style.display="none"),S.selectionMenuClosed(),T?.removeEventListener("click",O,!1)})},_=function(){S.delegate.rights.enableAnnotations?S.delegate.annotationModule?.deleteSelectedHighlight(v).then(async()=>{Mn.default.log("delete highlight "+v.id),y&&(y.style.display="none"),S.selectionMenuClosed()}):S.delegate.rights.enableBookmarks&&S.delegate.bookmarkModule?.deleteSelectedHighlight(v).then(async()=>{Mn.default.log("delete highlight "+v.id),y&&(y.style.display="none"),S.selectionMenuClosed()})};y.style.display="block",this.toolboxMode("edit");let b=document.getElementById("colorIcon"),w=document.getElementById("highlightIcon");b&&(b.style.display="none"),w&&(w.style.display="none");let T=document.getElementById("commentIcon"),C=document.getElementById("cloneCommentIcon");if(C){let I=C.parentElement;I&&I.removeChild(C)}if(T){T.style.display="none";let I=T.cloneNode(!0),q=T.parentElement;I.style.display="unset",I.id="cloneCommentIcon",I.addEventListener("click",O,!1),q&&q.append(I)}let P=document.getElementById("deleteIcon"),D=document.getElementById("cloneDeleteIcon");if(D){let I=D.parentElement;I&&I.removeChild(D)}if(P){P.style.display="none";let I=P.cloneNode(!0),q=P.parentElement;I.style.display="unset",I.id="cloneDeleteIcon",I.addEventListener("click",_,!1),q&&q.append(I)}}else y.style.display="none",this.selectionMenuClosed(),y.offsetWidth,y.style.display="block"}else{p.dataset.definition&&new Va(this.delegate).showPopup(p.dataset.definition,t);let y=this.delegate.definitionsModule?.properties?.definitions?.filter(b=>b.order===Number(p?.dataset.order))[0];Mn.default.log(y),this.delegate.definitionsModule?.api?.click&&(this.delegate.definitionsModule.api?.click(p0.omit(y,"callbacks"),p0.omit(m,"definition")),this.delegate.emit("definition.click",y,m))}}}}async prepareContainers(t){for(let n in Me)await this.ensureHighlightsContainer(t,n)}async ensureHighlightsContainer(t,n){let r=t.document;if(!r.getElementById(n)){let o=r.createElement("div");o.setAttribute("id",n),n!==Me.R2_ID_GUTTER_RIGHT_CONTAINER&&o.style.setProperty("pointer-events","none"),this.delegate.view?.layout==="fixed"&&(o.style.setProperty("position","absolute"),o.style.setProperty("top","0"),o.style.setProperty("left","0")),r.body&&r.body.append(o),(await this.layerSettings.getProperty(n))?.value===!1&&(o.style.display="none")}return r.getElementById(n)}hideAllhighlights(t){this.removeAllChildNodes(t.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER)),this.removeAllChildNodes(t.getElementById(Me.R2_ID_SEARCH_CONTAINER)),this.removeAllChildNodes(t.getElementById(Me.R2_ID_READALOUD_CONTAINER)),this.removeAllChildNodes(t.getElementById(Me.R2_ID_PAGEBREAK_CONTAINER)),this.removeAllChildNodes(t.getElementById(Me.R2_ID_DEFINITIONS_CONTAINER))}destroyAllhighlights(t){this.hideAllhighlights(t),zt.splice(0,zt.length)}removeAllChildNodes(t){for(;t.firstChild;)t.removeChild(t.firstChild)}destroyHighlights(t){let n=this.delegate.iframes[0].contentWindow?.document;if(n){let r;switch(t){case qe.ReadAloud:r=n.getElementById(Me.R2_ID_READALOUD_CONTAINER),r&&this.removeAllChildNodes(r);break;case qe.Search:r=n.getElementById(Me.R2_ID_SEARCH_CONTAINER),r&&this.removeAllChildNodes(r);break;case qe.PageBreak:r=n.getElementById(Me.R2_ID_PAGEBREAK_CONTAINER),r&&this.removeAllChildNodes(r);break;case qe.Definition:r=n.getElementById(Me.R2_ID_DEFINITIONS_CONTAINER),r&&this.removeAllChildNodes(r);break;case qe.LineFocus:r=n.getElementById(Me.R2_ID_LINEFOCUS_CONTAINER),r&&this.removeAllChildNodes(r);break;case qe.Comment:r=n.getElementById(Me.R2_ID_GUTTER_RIGHT_CONTAINER),r&&this.removeAllChildNodes(r);break;default:r=n.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER),r&&this.removeAllChildNodes(r),zt.splice(0,zt.length);break}}}destroyHighlight(t,n){if(!t)return;let r=-1;zt.find((l,u)=>(r=u,l.id===n))&&r>=0&&r<zt.length&&zt.splice(r,1);let a=t.getElementById(n);a&&this.removeAllChildNodes(a)}createHighlight(t,n,r,o,a,l,u,d,f,m){try{let p=`${n.rangeInfo.startContainerElementCssSelector}${n.rangeInfo.startContainerChildTextNodeIndex}${n.rangeInfo.startOffset}${n.rangeInfo.endContainerElementCssSelector}${n.rangeInfo.endContainerChildTextNodeIndex}${n.rangeInfo.endOffset}`,E=Cr.hash(p),S=(m||"R2_HIGHLIGHT_")+E;this.destroyHighlight(t.document,S);let v=`rgb(${$o.red}, ${$o.green}, ${$o.blue})`,y={color:r||v,id:S,pointerInteraction:o,selectionInfo:n,marker:a,icon:l,popup:u,style:d,type:f||qe.Annotation};(f===qe.Annotation||f===qe.Definition||f===void 0)&&zt.push(y);let b=this.createHighlightDom(t,y);return y.position=parseInt((b?.hasChildNodes()?b.childNodes[0]:b).style.top.replace("px","")),[y,b]}catch(p){throw"Can't create highlight: "+p}}createHighlightDom(t,n){let r=t.document,o=vd(r,n.selectionInfo.rangeInfo);if(!o)return;for(let B in Me)this.ensureHighlightsContainer(t,B);let a=r.createElement("div");a.setAttribute("id",n.id),a.setAttribute("class",x4),a.style.setProperty("pointer-events","none"),n.pointerInteraction&&a.setAttribute("data-click","1");let l=this.delegate.view?.isPaginated();l?r.body.style.position="revert":r.body.style.position="relative";let u=r.body.getBoundingClientRect(),d=this.getScrollingElement(r),f=l?-d.scrollLeft:u.left,m=l?-d.scrollTop:u.top,p=1,E=!1,S=!1,b=yd(o,E||S||!1),w=3,O=2,T=3,C=0,_=24,P,D;for(let B of b){let N=r.createElement("div");N.setAttribute("class",pn),N.dataset.marker=""+n.marker;let W="";if(E&&n.marker!==Le.Custom&&n.marker!==Le.Bookmark&&n.marker!==Le.Comment){let V=n.color;De.isHexColor(V)&&(V=De.hexToRgbChannels(V)),W+=`border-bottom: ${O*p}px solid rgba(${V.red}, ${V.green}, ${V.blue}, ${si}) !important`}if(n.marker===Le.Custom||n.marker===Le.Bookmark)if(n.style?.default){for(let V=0;V<n.style?.default?.length;V++){let ee=n.style?.default[V];W+=`${ee.property}: ${ee.value} !${ee.priority};`}N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; ${W}`)}else n.style?.defaultClass&&(N.classList.add(n.style?.defaultClass),N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; ${W}`));else if(n.marker===Le.Underline||n.marker===Le.Comment)if(typeof n.color=="object"){let V=n.color;N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; background-color: rgba(${V.red}, ${V.green}, ${V.blue}, ${0}) !important; ${W}`),N.style.setProperty("border-bottom",`2px solid rgba(${V.red}, ${V.green}, ${V.blue}, ${1})`,"important")}else if(De.isHexColor(n.color)){let V=De.hexToRgbChannels(n.color);N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; background-color: rgba(${V.red}, ${V.green}, ${V.blue}, ${0}) !important; ${W}`),N.style.setProperty("border-bottom",`2px solid rgba(${V.red}, ${V.green}, ${V.blue}, ${1})`,"important")}else N.setAttribute("style",`border-radius: ${w}px !important; ${W}`);else if(typeof n.color=="object"){let V=n.color;N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; background-color: rgba(${V.red}, ${V.green}, ${V.blue}, ${si}) !important; ${W}`)}else if(De.isHexColor(n.color)){let V=De.hexToRgbChannels(n.color);N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; background-color: rgba(${V.red}, ${V.green}, ${V.blue}, ${si}) !important; ${W}`)}else N.setAttribute("style",`border-radius: ${w}px !important; ${W}`);N.style.setProperty("pointer-events","none"),N.style.position="absolute",N.scale=p,N.rect={height:B.height,left:B.left-f,top:B.top-m,width:B.width},n.pointerInteraction&&(N.setAttribute("data-click","1"),N.tabIndex=0),N.style.width=`${N.rect.width*p}px`,N.style.height=`${N.rect.height*p}px`,N.style.left=`${N.rect.left*p}px`,N.style.top=`${N.rect.top*p}px`,a.append(N);let ye=parseInt(N.style.top.replace("px",""));if((ye<C||C===0)&&(C=ye),_=parseInt(N.style.height.replace("px","")),S){let V=r.createElement("div");V.setAttribute("class",pn);let ee=n.color;De.isHexColor(ee)&&(ee=De.hexToRgbChannels(ee)),V.setAttribute("style",`background-color: rgba(${ee.red}, ${ee.green}, ${ee.blue}, ${si}) !important;`),V.style.setProperty("pointer-events","none"),V.style.position="absolute",V.scale=p,V.rect={height:B.height,left:B.left-f,top:B.top-m,width:B.width},V.style.width=`${V.rect.width*p}px`,V.style.height=`${T*p}px`,V.style.left=`${V.rect.left*p}px`,V.style.top=`${(V.rect.top+V.rect.height/2-T/2)*p}px`,a.append(V)}let be=this.delegate.iframes[0].contentWindow?.innerWidth,fe=parseInt(getComputedStyle(r.documentElement).getPropertyValue("column-count")),re=parseInt(getComputedStyle(r.documentElement).getPropertyValue("column-width")),he=parseInt(getComputedStyle(r.body).getPropertyValue("padding-left")),Ae=be/(fe||1);Ae<re&&(Ae=be),l||(Ae=parseInt(getComputedStyle(r.body).width.replace("px","")));let ue=this.delegate.settings.fontSize/100,xe=20*ue;ue<=1&&(xe=-60);let Re=0*ue;ue<=1&&(Re=-60),P=Math.floor(B.left/Ae)*Ae+Ae-(_<40?40:_)+Re,D=Math.floor(B.left/Ae)*Ae+(_<40?40:_)-xe;let Se=parseInt(this.delegate.iframes[0].contentDocument.documentElement.style.getPropertyValue("--USER__pageMargins"));Se>=2&&(D=D+he/fe,P=P-he/fe),l||(P=parseInt(getComputedStyle(this.delegate.iframes[0].contentDocument?.body).width.replace("px","")),D=parseInt(getComputedStyle(this.delegate.iframes[0].contentDocument?.body).width.replace("px",""))-Ae,Se>=2&&(D=D+he/2,P=P-he/2))}let I=o.getBoundingClientRect(),q=r.createElement("div");q.setAttribute("class",Ya),q.style.setProperty("pointer-events","none"),q.style.position="absolute",q.scale=p,q.rect={height:I.height,left:I.left-f,top:I.top-m,width:I.width},q.style.width=`${q.rect.width*p}px`,q.style.height=`${q.rect.height*p}px`,q.style.left=`${q.rect.left*p}px`,q.style.top=`${q.rect.top*p}px`,a.append(q);let U=r.createElement("div");if(U.setAttribute("class",Za),n.icon?.position==="left")U.setAttribute("style",`position: absolute;top:${C}px;left:${D+this.delegate.iframes[0].contentDocument?.scrollingElement?.scrollLeft}px;height:${_}px; width:${_}px;`);else if(n.icon?.position==="inline")U.setAttribute("style",`position: absolute;top:${C-_/2}px;left:${parseInt(q.style.left.replace("px",""))+parseInt(q.style.width.replace("px",""))-_/2}px;height:${_}px; width:${_}px;`);else if(n.icon?.position==="center"){let N=_/3*2;U.setAttribute("style",`position: absolute;top:${C}px;left:${parseInt(q.style.left.replace("px",""))+parseInt(q.style.width.replace("px",""))-N}px;height:${_}px; width:${_}px;`)}else n.note&&n.marker!==Le.Custom&&n.marker!==Le.Bookmark&&n.marker!==Le.Comment&&n.marker!==Le.Highlight&&n.marker!==Le.Underline?U.setAttribute("style",`position: absolute;top:${C-_/2}px;left:${parseInt(q.style.left.replace("px",""))+parseInt(q.style.width.replace("px",""))-_/2}px;height:${_}px; width:${_}px;`):n.note&&n.marker===Le.Comment||n.marker===Le.Highlight||n.marker===Le.Underline?U.setAttribute("style",`position: absolute;top:${C}px;left:${P+this.delegate.iframes[0].contentDocument?.scrollingElement?.scrollLeft}px;height:${_}px; width:${_}px;`):U.setAttribute("style",`position: absolute;top:${C}px;left:${P+this.delegate.iframes[0].contentDocument?.scrollingElement?.scrollLeft}px;height:${_}px; width:${_}px;`);if(n.marker===Le.Custom||n.marker===Le.Bookmark)n.icon?.class?(U.classList.add(n.icon?.class),U.id=n.icon?.id):n.icon?.svgPath?U.innerHTML=Us(`${n.icon?.id}`,`${n.icon?.title}`,`${n.icon?.svgPath}`,"icon open",_,`${n.icon?.color} !important`):n.icon?.title&&(U.innerHTML=n.icon?.title);else if(n.note){let B=n.color;De.isHexColor(B)&&(B=De.hexToRgbChannels(B)),n.marker===Le.Comment||n.marker===Le.Highlight||n.marker===Le.Underline?U.innerHTML=Us("","",'<path d="M24 24H0V0h24v24z" fill="none"/><circle cx="12" cy="12" r="14"/>',"icon open",_/2,`rgba(${B.red}, ${B.green}, ${B.blue}, 1) !important`):U.innerHTML=Us("note-icon","Note",'<rect fill="none" height="24" width="24"/><path d="M19,5v9l-5,0l0,5H5V5H19 M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h10l6-6V5C21,3.9,20.1,3,19,3z M12,14H7v-2h5V14z M17,10H7V8h10V10z"/>',"icon open",_,`rgba(${B.red}, ${B.green}, ${B.blue}, 1) !important`)}U.style.setProperty("pointer-events","all");let k=this;if(n.type!==qe.PageBreak&&n.type!==qe.Definition&&U.addEventListener("click",async function(B){let N;k.delegate.rights.enableAnnotations?(N=await k.delegate.annotationModule?.getAnnotationByID(n.id),k.delegate.annotationModule?.api?.selectedAnnotation(N).then(async()=>{})):k.delegate.rights.enableBookmarks&&(N=await k.delegate.bookmarkModule?.getAnnotationByID(n.id)),Mn.default.log("selected highlight "+N.id),k.lastSelectedHighlight=N.id;let W=document.getElementById("highlight-toolbox");if(W)if(W.style.top=B.clientY+(k.delegate.attributes?.navHeight??0)+"px",W.style.left=B.clientX+"px",getComputedStyle(W).display==="none"){let re=function(){k.delegate.annotationModule?.api?.addCommentToAnnotation(N).then(Se=>{k.delegate.annotationModule?.updateAnnotation(Se).then(async()=>{Mn.default.log("update highlight "+Se.id),W.style.display="none",k.selectionMenuClosed()}),W.style.display="none",k.selectionMenuClosed()})},ue=function(){k.delegate.rights.enableAnnotations?k.delegate.annotationModule?.deleteSelectedHighlight(N).then(async()=>{Mn.default.log("delete highlight "+N.id),W.style.display="none",k.selectionMenuClosed()}):k.delegate.rights.enableBookmarks&&k.delegate.bookmarkModule?.deleteSelectedHighlight(N).then(async()=>{Mn.default.log("delete highlight "+N.id),W.style.display="none",k.selectionMenuClosed()})};W.style.display="block",k.toolboxMode("edit");let be=document.getElementById("colorIcon"),fe=document.getElementById("highlightIcon");be&&(be.style.display="none"),fe&&(fe.style.display="none");let he=document.getElementById("commentIcon"),Ae=document.getElementById("cloneCommentIcon");if(Ae){let Se=Ae.parentElement;Se&&Se.removeChild(Ae)}if(he){he.style.display="none";let Se=he.cloneNode(!0),V=he.parentElement;Se.style.display="unset",Se.id="cloneCommentIcon",Se.addEventListener("click",re,!1),V&&V.append(Se)}let xe=document.getElementById("deleteIcon"),Re=document.getElementById("cloneDeleteIcon");if(Re){let Se=Re.parentElement;Se&&Se.removeChild(Re)}if(xe){xe.style.display="none";let Se=xe.cloneNode(!0),V=xe.parentElement;Se.style.display="unset",Se.id="cloneDeleteIcon",Se.addEventListener("click",ue,!1),V&&V.append(Se)}}else W.style.display="none",k.selectionMenuClosed(),W.offsetWidth,W.style.display="block";let ye=Array.from(a.querySelectorAll(`.${pn}`));k.setHighlightAreaStyle(r,ye,n)}),n.note){let B=document.createElement("span");B.innerHTML=n.note,B.className="icon-tooltip",n.marker===Le.Custom||n.marker===Le.Bookmark?(n.popup?.background&&B.style.setProperty("background",n.popup.background),n.popup?.textColor&&B.style.setProperty("color",n.popup.textColor),n.popup?.class&&B.classList.add(n.popup.class)):(B.style.setProperty("background","lightyellow"),B.style.setProperty("color","black"))}switch((n.note||n.marker===Le.Custom||n.marker===Le.Bookmark)&&a.append(U),n.type){case qe.Search:r.getElementById(Me.R2_ID_SEARCH_CONTAINER).append(a);break;case qe.ReadAloud:r.getElementById(Me.R2_ID_READALOUD_CONTAINER).append(a);break;case qe.PageBreak:r.getElementById(Me.R2_ID_PAGEBREAK_CONTAINER).append(a);break;case qe.Definition:r.getElementById(Me.R2_ID_DEFINITIONS_CONTAINER).append(a);break;default:r.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER).append(a);break}return a}addSelectionMenuItem(t){(this.properties?.selectionMenuItems??[])&&(this.properties?.selectionMenuItems??[]).push(t)}};var N4=Je(T0());A();var B8=Je(Dt());var ro={className:i=>!0,idName:i=>!0,tagName:i=>!0};var H4=Je(Ed()),Rr=Je(Dt()),Qa=class{constructor(t,n,r,o,a,l,u,d,f){this.hide=de(document,"#menu-button-hide");this.show=de(document,"#menu-button-show");this.annotator=t,this.rights=n,this.publication=r,this.headerMenu=f,this.delegate=o,this.initialAnnotations=a,this.highlighter=u,this.properties=l,this.api=d}static async create(t){let n=new this(t.annotator,t.rights||{enableAnnotations:!1,enableTTS:!1},t.publication,t.delegate,t.initialAnnotations||null,t,t.highlighter,t.api,t.headerMenu);return await n.start(),n}async stop(){Rr.default.log("Annotation module stop")}async start(){if(this.delegate.annotationModule=this,this.headerMenu&&(this.highlightsView=de(this.headerMenu,"#container-view-highlights")),this.initialAnnotations){var t=this.initialAnnotations.highlights||null;t&&this.annotator?.initAnnotations(t)}setTimeout(()=>{this.properties?.hideLayer?this.delegate.hideLayer("highlights"):this.delegate.showLayer("highlights")},10)}hideAnnotationLayer(){let t=this.delegate.iframes[0].contentDocument;if(t){let n=de(t,"#R2_ID_HIGHLIGHTS_CONTAINER");n&&(n.style.display="none")}this.show&&this.hide&&(this.show.style.display="block",this.hide.style.display="none")}showAnnotationLayer(){let t=this.delegate.iframes[0].contentDocument;if(t){let n=de(t,"#R2_ID_HIGHLIGHTS_CONTAINER");n&&(n.style.display="block")}this.show&&this.hide&&(this.show.style.display="none",this.hide.style.display="block")}async handleResize(){setTimeout(async()=>{await this.drawHighlights(),await this.showHighlights()},200)}initialize(){return new Promise(async t=>{await document.fonts.ready,this.rights.enableAnnotations&&setTimeout(()=>{this.drawHighlights(),this.showHighlights(),Z(this.delegate.iframes[0].contentDocument?.body,"click",this.click.bind(this))},300),t(null)})}click(t){if(this.activeAnnotationMarkerId){let n=this.highlighter?.properties?.selectionMenuItems?.filter(r=>r.id===this.activeAnnotationMarkerId);if(n&&n?.length>0){let r=H4.cloneDeep(n[0]);r.marker=Le.Custom,this.activeAnnotationMarkerPosition&&(r.icon.position=this.activeAnnotationMarkerPosition),r.highlight.style.default=null,r.highlight.style.hover=null;let o=this.delegate.iframes[0].contentDocument;if(o){let f=function(p){try{let E=d.delegate.iframes[0].contentDocument;return E?ln(p,E,ro):""}catch(E){return Rr.default.log("uniqueCssSelector:"),Rr.default.error(E),""}},a=this.highlighter?.dom(o.body).getSelection(),l=a.getRangeAt(0),u=a.anchorNode;l.setStart(u,l.startOffset),l.setEnd(u,l.endOffset+1),a.removeAllRanges(),a.addRange(l);let d=this,m=Pi(l,f);if(a.removeAllRanges(),m){let p={rangeInfo:m},E=this.delegate.highlighter?.createHighlight(this.delegate.highlighter?.dom(o.body).getWindow(),p,r.highlight.color,!0,Le.Bookmark,r.icon,r.popup,r.highlight.style);E&&this.saveAnnotation(E[0]).then(S=>{Rr.default.log("saved bookmark "+S.id)})}o.getSelection()?.removeAllRanges()}}}}async scrollToHighlight(t){Rr.default.log("still need to scroll to "+t);var n=await this.annotator?.getAnnotationElement(t,this.delegate.iframes[0].contentWindow);n.scrollIntoView({block:"center",behavior:"smooth"})}async updateLocalHighlight(t){if(this.annotator){let n=await this.annotator.deleteAnnotation(t.id),r=await this.addAnnotation(t);return Rr.default.log("Highlight deleted "+JSON.stringify(n)),Rr.default.log("Highlight added "+JSON.stringify(r)),await this.showHighlights(),await this.drawHighlights(),r}else return new Promise(n=>n(null))}async deleteLocalHighlight(t){if(this.annotator){var n=await this.annotator.deleteAnnotation(t);return Rr.default.log("Highlight deleted "+JSON.stringify(n)),await this.showHighlights(),await this.drawHighlights(),n}else return new Promise(r=>r(null))}async deleteAnnotation(t){await this.deleteLocalHighlight(t.id)}async addAnnotation(t){await this.annotator?.saveAnnotation(t),await this.showHighlights(),await this.drawHighlights()}async deleteHighlight(t){this.api?.deleteAnnotation?this.api?.deleteAnnotation(t).then(async()=>{this.deleteLocalHighlight(t.id)}):this.deleteLocalHighlight(t.id)}async deleteSelectedHighlight(t){this.api?.deleteAnnotation?this.api.deleteAnnotation(t).then(async()=>{this.deleteLocalHighlight(t.id)}):this.deleteLocalHighlight(t.id)}async updateAnnotation(t){this.api?.updateAnnotation?this.api.updateAnnotation(t).then(async()=>{this.updateLocalHighlight(t)}):this.updateLocalHighlight(t)}async saveAnnotation(t){if(this.annotator){var n=this.publication.getTOCItem(this.delegate.currentChapterLink.href);this.delegate.currentTocUrl&&(n=this.publication.getTOCItem(this.delegate.currentTocUrl)),n===void 0&&(n=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href));let r=this.delegate.view?.getCurrentPosition(),o=this.delegate.iframes[0].contentDocument;if(o){let a=_i(o,"body"),l=t.position?t.position/a.scrollHeight:r,u=(0,N4.v4)(),d;if(n){let f=n.Href;if(f.indexOf("#")>0&&(f=f.slice(0,f.indexOf("#"))),this.rights.autoGeneratePositions&&this.publication.positions||this.publication.positions){let m=this.publication.positionsByHref(this.publication.getRelativeHref(this.delegate.currentChapterLink.href)),p=Math.ceil((l??0)*(m.length-1)),E=m[p];d=jt(Fe({},E),{id:u,href:f,created:new Date,title:this.delegate.currentChapterLink.title,highlight:t,text:{highlight:t.selectionInfo.cleanText}})}else d={id:u,href:f,locations:{progression:l},created:new Date,type:this.delegate.currentChapterLink.type,title:this.delegate.currentChapterLink.title,highlight:t,text:{highlight:t.selectionInfo.cleanText}}}if(d)if(this.api?.addAnnotation)try{let f=await this.api.addAnnotation(d),m=await this.annotator.saveAnnotation(f);return await this.showHighlights(),await this.drawHighlights(),new Promise(p=>p(m))}catch(f){await this.showHighlights(),await this.drawHighlights()}else{let f=await this.annotator.saveAnnotation(d);return await this.showHighlights(),await this.drawHighlights(),new Promise(m=>m(f))}}}return new Promise(r=>r(null))}getAnnotations(){let t=[];return this.annotator&&(t=this.annotator.getAnnotations()),t}showHighlights(){let t=[];this.annotator&&(t=this.annotator.getAnnotations(),t&&(t=t.filter(n=>n.highlight.marker!==Le.Bookmark),t.forEach(n=>{zt.push(n.highlight)}))),this.highlightsView&&this.createTree(fr.Annotation,t,this.highlightsView)}async drawHighlights(){if(this.rights.enableAnnotations&&this.highlighter){if(this.api){let n=[];if(this.annotator&&(n=this.annotator.getAnnotations()),this.highlighter&&n&&this.delegate.iframes[0].contentDocument?.readyState==="complete"){await this.highlighter.destroyHighlights(qe.Annotation);for(let r of n){zt.push(r.highlight);let o=r,a=this.delegate.currentChapterLink.href;var t=this.publication.getTOCItem(a);if(this.delegate.currentTocUrl!==void 0&&(t=this.publication.getTOCItem(this.delegate.currentTocUrl)),t===null&&(t=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href)),t){let l=t.Href;l.indexOf("#")>0&&(l=l.slice(0,l.indexOf("#"))),o.href===l&&(await this.highlighter.createHighlightDom(this.delegate.iframes[0].contentWindow,r.highlight),setTimeout(async()=>{if(o.highlight?.marker===Le.Underline){let u=await this.annotator?.getAnnotationPosition(r.id,this.delegate.iframes[0].contentWindow),d='<div class="comment" style="top: '+u+'px;width:20px"></div>',f=document.createElement("div");f.innerHTML=d;let m=f.childNodes[0],p=document.createElement("i");p.innerHTML="sticky_note_2",p.className="material-icons",p.style.color=o.highlight.color,m.appendChild(p),Z(f,"click",E=>{E.preventDefault(),E.stopPropagation(),this.scrollToHighlight(o.id)})}},100))}}}}else{let n=[];if(this.annotator&&(n=this.annotator.getAnnotations()),this.highlighter&&n&&this.delegate.iframes[0].contentDocument?.readyState==="complete"){await this.highlighter.destroyHighlights(qe.Annotation);for(let r of n){zt.push(r.highlight);let o=r,a=this.delegate.currentChapterLink.href,l=this.publication.getTOCItem(a);if(this.delegate.currentTocUrl&&(l=this.publication.getTOCItem(this.delegate.currentTocUrl)),l===null&&(l=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href)),l){let u=l.Href;u.indexOf("#")>0&&(u=u.slice(0,u.indexOf("#"))),o.href===u&&(await this.highlighter.createHighlightDom(this.delegate.iframes[0].contentWindow,r.highlight),setTimeout(async()=>{if(o.highlight?.marker===Le.Underline){let d=await this.annotator?.getAnnotationPosition(r.id,this.delegate.iframes[0].contentWindow),f='<div class="comment" style="top: '+d+"px;background: "+o.highlight?.color+';width:20px"></div>',m=document.createElement("div");m.innerHTML=f,m.childNodes[0].innerHTML=Ur.note,Z(m,"click",p=>{p.preventDefault(),p.stopPropagation(),this.scrollToHighlight(o.id)})}},100))}}}}this.properties?.initialAnnotationColor&&this.highlighter.setColor(this.properties?.initialAnnotationColor),this.repositionGutters()}}repositionGutters(){let t=this.delegate.iframes[0].contentDocument;if(t&&(this.commentGutter=t.getElementById(Me.R2_ID_GUTTER_RIGHT_CONTAINER),this.delegate.view?.isScrollMode()&&this.properties?.enableComments?this.commentGutter.style.removeProperty("display"):this.commentGutter.style.setProperty("display","none"),this.commentGutter&&this.delegate.view?.isScrollMode())){this.commentGutter.innerHTML="";let n=[];this.annotator&&(n=this.annotator.getAnnotations(),n&&(n=n.filter(r=>r.highlight?.note?.length>0),n=this.syncPosition(n),n=this.reposition(n),n.forEach(r=>{let o=document.createElement("i");o.innerHTML="sticky_note_2",o.className="material-icons",o.style.color=r.highlight.color;let a=t.getElementById("R2_ID_HIGHLIGHTS_CONTAINER"),l,u;a&&(l=a.querySelector(`#${r.highlight.id}`)),u=l.getElementsByClassName(pn)[0];let f=parseInt(u.style.height.replace("px","")),m=r.highlight.position,p=t.createElement("div");p.setAttribute("style",`position: absolute;top:${m}px;display: flex;max-width: 250px !important;height:${f}px;width: 200px;align-items: center;`);let E=t.createElement("div");p.appendChild(E);let S=r.highlight.color;De.isHexColor(S)&&(S=De.hexToRgbChannels(S)),p.innerHTML=Us("","",'<path d="M24 24H0V0h24v24z" fill="none"/><circle cx="12" cy="12" r="8"/>',"icon open",10,`rgba(${S.red}, ${S.green}, ${S.blue}, 1) !important`);let v=t.createElement("div");v.innerHTML=r.highlight?.note,v.setAttribute("style",`height:${f}px;overflow: hidden;padding-left: 5px;`),p.appendChild(v),Z(p,"click",y=>{y.preventDefault(),y.stopPropagation(),this.scrollToHighlight(r.highlight.id)}),this.commentGutter?.appendChild(p)})))}}createTree(t,n,r){if(n){let o=this,a=this.publication.readingOrder;if(a.length){let l=(u,d)=>{let f=document.createElement("ul");f.className="sidenav-annotations";for(let m of d){let p=document.createElement("li"),E=document.createElement("a"),S=document.createElement("span");if(E.tabIndex=-1,E.className="chapter-link",m.Href){let y=this.publication.getAbsoluteHref(m.Href),b=this.publication.getTOCItemAbsolute(y);E.href=y,E.innerHTML=b?.Title||"",p.appendChild(E)}else S.innerHTML=m.Title||"",S.className="chapter-title",p.appendChild(S);Z(E,"click",y=>{y.preventDefault(),y.stopPropagation();let b={href:E.href,locations:{progression:0},type:m.TypeLink,title:E.title};this.delegate.stopReadAloud(),this.delegate.navigate(b)});let v=document.createElement("ol");n.forEach(function(y){let b=m.Href.indexOf("#")!==-1?m.Href.slice(0,m.Href.indexOf("#")):m.Href;if(m.Href&&y.href.endsWith(b)){let w=document.createElement("li");w.className="annotation-item";let O=document.createElement("a");if(O.setAttribute("href",y.href),t===fr.Annotation){O.className="highlight-link";let C=document.createElement("span"),_=document.createElement("span");if(C.className="title",_.innerHTML=y.highlight.selectionInfo.cleanText,y.highlight?.marker===Le.Underline)if(typeof y.highlight?.color=="object"){let I=y.highlight?.color;I&&_.style.setProperty("border-bottom",`2px solid ${De.hexToRgbA(I)}`,"important")}else _.style.setProperty("border-bottom",`2px solid ${y.highlight?.color}`,"important");else if(typeof y.highlight?.color=="object"){let I=y.highlight?.color;I&&(_.style.backgroundColor=De.hexToRgbA(I))}else{let I=y.highlight?.color;I&&(_.style.backgroundColor=I)}C.appendChild(_),O.appendChild(C);let P=document.createElement("span"),D=Math.round((y.locations.progression??0)*100)+"% through resource";P.className="subtitle",P.innerHTML=D,O.appendChild(P)}let T=document.createElement("span");if(T.className="timestamp",T.innerHTML=Qa.readableTimestamp(y.created),O.appendChild(T),Z(O,"click",C=>{C.preventDefault(),C.stopPropagation(),o.handleAnnotationLinkClick(C,y)}),w.appendChild(O),o.delegate.sideNavExpanded){let C=document.createElement("button");C.className="delete",C.innerHTML=Ur.delete,Z(C,"click",_=>{_.preventDefault(),_.stopPropagation(),o.handleAnnotationLinkDeleteClick(t,_,y)}),w.appendChild(C)}v.appendChild(w)}}),v.children.length>0&&(f.appendChild(p),f.appendChild(v)),f.children.length>0&&u.appendChild(f),m.Children&&m.Children.length>0&&l(u,m.Children)}};r.innerHTML="",l(r,a)}}}handleAnnotationLinkClick(t,n){n?(n.href=this.publication.getAbsoluteHref(n.href),this.delegate.stopReadAloud(),this.delegate.navigate(n)):Rr.default.log("annotation data missing: ",t)}handleAnnotationLinkDeleteClick(t,n,r){Rr.default.log("annotation data locator: ",r),r?t===fr.Annotation&&this.deleteHighlight(r):Rr.default.log("annotation data missing: ",n)}static readableTimestamp(t){let n=new Date(t);return n.toDateString()+" "+n.toLocaleTimeString()}async getAnnotation(t){return this.annotator?.getAnnotation(t)}async getAnnotationByID(t){return this.annotator?.getAnnotationByID(t)}syncPosition(t){let n=this.delegate.iframes[0].contentDocument,r=(o,a)=>{let l=n.getElementById("R2_ID_HIGHLIGHTS_CONTAINER"),u,d;l&&(u=l.querySelector(`#${a.highlight.id}`)),d=u.getElementsByClassName(pn)[0];let m=parseInt(d.style.top.replace("px","")),p=jt(Fe({},a),{highlight:jt(Fe({},a.highlight),{position:m})});return[...o,p]};return t.reduce(r,[])}reposition(t){let n=this.delegate.iframes[0].contentDocument,r=(o,a,l)=>{let u=t[0],d=n.getElementById("R2_ID_HIGHLIGHTS_CONTAINER"),f,m;d&&(f=d.querySelector(`#${u.highlight.id}`)),m=f.getElementsByClassName(pn)[0];let E=parseInt(m.style.height.replace("px","")),S=a.highlight.position,v=o[l-1]&&o[l-1].highlight.position,b=l===0?0:v+E+0,w=b>S?b:S,O=jt(Fe({},a),{highlight:jt(Fe({},a.highlight),{position:w})});return[...o,O]};return t.sort(function(o,a){return o.highlight.position-a.highlight.position}).reduce(r,[])}};A();var C0=Je(T0());var Mr=Je(Dt()),el=class{static async create(t){let n=new this(t.annotator,t.rights||{enableBookmarks:!1},t.publication,t.delegate,t,t.initialAnnotations,t.api,t.headerMenu);return await n.start(),new Promise(r=>r(n))}constructor(t,n,r,o,a,l,u,d){this.annotator=t,this.rights=n,this.publication=r,this.headerMenu=d,this.delegate=o,this.initialAnnotations=l,this.properties=a,this.api=u}stop(){Mr.default.log("Bookmark module stop")}async start(){if(this.delegate.bookmarkModule=this,this.headerMenu&&(this.bookmarksView=de(this.headerMenu,"#container-view-bookmarks")),this.headerMenu&&(this.sideNavSectionBookmarks=de(this.headerMenu,"#sidenav-section-bookmarks")),this.headerMenu){let t=de(this.headerMenu,"#menu-button-bookmark");t&&t.parentElement?.style.removeProperty("display"),t&&Z(t,"click",this.saveBookmark.bind(this))}if(this.initialAnnotations){let t=this.initialAnnotations.bookmarks||null;t&&this.annotator?.initBookmarks(t)}await this.showBookmarks(),await this.drawBookmarks(),setTimeout(()=>{this.properties.hideLayer?this.delegate.hideLayer("highlights"):this.delegate.showLayer("highlights")},10)}async handleResize(){setTimeout(async()=>{await this.drawBookmarks(),await this.showBookmarks()},100)}initialize(){return new Promise(async t=>{await document.fonts.ready,this.rights.enableBookmarks&&setTimeout(()=>{this.drawBookmarks(),this.showBookmarks()},300),t(null)})}async deleteBookmark(t){if(this.annotator)if(this.api?.deleteBookmark){await this.api?.deleteBookmark(t);let n=await this.annotator.deleteBookmark(t);return Mr.default.log("Bookmark deleted "+JSON.stringify(n)),await this.showBookmarks(),await this.drawBookmarks(),n}else{let n=await this.annotator.deleteBookmark(t);return Mr.default.log("Bookmark deleted "+JSON.stringify(n)),await this.showBookmarks(),await this.drawBookmarks(),n}else return new Promise(n=>n(null))}async saveBookmarkPlus(){await this.addBookmarkPlus()}async saveBookmark(){if(this.annotator){var t=this.publication.getTOCItem(this.delegate.currentChapterLink.href);if(this.delegate.currentTocUrl&&(t=this.publication.getTOCItem(this.delegate.currentTocUrl)),t===void 0&&(t=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href)),t){let n=t.Href;n.indexOf("#")>0&&(n=n.slice(0,n.indexOf("#")));let r=this.delegate.view?.getCurrentPosition(),o=(0,C0.v4)(),a;if(this.rights.autoGeneratePositions&&this.publication.positions||this.publication.positions){let l=this.publication.positionsByHref(this.publication.getRelativeHref(this.delegate.currentChapterLink.href)),u=Math.ceil((r??0)*(l.length-1)),d=l[u];a=jt(Fe({},d),{id:o,href:n,created:new Date,title:this.delegate.currentChapterLink.title})}else a={id:o,href:n,locations:{progression:r},created:new Date,type:this.delegate.currentChapterLink.type,title:this.delegate.currentChapterLink.title};if(!this.annotator.locatorExists(a,fr.Bookmark))if(this.api?.addBookmark){let l=await this.api.addBookmark(a);l&&(a=l),Mr.default.log(a);let u=this.annotator.saveBookmark(a);return Mr.default.log("Bookmark added "+JSON.stringify(u)),this.showBookmarks(),await this.drawBookmarks(),u}else{let l=this.annotator.saveBookmark(a);return Mr.default.log("Bookmark added "+JSON.stringify(l)),this.showBookmarks(),await this.drawBookmarks(),l}}}}async addBookmarkPlus(){let t=this,n=this.delegate.highlighter?.visibleTextRects[0],r=this.delegate.iframes[0].contentDocument;if(r){let u=this.delegate.highlighter?.dom(r.body).getWindow().document.createRange(),d=this.delegate.highlighter?.dom(this.delegate.iframes[0].contentDocument?.body).getSelection();d.removeAllRanges(),n&&u.selectNodeContents(n.node),d.addRange(u);let f=yd(u,!1),m=0;for(let p of f){if(!this.delegate.highlighter?.isOutsideViewport(p)){let E=d.focusNode,S=d.focusOffset;d.collapse(d.anchorNode,d.anchorOffset);for(let w=0;w<m;w++)d.modify("move","forward","line");d.extend(E,S);let v=d.focusNode,y=d.focusNode.length;d.collapse(d.anchorNode,d.anchorOffset);let b=y;d.anchorOffset>y?b=y:b=d.anchorOffset+1,d.modify("move","forward","character"),d.modify("move","backward","word"),d.extend(v,b),d.modify("extend","backward","character"),d.modify("extend","forward","word");break}m++}}function o(u){let d={},f=t.delegate.iframes[0].contentDocument;if(f)return ln(u,t.delegate.highlighter?.dom(f.body).getDocument(),d)}let a=this.delegate.iframes[0].contentWindow,l={id:"bookmarkIcon",marker:Le.Bookmark,icon:{id:"bookmarkIcon",title:"Bookmark",svgPath:'<path d="M0 0h24v24H0V0z" fill="none"/><path d="M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z"/>',color:"#000000",position:"left"},popup:{background:"#000000",textColor:"#ffffff"},highlight:{color:"#000000",style:{default:[{property:"border-bottom",value:"0px dashed #000000",priority:"important"}]}}};if(a!==null){let u=oi(a,o);if(u===void 0){let f=t.delegate.iframes[0].contentDocument;u=this.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(f)}let d=t.delegate.iframes[0].contentDocument;if(u&&d){let f=this.delegate.highlighter?.createHighlight(this.delegate.highlighter?.dom(d.body).getWindow(),u,l.highlight?.color,!0,Le.Bookmark,l.icon,l.popup,l.highlight?.style);if(this.delegate.iframes[0].contentDocument?.getSelection()?.removeAllRanges(),f)return this.saveAnnotation(f[0]).then(m=>{Mr.default.log("saved bookmark "+m?.id)})}}}async saveAnnotation(t){if(this.annotator){var n=this.publication.getTOCItem(this.delegate.currentChapterLink.href);this.delegate.currentTocUrl&&(n=this.publication.getTOCItem(this.delegate.currentTocUrl)),n===null&&(n=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href));let r=this.delegate.view?.getCurrentPosition(),o=this.delegate.iframes[0].contentDocument;if(o){let a=_i(o,"body"),l=t.position?t.position/a.scrollHeight:r,u=(0,C0.v4)(),d;if(n){let f=n.Href;if(f.indexOf("#")>0&&(f=f.slice(0,f.indexOf("#"))),this.rights.autoGeneratePositions&&this.publication.positions||this.publication.positions){let m=this.publication.positionsByHref(this.publication.getRelativeHref(this.delegate.currentChapterLink.href)),p=Math.ceil((l??0)*(m.length-1)),E=m[p];d=jt(Fe({},E),{id:u,href:f,created:new Date,title:this.delegate.currentChapterLink.title,highlight:t,text:{highlight:t.selectionInfo.cleanText}})}else d={id:u,href:f,locations:{progression:l},created:new Date,type:this.delegate.currentChapterLink.type,title:this.delegate.currentChapterLink.title,highlight:t,text:{highlight:t.selectionInfo.cleanText}}}if(d)if(this.api?.addBookmark){let f=await this.api.addBookmark(d),m=await this.annotator.saveAnnotation(f);return await this.showBookmarks(),await this.drawBookmarks(),new Promise(p=>p(m))}else{let f=await this.annotator.saveAnnotation(d);return await this.showBookmarks(),await this.drawBookmarks(),new Promise(m=>m(f))}}}return new Promise(r=>r(void 0))}getBookmarks(){let t=[];return this.annotator&&(t=this.annotator.getBookmarks()),t}showBookmarks(){let t=[];this.annotator&&(t=this.annotator.getBookmarks());let n=[];this.annotator&&(n=this.annotator.getAnnotations(),n&&(n=n.filter(r=>r.highlight.marker===Le.Bookmark),t?t.push.apply(t,n):t=n)),this.bookmarksView&&this.createTree(fr.Bookmark,t,this.bookmarksView)}async drawBookmarks(){if(this.rights.enableBookmarks&&this.delegate.highlighter)if(this.api){let n=[];if(this.annotator&&(n=await this.annotator.getAnnotations()),this.delegate.highlighter&&n&&this.delegate.iframes[0].contentDocument?.readyState==="complete"){await this.delegate.highlighter.destroyHighlights(qe.Annotation);for(let r of n){zt.push(r.highlight);let o=r,a=this.delegate.currentChapterLink.href;var t=this.publication.getTOCItem(a);if(this.delegate.currentTocUrl&&(t=this.publication.getTOCItem(this.delegate.currentTocUrl)),t===void 0&&(t=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href)),t){let l=t.Href;l.indexOf("#")>0&&(l=l.slice(0,l.indexOf("#"))),o.href===l&&await this.delegate.highlighter.createHighlightDom(this.delegate.iframes[0].contentWindow,r.highlight)}}}}else{let n=[];if(this.annotator&&(n=await this.annotator.getAnnotations()),this.delegate.highlighter&&n&&this.delegate.iframes[0].contentDocument?.readyState==="complete"){await this.delegate.highlighter.destroyHighlights(qe.Annotation);for(let r of n){zt.push(r.highlight);let o=r,a=this.delegate.currentChapterLink.href,l=this.publication.getTOCItem(a);if(this.delegate.currentTocUrl&&(l=this.publication.getTOCItem(this.delegate.currentTocUrl)),l===void 0&&(l=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href)),l){let u=l.Href;u.indexOf("#")>0&&(u=u.slice(0,u.indexOf("#"))),o.href===u&&await this.delegate.highlighter.createHighlightDom(this.delegate.iframes[0].contentWindow,r.highlight)}}}}}async deleteSelectedHighlight(t){this.api?.deleteBookmark?this.api.deleteBookmark(t).then(async()=>{this.deleteLocalHighlight(t.id)}):this.deleteLocalHighlight(t.id)}async deleteLocalHighlight(t){if(this.annotator){var n=await this.annotator.deleteAnnotation(t);return Mr.default.log("Highlight deleted "+JSON.stringify(n)),await this.showBookmarks(),await this.drawBookmarks(),n}else return new Promise(r=>r(null))}createTree(t,n,r){if(n){let o=this,a=this.publication.readingOrder;if(a.length){let l=(u,d)=>{let f=document.createElement("ul");f.className="sidenav-annotations";for(let m of d){let p=document.createElement("li"),E=document.createElement("a"),S=document.createElement("span");if(E.tabIndex=-1,E.className="chapter-link",m.Href){let y=this.publication.getAbsoluteHref(m.Href),b=this.publication.getTOCItemAbsolute(y);E.href=y,E.innerHTML=b?.Title||"",p.appendChild(E)}else S.innerHTML=m.Title||"",S.className="chapter-title",p.appendChild(S);Z(E,"click",y=>{y.preventDefault(),y.stopPropagation();let b={href:E.href,locations:{progression:0},type:m.TypeLink,title:E.title};this.delegate.stopReadAloud(),this.delegate.navigate(b)});let v=document.createElement("ol");n.forEach(function(y){let b=m.Href.indexOf("#")!==-1?m.Href.slice(0,m.Href.indexOf("#")):m.Href;if(m.Href&&y.href.endsWith(b)){let w=document.createElement("li");w.className="annotation-item";let O=document.createElement("a");if(O.setAttribute("href",y.href),t===fr.Bookmark){O.className="bookmark-link";let C=document.createElement("span"),_=Math.round((y.locations.progression??0)*100)+"% through resource";C.className="title",C.innerHTML=_,O.appendChild(C)}let T=document.createElement("span");if(T.className="timestamp",T.innerHTML=el.readableTimestamp(y.created),O.appendChild(T),Z(O,"click",C=>{C.preventDefault(),C.stopPropagation(),o.handleAnnotationLinkClick(C,y)}),w.appendChild(O),o.delegate.sideNavExpanded){let C=document.createElement("button");C.className="delete",C.innerHTML=Ur.delete,Z(C,"click",_=>{_.preventDefault(),_.stopPropagation(),o.handleAnnotationLinkDeleteClick(t,_,y)}),w.appendChild(C)}v.appendChild(w)}}),v.children.length>0&&(f.appendChild(p),f.appendChild(v)),f.children.length>0&&u.appendChild(f),m.Children&&m.Children.length>0&&l(u,m.Children)}};r.innerHTML="",l(r,a)}}}handleAnnotationLinkClick(t,n){n?(n.href=this.publication.getAbsoluteHref(n.href),this.delegate.stopReadAloud(),this.delegate.navigate(n)):Mr.default.log("bookmark data missing: ",t)}handleAnnotationLinkDeleteClick(t,n,r){Mr.default.log("bookmark data locator: ",r),r?t===fr.Bookmark&&this.deleteBookmark(r):Mr.default.log("bookmark data missing: ",n)}static readableTimestamp(t){let n=new Date(t);return n.toDateString()+" "+n.toLocaleTimeString()}async getAnnotation(t){return this.annotator?.getAnnotation(t)}async getAnnotationByID(t){return this.annotator?.getAnnotationByID(t)}};A();var D4=Je(j4());A();var Vn=Je(Dt()),R0="r2-mo-active",qo=class{},Ne=qo;Ne.COLOR_REF="color",Ne.AUTO_SCROLL_REF="autoscroll",Ne.AUTO_TURN_REF="autoturn",Ne.VOLUME_REF="volume",Ne.RATE_REF="rate",Ne.COLOR_KEY="mediaoverlay-"+qo.COLOR_REF,Ne.AUTO_SCROLL_KEY="mediaoverlay-"+qo.AUTO_SCROLL_REF,Ne.AUTO_TURN_KEY="mediaoverlay-"+qo.AUTO_TURN_REF,Ne.VOLUME_KEY="mediaoverlay-"+qo.VOLUME_REF,Ne.RATE_KEY="mediaoverlay-"+qo.RATE_REF;var M0=class{constructor(t,n,r){this.MEDIAOVERLAYSETTINGS="mediaOverlaySetting";this.color="r2-mo-active";this.autoScroll=!0;this.autoTurn=!0;this.volume=1;this.rate=1;this.playing=!1;this.resourceReady=!1;this.wait=1;this.settingsChangeCallback=()=>{};this.store=t,this.api=n,this.headerMenu=r,this.initialise(),Vn.default.log(this.api)}static create(t){let n=new this(t.store,t.api,t.headerMenu);if(t.initialMediaOverlaySettings){let r=t.initialMediaOverlaySettings;r?.color&&(n.color=r.color,Vn.default.log(n.color)),r?.autoScroll&&(n.autoScroll=r.autoScroll,Vn.default.log(n.autoScroll)),r?.autoTurn&&(n.autoTurn=r.autoTurn,Vn.default.log(n.autoScroll)),r?.volume&&(n.volume=r.volume,Vn.default.log(n.volume)),r?.rate&&(n.rate=r.rate,Vn.default.log(n.rate)),r?.wait&&(n.wait=r.wait,Vn.default.log(n.wait))}return n.initializeSelections(),n}stop(){Vn.default.log("MediaOverlay settings stop")}initialise(){this.autoScroll=this.getProperty(Ne.AUTO_SCROLL_KEY)!=null?this.getProperty(Ne.AUTO_SCROLL_KEY).value:this.autoScroll,this.autoTurn=this.getProperty(Ne.AUTO_TURN_KEY)!=null?this.getProperty(Ne.AUTO_TURN_KEY).value:this.autoTurn,this.color=this.getProperty(Ne.COLOR_KEY)!=null?this.getProperty(Ne.COLOR_KEY).value:this.color,this.volume=this.getProperty(Ne.VOLUME_KEY)!=null?this.getProperty(Ne.VOLUME_KEY).value:this.volume,this.rate=this.getProperty(Ne.RATE_KEY)!=null?this.getProperty(Ne.RATE_KEY).value:this.rate,this.userProperties=this.getMediaOverlaySettings()}reset(){this.color="redtext",this.autoScroll=!0,this.autoTurn=!0,this.volume=1,this.rate=1,this.wait=1,this.userProperties=this.getMediaOverlaySettings()}initializeSelections(){this.headerMenu&&(this.settingsView=de(this.headerMenu,"#container-view-mediaoverlay-settings"))}setControls(){this.settingsView&&this.renderControls(this.settingsView)}renderControls(t){this.headerMenu&&(this.speechAutoTurn=de(this.headerMenu,"#mediaOverlayAutoTurn")),this.headerMenu&&(this.speechAutoScroll=de(this.headerMenu,"#mediaOverlayAutoScroll")),this.headerMenu&&(this.speechVolume=de(this.headerMenu,"#mediaOverlayVolume")),this.headerMenu&&(this.speechRate=de(this.headerMenu,"#mediaOverlayRate")),this.speechAutoScroll&&(this.speechAutoScroll.checked=this.autoScroll),this.speechAutoTurn&&(this.speechAutoTurn.checked=this.autoTurn),this.speechVolume&&(this.speechVolume.value=this.volume.toString()),this.speechRate&&(this.speechRate.value=this.volume.toString()),Z(de(t,"ul"),"click",n=>{n.stopPropagation()})}onSettingsChange(t){this.settingsChangeCallback=t}storeProperty(t){this.updateUserSettings(),this.saveProperty(t)}updateUserSettings(){let t={color:this.userProperties.getByRef(Ne.COLOR_REF)?.value,autoScroll:this.userProperties.getByRef(Ne.AUTO_SCROLL_REF)?.value,autoTurn:this.userProperties.getByRef(Ne.AUTO_TURN_REF)?.value,volume:this.userProperties.getByRef(Ne.VOLUME_REF)?.value,rate:this.userProperties.getByRef(Ne.RATE_REF)?.value};this.applyMediaOverlaySettings(t),this.api?.updateSettings&&this.api?.updateSettings(t).then(async n=>{Vn.default.log("api updated sync settings",n)})}getMediaOverlaySettings(){let t=new xi;return t.addSwitchable("mediaoverlay-auto-scroll-off","mediaoverlay-auto-scroll-on",this.autoScroll,Ne.AUTO_SCROLL_REF,Ne.AUTO_SCROLL_KEY),t.addSwitchable("mediaoverlay-auto-turn-off","mediaoverlay-auto-turn-on",this.autoTurn,Ne.AUTO_TURN_REF,Ne.AUTO_TURN_KEY),t.addStringable(this.color,Ne.COLOR_REF,Ne.COLOR_KEY),t.addIncremental(this.volume,.1,1,.1,"",Ne.VOLUME_REF,Ne.VOLUME_KEY),t.addIncremental(this.rate,.1,3,.1,"",Ne.RATE_REF,Ne.RATE_KEY),t}saveProperty(t){let n=this.store.get(this.MEDIAOVERLAYSETTINGS);if(n){let r=JSON.parse(n);r=r.filter(o=>o.name!==t.name),r.push(t),this.store.set(this.MEDIAOVERLAYSETTINGS,JSON.stringify(r))}else{let r=[];r.push(t),this.store.set(this.MEDIAOVERLAYSETTINGS,JSON.stringify(r))}return t}getProperty(t){let n=this.store.get(this.MEDIAOVERLAYSETTINGS);if(n){let r=JSON.parse(n);return r=r.filter(o=>o.name===t),r.length===0?null:r[0]}return null}resetMediaOverlaySettings(){this.store.remove(this.MEDIAOVERLAYSETTINGS),this.reset(),this.settingsChangeCallback()}applyMediaOverlaySettings(t){if(t.color){this.color=t.color;let n=this.userProperties.getByRef(Ne.COLOR_REF);n&&(n.value=this.color,this.saveProperty(n)),this.settingsChangeCallback()}if(t.autoScroll!==void 0){Vn.default.log("autoScroll "+this.autoScroll),this.autoScroll=t.autoScroll;let n=this.userProperties.getByRef(Ne.AUTO_SCROLL_REF);n&&(n.value=this.autoScroll,this.saveProperty(n)),this.settingsChangeCallback()}if(t.autoTurn!==void 0){Vn.default.log("autoTurn "+this.autoTurn),this.autoTurn=t.autoTurn;let n=this.userProperties.getByRef(Ne.AUTO_TURN_REF);n&&(n.value=this.autoTurn,this.saveProperty(n)),this.settingsChangeCallback()}if(t.volume){Vn.default.log("volume "+this.volume),this.volume=t.volume;let n=this.userProperties.getByRef(Ne.VOLUME_REF);n&&(n.value=this.volume,this.saveProperty(n)),this.settingsChangeCallback()}if(t.rate){Vn.default.log("rate "+this.rate),this.rate=t.rate;let n=this.userProperties.getByRef(Ne.RATE_REF);n&&(n.value=this.rate,this.saveProperty(n)),this.settingsChangeCallback()}}applyMediaOverlaySetting(t,n){if(t===Ne.COLOR_REF){this.color=n;let r=this.userProperties.getByRef(Ne.COLOR_REF);r&&(r.value=this.color,this.saveProperty(r)),this.settingsChangeCallback()}else if(t===Ne.AUTO_SCROLL_REF){this.autoScroll=n;let r=this.userProperties.getByRef(Ne.AUTO_SCROLL_REF);r&&(r.value=this.autoScroll,this.saveProperty(r)),this.settingsChangeCallback()}else if(t===Ne.AUTO_TURN_REF){this.autoTurn=n;let r=this.userProperties.getByRef(Ne.AUTO_TURN_REF);r&&(r.value=this.autoTurn,this.saveProperty(r)),this.settingsChangeCallback()}}increase(t){if(t==="mo_volume"){this.userProperties.getByRef(Ne.VOLUME_REF).increment(),this.volume=this.userProperties.getByRef(Ne.VOLUME_REF)?.value;let n=this.userProperties.getByRef(Ne.VOLUME_REF);n&&this.storeProperty(n),this.settingsChangeCallback()}else if(t==="mo_rate"){this.userProperties.getByRef(Ne.RATE_REF).increment(),this.rate=this.userProperties.getByRef(Ne.RATE_REF)?.value;let n=this.userProperties.getByRef(Ne.RATE_REF);n&&this.storeProperty(n),this.settingsChangeCallback()}}decrease(t){if(t==="mo_volume"){this.userProperties.getByRef(Ne.VOLUME_REF).decrement(),this.volume=this.userProperties.getByRef(Ne.VOLUME_REF)?.value;let n=this.userProperties.getByRef(Ne.VOLUME_REF);n&&this.storeProperty(n),this.settingsChangeCallback()}else if(t==="mo_rate"){this.userProperties.getByRef(Ne.RATE_REF).decrement(),this.rate=this.userProperties.getByRef(Ne.RATE_REF)?.value;let n=this.userProperties.getByRef(Ne.RATE_REF);n&&this.storeProperty(n),this.settingsChangeCallback()}}};var He=Je(Dt()),P0=class{constructor(t,n,r,o){this.play=de(document,"#menu-button-play");this.pause=de(document,"#menu-button-pause");this.currentLinkIndex=0;this.pid=void 0;this.__ontimeupdate=!1;this.ontimeupdate=async t=>{He.default.log("ontimeupdate"),this.trackCurrentTime()};this.ensureOnTimeUpdate=(t,n)=>{t?this.__ontimeupdate&&(this.__ontimeupdate=!1,this.audioElement&&this.audioElement.removeEventListener("timeupdate",this.ontimeupdate),cancelAnimationFrame(this.myReq)):(!this.__ontimeupdate||n)&&(this.__ontimeupdate=!0,n&&(this.audioElement&&this.audioElement.removeEventListener("timeupdate",this.ontimeupdate),this.audioElement.addEventListener("timeupdate",this.ontimeupdate)))};this.delegate=t,this.publication=n,this.settings=r,this.properties=o}static create(t){let n=new this(t.delegate,t.publication,t.settings,t);return n.start(),n}stop(){He.default.log("MediaOverlay module stop")}start(){this.delegate.mediaOverlayModule=this,He.default.log("MediaOverlay module start")}async initialize(){return new Promise(async t=>{await document.fonts.ready,this.settings.setControls(),this.settings.onSettingsChange(()=>{this.audioElement.volume=this.settings.volume,this.audioElement.playbackRate=this.settings.rate}),t()})}async initializeResource(t){this.currentLinks=t,this.currentLinkIndex=0,await this.playLink()}async playLink(){let t=this.currentLinks[this.currentLinkIndex];if(t?.Properties?.MediaOverlay){this.ensureOnTimeUpdate(!1,!1);let n=t.Properties?.MediaOverlay,o=new URL(n,this.publication.manifestUrl).toString(),a;try{a=await fetch(o,this.delegate.requestConfig)}catch(f){console.error(f,o);return}a.ok||He.default.log("BAD RESPONSE?!");let l;try{l=await a.json()}catch(f){console.error(f)}if(!l){He.default.log("## moJson"+l);return}t.MediaOverlays=Cs(l,D4.MediaOverlayNode),t.MediaOverlays.initialized=!0;let u=t.HrefDecoded||t.Href,d=new URL("https://dita.digital/"+u);await this.playMediaOverlays(d.pathname.substr(1),t.MediaOverlays,void 0)}else this.audioElement&&await this.audioElement.pause(),this.currentLinks.length>1&&this.currentLinkIndex===0?(this.currentLinkIndex++,await this.playLink()):this.settings.autoTurn&&this.settings.playing?(this.audioElement&&await this.audioElement.pause(),this.delegate.nextResource()):await this.stopReadAloud()}async startReadAloud(){if(this.delegate.rights.enableMediaOverlays){if(this.settings.playing=!0,this.audioElement&&this.currentLinks[this.currentLinkIndex]?.Properties.MediaOverlay){let t=this.currentAudioBegin?this.currentAudioBegin:0;this.audioElement.currentTime=t,await this.audioElement.play(),this.ensureOnTimeUpdate(!1,!0),this.audioElement.volume=this.settings.volume,this.audioElement.playbackRate=this.settings.rate}else this.currentLinks.length>1&&this.currentLinkIndex===0?(this.currentLinkIndex++,await this.playLink()):this.settings.autoTurn&&this.settings.playing?this.delegate.nextResource():await this.stopReadAloud();this.play&&(this.play.style.display="none"),this.pause&&this.pause.style.removeProperty("display")}}async stopReadAloud(){this.delegate.rights.enableMediaOverlays&&(this.settings.playing=!1,this.audioElement.pause(),this.play&&this.play.style.removeProperty("display"),this.pause&&(this.pause.style.display="none"))}pauseReadAloud(){this.delegate.rights.enableMediaOverlays&&(this.settings.playing=!1,this.audioElement.pause(),this.play&&this.play.style.removeProperty("display"),this.pause&&(this.pause.style.display="none"))}async resumeReadAloud(){this.delegate.rights.enableMediaOverlays&&(this.settings.playing=!0,await this.audioElement.play(),this.play&&(this.play.style.display="none"),this.pause&&this.pause.style.removeProperty("display"))}findDepthFirstTextAudioPair(t,n,r){He.default.log("findDepthFirstTextAudioPair()");let o,a;if(n.Text){let d=new URL("https://dita.digital/"+n.Text);if(d.pathname.substr(1)===t){if(o=!0,d.hash&&r){a=!1;let f=d.hash.substr(1);for(let m of r)if(m===f){a=!0;break}}}else o=!1}if(He.default.log("isFragmentIDMatch: "+a),He.default.log("isTextUrlMatch: "+o),!n.Children||!n.Children.length){if(He.default.log("findDepthFirstTextAudioPair() - leaf text/audio pair"),!o){He.default.log("findDepthFirstTextAudioPair() - leaf - !isTextUrlMatch");return}return a||o&&!r?(He.default.log("findDepthFirstTextAudioPair() - leaf - isFragmentIDMatch || (isTextUrlMatch && !textFragmentIDChain"),n):void 0}let l=r,u=r;for(let d of n.Children){He.default.log("findDepthFirstTextAudioPair() - child"),He.default.log(JSON.stringify(d));let f=this.findDepthFirstTextAudioPair(t,d,u);if(f===null&&(He.default.log("findDepthFirstTextAudioPair() - child - match null (skip)"),u=void 0),f)return He.default.log("findDepthFirstTextAudioPair() - child - match"),He.default.log(JSON.stringify(f)),f}if(a){He.default.log("findDepthFirstTextAudioPair() - post isFragmentIDMatch");let d=this.findDepthFirstTextAudioPair(t,n,void 0);return d&&(He.default.log("findDepthFirstTextAudioPair() - post isFragmentIDMatch - match"),He.default.log(JSON.stringify(d)),d)}if(l&&!u)return null}trackCurrentTime(){if(cancelAnimationFrame(this.myReq),this.mediaOverlayTextAudioPair)try{this.currentAudioEnd&&this.audioElement.currentTime>=this.currentAudioEnd-.05&&(He.default.log("ontimeupdate - mediaOverlaysNext()"),this.mediaOverlaysNext());let t=this.mediaOverlayTextAudioPair.Text.lastIndexOf("#"),n=this.mediaOverlayTextAudioPair.Text.substr(t+1);this.mediaOverlayHighlight(n),this.myReq=requestAnimationFrame(this.trackCurrentTime.bind(this))}catch(t){}}mediaOverlaysNext(t){if(He.default.log("mediaOverlaysNext()"),this.mediaOverlayRoot&&this.mediaOverlayTextAudioPair){let n=this.findNextTextAudioPair(this.mediaOverlayRoot,this.mediaOverlayTextAudioPair,{prev:void 0},!!t);if(!n)He.default.log("mediaOverlaysNext() - navLeftOrRight()"),this.mediaOverlaysStop(),this.currentLinks.length>1&&this.currentLinkIndex===0?(this.currentLinkIndex++,this.playLink()):(this.audioElement.pause(),this.settings.autoTurn&&this.settings.playing?(this.audioElement.pause(),this.delegate.nextResource()):this.stopReadAloud());else{let r=!1;if(this.mediaOverlayTextAudioPair.Text&&n.Text){let o=new URL("https://dita.digital/"+this.mediaOverlayTextAudioPair.Text),a=new URL("https://dita.digital/"+n.Text);o.pathname!==a.pathname&&(He.default.log("mediaOverlaysNext() SWITCH! "+o.pathname+" != "+a.pathname),r=!0)}r?this.mediaOverlaysStop():(He.default.log("mediaOverlaysNext() - playMediaOverlaysAudio()"),setTimeout(async()=>{await this.playMediaOverlaysAudio(n,void 0,void 0)},0))}}else He.default.log("mediaOverlaysNext() - navLeftOrRight() 2"),this.mediaOverlaysStop(),this.currentLinks.length>1&&this.currentLinkIndex===0?(this.currentLinkIndex++,this.playLink()):(this.audioElement.pause(),this.settings.autoTurn&&this.settings.playing?(this.audioElement.pause(),this.delegate.nextResource()):this.stopReadAloud())}mediaOverlaysStop(){He.default.log("mediaOverlaysStop()"),this.mediaOverlaysPause(),this.mediaOverlayRoot=void 0,this.mediaOverlayTextAudioPair=void 0}mediaOverlaysPause(){He.default.log("mediaOverlaysPause()"),this.mediaOverlayHighlight(void 0),this.audioElement&&this.audioElement.pause()}findNextTextAudioPair(t,n,r,o){if(!t.Children||!t.Children.length){if(r?.prev===n)return He.default.log("findNextTextAudioPair() - prevMo === moToMatch"),t;He.default.log("findNextTextAudioPair() - set previous"),He.default.log(JSON.stringify(t)),r.prev=t;return}for(let a of t.Children){He.default.log("findNextTextAudioPair() - child"),He.default.log(JSON.stringify(a));let l=this.findNextTextAudioPair(a,n,r,o);if(l)return He.default.log("findNextTextAudioPair() - match"),He.default.log(JSON.stringify(l)),l}}async playMediaOverlaysAudio(t,n,r){if(He.default.log("playMediaOverlaysAudio()"),this.mediaOverlayTextAudioPair=t,!t.Audio)return;let o=new URL(t.Audio,this.publication.manifestUrl),a=o.toString(),l=new URL(a);l.hash="",l.search="";let u=l.toString(),d=typeof n!="undefined",f=typeof r!="undefined";if(this.previousAudioEnd=this.currentAudioEnd,this.currentAudioBegin=void 0,this.currentAudioEnd=void 0,!d&&!f){if(o.hash){let p=o.hash.match(/t=([0-9.]+)(,([0-9.]+))?/);if(p&&p.length>=1){let E=p[1];try{this.currentAudioBegin=parseFloat(E)}catch(S){He.default.error(S)}if(p.length>=3){let S=p[3];try{this.currentAudioEnd=parseFloat(S)}catch(v){He.default.error(v)}}}}}else this.currentAudioBegin=n,this.currentAudioEnd=r;He.default.log(`${a} => [${this.currentAudioBegin}-${this.currentAudioEnd}]`);let m=async p=>{if(!this.audioElement)return;let E=this.currentAudioBegin?this.currentAudioBegin:0;if(p||this.audioElement.paused)if(p&&!E||this.audioElement.currentTime===E){if(He.default.log("playMediaOverlaysAudio() - playClip() - _currentAudioElement.play()"),this.ensureOnTimeUpdate(!1,!1),this.audioElement.playbackRate=this.settings.rate,this.audioElement.volume=this.settings.volume,this.settings.playing){let v=function(){S.settings.resourceReady?setTimeout(async()=>{await S.audioElement.play(),S.ensureOnTimeUpdate(!1,!0)},S.settings.wait*1e3):setTimeout(v,200)},S=this;v()}}else{He.default.log("playMediaOverlaysAudio() - playClip() - ontimeupdateSeeked");let S=async v=>{if(this.audioElement.removeEventListener("timeupdate",S),He.default.log("playMediaOverlaysAudio() - playClip() - ontimeupdateSeeked - .play()"),this.ensureOnTimeUpdate(!1,!1),this.audioElement&&(this.audioElement.playbackRate=this.settings.rate,this.audioElement.volume=this.settings.volume,this.settings.playing)){let b=function(){y.settings.resourceReady?setTimeout(async()=>{await y.audioElement.play(),y.ensureOnTimeUpdate(!1,!0)},y.settings.wait*1e3):setTimeout(b,200)},y=this;b()}};this.audioElement.addEventListener("timeupdate",S),this.audioElement.currentTime=E}else{let S=this.previousAudioUrl===this.currentAudioUrl&&typeof this.previousAudioEnd!="undefined"&&this.previousAudioEnd>E-.02&&this.previousAudioEnd<=E&&this.audioElement.currentTime>=E-.1;this.ensureOnTimeUpdate(!1,!1),S?He.default.log("playMediaOverlaysAudio() - playClip() - ensureOnTimeUpdate"):(He.default.log("playMediaOverlaysAudio() - playClip() - currentTime = timeToSeekTo"),this.audioElement.currentTime=E)}};if(this.previousAudioUrl=this.currentAudioUrl,!this.currentAudioUrl||u!==this.currentAudioUrl){this.currentAudioUrl=u,He.default.log("playMediaOverlaysAudio() - RESET: "+this.previousAudioUrl+" => "+this.currentAudioUrl),this.audioElement=document.getElementById("AUDIO_MO_ID"),this.audioElement&&(this.audioElement.pause(),this.audioElement.setAttribute("src",""),this.audioElement.parentNode&&this.audioElement.parentNode.removeChild(this.audioElement)),this.audioElement=document.createElement("audio"),this.audioElement.setAttribute("style","display: none"),this.audioElement.setAttribute("id","AUDIO_MO_ID"),this.audioElement.setAttribute("role","media-overlays"),this.audioElement.volume=this.settings.volume,this.audioElement.playbackRate=this.settings.rate,document.body.appendChild(this.audioElement),this.audioElement.addEventListener("error",S=>{He.default.log("-1) error: "+(this.currentAudioUrl!==S.currentTarget.src?this.currentAudioUrl+" -- ":"")+S.currentTarget.src.substr(S.currentTarget.src.lastIndexOf("/"))),this.audioElement&&this.audioElement.error&&(He.default.log(this.audioElement.error.code),He.default.log(this.audioElement.error.message))});let p=async S=>{S.currentTarget.removeEventListener("canplaythrough",p),He.default.log("oncanplaythrough"),await m(!0)};this.audioElement.addEventListener("canplaythrough",p);let E=async S=>{He.default.log("onended"),this.currentLinks.length>1&&this.currentLinkIndex===0?(this.currentLinkIndex++,await this.playLink()):this.settings.autoTurn&&this.settings.playing?(this.audioElement.pause(),this.delegate.nextResource()):this.stopReadAloud()};this.audioElement.addEventListener("ended",E),this.audioElement.playbackRate=this.settings.rate,this.audioElement.setAttribute("src",this.currentAudioUrl)}else He.default.log("playMediaOverlaysAudio() - playClip()"),await m(!1)}async playMediaOverlays(t,n,r){He.default.log("playMediaOverlays()");let o=r?r.filter(l=>l):void 0;o&&o.length===0&&(o=void 0);let a=this.findDepthFirstTextAudioPair(t,n,o);!a&&o&&(He.default.log("playMediaOverlays() - findDepthFirstTextAudioPair() SECOND CHANCE "),He.default.log(JSON.stringify(o,null,4)),He.default.log(JSON.stringify(n,null,4)),a=this.findDepthFirstTextAudioPair(t,n,void 0)),a?a.Audio&&(He.default.log("playMediaOverlays() - playMediaOverlaysAudio()"),this.mediaOverlayRoot=n,await this.playMediaOverlaysAudio(a,void 0,void 0)):He.default.log("playMediaOverlays() - !moTextAudioPair "+t)}mediaOverlayHighlight(t){He.default.log("moHighlight: ## "+t);let n=this.publication.Metadata?.MediaOverlay?.ActiveClass;n||(n=this.settings.color);let r=this.delegate.iframes[0].contentDocument?.documentElement.getAttribute("style"),o=r?r.indexOf("readium-night-on")>0:!1,a=r?r.indexOf("readium-sepia-on")>0:!1;if((this.publication.Metadata.Rendition?.Layout??"unknown")!=="fixed"&&(n=o||a?R0:n||R0),this.pid){let u;this.currentLinkIndex===0?u=this.delegate.iframes[0].contentDocument?.getElementById(this.pid):u=this.delegate.iframes[1].contentDocument?.getElementById(this.pid),u&&u.classList.remove(n)}let l;t&&(this.currentLinkIndex===0?l=this.delegate.iframes[0].contentDocument?.getElementById(t):l=this.delegate.iframes[1].contentDocument?.getElementById(t),l&&l.classList.add(n),this.pid=t),l&&(this.publication.Metadata.Rendition?.Layout??"unknown")!=="fixed"&&l.scrollIntoView({block:"center",behavior:"smooth"})}};A();var I0=Je(Dt()),L0=class{static async create(t){let n=new this(t.delegate,t.publication);return await n.start(),n}constructor(t,n){this.delegate=t,this.publication=n}async stop(){I0.default.log("Timeline module stop")}async start(){this.delegate.timelineModule=this,this.timelineContainer=de(document,"#container-view-timeline"),this.positionSlider=de(document,"#positionSlider"),this.publication.positions?this.positionSlider&&(this.positionSlider.style.display="block"):this.positionSlider&&(this.positionSlider.style.display="none")}async initialize(){return new Promise(async t=>{await document.fonts.ready;let n=this.delegate.currentLocator();(this.delegate.rights.autoGeneratePositions&&this.publication.positions||this.publication.positions)&&(this.positionSlider&&(this.positionSlider.value=(n.locations.position??0).toString()),this.positionSlider&&(this.positionSlider.max=((n.locations.totalRemainingPositions??0)+(n.locations.position??0)).toString())),this.timelineContainer&&(this.timelineContainer.innerHTML=""),this.publication.readingOrder?.forEach(r=>{let o=this.publication.getAbsoluteHref(r.Href),a=this.publication.getTOCItemAbsolute(o),l=a?.Href.indexOf("#")!==-1?a?.Href.slice(0,a?.Href.indexOf("#")):a.Href,u=this.publication.getAbsoluteHref(l??"");var d;this.publication.positions&&this.delegate.view?.layout!=="fixed"?r.contentWeight?d=r.contentWeight:d=1:d=100/(this.publication.readingOrder?.length??0);var f=document.createElement("div");if(f.style.height=d+"%",f.style.width="100%",f.className="chapter",a?.Title!==void 0){var m=document.createElement("span");m.innerHTML=a.Title,m.className="chapter-tooltip",f.appendChild(m)}Z(f,"click",p=>{p.preventDefault(),p.stopPropagation();var E;this.publication.positions||this.delegate.rights.autoGeneratePositions&&this.publication.positions?(E=Fe({},this.publication.positions.filter(S=>S.href===r.Href)[0]),E.href=this.publication.getAbsoluteHref(E.href)):E={href:u,locations:{progression:0},type:r.TypeLink,title:r.Title},I0.default.log(E),this.delegate.navigate(E)}),u===this.delegate.currentChapterLink.href?f.className+=" active":f.className=f.className.replace(" active",""),this.timelineContainer&&this.timelineContainer.appendChild(f)}),t()})}};A();var Q0=Je(to());A();var F4=Je(Dt());function $4(i,t){return new Promise(function(n){setTimeout(n.bind(null,t),i)})}var H8=!1;F4.default.setLevel(H8?"trace":"warn",!0);var y3=Je(g3()),Hd=Je(m3()),gn=Je(Dt());var jd=class{constructor(t,n){this.hasEventListener=!1;this.isHacked=!1;this.delegate=t,this.properties=n}static async setupPreloadProtection(t){if(this.isCurrentBrowserSupported(t))t.detectInspect&&await this.startInspectorProtection(t);else throw new Error("Browser not supported")}static async create(t){let n=new this(t.delegate,t);return await n.start(),n}static async startInspectorProtection(t){(0,Hd.addListener)(r=>{r&&(t.clearOnInspect&&(console.clear(),window.localStorage.clear(),window.sessionStorage.clear(),window.location.replace(window.location.origin)),t.detectInspect&&typeof t.api?.inspectDetected=="function"&&t.api.inspectDetected())}),(0,Hd.launch)(),await $4(t.detectInspectInitDelay??100)}static isCurrentBrowserSupported(t){if(!t.enforceSupportedBrowsers)return!0;let n=[];return(t.supportedBrowsers??[]).forEach(o=>{n.push("last 1 "+o+" version")}),(0,y3.getUserAgentRegExp)({browsers:n,allowHigherVersions:!0}).test(navigator.userAgent)}async start(){if(this.delegate.contentProtectionModule=this,this.properties?.enableObfuscation){this.wrapper=dt(document,"#iframe-wrapper"),this.securityContainer=de(document,"#container-view-security");var t=this;this.mutationObserver=new MutationObserver(function(n){n.forEach(function(r){gn.default.log(r.type),t.isHacked=!0})})}}async stop(){if(gn.default.log("Protection module stop"),this.mutationObserver.disconnect(),this.properties?.disableKeys){we(this.delegate.mainElement,"keydown",this.disableSave),we(this.delegate.headerMenu,"keydown",this.disableSave);for(let t of this.delegate.iframes)we(t.contentDocument,"keydown",this.disableSave),we(t.contentWindow,"keydown",this.disableSave);we(window,"keydown",this.disableSave),we(document,"keydown",this.disableSave)}if(this.properties?.disableCopy){we(this.delegate.mainElement,"copy",this.preventCopy),we(this.delegate.headerMenu,"copy",this.preventCopy);for(let t of this.delegate.iframes)we(t.contentDocument,"copy",this.preventCopy),we(t.contentWindow,"copy",this.preventCopy);we(window,"copy",this.preventCopy),we(document,"copy",this.preventCopy),we(this.delegate.mainElement,"cut",this.preventCopy),we(this.delegate.headerMenu,"cut",this.preventCopy);for(let t of this.delegate.iframes)we(t.contentDocument,"cut",this.preventCopy),we(t.contentWindow,"cut",this.preventCopy);we(window,"cut",this.preventCopy),we(document,"cut",this.preventCopy),we(this.delegate.mainElement,"keydown",this.preventCopyKey),we(this.delegate.headerMenu,"keydown",this.preventCopyKey);for(let t of this.delegate.iframes)we(t.contentDocument,"keydown",this.preventCopyKey),we(t.contentWindow,"keydown",this.preventCopyKey);we(window,"keydown",this.preventCopyKey),we(document,"keydown",this.preventCopyKey)}else if(this.properties?.canCopy){we(this.delegate.mainElement,"copy",this.restrictCopy),we(this.delegate.headerMenu,"copy",this.restrictCopy);for(let t of this.delegate.iframes)we(t.contentDocument,"copy",this.restrictCopy),we(t.contentWindow,"copy",this.restrictCopy);we(window,"copy",this.restrictCopy),we(document,"copy",this.restrictCopy),we(this.delegate.mainElement,"cut",this.restrictCopy),we(this.delegate.headerMenu,"cut",this.restrictCopy);for(let t of this.delegate.iframes)we(t.contentDocument,"cut",this.restrictCopy),we(t.contentWindow,"cut",this.restrictCopy);we(window,"cut",this.restrictCopy),we(document,"cut",this.restrictCopy),we(this.delegate.mainElement,"keydown",this.restrictCopyKey),we(this.delegate.headerMenu,"keydown",this.restrictCopyKey);for(let t of this.delegate.iframes)we(t.contentDocument,"keydown",this.restrictCopyKey),we(t.contentWindow,"keydown",this.restrictCopyKey);we(window,"keydown",this.restrictCopyKey),we(document,"keydown",this.restrictCopyKey)}if(this.properties?.disablePrint){we(this.delegate.mainElement,"beforeprint",this.beforePrint.bind(this)),we(this.delegate.headerMenu,"beforeprint",this.beforePrint.bind(this));for(let t of this.delegate.iframes)we(t.contentDocument,"beforeprint",this.beforePrint),we(t.contentWindow,"beforeprint",this.beforePrint);we(window,"beforeprint",this.beforePrint),we(document,"beforeprint",this.beforePrint),we(this.delegate.mainElement,"afterprint",this.afterPrint.bind(this)),we(this.delegate.headerMenu,"afterprint",this.afterPrint.bind(this));for(let t of this.delegate.iframes)we(t.contentDocument,"afterprint",this.afterPrint.bind(this)),we(t.contentWindow,"afterprint",this.afterPrint.bind(this));we(window,"afterprint",this.afterPrint.bind(this)),we(document,"afterprint",this.afterPrint.bind(this))}if(this.properties?.disableContextMenu){we(this.delegate.mainElement,"contextmenu",this.disableContext),we(this.delegate.headerMenu,"contextmenu",this.disableContext);for(let t of this.delegate.iframes)we(t.contentDocument,"contextmenu",this.disableContext),we(t.contentWindow,"contextmenu",this.disableContext);we(window,"contextmenu",this.disableContext),we(document,"contextmenu",this.disableContext)}this.properties?.hideTargetUrl&&this.hideTargetUrls(!1),this.properties?.disableDrag&&this.preventDrag(!1),we(this.wrapper,"scroll",this.handleScroll.bind(this))}observe(){if(this.properties?.enableObfuscation){this.securityContainer.hasAttribute("style")&&(this.isHacked=!0),this.mutationObserver.disconnect();var t={attributes:!0,childList:!0,characterData:!0};this.mutationObserver.observe(this.securityContainer,t)}}async deactivate(){this.properties?.enableObfuscation&&(this.observe(),this.rects.forEach(t=>this.deactivateRect(t,this.securityContainer,this.isHacked)))}async activate(){if(this.properties?.enableObfuscation){this.observe();for(let t of this.delegate.iframes)if(t.contentDocument){let n=_i(t.contentDocument,"body");this.rects=this.findRects(n),this.rects.forEach(r=>this.toggleRect(r,this.securityContainer,this.isHacked))}}}setupEvents(){if(this.properties?.disableKeys){Z(this.delegate.mainElement,"keydown",this.disableSave),Z(this.delegate.headerMenu,"keydown",this.disableSave);for(let t of this.delegate.iframes)Z(t,"keydown",this.disableSave),Z(t.ownerDocument,"keydown",this.disableSave),Z(t.contentDocument,"keydown",this.disableSave),Z(t.contentWindow,"keydown",this.disableSave),Z(t.contentWindow?.document,"keydown",this.disableSave);Z(window,"keydown",this.disableSave),Z(document,"keydown",this.disableSave)}if(this.properties?.disableCopy){Z(this.delegate.mainElement,"copy",this.preventCopy),Z(this.delegate.headerMenu,"copy",this.preventCopy);for(let t of this.delegate.iframes)Z(t,"copy",this.preventCopy),Z(t.ownerDocument,"copy",this.preventCopy),Z(t.contentDocument,"copy",this.preventCopy),Z(t.contentWindow,"copy",this.preventCopy),Z(t.contentWindow?.document,"copy",this.preventCopy);Z(window,"copy",this.preventCopy),Z(document,"copy",this.preventCopy),Z(this.delegate.mainElement,"cut",this.preventCopy),Z(this.delegate.headerMenu,"cut",this.preventCopy);for(let t of this.delegate.iframes)Z(t,"cut",this.preventCopy),Z(t.ownerDocument,"cut",this.preventCopy),Z(t.contentDocument,"cut",this.preventCopy),Z(t.contentWindow,"cut",this.preventCopy),Z(t.contentWindow?.document,"cut",this.preventCopy);Z(window,"cut",this.preventCopy),Z(document,"cut",this.preventCopy),Z(this.delegate.mainElement,"keydown",this.preventCopyKey),Z(this.delegate.headerMenu,"keydown",this.preventCopyKey);for(let t of this.delegate.iframes)Z(t,"keydown",this.preventCopyKey),Z(t.ownerDocument,"keydown",this.preventCopyKey),Z(t.contentDocument,"keydown",this.preventCopyKey),Z(t.contentWindow,"keydown",this.preventCopyKey),Z(t.contentWindow?.document,"keydown",this.preventCopyKey);Z(window,"keydown",this.preventCopyKey),Z(document,"keydown",this.preventCopyKey)}else if(this.properties?.canCopy){Z(this.delegate.mainElement,"copy",this.restrictCopy.bind(this)),Z(this.delegate.headerMenu,"copy",this.restrictCopy.bind(this));for(let t of this.delegate.iframes)Z(t,"copy",this.restrictCopy),Z(t.ownerDocument,"copy",this.restrictCopy.bind(this)),Z(t.contentDocument,"copy",this.restrictCopy.bind(this)),Z(t.contentWindow,"copy",this.restrictCopy.bind(this)),Z(t.contentWindow?.document,"copy",this.restrictCopy.bind(this));Z(window,"copy",this.restrictCopy.bind(this)),Z(document,"copy",this.restrictCopy.bind(this)),Z(this.delegate.mainElement,"cut",this.restrictCopy.bind(this)),Z(this.delegate.headerMenu,"cut",this.restrictCopy.bind(this));for(let t of this.delegate.iframes)Z(t,"cut",this.restrictCopy.bind(this)),Z(t.ownerDocument,"cut",this.restrictCopy.bind(this)),Z(t.contentDocument,"cut",this.restrictCopy.bind(this)),Z(t.contentWindow,"cut",this.restrictCopy.bind(this)),Z(t.contentWindow?.document,"cut",this.restrictCopy.bind(this));Z(window,"cut",this.restrictCopy.bind(this)),Z(document,"cut",this.restrictCopy.bind(this)),Z(this.delegate.mainElement,"keydown",this.restrictCopyKey.bind(this)),Z(this.delegate.headerMenu,"keydown",this.restrictCopyKey.bind(this));for(let t of this.delegate.iframes)Z(t,"keydown",this.restrictCopyKey.bind(this)),Z(t.ownerDocument,"keydown",this.restrictCopyKey.bind(this)),Z(t.contentDocument,"keydown",this.restrictCopyKey.bind(this)),Z(t.contentWindow,"keydown",this.restrictCopyKey.bind(this)),Z(t.contentWindow?.document,"keydown",this.restrictCopyKey.bind(this));Z(window,"keydown",this.restrictCopyKey.bind(this)),Z(document,"keydown",this.restrictCopyKey.bind(this))}if(this.properties?.disablePrint){Z(this.delegate.mainElement,"beforeprint",this.beforePrint),Z(this.delegate.headerMenu,"beforeprint",this.beforePrint);for(let t of this.delegate.iframes)Z(t,"beforeprint",this.beforePrint.bind(this)),Z(t.ownerDocument,"beforeprint",this.beforePrint.bind(this)),Z(t.contentDocument,"beforeprint",this.beforePrint.bind(this)),Z(t.contentWindow,"beforeprint",this.beforePrint.bind(this)),Z(t.contentWindow?.document,"beforeprint",this.beforePrint.bind(this));Z(window,"beforeprint",this.beforePrint.bind(this)),Z(document,"beforeprint",this.beforePrint.bind(this)),Z(this.delegate.mainElement,"afterprint",this.afterPrint),Z(this.delegate.headerMenu,"afterprint",this.afterPrint);for(let t of this.delegate.iframes)Z(t,"afterprint",this.afterPrint.bind(this)),Z(t.ownerDocument,"afterprint",this.afterPrint.bind(this)),Z(t.contentDocument,"afterprint",this.afterPrint.bind(this)),Z(t.contentWindow,"afterprint",this.afterPrint.bind(this)),Z(t.contentWindow?.document,"afterprint",this.afterPrint.bind(this));Z(window,"afterprint",this.afterPrint.bind(this)),Z(document,"afterprint",this.afterPrint.bind(this))}if(this.properties?.disableContextMenu){Z(this.delegate.mainElement,"contextmenu",this.disableContext),Z(this.delegate.headerMenu,"contextmenu",this.disableContext);for(let t of this.delegate.iframes)Z(t,"contextmenu",this.disableContext),Z(t.ownerDocument,"contextmenu",this.disableContext),Z(t.contentDocument,"contextmenu",this.disableContext),Z(t.contentWindow,"contextmenu",this.disableContext),Z(t.contentWindow?.document,"contextmenu",this.disableContext);Z(window,"contextmenu",this.disableContext),Z(document,"contextmenu",this.disableContext)}}initializeResource(){this.properties?.hideTargetUrl&&this.hideTargetUrls(!0),this.properties?.disableDrag&&this.preventDrag(!0)}async initialize(){if(this.properties?.enableObfuscation)return new Promise(async t=>{await document.fonts.ready;for(let n of this.delegate.iframes)if(n.contentDocument){let r=_i(n.contentDocument,"body");this.observe(),setTimeout(()=>{this.rects=this.findRects(r),this.rects.forEach(o=>this.toggleRect(o,this.securityContainer,this.isHacked)),this.setupEvents(),this.hasEventListener||(this.hasEventListener=!0,Z(this.wrapper,"scroll",this.handleScroll.bind(this))),t()},10)}})}handleScroll(){this.rects.forEach(t=>this.toggleRect(t,this.securityContainer,this.isHacked))}handleResize(){if(this.properties?.enableObfuscation){let t=(0,Q0.debounce)(()=>{this.calcRects(this.rects),this.rects!==void 0&&this.rects.forEach(n=>this.toggleRect(n,this.securityContainer,this.isHacked))},10);this.rects&&(this.observe(),t())}}disableContext(t){return t.preventDefault(),t.stopPropagation(),!1}disableSave(t){return(navigator.platform==="MacIntel"||navigator.platform.match("Mac")?t.metaKey:t.ctrlKey&&(t.key==="s"||t.keyCode===83))?(t.preventDefault(),t.stopPropagation(),!1):!0}preventCopy(t){return gn.default.log("copy action initiated"),t.clipboardData.setData("text/plain","copy not allowed"),t.stopPropagation(),t.preventDefault(),!1}preventCopyKey(t){return(navigator.platform==="MacIntel"||navigator.platform.match("Mac")?t.metaKey:t.ctrlKey&&(t.key==="c"||t.keyCode===67))?(t.preventDefault(),t.stopPropagation(),!1):!0}restrictCopy(t){gn.default.log("copy action initiated");let n=this.delegate.iframes[0].contentWindow;if(n){let o=function(l){let u={className:f=>hr.indexOf(f)<0,idName:f=>hr.indexOf(f)<0},d=r.delegate.iframes[0].contentDocument;if(d)return ln(l,d,u)},r=this,a=oi(n,o);if(a===void 0){let l=this.delegate.iframes[0].contentDocument;a=this.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(l)}t.clipboardData.setData("text/plain",a?.cleanText?.substring(0,this.properties?.charactersToCopy??0))}else t.clipboardData.setData("text/plain","");return t.stopPropagation(),t.preventDefault(),!1}restrictCopyKey(t){if(navigator.platform==="MacIntel"||navigator.platform.match("Mac")?t.metaKey:t.ctrlKey&&(t.key==="c"||t.keyCode===67)){let n=this.delegate.iframes[0].contentWindow;if(n){let o=function(l){let u={className:f=>hr.indexOf(f)<0,idName:f=>hr.indexOf(f)<0},d=r.delegate.iframes[0].contentDocument;if(d)return ln(l,d,u)},r=this,a=oi(n,o);if(a===void 0){let l=this.delegate.iframes[0].contentDocument;a=this.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(l)}this.copyToClipboard(a?.cleanText?.substring(0,this.properties?.charactersToCopy??0))}else this.copyToClipboard("");return t.stopPropagation(),t.preventDefault(),!1}return!0}copyToClipboard(t){if(t=t.substring(0,this.properties?.charactersToCopy??0),window.clipboardData)window.clipboardData.setData("text/plain",t);else{let n=this.createElementForExecCommand(t);this.selectContent(n);try{window.netscape&&netscape.security&&netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"),document.execCommand("copy",!1)}catch(r){}document.body.removeChild(n)}}createElementForExecCommand(t){let n=document.createElement("div");return n.style.position="absolute",n.style.left="-10000px",n.style.top="-10000px",n.innerHTML=t,document.body.appendChild(n),n.contentEditable=!0,n}selectContent(t){let n=document.createRange();n.selectNodeContents(t);let r=window.getSelection();r?.removeAllRanges(),r?.addRange(n)}beforePrint(t){return gn.default.log("before print"),this.delegate&&this.delegate.headerMenu&&(this.delegate.headerMenu.style.display="none",this.delegate.mainElement.style.display="none"),t.stopPropagation(),t.preventDefault(),!1}afterPrint(t){return gn.default.log("after print"),this.delegate&&this.delegate.headerMenu&&(this.delegate.headerMenu.style.removeProperty("display"),this.delegate.mainElement.style.removeProperty("display")),t.stopPropagation(),t.preventDefault(),!1}hideTargetUrls(t){function n(r){r.preventDefault();let o=r.currentTarget.getAttribute("data-href-resolved"),a=document.createElement("a");a.setAttribute("href",o),a.click()}for(let r of this.delegate.iframes){let o=r.contentDocument?.querySelectorAll("a");o?.forEach(a=>{let l=a.getAttribute("data-href"),u=a.getAttribute("href");!l&&u&&(a.setAttribute("data-href",u),a.setAttribute("data-href-resolved",a.href))}),t?o?.forEach(a=>{a.setAttribute("href",""),a.addEventListener("click",n)}):o?.forEach(a=>{let l=a.getAttribute("data-href");l&&a.setAttribute("href",l),a.removeEventListener("click",n)})}}preventDrag(t){let n="-webkit-user-drag: none; -khtml-user-drag: none; -moz-user-drag: none; -ms-user-drag: none; user-drag: none; -webkit-pointer-events: none; -khtml-pointer-events: none; -moz-pointer-events: none; -ms-pointer-events: none; pointer-events: none;",r=o=>{o.preventDefault()};for(let o of this.delegate.iframes){let a=o.contentDocument?.body.getAttribute("style")||"";t?(o.contentDocument?.body.addEventListener("dragstart",r),o.contentDocument?.body.setAttribute("style",a+n)):(o.contentDocument?.body.removeEventListener("dragstart",r),o.contentDocument?.body.setAttribute("style",a.replace(n,"")))}}recalculate(t=0){return new Promise(n=>{if(this.properties?.enableObfuscation){let r=(0,Q0.debounce)(()=>{this.calcRects(this.rects),this.rects!==void 0&&this.rects.forEach(o=>this.toggleRect(o,this.securityContainer,this.isHacked)),n(!0)},t);this.rects?(this.observe(),r()):n(!1)}else n(!1)})}calcRects(t){t!==void 0&&t.forEach(n=>{try{let{top:r,height:o,left:a,width:l}=this.measureTextNode(n.node);n.top=r,n.height=o,n.width=l,n.left=a}catch(r){gn.default.log("error "+r),gn.default.log(n),gn.default.log(n.node),gn.default.log("scrambledTextContent "+n.scrambledTextContent),gn.default.log("textContent "+n.textContent),gn.default.log("isObfuscated "+n.isObfuscated)}})}deactivateRect(t,n,r){this.isBeingHacked(n)||r?(t.node.textContent=t.scrambledTextContent,t.isObfuscated=!0):(t.node.textContent=t.textContent,t.isObfuscated=!1)}toggleRect(t,n,r){let o=this.isOutsideViewport(t),a=this.isBeingHacked(n);t.isObfuscated&&!o&&!a&&!r&&(t.node.textContent=t.textContent,t.isObfuscated=!1),!t.isObfuscated&&(o||a||r)&&(t.node.textContent=t.scrambledTextContent,t.isObfuscated=!0)}findRects(t){return this.findTextNodes(t).map(r=>{let{top:o,height:a,left:l,width:u}=this.measureTextNode(r),d=r.parentElement?.nodeName==="option"||r.parentElement?.nodeName==="script"?r.textContent:this.obfuscateText(r.textContent??"");return{top:o,height:a,width:u,left:l,node:r,textContent:r.textContent??"",scrambledTextContent:d??"",isObfuscated:!1}})}obfuscateText(t){return this.scramble(t,!0)}measureTextNode(t){try{let n=document.createRange();n.selectNode(t);let r=n.getBoundingClientRect();return n.detach(),r}catch(n){gn.default.log("measureTextNode "+n),gn.default.log("measureTextNode "+t),gn.default.log(t.textContent)}}isBeingHacked(t){return t.style.animation||t.style.transition||t.style.position||t.hasAttribute("style")?(gn.default.log("content being hacked"),!0):!1}isOutsideViewport(t){let n=this.wrapper.scrollLeft,r=n+this.wrapper.clientWidth,o=t.left+t.width,a=t.top+t.height,l=this.wrapper.scrollTop,u=l+this.wrapper.clientHeight,d=a<l,f=t.top>u,m=o<n-window.innerWidth,p=t.left>r+window.innerWidth;return d||f||m||p}findTextNodes(t,n=[]){let r=t.firstChild;for(;r;)r.nodeType===1&&this.findTextNodes(r,n),r.nodeType===3&&r.textContent?.trim()&&n.push(r),r=r.nextSibling;return n}scramble(t,n=!1,r=!1){var o=t.split(" ");function a(l){for(var u=l.length,d,f;u>0;)f=Math.floor(Math.random()*u),u--,d=l[u],l[u]=l[f],l[f]=d;return l}return n&&(o=o.map(function(l){return a(l.split("")).join("")})),r?a(o).join(" "):o.join(" ")}};A();var O3=Je(v3());A();var Dd=i=>i.replace(/\n/g," ").replace(/\s\s+/g," "),eN=i=>Dd(i).trim(),w3=/[\\^$.*+?()[\]{}|]/g,tN=RegExp(w3.source);function E3(i){return i&&tN.test(i)?i.replace(w3,"\\$&"):i||""}var Fd=0,nN=()=>()=>Number.isSafeInteger(++Fd)?Fd:Fd=1,S3=()=>{Fd=0},rN=nN(),iN=i=>t=>{try{return ln(t,i,ro)}catch(n){return console.error("uniqueCssSelector:",n),""}};async function lo(i,t,n,r,o=!1){if(!t)return[];let a=t.body?.textContent;if(!a)return[];if(i=eN(i),!i.length)return[];let l=t.createNodeIterator(t.body,NodeFilter.SHOW_TEXT,{acceptNode:S=>NodeFilter.FILTER_ACCEPT}),u=new RegExp(E3(i).replace(/ /g,"\\s+"),"gim");o&&(u=new RegExp("\\b"+E3(i).replace(/ /g,"\\s+")+"\\b","gim"));let d=[],f=100,m=30,p=0,E;for(;E=u.exec(a);){let S=Math.max(0,E.index-f),v=Math.min(f,E.index),y=Dd(a.substr(S,v));y=y.substr(y.length-m),S=u.lastIndex,v=Math.min(f,a.length-S);let b=Dd(a.substr(S,v)).substr(0,m),w=new Range,O=E.index;for(;p<=O;){let _=l.nextNode();_&&_.nodeValue&&(p+=_.nodeValue.length)}let T=l.referenceNode.nodeValue?l.referenceNode.nodeValue?.length-(p-O):0;for(w.setStart(l.referenceNode,T),O=E.index+E[0].length;p<=O;){let P=l.nextNode()?.nodeValue;P&&(p+=P.length)}T=l.referenceNode.nodeValue?l.referenceNode.nodeValue?.length-(p-O):0,w.setEnd(l.referenceNode,T),t.getCssSelector||(t.getCssSelector=iN(t));let C=Pi(w,t.getCssSelector);C&&d.push({textMatch:Dd(E[0]),textBefore:y,textAfter:b,rangeInfo:C,href:n,title:r,uuid:rN().toString()})}return d}var x3=Je(Dt()),tg=class{constructor(t,n,r,o,a,l){this.currentChapterSearchResult=[];this.bookSearchResult=[];this.currentSearchHighlights=[];this.delegate=t,this.headerMenu=l,this.publication=n,this.properties=r,this.api=a,this.highlighter=o}static async create(t){let n=new this(t.delegate,t.publication,t,t.highlighter,t.api,t.headerMenu);return await n.start(),n}async stop(){x3.default.log("Search module stop"),we(this.searchInput,"keypress",this.handleSearch.bind(this)),we(this.searchGo,"click",this.handleSearch.bind(this))}async start(){if(this.delegate.searchModule=this,this.headerMenu){this.searchInput=de(this.headerMenu,"#searchInput"),Z(this.searchInput,"keypress",this.handleSearch.bind(this)),this.searchGo=de(this.headerMenu,"#searchGo"),Z(this.searchGo,"click",this.handleSearch.bind(this));var t=de(this.headerMenu,"#menu-button-search");t&&t.parentElement?.style.removeProperty("display")}setTimeout(()=>{this.properties.hideLayer?this.delegate.hideLayer("search"):this.delegate.showLayer("search")},10)}async handleSearch(t){(t.key==="Enter"||t.type==="click")&&(await this.handleSearchChapter(),await this.handleSearchBook())}async handleSearchChapter(t){var n=this,r=this.searchInput.value;let o=this.delegate.currentChapterLink.href,a=this.publication.getSpineItem(o);if(this.headerMenu)var l=de(document,"#searchResultChapter");n.currentChapterSearchResult=[],n.currentSearchHighlights=[];var u=[];this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.deactivate(),await this.searchAndPaintChapter(r,t,async f=>{u=f,d(1),this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate(200)});async function d(f){l.innerHTML="";var m;if(m=n.paginate(u,f,10),m.total===0){let p=document.createElement("a");p.className="collection-item",p.innerHTML="nothing found",l.appendChild(p)}else{for(let y=0;y<m.data.length;y++){let b=document.createElement("a"),w=m.data[y];b.className="collection-item",b.href=a?.Href??"",b.innerHTML="..."+w.textBefore+"<mark>"+w.textMatch+"</mark>"+w.textAfter+"...",Z(b,"click",O=>{O.preventDefault(),O.stopPropagation(),n.jumpToMark(y+f*10-10)}),l.appendChild(b)}let p=document.createElement("div");p.style.textAlign="center",p.style.marginTop="10px";let E=document.createElement("ul");E.className="pagination";let S=document.createElement("li");if(S.className="disabled",S.innerHTML='<a href="#!"> < </a>',m.pre_page!==void 0){let y=m.pre_page;S.className="waves-effect",Z(S,"click",b=>{b.preventDefault(),b.stopPropagation(),d(y)})}E.appendChild(S);for(let y=1;y<=m.total_pages;y++){let b,w=document.createElement("li");w.className="waves-effect",y===m.page&&(w.className="active",b=w),w.innerHTML='<a href="#!">'+y+"</a>",Z(w,"click",O=>{O.preventDefault(),O.stopPropagation(),b&&(b.className="waves-effect"),w.className="active",b=w,d(y)}),E.appendChild(w)}let v=document.createElement("li");if(v.className="disabled",v.innerHTML='<a href="#!"> > </a>',m.next_page!==void 0){let y=m.next_page;v.className="waves-effect",Z(v,"click",b=>{b.preventDefault(),b.stopPropagation(),d(y)})}E.appendChild(v),p.appendChild(E),l.appendChild(p)}}}async searchAndPaintChapter(t,n=0,r){let o=this.publication.getAbsoluteHref(this.publication.readingOrder[this.delegate.currentResource()??0].Href),a=this.publication.getTOCItem(o);a===null&&(a=this.publication.readingOrder[this.delegate.currentResource()??0]);let l=[];this.highlighter?.destroyHighlights(qe.Search),this.delegate.rights.enableSearch&&this.drawSearch();let u=0;if(a){let d=this.delegate.iframes[0].contentDocument;d&&a&&lo(t,d,a.Href,a.Title).then(f=>{f.forEach(m=>{let p={rangeInfo:m.rangeInfo};setTimeout(()=>{let E;u===n?(E=this.createSearchHighlight(p,this.properties?.current),this.jumpToMark(n)):E=this.createSearchHighlight(p,this.properties?.color),m.highlight=E,l.push(m),this.currentChapterSearchResult.push(m),this.currentSearchHighlights.push(E),u++},500)}),setTimeout(()=>{r(l)},500)})}}createSearchHighlight(t,n){try{var r=n;De.isHexColor(r)&&(r=De.hexToRgbChannels(r));let a=`${t.rangeInfo.startContainerElementCssSelector}${t.rangeInfo.startContainerChildTextNodeIndex}${t.rangeInfo.startOffset}${t.rangeInfo.endContainerElementCssSelector}${t.rangeInfo.endContainerChildTextNodeIndex}${t.rangeInfo.endOffset}`,l=O3.SHA256.hash(a),u="R2_SEARCH_"+l;var o=!1;let d={color:r||$o,id:u,pointerInteraction:o,selectionInfo:t,marker:Le.Highlight,type:qe.Search},f=this.highlighter?.createHighlightDom(this.delegate.iframes[0].contentWindow,d);return d.position=parseInt((f?.hasChildNodes()?f.childNodes[0]:f).style.top.replace("px","")),d}catch(a){throw"Can't create highlight: "+a}}clearSearch(){this.currentChapterSearchResult=[],this.currentSearchHighlights=[],this.highlighter?.destroyHighlights(qe.Search)}async search(t,n){this.currentChapterSearchResult=[],this.currentSearchHighlights=[],this.bookSearchResult=[],S3(),this.searchAndPaintChapter(t,0,async()=>{});var r=this.searchChapter(t),o=this.searchBook(t);return n?r:o}async goToSearchID(t,n,r){var o=n,a;let l=this.delegate.currentChapterLink.href;var u=this.publication.getAbsoluteHref(t);let d=this.bookSearchResult.filter(f=>f.href===t);if(r?(a=this.currentChapterSearchResult.filter(f=>f.uuid===n)[0],o=this.currentChapterSearchResult.findIndex(f=>f.uuid===n)):(a=d.filter(f=>f.uuid===n)[0],o=d.findIndex(f=>f.uuid===n)),a!==void 0)if(l===u)this.jumpToMark(o);else{let m={href:u,locations:{progression:0},title:"title"};this.delegate.navigate(m),setTimeout(()=>{this.searchAndPaintChapter(a.textMatch,o,async()=>{})},300)}}async goToSearchIndex(t,n,r){var o=n,a;let l=this.delegate.currentChapterLink.href;var u=this.publication.getAbsoluteHref(t);let d=this.bookSearchResult.filter(f=>f.href===t);if(r?a=this.currentChapterSearchResult[o]:a=d[o],a!==void 0)if(l===u)this.jumpToMark(o);else{let m={href:u,locations:{progression:0},title:"title"};this.delegate.navigate(m),setTimeout(()=>{this.searchAndPaintChapter(a.textMatch,o,async()=>{})},300)}}async handleSearchBook(){var t=this,n=this.searchInput.value;if(t.headerMenu)var r=de(document,"#searchResultBook");o(1);async function o(l){r.innerHTML="";var u,d=await t.searchBook(n);if(u=t.paginate(d,l,10),u.total===0){let f=document.createElement("a");f.className="collection-item",f.innerHTML="nothing found",r.appendChild(f)}else{a(u.data,v=>v.href).forEach(v=>{let y=document.createElement("div");if(y.style.marginBottom="10px",v[0].title){let b=document.createElement("span");b.className="collection-item",b.style.display="block",b.innerHTML=v[0].title,y.appendChild(b)}r.appendChild(y),v.forEach(b=>{let w=document.createElement("a");w.className="collection-item";var O=t.publication.getAbsoluteHref(b.href);w.innerHTML="..."+b.textBefore+"<mark>"+b.textMatch+"</mark>"+b.textAfter+"...",Z(w,"click",T=>{T.preventDefault(),T.stopPropagation();let _=d.filter(D=>D.href===b.href).findIndex(D=>D===b);if(t.delegate.currentChapterLink.href===O)t.jumpToMark(_);else{let I={href:O,locations:{progression:0},title:"title"};t.delegate.navigate(I),setTimeout(()=>{t.handleSearchChapter(_)},300)}}),y.appendChild(w)})});let m=document.createElement("div");m.style.textAlign="center",m.style.marginTop="10px";let p=document.createElement("ul");p.className="pagination";let E=document.createElement("li");if(E.className="disabled",E.innerHTML='<a href="#!"> < </a>',u.pre_page!=null){let v=u.pre_page;E.className="waves-effect",Z(E,"click",y=>{y.preventDefault(),y.stopPropagation(),o(v)})}p.appendChild(E);for(let v=1;v<=u.total_pages;v++){let y,b=document.createElement("li");b.className="waves-effect",v===u.page&&(b.className="active",y=b),b.innerHTML='<a href="#!">'+v+"</a>",Z(b,"click",w=>{w.preventDefault(),w.stopPropagation(),y&&(y.className="waves-effect"),b.className="active",y=b,o(v)}),p.appendChild(b)}let S=document.createElement("li");if(S.className="disabled",S.innerHTML='<a href="#!"> > </a>',u.next_page!=null){let v=u.next_page;S.className="waves-effect",Z(S,"click",y=>{y.preventDefault(),y.stopPropagation(),o(v)})}p.appendChild(S),m.appendChild(p),r.appendChild(m)}}function a(l,u){let d=new Map;return l.forEach(f=>{let m=u(f),p=d.get(m);p?p.push(f):d.set(m,[f])}),Array.from(d.values())}}async searchBook(t){this.bookSearchResult=[];let n=[];for(let r=0;r<this.publication.readingOrder.length;r++){let o=this.publication.getAbsoluteHref(this.publication.readingOrder?this.publication.readingOrder[r].Href:""),a=this.publication.getTOCItem(o);if(a===void 0&&this.publication.readingOrder&&(a=this.publication.readingOrder[r]),a){let l=this.publication.getAbsoluteHref(a.Href);this.delegate.api?.getContent?this.delegate.api?.getContent(l).then(u=>{let f=new DOMParser().parseFromString(this.delegate.requestConfig?.encoded?this.decodeBase64(u):u,"application/xhtml+xml");a&&lo(t,f,a.Href,a.Title).then(m=>{m.forEach(p=>{n.push(p),this.bookSearchResult.push(p)})})}):await fetch(l,this.delegate.requestConfig).then(u=>u.text()).then(async u=>{let f=new DOMParser().parseFromString(this.delegate.requestConfig?.encoded?this.decodeBase64(u):u,"application/xhtml+xml");a&&lo(t,f,a.Href,a.Title).then(m=>{m.forEach(p=>{n.push(p),this.bookSearchResult.push(p)})})})}if(r===this.publication.readingOrder.length-1)return n}}decodeBase64(t){let n=atob(t),r=n.length,o=new Uint8Array(r);for(let l=0;l<r;l++)o[l]=n.charCodeAt(l);return new TextDecoder().decode(o)}async searchChapter(t){let n=[],r=this.publication.getAbsoluteHref(this.publication.readingOrder[this.delegate.currentResource()??0].Href),o=this.publication.getTOCItem(r);if(o===null&&(o=this.publication.readingOrder[this.delegate.currentResource()??0]),o){let a=this.publication.getAbsoluteHref(o.Href);this.delegate.api?.getContent?this.delegate.api?.getContent(a).then(l=>{let d=new DOMParser().parseFromString(this.delegate.requestConfig?.encoded?this.decodeBase64(l):l,"application/xhtml+xml");o&&lo(t,d,o.Href,o.Title).then(f=>{f.forEach(m=>{n.push(m)})})}):await fetch(a,this.delegate.requestConfig).then(l=>l.text()).then(async l=>{let d=new DOMParser().parseFromString(this.delegate.requestConfig?.encoded?this.decodeBase64(l):l,"application/xhtml+xml");o&&lo(t,d,o.Href,o.Title).then(f=>{f.forEach(m=>{n.push(m)})})})}return n}drawSearch(){setTimeout(()=>{this.currentSearchHighlights=[],this.currentChapterSearchResult.forEach(t=>{let n={rangeInfo:t.rangeInfo};if(this.properties?.color){let r=this.createSearchHighlight(n,this.properties?.color);t.highlight=r,this.currentSearchHighlights.push(r)}})},100)}async handleResize(){await this.highlighter?.destroyHighlights(qe.Search),this.drawSearch()}jumpToMark(t){setTimeout(()=>{if(this.currentChapterSearchResult.length){var n=this.currentChapterSearchResult[t];this.currentSearchHighlights.forEach(o=>{var a=this.properties?.color;De.isHexColor(a)&&(a=De.hexToRgbChannels(a)),o.color=a});var r=this.properties?.current;De.isHexColor(r)&&(r=De.hexToRgbChannels(r)),n.highlight.color=r,this.highlighter?.setAndResetSearchHighlight(n.highlight,this.currentSearchHighlights),this.delegate.view?.goToCssSelector(n.rangeInfo.startContainerElementCssSelector),this.delegate.updatePositionInfo()}},200)}paginate(t,n,r){let o=n||1,a=r||10,l=(o-1)*a,u=t.slice(l).slice(0,a),d=Math.ceil(t.length/a);return{page:o,per_page:a,pre_page:o-1?o-1:void 0,next_page:d>o?o+1:void 0,total:t.length,total_pages:d,data:u}}};A();var Kn=Je(Dt()),co=class{},Be=co;Be.COLOR_REF="color",Be.AUTO_SCROLL_REF="autoscroll",Be.RATE_REF="rate",Be.PITCH_REF="pitch",Be.VOLUME_REF="volume",Be.VOICE_REF="voice",Be.COLOR_KEY="tts-"+co.COLOR_REF,Be.AUTO_SCROLL_KEY="tts-"+co.AUTO_SCROLL_REF,Be.RATE_KEY="tts-"+co.RATE_REF,Be.PITCH_KEY="tts-"+co.PITCH_REF,Be.VOLUME_KEY="tts-"+co.VOLUME_REF,Be.VOICE_KEY="tts-"+co.VOICE_REF;var ng=class{constructor(t,n,r){this.TTSSETTINGS="ttsSetting";this.color="orange";this.autoScroll=!0;this.rate=1;this.pitch=1;this.volume=1;this.voice={usePublication:!0};this.settingsChangeCallback=()=>{};this.restartCallback=()=>{};this.store=t,this.api=n,this.headerMenu=r,this.initialise()}static create(t){let n=new this(t.store,t.api,t.headerMenu);if(t.initialTTSSettings){let r=t.initialTTSSettings;r?.rate&&(n.rate=r.rate,Kn.default.log(n.rate)),r?.pitch&&(n.pitch=r.pitch,Kn.default.log(n.pitch)),r?.volume&&(n.volume=r.volume,Kn.default.log(n.volume)),r?.color&&(n.color=r.color,Kn.default.log(n.color)),r?.autoScroll&&(n.autoScroll=r.autoScroll,Kn.default.log(n.autoScroll)),r?.voice&&(n.voice=r.voice,Kn.default.log(n.voice))}return n.initializeSelections(),n}stop(){Kn.default.log("tts settings stop")}initialise(){this.autoScroll=this.getProperty(Be.AUTO_SCROLL_KEY)!=null?this.getProperty(Be.AUTO_SCROLL_KEY).value:this.autoScroll,this.rate=this.getProperty(Be.RATE_KEY)!=null?this.getProperty(Be.RATE_KEY).value:this.rate,this.pitch=this.getProperty(Be.PITCH_KEY)!=null?this.getProperty(Be.PITCH_KEY).value:this.pitch,this.volume=this.getProperty(Be.VOLUME_KEY)!=null?this.getProperty(Be.VOLUME_KEY).value:this.volume,this.color=this.getProperty(Be.COLOR_KEY)!=null?this.getProperty(Be.COLOR_KEY).value:this.color,this.voice=this.getProperty(Be.VOICE_REF)!=null?this.getProperty(Be.VOICE_REF).value:this.voice,this.userProperties=this.getTTSSettings()}reset(){this.color="orange",this.autoScroll=!0,this.rate=1,this.pitch=1,this.volume=1,this.voice={usePublication:!0},this.userProperties=this.getTTSSettings()}initializeSelections(){this.headerMenu&&(this.settingsView=de(this.headerMenu,"#container-view-tts-settings"))}setControls(){this.settingsView&&this.renderControls(this.settingsView)}renderControls(t){this.headerMenu&&(this.speechRate=de(this.headerMenu,"#speechRate")),this.headerMenu&&(this.speechPitch=de(this.headerMenu,"#speechPitch")),this.headerMenu&&(this.speechVolume=de(this.headerMenu,"#speechVolume")),this.headerMenu&&(this.speechAutoScroll=de(this.headerMenu,"#autoScroll")),this.speechRate&&(this.speechRate.value=this.rate.toString()),this.speechPitch&&(this.speechPitch.value=this.pitch.toString()),this.speechVolume&&(this.speechVolume.value=this.volume.toString()),this.speechAutoScroll&&(this.speechAutoScroll.checked=this.autoScroll),Z(de(t,"ul"),"click",n=>{n.stopPropagation()})}onSettingsChange(t){this.settingsChangeCallback=t}onRestart(t){this.restartCallback=t}storeProperty(t){this.updateUserSettings(),this.saveProperty(t)}updateUserSettings(){var t={rate:this.userProperties.getByRef(Be.RATE_REF)?.value,pitch:this.userProperties.getByRef(Be.PITCH_REF)?.value,volume:this.userProperties.getByRef(Be.VOLUME_REF)?.value,voice:this.userProperties.getByRef(Be.VOLUME_REF)?.value,color:this.userProperties.getByRef(Be.COLOR_REF)?.value,autoScroll:this.userProperties.getByRef(Be.AUTO_SCROLL_REF)?.value};this.applyTTSSettings(t),this.api?.updateSettings&&this.api?.updateSettings(t).then(async n=>{Kn.default.log("api updated tts settings",n)})}getTTSSettings(){var t=new xi;return t.addSwitchable("tts-auto-scroll-off","tts-auto-scroll-on",this.autoScroll,Be.AUTO_SCROLL_REF,Be.AUTO_SCROLL_KEY),t.addIncremental(this.rate,.1,10,.1,"",Be.RATE_REF,Be.RATE_KEY),t.addIncremental(this.pitch,.1,2,.1,"",Be.PITCH_REF,Be.PITCH_KEY),t.addIncremental(this.volume,.1,1,.1,"",Be.VOLUME_REF,Be.VOLUME_KEY),t.addStringable(this.color,Be.COLOR_REF,Be.COLOR_KEY),t.addJSONable(JSON.stringify(this.voice),Be.VOICE_REF,Be.VOICE_KEY),t}saveProperty(t){let n=this.store.get(this.TTSSETTINGS);if(n){let r=JSON.parse(n);r=r.filter(o=>o.name!==t.name),r.push(t),this.store.set(this.TTSSETTINGS,JSON.stringify(r))}else{let r=[];r.push(t),this.store.set(this.TTSSETTINGS,JSON.stringify(r))}return t}getProperty(t){let n=this.store.get(this.TTSSETTINGS);if(n){let r=JSON.parse(n);return r=r.filter(o=>o.name===t),r.length===0?void 0:r[0]}}resetTTSSettings(){this.store.remove(this.TTSSETTINGS),this.reset(),this.settingsChangeCallback(),this.restartCallback()}applyTTSSettings(t){if(t.rate){Kn.default.log("rate "+this.rate),this.rate=t.rate;let n=this.userProperties.getByRef(Be.RATE_REF);n&&(n.value=this.rate,this.saveProperty(n)),this.settingsChangeCallback(),this.restartCallback()}if(t.pitch){Kn.default.log("pitch "+this.pitch),this.pitch=t.pitch;let n=this.userProperties.getByRef(Be.PITCH_REF);n&&(n.value=this.pitch,this.saveProperty(n)),this.settingsChangeCallback(),this.restartCallback()}if(t.volume){Kn.default.log("volume "+this.volume),this.volume=t.volume;let n=this.userProperties.getByRef(Be.VOLUME_REF);n&&(n.value=this.volume,this.saveProperty(n)),this.settingsChangeCallback(),this.restartCallback()}if(t.color){this.color=t.color;let n=this.userProperties.getByRef(Be.COLOR_REF);n&&(n.value=this.color,this.saveProperty(n)),this.settingsChangeCallback()}if(t.autoScroll!==void 0){Kn.default.log("autoScroll "+this.autoScroll),this.autoScroll=t.autoScroll;let n=this.userProperties.getByRef(Be.AUTO_SCROLL_REF);n&&(n.value=this.autoScroll,this.saveProperty(n)),this.settingsChangeCallback()}if(t.voice){Kn.default.log("voice "+this.voice),this.voice=t.voice;let n=this.userProperties.getByRef(Be.VOICE_REF);n&&(n.value=this.voice,this.saveProperty(n)),this.settingsChangeCallback(),this.restartCallback()}}applyPreferredVoice(t){var n=t.indexOf(":")!==-1?t.slice(0,t.indexOf(":")):void 0,r=t.indexOf(":")!==-1?t.slice(t.indexOf(":")+1):t;n!==void 0&&r!==void 0?this.applyTTSSettings({voice:{usePublication:!0,name:n,lang:r}}):r!==void 0&&n===void 0&&this.applyTTSSettings({voice:{usePublication:!0,lang:r}})}increase(t){if(t==="rate"){this.userProperties.getByRef(Be.RATE_REF).increment();let n=this.userProperties.getByRef(Be.RATE_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}else if(t==="pitch"){this.userProperties.getByRef(Be.PITCH_REF).increment();let n=this.userProperties.getByRef(Be.PITCH_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}else if(t==="volume"){this.userProperties.getByRef(Be.VOLUME_REF).increment();let n=this.userProperties.getByRef(Be.VOLUME_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}}decrease(t){if(t==="rate"){this.userProperties.getByRef(Be.RATE_REF).decrement();let n=this.userProperties.getByRef(Be.RATE_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}else if(t==="pitch"){this.userProperties.getByRef(Be.PITCH_REF).decrement();let n=this.userProperties.getByRef(Be.PITCH_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}else if(t==="volume"){this.userProperties.getByRef(Be.VOLUME_REF).decrement();let n=this.userProperties.getByRef(Be.VOLUME_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}}};A();A();var _3=`${Ur.loading}`,T3=`
|
|
75
|
+
</svg>`,Ur={error:Gn("error-icon","Warning",'<path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/>'),home:'<path d="M12 5.69l5 4.5V18h-2v-6H9v6H7v-7.81l5-4.5M12 3L2 12h3v8h6v-6h2v6h6v-8h3L12 3z"/>',expand:Gn("expand-icon","Enter fullscreen",'<path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/>',"icon active-icon"),loading:O8("loading-icon","Loading",'<path fill="#BBBBBB" d="M145,241.6c-53.3,0-96.6-43.2-96.6-96.6c0-53.3,43.2-96.6,96.6-96.6c53.3,0,96.6,43.2,96.6,96.6 c0,26.7-10.8,50.9-28.3,68.3l7.6,7.6c19.4-19.4,31.5-46.3,31.5-75.9c0-59.3-48-107.3-107.3-107.3S37.7,85.7,37.7,145 c0,59.3,48,107.3,107.3,107.3V241.6z"/>',"0 0 290 290"),next:Gn("next-icon","Next Chapter",'<path d="M6.49 20.13l1.77 1.77 9.9-9.9-9.9-9.9-1.77 1.77L14.62 12l-8.13 8.13z"/>'),previous:Gn("previous-icon","Previous Chapter",'<path d="M17.51 3.87L15.73 2.1 5.84 12l9.9 9.9 1.77-1.77L9.38 12l8.13-8.13z"/>'),settings:Gn("settings-icon","Settings",'<path d="M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/>',"icon open"),toc:Gn("toc-icon","Table of Contents",'<path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 0h2v-2h-2v2zm0-10v2h2V7h-2zm0 6h2v-2h-2v2z"/>',"icon open"),bookmarks:Gn("toc-icon","Bookmarks",'<path d="M4,6H2v16h16v-2H4V6z"/><path d="M22,2H6v16h16V2z M20,12l-2.5-1.5L15,12V4h5V12z"/>',"icon open"),bookmark:Gn("toc-icon","Bookmark",'<path d="M19,3H5v18l7-3l7,3V3z"/>',"icon open"),delete:Gn("delete-icon","Delete",'<path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"/>',"icon open"),close:Gn("close-icon","Close",'<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>',"icon open"),text:Gn("text-icon","Text",'<path d="M5 4v3h5.5v12h3V7H19V4z"/>',"icon open"),speak:Gn("speak-icon","Speak",'<circle cx="9" cy="9" r="4"/><path d="M9 15c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4zm7.76-9.64l-1.68 1.69c.84 1.18.84 2.71 0 3.89l1.68 1.69c2.02-2.02 2.02-5.07 0-7.27zM20.07 2l-1.63 1.63c2.77 3.02 2.77 7.56 0 10.74L20.07 16c3.9-3.89 3.91-9.95 0-14z"/><path d="M0 0h24v24H0z" fill="none"/>',"icon open"),note:Gn("note-icon","Note",'<polygon points="17.71 24.66 22.3 20.07 17.71 20.07 17.71 24.66" fill="none"/><path d="M22.42.07H5.58A3.28,3.28,0,0,0,2.29,3.35V24.79a3.28,3.28,0,0,0,3.29,3.28H16.71a1,1,0,0,0,.71-.29l8-8a1,1,0,0,0,.29-.71V3.35A3.28,3.28,0,0,0,22.42.07Zm-8.17,15h-7v-2h7Zm-7-6v-2h13v2ZM16.5,25.86v-6a1,1,0,0,1,1-1h6Z" />',"icon open"),highlight:Gn("highlight-icon","Highlight",'<path d="M27.71,7.78,21.12,1.19a1,1,0,0,0-1.38,0L4.32,15A1,1,0,0,0,4,15.7a1,1,0,0,0,.3.73c1.22,1.22,1.2,2.37,0,3.62a1,1,0,0,0,0,1.41l3.2,3.2a1,1,0,0,0,1.41,0c1.28-1.28,2.36-1.29,3.62,0a1,1,0,0,0,1.45,0L27.74,9.16A1,1,0,0,0,27.71,7.78Z" /><path d="M3.09,22.59l-2.8,2.8a1,1,0,0,0-.21,1.09A1,1,0,0,0,1,27.1H4.6a1,1,0,0,0,.71-.29l1-1Z" />',"icon open")};var p0=Je(Ed());var Mn=Je(Dt()),Me;(function(d){d.R2_ID_HIGHLIGHTS_CONTAINER="R2_ID_HIGHLIGHTS_CONTAINER",d.R2_ID_BOOKMAKRS_CONTAINER="R2_ID_BOOKMAKRS_CONTAINER",d.R2_ID_READALOUD_CONTAINER="R2_ID_READALOUD_CONTAINER",d.R2_ID_PAGEBREAK_CONTAINER="R2_ID_PAGEBREAK_CONTAINER",d.R2_ID_SEARCH_CONTAINER="R2_ID_SEARCH_CONTAINER",d.R2_ID_DEFINITIONS_CONTAINER="R2_ID_DEFINITIONS_CONTAINER",d.R2_ID_LINEFOCUS_CONTAINER="R2_ID_LINEFOCUS_CONTAINER",d.R2_ID_GUTTER_RIGHT_CONTAINER="R2_ID_GUTTER_RIGHT_CONTAINER"})(Me||(Me={}));var x4="R2_CLASS_HIGHLIGHT_CONTAINER",Ya="R2_CLASS_HIGHLIGHT_BOUNDING_AREA",pn="R2_CLASS_HIGHLIGHT_AREA",Za="R2_CLASS_HIGHLIGHT_ICON",si=.5,_4=.75,$o={blue:100,green:50,red:230},zt=[],x8="data-highlighted",_8="data-timestamp",zs={ELEMENT_NODE:1,TEXT_NODE:3},hr=[Me.R2_ID_HIGHLIGHTS_CONTAINER,Me.R2_ID_PAGEBREAK_CONTAINER,Me.R2_ID_SEARCH_CONTAINER,Me.R2_ID_READALOUD_CONTAINER,Me.R2_ID_BOOKMAKRS_CONTAINER,Me.R2_ID_DEFINITIONS_CONTAINER,Me.R2_ID_LINEFOCUS_CONTAINER,Me.R2_ID_GUTTER_RIGHT_CONTAINER,x4,pn,Ya],g0=-1,m0=-1,De=class{constructor(t,n,r,o,a,l){this.lastSelectedHighlight=void 0;this.activeAnnotationMarkerId=void 0;this.showTool=(0,Ka.debounce)(t=>{this.isAndroid()||this.snapSelectionToWord(t),this.toolboxShow()},navigator.userAgent.toLowerCase().indexOf("firefox")>-1?200:100);this.isSelectionMenuOpen=!1;this.selectionMenuOpened=(0,Ka.debounce)(()=>{this.isSelectionMenuOpen||(this.isSelectionMenuOpen=!0,this.api?.selectionMenuOpen&&this.api?.selectionMenuOpen(),this.delegate.emit("toolbox.opened","opened"))},100);this.selectionMenuClosed=(0,Ka.debounce)(()=>{this.isSelectionMenuOpen&&(this.isSelectionMenuOpen=!1,this.api?.selectionMenuClose&&this.api?.selectionMenuClose(),this.delegate.emit("toolbox.closed","closed"))},100);this.selection=(0,Ka.debounce)((t,n)=>{this.api?.selection&&this.api?.selection(t,n)},100);this.getScrollingElement=t=>t?.scrollingElement?t?.scrollingElement:t?.body?t?.body:document.createElement("body");this.delegate=t,this.layerSettings=n,this.properties=r,this.api=l,this.hasEventListener=o,this.options=this.defaults(a,{color:"#fce300",highlightedClass:"highlighted",contextClass:"highlighter-context",onBeforeHighlight:function(){return!0},onAfterHighlight:function(){}}),this.delegate.highlighter=this}static async create(t){let n=new this(t.delegate,t.layerSettings,t,!1,{},t.api);return new Promise(r=>r(n))}async initialize(){let t=this.delegate.iframes[0].contentDocument;t&&this.dom(t.body).addClass(this.options.contextClass),this.bindEvents(this.delegate.iframes[0].contentDocument?.body,this,this.hasEventListener),this.initializeToolbox(),g0=-1,m0=-1;let n=this;async function r(){n.lastSelectedHighlight===void 0||(n.lastSelectedHighlight=void 0)}setTimeout(async()=>{let o=this.delegate.iframes[0].contentDocument;o&&await o.body?.addEventListener("click",r)},100)}haveSameColor(t,n){return this.dom(t).color()===this.dom(n).color()}defaults(t,n){t=t||{};for(let r in n)n.hasOwnProperty(r)&&t[r]===void 0&&(t[r]=n[r]);return t}unique(t){return t.filter(function(n,r,o){return o.indexOf(n)===r})}refineRangeBoundaries(t){let n=t.startContainer,r=t.endContainer,o=t.commonAncestorContainer,a=!0;if(t.endOffset===0){for(;!r.previousSibling&&r.parentNode!==o;)r=r.parentNode;r=r.previousSibling}else r.nodeType===zs.TEXT_NODE?t.endOffset<r.nodeValue.length&&r.splitText(t.endOffset):t.endOffset>0&&(r=r.childNodes.item(t.endOffset-1));return n.nodeType===zs.TEXT_NODE?t.startOffset===n.nodeValue.length?a=!1:t.startOffset>0&&(n=n.splitText(t.startOffset),r===n.previousSibling&&(r=n)):t.startOffset<n.childNodes.length?n=n.childNodes.item(t.startOffset):n=n.nextSibling,{startContainer:n,endContainer:r,goDeeper:a}}sortByDepth(t,n){let r=this;t.sort(function(o,a){return r.dom(n?a:o).parents().length-r.dom(n?o:a).parents().length})}groupHighlights(t){let n=[],r={},o=[];return t.forEach(function(a){let l=a.getAttribute(_8);typeof r[l]=="undefined"&&(r[l]=[],n.push(l)),r[l].push(a)}),n.forEach(function(a){let l=r[a];o.push({chunks:l,timestamp:a,toString:function(){return l.map(function(u){return u.textContent}).join("")}})}),o}dom(t){let n=this;return{addClass:function(r){t.classList?t.classList.add(r):t.className+=" "+r},removeClass:function(r){t.classList?t.classList.remove(r):t.className=t.className.replace(new RegExp("(^|\\b)"+r+"(\\b|$)","gi")," ")},prepend:function(r){let o=Array.prototype.slice.call(r),a=o.length;for(;a--;)t.insertBefore(o[a],t.firstChild)},append:function(r){let o=Array.prototype.slice.call(r);for(let a=0,l=o.length;a<l;++a)t.appendChild(o[a])},insertAfter:function(r){return r.parentNode?.insertBefore(t,r.nextSibling)},insertBefore:function(r){return r.parentNode?.insertBefore(t,r)},remove:function(){t.parentNode.removeChild(t),t=null},contains:function(r){return t!==r&&t.contains(r)},wrap:function(r){return t.parentNode&&t.parentNode.insertBefore(r,t),r.appendChild(t),r},unwrap:function(){let r=Array.prototype.slice.call(t.childNodes),o;return r.forEach(function(a){o=a.parentNode,n.dom(a).insertBefore(a.parentNode),n.dom(o).remove()}),r},parents:function(){let r,o=[];for(;r=t.parentNode;)o.push(r),t=r;return o},normalizeTextNodes:function(){if(!!t){if(t.nodeType===zs.TEXT_NODE)for(;t.nextSibling&&t.nextSibling.nodeType===zs.TEXT_NODE;)t.nodeValue+=t.nextSibling.nodeValue,t.parentNode.removeChild(t.nextSibling);else n.dom(t.firstChild).normalizeTextNodes();n.dom(t.nextSibling).normalizeTextNodes()}},color:function(){return t.style.backgroundColor},fromHTML:function(r){let o=document.createElement("div");return o.innerHTML=r,o.childNodes},getRange:function(){let r=n.dom(t)?.getSelection(),o;return r?.rangeCount>0&&(o=r?.getRangeAt(0)),o},removeAllRanges:function(){n.dom(t)?.getSelection()?.removeAllRanges(),n.toolboxHide()},getSelection:function(){return n.dom(t).getWindow()?.getSelection()},getWindow:function(){return n.dom(t).getDocument()?.defaultView},getDocument:function(){return t?.ownerDocument||t}}}disableContext(t){return t.preventDefault(),t.stopPropagation(),!1}bindEvents(t,n,r){let o=t.ownerDocument;t.addEventListener("mouseup",this.toolboxShowDelayed.bind(this)),t.addEventListener("touchend",this.toolboxShowDelayed.bind(this)),o.addEventListener("mouseup",this.toolboxShowDelayed.bind(this)),o.addEventListener("touchend",this.toolboxShowDelayed.bind(this)),r||window.addEventListener("resize",this.toolboxPlacement.bind(this)),o.addEventListener("selectionchange",this.toolboxPlacement.bind(this)),t.addEventListener("mousedown",this.toolboxHide.bind(this)),t.addEventListener("touchstart",this.toolboxHide.bind(this)),this.isAndroid()&&t.addEventListener("contextmenu",this.disableContext),t.addEventListener("mousedown",this.mousedown.bind(this)),t.addEventListener("mouseup",this.mouseup.bind(this)),t.addEventListener("mousemove",this.mousemove.bind(this)),t.addEventListener("touchstart",this.mousedown.bind(this)),t.addEventListener("touchend",this.mouseup.bind(this)),t.addEventListener("touchmove",this.mousemove.bind(this)),this.hasEventListener=!0}async mousedown(t){g0=t.clientX,m0=t.clientY}async mouseup(t){Math.abs(g0-t.clientX)<3&&Math.abs(m0-t.clientY)<3&&await this.processMouseEvent(t)}async mousemove(t){await this.processMouseEvent(t)}unbindEvents(t,n){let r=t.ownerDocument;t.removeEventListener("mouseup",this.toolboxShowDelayed.bind(this)),t.removeEventListener("touchend",this.toolboxShowDelayed.bind(this)),r.removeEventListener("mouseup",this.toolboxShowDelayed.bind(this)),r.removeEventListener("touchend",this.toolboxShowDelayed.bind(this)),window.removeEventListener("resize",this.toolboxPlacement.bind(this)),r.removeEventListener("selectionchange",this.toolboxPlacement.bind(this)),t.removeEventListener("mousedown",this.toolboxHide.bind(this)),t.removeEventListener("touchstart",this.toolboxHide.bind(this)),this.isAndroid()&&t.removeEventListener("contextmenu",this.disableContext),t.removeEventListener("mousedown",this.mousedown.bind(this)),t.removeEventListener("mouseup",this.mouseup.bind(this)),t.removeEventListener("mousemove",this.mousemove.bind(this)),t.removeEventListener("touchstart",this.mousedown.bind(this)),t.removeEventListener("touchend",this.mouseup.bind(this)),t.removeEventListener("touchmove",this.mousemove.bind(this)),this.hasEventListener=!1}destroy(){this.toolboxHide();let t=this.delegate.iframes[0].contentDocument;t&&(this.unbindEvents(t.body,this),this.dom(t.body).removeClass(this.options.contextClass))}initializeToolbox(){let t=document.getElementById("highlight-toolbox-mode-colors"),n=document.getElementById("highlight-toolbox-mode-add"),r=["#fce300","#48e200","#00bae5","#157cf9","#6a39b7","#ea426a","#ff8500"],o=document.getElementById("colorIcon"),a=document.getElementById("actionIcon"),l=document.getElementById("dismissIcon"),u=document.getElementById("collapseIcon"),d=document.getElementById("highlightIcon"),f=this;if(l&&(l.innerHTML=Ur.close,l.addEventListener("click",function(){f.toolboxMode("add")})),u&&(u.innerHTML=Ur.close,u.addEventListener("click",function(){f.toolboxMode("add")})),o){o.style.position="relative",o.style.zIndex="20",r.forEach(E=>{let S=document.getElementById(E),v=document.getElementById(`c${E}`);S&&t?.contains(S)&&t.removeChild(S),n&&v&&n.contains(v)&&n.removeChild(v)});let m=[],p=[];if(o.addEventListener("click",function(){f.toolboxMode("colors")}),this.delegate.rights.enableAnnotations){let E=10;r.forEach(S=>{E--;let v=o?.cloneNode(!0),y=v.lastChild,b=De.hexToRgbChannels(S);y.style.backgroundColor="rgba("+[b.red,b.green,b.blue].join(",")+",.5)",v.id=`c${S}`,v.style.display="unset",v.style.position="relative",v.style.zIndex=`${E}`,v.style.marginLeft="-30px",p.push(v),n?.insertBefore(v,d)})}r.forEach(E=>{let S=o?.cloneNode(!0),v=S.lastChild;v.style.backgroundColor=E,S.id=E,S.style.position="relative",S.style.display="unset",m.push(S),o&&S.addEventListener("click",function(){f.setColor(E);let y=o?.lastChild;y&&(y.style.backgroundColor=E);let b=document.getElementById("highlightIcon"),w=document.getElementById("underlineIcon"),O=document.getElementById("noteIcon");(b?.getElementsByTagName?.("span").length??0)>0&&((b?.getElementsByTagName("span")[0]).style.background=f.getColor()),(w?.getElementsByTagName?.("span").length??0)>0&&((w?.getElementsByTagName("span")[0]).style.borderBottomColor=f.getColor()),(O?.getElementsByTagName?.("span").length??0)>0&&((O?.getElementsByTagName("span")[0]).style.borderBottomColor=f.getColor()),f.toolboxMode("add")}),t?.insertBefore(S,l)})}a&&a.addEventListener("click",function(){f.toolboxMode("action")}),f.toolboxMode("add")}toolboxMode(t){let n=document.getElementById("highlight-toolbox-mode-colors"),r=document.getElementById("highlight-toolbox-mode-add"),o=document.getElementById("highlight-toolbox-mode-edit"),a=document.getElementById("highlight-toolbox-mode-action");switch(t){case"colors":n&&(n.style.display="unset"),r&&(r.style.display="none"),o&&(o.style.display="none"),a&&(a.style.display="none");break;case"edit":n&&(n.style.display="none"),r&&(r.style.display="none"),o&&(o.style.display="unset"),a&&(a.style.display="none");break;case"action":n&&(n.style.display="none"),r&&(r.style.display="none"),o&&(o.style.display="none"),a&&(a.style.display="unset");break;default:n&&(n.style.display="none"),r&&(r.style.display="unset"),o&&(o.style.display="none"),a&&(a.style.display="none");break}}toolboxHide(){let t=document.getElementById("highlight-toolbox");t&&(t.style.display="none"),this.selectionMenuClosed()}toolboxShowDelayed(t){this.showTool(t.detail===1)}snapSelectionToWord(t=!1){let n=this,r=this.delegate.iframes[0].contentDocument;if(r){let a=n.dom(r.body)?.getSelection();if(n.dom(r.body)&&a&&!a?.isCollapsed){let f=function(b){let w=b.match(new RegExp("[^a-zA-Z0-9]+$"));return!w||!w.index?b:b.slice(0,w.index)},l=a.toString(),u=l.length-l.trimStart().length,d=l.length-l.trimEnd().length,m=l.length;var o=/[-!$%^&*()_+|~=`{}[\]:/;<>?,.@#]/;l=l.replace(o,""),u=m-l.trimStart().length,l=f(l),d=m-l.trimEnd().length;let p=document.createRange();t?(p.setStart(a.anchorNode,a.anchorOffset+u),p.setEnd(a.focusNode,a.focusOffset-d)):(p.setStart(a.anchorNode,a.anchorOffset),p.setEnd(a.focusNode,a.focusOffset));let E=p.collapsed;p.detach();let S=a.focusNode,v;t?(v=a.focusOffset-d,a.collapse(a.anchorNode,a.anchorOffset+u)):(v=a.focusOffset,a.collapse(a.anchorNode,a.anchorOffset));let y=["forward","backward"];E&&(y=["backward","forward"]),t?(a.modify("move",y[0],"character"),a.modify("move",y[1],"word"),a.extend(S,v),a.modify("extend",y[1],"character"),a.modify("extend",y[0],"word")):a.extend(S,v),this.selection(a.toString(),a)}return a}}toolboxShow(){if(this.activeAnnotationMarkerId===void 0){let t=this,n=document.getElementById("highlight-toolbox-mode-add"),r=this.dom(this.delegate.iframes[0].contentDocument?.body).getRange();if((!r||r.collapsed)&&n){getComputedStyle(n).display!=="none"&&t.toolboxHide();return}this.isIOS()&&setTimeout(function(){let o=t.delegate.iframes[0].contentDocument;if(o){let a=t.dom(o.body).getSelection();a.removeAllRanges(),setTimeout(function(){a.addRange(r);function l(f){let m={className:E=>hr.indexOf(E)<0,idName:E=>hr.indexOf(E)<0},p=t.delegate.iframes[0].contentDocument;if(p)return ln(f,p,m)}let u=t.delegate.iframes[0].contentWindow,d=oi(u,l);t.delegate.annotationModule?.annotator?.saveTemporarySelectionInfo(d)},5)}},100),this.toolboxPlacement(),this.toolboxHandler()}}toolboxPlacement(){let t=this.dom(this.delegate.iframes[0].contentDocument?.body).getRange();if(!t||t.collapsed)return;let n=t.getBoundingClientRect(),r=document.getElementById("highlight-toolbox");r&&(this.delegate.view?.isPaginated()?r.style.top=n.top+(this.delegate.attributes?.navHeight??0)+"px":r.style.top=n.top+"px",r.style.left=(n.right-n.left)/2+n.left+"px")}toolboxHandler(){let t=document.getElementById("highlight-toolbox");if(t&&getComputedStyle(t).display==="none"){t.style.display="block",this.delegate.view?.isPaginated()?t.style.position="absolute":t.style.position="relative",this.selectionMenuOpened();let r=this;r.toolboxMode("add");let o=document.getElementById("highlightIcon"),a=document.getElementById("collapseIcon"),l=document.getElementById("underlineIcon"),u=document.getElementById("noteIcon"),d=document.getElementById("colorIcon"),f=document.getElementById("speakIcon");if(this.delegate.rights.enableAnnotations){if(o&&(o.style.display="unset",d&&o.getElementsByTagName("span").length>0&&(o.getElementsByTagName("span")[0].style.background=this.getColor())),l&&(l.style.display="unset",d&&l.getElementsByTagName("span").length>0&&(l.getElementsByTagName("span")[0].style.borderBottomColor=this.getColor())),u&&(u.style.display="unset",d&&u.getElementsByTagName("span").length>0&&(u.getElementsByTagName("span")[0].style.borderBottomColor=this.getColor())),d){d.style.display="unset";let m=d.lastChild;m.style.backgroundColor=this.getColor()}if(o){let m=function(){r.doHighlight(!1,Le.Highlight),r.toolboxHide(),o?.removeEventListener("click",m)},p=o.cloneNode(!0);o?.parentNode?.replaceChild(p,o),o=document.getElementById("highlightIcon"),o?.addEventListener("click",m)}if(l){let m=function(){r.doHighlight(!1,Le.Underline),r.toolboxHide(),l?.removeEventListener("click",m)},p=l.cloneNode(!0);l?.parentNode?.replaceChild(p,l),l=document.getElementById("underlineIcon"),l?.addEventListener("click",m)}if(u){let m=function(){r.doHighlight(!1,Le.Comment),r.toolboxHide(),u?.removeEventListener("click",m)},p=u.cloneNode(!0);u?.parentNode?.replaceChild(p,u),u=document.getElementById("noteIcon"),u?.addEventListener("click",m)}}else o&&o.style.setProperty("display","none"),l&&l.style.setProperty("display","none"),u&&u.style.setProperty("display","none"),d&&d.style.setProperty("display","none"),a&&a.style.setProperty("display","none");if(this.delegate.rights.enableTTS){if(f){let m=function(){f?.removeEventListener("click",m),r.speak()},p=f.cloneNode(!0);f?.parentNode?.replaceChild(p,f),f=document.getElementById("speakIcon"),f?.addEventListener("click",m)}}else f&&f.style.setProperty("display","none");(this.properties?.selectionMenuItems??[])&&(this.properties?.selectionMenuItems??[]).forEach(m=>{m.icon&&(m.icon.id=m.id);let p=document.getElementById(m.id),E=this;function S(){p?.removeEventListener("click",S);function v(b){let w={className:T=>hr.indexOf(T)<0,idName:T=>hr.indexOf(T)<0},O=E.delegate.iframes[0].contentDocument;if(O)return ln(b,O,w)}let y=E.delegate.iframes[0].contentWindow;if(y){let b=oi(y,v);if(b===void 0){let w=E.delegate.iframes[0].contentDocument;b=E.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(w)}if(b!==void 0)if(m.callback)m.callback(b.cleanText,b.range?.startContainer.parentElement);else{let w=m.highlight?.style,O=m.marker?m.marker:Le.Custom;if(O===Le.Custom&&E.delegate.rights.enableAnnotations||O===Le.Bookmark&&E.delegate.rights.enableBookmarks){let T=E.delegate.iframes[0].contentDocument;if(T){let C=E.createHighlight(E.dom(T.body).getWindow(),b,m.highlight?.color,!0,O,m.icon,m.popup,w);E.options.onAfterHighlight(C,O),E.delegate.rights.enableAnnotations?E.delegate.annotationModule?.saveAnnotation(C[0]).then(_=>{m?.note&&_.highlight&&E.delegate.annotationModule?.api?.addCommentToAnnotation(_).then(P=>{E.delegate.annotationModule?.updateAnnotation(P).then(async()=>{Mn.default.log("update highlight "+P.id)})})}):E.delegate.rights.enableBookmarks&&E.delegate.bookmarkModule?.saveAnnotation(C[0])}}}}E.callbackComplete()}if(p){let v=p.cloneNode(!0);p?.parentNode?.replaceChild(v,p),p=document.getElementById(m.id),p?.addEventListener("click",S)}})}}doHighlight(t,n){let r=this;function o(l){let u={className:f=>hr.indexOf(f)<0,idName:f=>hr.indexOf(f)<0},d=r.delegate.iframes[0].contentDocument;if(d)return ln(l,d,u)}let a=r.delegate.iframes[0].contentWindow;if(a){let l=oi(a,o);if(l===void 0){let u=r.delegate.iframes[0].contentDocument;l=this.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(u)}if(l){if(this.options.onBeforeHighlight(l)===!0){let u;u=this.getColor(),De.isHexColor(u)&&(u=De.hexToRgbChannels(u));let d=r.delegate.iframes[0].contentDocument;if(d){let f=this.createHighlight(r.dom(d.body).getWindow(),l,u,!0,n??Le.Highlight);this.options.onAfterHighlight(f,n),this.delegate.rights.enableAnnotations&&n!==Le.Bookmark?this.delegate.annotationModule?.saveAnnotation(f[0]):this.delegate.rights.enableBookmarks&&n===Le.Bookmark&&this.delegate.bookmarkModule?.saveAnnotation(f[0])}}t||this.dom(this.delegate.iframes[0].contentDocument?.body).removeAllRanges()}else t||this.dom(this.delegate.iframes[0].contentDocument?.body).removeAllRanges()}}speak(){if(this.delegate.rights.enableTTS){let n=function(l){let u={className:f=>hr.indexOf(f)<0,idName:f=>hr.indexOf(f)<0},d=t.delegate.iframes[0].contentDocument;if(d)return ln(l,d,u)},t=this,r=t.delegate.iframes[0].contentWindow;if(r){let l=oi(r,n);if(l===void 0){let u=t.delegate.iframes[0].contentDocument;l=t.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(u)}l!==void 0&&this.delegate.ttsModule.speak(l,!0,()=>{})}let o=t.delegate.iframes[0].contentDocument;o&&t.dom(o.body).getSelection().removeAllRanges();let a=document.getElementById("highlight-toolbox");a&&(a.style.display="none"),this.selectionMenuClosed()}}stopReadAloud(){this.delegate.rights.enableTTS&&this.doneSpeaking()}callbackComplete(){this.toolboxHide();let t=this.delegate.iframes[0].contentDocument;t&&this.dom(t.body).removeAllRanges()}isOutsideViewport(t){let n=dt(document,"#iframe-wrapper"),r=n.scrollLeft,o=r+n.clientWidth,a=t.left+t.width,l=t.top+t.height,u=n.scrollTop,d=u+n.clientHeight,f=l<u,m=t.top>d,p=a<r,E=t.left>o;return f||m||p||E}isInsideViewport(t){let n=dt(document,"#iframe-wrapper"),r=n.scrollTop,o=r+n.clientHeight,a=t.top+20>=r,l=t.top<=o,u=n.scrollLeft,d=u+n.clientWidth,f=t.left+t.width,m=t.left>u,p=f<d;return a&&l&&m&&p}get visibleTextRects(){let t=this.delegate.iframes[0].contentDocument;if(t){let r=function(u,d=[]){let f=u.firstChild;for(;f;)f.nodeType===1&&r(f,d),f.nodeType===3&&f.textContent?.trim()&&d.push(f),f=f.nextSibling;return d},o=function(u){return r(u).map(f=>{let{top:m,height:p,left:E,width:S}=a(f);return{top:m,height:p,width:S,left:E,node:f,textContent:f.textContent??""}})},a=function(u){try{let d=document.createRange();d.selectNode(u);let f=d.getBoundingClientRect();return d.detach(),f}catch(d){Mn.default.log("measureTextNode "+d),Mn.default.log("measureTextNode "+u),Mn.default.log(`${u.textContent}`)}},n=_i(t,"body");return o(n).filter(u=>this.isInsideViewport(u))}return[]}doneSpeaking(t=!1){if(this.delegate.rights.enableTTS){this.toolboxHide();let n=this.delegate.iframes[0].contentDocument;n&&this.dom(n.body).removeAllRanges(),this.delegate.ttsModule.cancel(),t&&this.delegate.reload()}}normalizeHighlights(t){var n;return n=t.filter(function(r){return r.parentElement?r:null}),n=this.unique(n),n.sort(function(r,o){return r.offsetTop-o.offsetTop||r.offsetLeft-o.offsetLeft}),n}flattenNestedHighlights(t){let n,r=this;r.sortByDepth(t,!0);function o(){let a=!1;return t.forEach(function(l,u){let d=l.parentElement,f=d.previousSibling,m=d.nextSibling;r.isHighlight(d)&&(r.haveSameColor(d,l)?(d.replaceChild(l.firstChild,l),t[u]=d,a=!0):(l.nextSibling||(r.dom(l).insertBefore(m||d),a=!0),l.previousSibling||(r.dom(l).insertAfter(f||d),a=!0),d.hasChildNodes()||r.dom(d).remove()))}),a}do n=o();while(n)}mergeSiblingHighlights(t){let n=this;function r(o,a){return a&&a.nodeType===zs.ELEMENT_NODE&&n.haveSameColor(o,a)&&n.isHighlight(a)}t.forEach(function(o){let a=o.previousSibling,l=o.nextSibling;r(o,a)&&(n.dom(o).prepend(a.childNodes),n.dom(a).remove()),r(o,l)&&(n.dom(o).append(l.childNodes),n.dom(l).remove()),n.dom(o).normalizeTextNodes()})}setColor(t){this.options.color=t}getColor(){return this.options.color}isHighlight(t){return t&&t.nodeType===zs.ELEMENT_NODE&&t.hasAttribute(x8)}createWrapper(){let t=document.createElement("mark");return t.style.background="linear-gradient("+De.hexToRgbA(this.options.color)+", "+De.hexToRgbA(this.options.color)+")",t.className=this.options.highlightedClass,t}static isHexColor(t){return/^#([A-Fa-f0-9]{3}){1,2}$/.test(t)}static hexToRgbString(t){let n;return n=t.substring(1).split(""),n.length===3&&(n=[n[0],n[0],n[1],n[1],n[2],n[2]]),n="0x"+n.join(""),n}static hexToRgbChannels(t){let n;if(this.isHexColor(t))return n=this.hexToRgbString(t),{red:n>>16&255,green:n>>8&255,blue:n&255};throw new Error("Bad Hex")}static hexToRgbA(t){let n;if(this.isHexColor(t))return n=this.hexToRgbChannels(t),"rgba("+[n.red,n.green,n.blue].join(",")+",.5)";if(typeof t=="object"){let r=t;return"rgba("+[r.red,r.green,r.blue].join(",")+",.5)"}throw new Error("Bad Hex")}static hexToRgbAWithOpacity(t,n){let r;if(this.isHexColor(t))return r=this.hexToRgbChannels(t),"rgba("+[r.red,r.green,r.blue].join(",")+","+n+")";if(typeof t=="object"){let o=t;return"rgba("+[o.red,o.green,o.blue].join(",")+","+n+")"}throw new Error("Bad Hex")}resetHighlightBoundingStyle(t){t.style.outline="none",t.style.setProperty("background-color","transparent","important")}resetHighlightAreaStyle(t,n){let r=this.delegate.iframes[0].contentWindow?.document,o=t.parentNode&&t.parentNode.nodeType===Node.ELEMENT_NODE&&t.parentNode.getAttribute?t.parentNode.getAttribute("id"):void 0;if(o){let a=zt.find(l=>l.id===o);if(a){if(a.marker===Le.Custom||a.marker===Le.Bookmark)if(a.style?.hover){if(a.style?.hover)for(let d=0;d<a.style?.hover?.length;d++){let f=a.style?.hover[d];t.style.removeProperty(f.property)}let u="";if(a.style?.default)for(let d=0;d<a.style?.default?.length;d++){let f=a.style?.default[d];t.style.removeProperty(f.property),u+=`${f.property}: ${f.value} !${f.priority};`}t.setAttribute("style",`${t.getAttribute("style")}; ${u}`)}else if(a.style?.hoverClass){a.style?.hoverClass&&t.classList.remove(a.style?.hoverClass);let u="";a.style?.defaultClass&&t.classList.add(a.style?.defaultClass),t.setAttribute("style",`${t.getAttribute("style")}; ${u}`)}else if(De.isHexColor(a.color)){let u=De.hexToRgbChannels(a.color);t.style.setProperty("background-color",`rgba(${u.red}, ${u.green}, ${u.blue}, ${0})`,"important")}else t.classList.remove("hover");else if(a.marker===Le.Underline||a.marker===Le.Comment)if(typeof a.color=="object"){let u=a.color;t.style.setProperty("background-color",`rgba(${u.red}, ${u.green}, ${u.blue}, ${0})`,"important"),t.style.setProperty("border-bottom",`2px solid rgba(${u.red}, ${u.green}, ${u.blue}, ${1})`,"important")}else if(De.isHexColor(a.color)){let u=De.hexToRgbChannels(a.color);t.style.setProperty("background-color",`rgba(${u.red}, ${u.green}, ${u.blue}, ${0})`,"important"),t.style.setProperty("border-bottom",`2px solid rgba(${u.red}, ${u.green}, ${u.blue}, ${1})`,"important")}else t.classList.remove("hover");else if(typeof a.color=="object"){let u=a.color;t.style.setProperty("background-color",`rgba(${u.red}, ${u.green}, ${u.blue}, ${si})`,"important")}else if(De.isHexColor(a.color)){let u=De.hexToRgbChannels(a.color);t.style.setProperty("background-color",`rgba(${u.red}, ${u.green}, ${u.blue}, ${si})`,"important")}else t.classList.remove("hover");let l;if(r){let u=r.getElementById(n);u&&(l=u.querySelector(`#${a.id}`))}if(l){let u=l.getElementsByClassName(Za);if(u.length>0){let d=u.item(0).getElementsByClassName("icon-tooltip");d.length>0&&d.item(0).style.removeProperty("display")}}}}}setHighlightAreaStyle(t,n,r){for(let o of n){if(r.marker===Le.Custom||r.marker===Le.Bookmark)if(r.style?.hover){if(r.style?.default)for(let l=0;l<r.style?.default?.length;l++){let u=r.style?.default[l];o.style.removeProperty(u.property)}let a="";for(let l=0;l<r.style?.hover?.length;l++){let u=r.style?.hover[l];o.style.removeProperty(u.property),a+=`${u.property}: ${u.value} !${u.priority};`}o.setAttribute("style",`${o.getAttribute("style")}; ${a}`)}else if(r.style?.hoverClass){r.style?.defaultClass&&o.classList.remove(r.style?.defaultClass);let a="";o.classList.add(r.style?.hoverClass),o.setAttribute("style",`${o.getAttribute("style")}; ${a}`)}else if(De.isHexColor(r.color)){let a=De.hexToRgbChannels(r.color);o.style.setProperty("background-color",`rgba(${a.red}, ${a.green}, ${a.blue}, ${.1})`,"important")}else o.classList.add("hover");else if(r.marker===Le.Underline||r.marker===Le.Comment)if(typeof r.color=="object"){let a=r.color;o.style.setProperty("background-color",`rgba(${a.red}, ${a.green}, ${a.blue}, ${.1})`,"important"),o.style.setProperty("border-bottom",`2px solid rgba(${a.red}, ${a.green}, ${a.blue}, ${1})`,"important")}else if(De.isHexColor(r.color)){let a=De.hexToRgbChannels(r.color);o.style.setProperty("background-color",`rgba(${a.red}, ${a.green}, ${a.blue}, ${.1})`,"important"),o.style.setProperty("border-bottom",`2px solid rgba(${a.red}, ${a.green}, ${a.blue}, ${1})`,"important")}else o.classList.add("hover");else if(typeof r.color=="object"){let a=r.color;o.style.setProperty("background-color",`rgba(${a.red}, ${a.green}, ${a.blue}, ${_4})`,"important")}else if(De.isHexColor(r.color)){let a=De.hexToRgbChannels(r.color);o.style.setProperty("background-color",`rgba(${a.red}, ${a.green}, ${a.blue}, ${_4})`,"important")}else o.classList.add("hover");if(r.type!==qe.Definition){let l=t.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER).querySelector(`#${r.id}`).getElementsByClassName(Za);if(l.length>0){let u=l.item(0).getElementsByClassName("icon-tooltip");u.length>0&&u.item(0).style.setProperty("display","block")}}}}setAndResetSearchHighlight(t,n){let r=this.delegate.iframes[0].contentWindow?.document,o=Array.from(r.getElementById(Me.R2_ID_SEARCH_CONTAINER).querySelectorAll(`.${pn}`));for(let a of o){let l=a,u=l.parentNode&&l.parentNode.nodeType===Node.ELEMENT_NODE&&l.parentNode.getAttribute?l.parentNode.getAttribute("id"):void 0;if(n.forEach(d=>{if(u===d.id&&d){if(typeof d.color=="object"){let p=d.color;l.style.setProperty("background-color",`rgba(${p.red}, ${p.green}, ${p.blue}, ${si})`,"important")}else if(De.isHexColor(d.color)){let p=De.hexToRgbChannels(d.color);l.style.setProperty("background-color",`rgba(${p.red}, ${p.green}, ${p.blue}, ${si})`,"important")}else l.classList.remove("hover");let m=r.getElementById(Me.R2_ID_SEARCH_CONTAINER).querySelector(`#${d.id}`).getElementsByClassName(Za);if(m.length>0){let p=m.item(0).getElementsByClassName("icon-tooltip");p.length>0&&p.item(0).style.removeProperty("display")}}}),u===t.id&&t){if(typeof t.color=="object"){let m=t.color;l.style.setProperty("background-color",`rgba(${m.red}, ${m.green}, ${m.blue}, ${si})`,"important")}else if(De.isHexColor(t.color)){let m=De.hexToRgbChannels(t.color);l.style.setProperty("background-color",`rgba(${m.red}, ${m.green}, ${m.blue}, ${si})`,"important")}else l.classList.remove("hover");let f=r.getElementById(Me.R2_ID_SEARCH_CONTAINER).querySelector(`#${t.id}`).getElementsByClassName(Za);if(f.length>0){let m=f.item(0).getElementsByClassName("icon-tooltip");m.length>0&&m.item(0).style.removeProperty("display")}}}}isIOS(){return navigator.userAgent.match(/iPhone|iPad|iPod/i)!=null||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1}isAndroid(){return navigator.userAgent.match(/Android/i)!=null}async processMouseEvent(t){let n=this.delegate.iframes[0].contentWindow?.document,r=t.clientX,o=t.clientY;if(!n||!n.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER)&&!n.getElementById(Me.R2_ID_SEARCH_CONTAINER)&&!n.getElementById(Me.R2_ID_PAGEBREAK_CONTAINER)&&!n.getElementById(Me.R2_ID_READALOUD_CONTAINER)&&!n.getElementById(Me.R2_ID_DEFINITIONS_CONTAINER))return;let a=this.delegate.view?.isPaginated(),l=n.body.getBoundingClientRect(),u=this.getScrollingElement(n),d=a?-u.scrollLeft:l.left,f=a?-u.scrollTop:l.top,m,p;for(let E=zt.length-1;E>=0;E--){let S=zt[E],v=n.getElementById(`${S.id}`);if(!v){let w=n.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER);w&&(v=w.querySelector(`#${S.id}`))}if(!v)continue;let y=!1,b=v.querySelectorAll(`.${pn}`);for(let w of b){let O=w,T=O.rect.left+d,C=O.rect.top+f;if(r>=T&&r<T+O.rect.width&&o>=C&&o<C+O.rect.height){y=!0;break}}if(y){m=S,p=v;break}}if(!m||!p){for(let E in Me){let S=n.getElementById(E);if(S){let v=S.querySelectorAll(`.${Ya}`);for(let b of v)this.resetHighlightBoundingStyle(b);let y=Array.from(S.querySelectorAll(`.${pn}`));for(let b of y)this.resetHighlightAreaStyle(b,E)}}return}if(p.getAttribute("data-click")){if((t.type==="mousemove"||t.type==="touchmove")&&p.parentElement?.style.display!=="none"){let E=Array.from(p.querySelectorAll(`.${pn}`));for(let v in Me){let y=n.getElementById(v);if(y){let b=y.querySelectorAll(`.${pn}`);for(let w of b)E.indexOf(w)<0&&this.resetHighlightAreaStyle(w,v)}}this.setHighlightAreaStyle(n,E,m);let S=p.querySelector(`.${Ya}`);for(let v in Me){let y=n.getElementById(v);if(y){let b=y.querySelectorAll(`.${Ya}`);for(let w of b)(!S||w!==S)&&this.resetHighlightBoundingStyle(w)}}}else if((t.type==="mouseup"||t.type==="click"||t.type==="touchup")&&p.parentElement?.style.display!=="none"){let E={highlight:m};Mn.default.log(JSON.stringify(E));let S=this,v;if(S.delegate.rights.enableAnnotations?v=await this.delegate.annotationModule?.getAnnotation(E.highlight):S.delegate.rights.enableBookmarks&&(v=await this.delegate.bookmarkModule?.getAnnotation(E.highlight)),E.highlight.type===qe.Annotation&&this.delegate.annotationModule?.api?.selectedAnnotation(v).then(async()=>{}),v?.id){Mn.default.log("selected highlight "+v.id),S.lastSelectedHighlight=v.id;let y=document.getElementById("highlight-toolbox");if(y)if(y.style.top=t.clientY+(this.delegate.attributes?.navHeight??0)+"px",y.style.left=t.clientX+"px",getComputedStyle(y).display==="none"){let O=function(){S.delegate.annotationModule?.api?.addCommentToAnnotation(v).then(I=>{S.delegate.annotationModule?.updateAnnotation(I).then(async()=>{Mn.default.log("update highlight "+I.id),y&&(y.style.display="none"),S.selectionMenuClosed()}),y&&(y.style.display="none"),S.selectionMenuClosed(),T?.removeEventListener("click",O,!1)})},_=function(){S.delegate.rights.enableAnnotations?S.delegate.annotationModule?.deleteSelectedHighlight(v).then(async()=>{Mn.default.log("delete highlight "+v.id),y&&(y.style.display="none"),S.selectionMenuClosed()}):S.delegate.rights.enableBookmarks&&S.delegate.bookmarkModule?.deleteSelectedHighlight(v).then(async()=>{Mn.default.log("delete highlight "+v.id),y&&(y.style.display="none"),S.selectionMenuClosed()})};y.style.display="block",this.toolboxMode("edit");let b=document.getElementById("colorIcon"),w=document.getElementById("highlightIcon");b&&(b.style.display="none"),w&&(w.style.display="none");let T=document.getElementById("commentIcon"),C=document.getElementById("cloneCommentIcon");if(C){let I=C.parentElement;I&&I.removeChild(C)}if(T){T.style.display="none";let I=T.cloneNode(!0),q=T.parentElement;I.style.display="unset",I.id="cloneCommentIcon",I.addEventListener("click",O,!1),q&&q.append(I)}let P=document.getElementById("deleteIcon"),D=document.getElementById("cloneDeleteIcon");if(D){let I=D.parentElement;I&&I.removeChild(D)}if(P){P.style.display="none";let I=P.cloneNode(!0),q=P.parentElement;I.style.display="unset",I.id="cloneDeleteIcon",I.addEventListener("click",_,!1),q&&q.append(I)}}else y.style.display="none",this.selectionMenuClosed(),y.offsetWidth,y.style.display="block"}else{p.dataset.definition&&new Va(this.delegate).showPopup(p.dataset.definition,t);let y=this.delegate.definitionsModule?.properties?.definitions?.filter(b=>b.order===Number(p?.dataset.order))[0];Mn.default.log(y),this.delegate.definitionsModule?.api?.click&&(this.delegate.definitionsModule.api?.click(p0.omit(y,"callbacks"),p0.omit(m,"definition")),this.delegate.emit("definition.click",y,m))}}}}async prepareContainers(t){for(let n in Me)await this.ensureHighlightsContainer(t,n)}async ensureHighlightsContainer(t,n){let r=t.document;if(!r.getElementById(n)){let o=r.createElement("div");o.setAttribute("id",n),n!==Me.R2_ID_GUTTER_RIGHT_CONTAINER&&o.style.setProperty("pointer-events","none"),this.delegate.view?.layout==="fixed"&&(o.style.setProperty("position","absolute"),o.style.setProperty("top","0"),o.style.setProperty("left","0")),r.body&&r.body.append(o),(await this.layerSettings.getProperty(n))?.value===!1&&(o.style.display="none")}return r.getElementById(n)}hideAllhighlights(t){this.removeAllChildNodes(t.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER)),this.removeAllChildNodes(t.getElementById(Me.R2_ID_SEARCH_CONTAINER)),this.removeAllChildNodes(t.getElementById(Me.R2_ID_READALOUD_CONTAINER)),this.removeAllChildNodes(t.getElementById(Me.R2_ID_PAGEBREAK_CONTAINER)),this.removeAllChildNodes(t.getElementById(Me.R2_ID_DEFINITIONS_CONTAINER))}destroyAllhighlights(t){this.hideAllhighlights(t),zt.splice(0,zt.length)}removeAllChildNodes(t){for(;t.firstChild;)t.removeChild(t.firstChild)}destroyHighlights(t){let n=this.delegate.iframes[0].contentWindow?.document;if(n){let r;switch(t){case qe.ReadAloud:r=n.getElementById(Me.R2_ID_READALOUD_CONTAINER),r&&this.removeAllChildNodes(r);break;case qe.Search:r=n.getElementById(Me.R2_ID_SEARCH_CONTAINER),r&&this.removeAllChildNodes(r);break;case qe.PageBreak:r=n.getElementById(Me.R2_ID_PAGEBREAK_CONTAINER),r&&this.removeAllChildNodes(r);break;case qe.Definition:r=n.getElementById(Me.R2_ID_DEFINITIONS_CONTAINER),r&&this.removeAllChildNodes(r);break;case qe.LineFocus:r=n.getElementById(Me.R2_ID_LINEFOCUS_CONTAINER),r&&this.removeAllChildNodes(r);break;case qe.Comment:r=n.getElementById(Me.R2_ID_GUTTER_RIGHT_CONTAINER),r&&this.removeAllChildNodes(r);break;default:r=n.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER),r&&this.removeAllChildNodes(r),zt.splice(0,zt.length);break}}}destroyHighlight(t,n){if(!t)return;let r=-1;zt.find((l,u)=>(r=u,l.id===n))&&r>=0&&r<zt.length&&zt.splice(r,1);let a=t.getElementById(n);a&&this.removeAllChildNodes(a)}createHighlight(t,n,r,o,a,l,u,d,f,m){try{let p=`${n.rangeInfo.startContainerElementCssSelector}${n.rangeInfo.startContainerChildTextNodeIndex}${n.rangeInfo.startOffset}${n.rangeInfo.endContainerElementCssSelector}${n.rangeInfo.endContainerChildTextNodeIndex}${n.rangeInfo.endOffset}`,E=Cr.hash(p),S=(m||"R2_HIGHLIGHT_")+E;this.destroyHighlight(t.document,S);let v=`rgb(${$o.red}, ${$o.green}, ${$o.blue})`,y={color:r||v,id:S,pointerInteraction:o,selectionInfo:n,marker:a,icon:l,popup:u,style:d,type:f||qe.Annotation};(f===qe.Annotation||f===qe.Definition||f===void 0)&&zt.push(y);let b=this.createHighlightDom(t,y);return y.position=parseInt((b?.hasChildNodes()?b.childNodes[0]:b).style.top.replace("px","")),[y,b]}catch(p){throw"Can't create highlight: "+p}}createHighlightDom(t,n){let r=t.document,o=vd(r,n.selectionInfo.rangeInfo);if(!o)return;for(let B in Me)this.ensureHighlightsContainer(t,B);let a=r.createElement("div");a.setAttribute("id",n.id),a.setAttribute("class",x4),a.style.setProperty("pointer-events","none"),n.pointerInteraction&&a.setAttribute("data-click","1");let l=this.delegate.view?.isPaginated();l?r.body.style.position="revert":r.body.style.position="relative";let u=r.body.getBoundingClientRect(),d=this.getScrollingElement(r),f=l?-d.scrollLeft:u.left,m=l?-d.scrollTop:u.top,p=1,E=!1,S=!1,b=yd(o,E||S||!1),w=3,O=2,T=3,C=0,_=24,P,D;for(let B of b){let N=r.createElement("div");N.setAttribute("class",pn),N.dataset.marker=""+n.marker;let W="";if(E&&n.marker!==Le.Custom&&n.marker!==Le.Bookmark&&n.marker!==Le.Comment){let V=n.color;De.isHexColor(V)&&(V=De.hexToRgbChannels(V)),W+=`border-bottom: ${O*p}px solid rgba(${V.red}, ${V.green}, ${V.blue}, ${si}) !important`}if(n.marker===Le.Custom||n.marker===Le.Bookmark)if(n.style?.default){for(let V=0;V<n.style?.default?.length;V++){let ee=n.style?.default[V];W+=`${ee.property}: ${ee.value} !${ee.priority};`}N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; ${W}`)}else n.style?.defaultClass&&(N.classList.add(n.style?.defaultClass),N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; ${W}`));else if(n.marker===Le.Underline||n.marker===Le.Comment)if(typeof n.color=="object"){let V=n.color;N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; background-color: rgba(${V.red}, ${V.green}, ${V.blue}, ${0}) !important; ${W}`),N.style.setProperty("border-bottom",`2px solid rgba(${V.red}, ${V.green}, ${V.blue}, ${1})`,"important")}else if(De.isHexColor(n.color)){let V=De.hexToRgbChannels(n.color);N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; background-color: rgba(${V.red}, ${V.green}, ${V.blue}, ${0}) !important; ${W}`),N.style.setProperty("border-bottom",`2px solid rgba(${V.red}, ${V.green}, ${V.blue}, ${1})`,"important")}else N.setAttribute("style",`border-radius: ${w}px !important; ${W}`);else if(typeof n.color=="object"){let V=n.color;N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; background-color: rgba(${V.red}, ${V.green}, ${V.blue}, ${si}) !important; ${W}`)}else if(De.isHexColor(n.color)){let V=De.hexToRgbChannels(n.color);N.setAttribute("style",`mix-blend-mode: multiply; border-radius: ${w}px !important; background-color: rgba(${V.red}, ${V.green}, ${V.blue}, ${si}) !important; ${W}`)}else N.setAttribute("style",`border-radius: ${w}px !important; ${W}`);N.style.setProperty("pointer-events","none"),N.style.position="absolute",N.scale=p,N.rect={height:B.height,left:B.left-f,top:B.top-m,width:B.width},n.pointerInteraction&&(N.setAttribute("data-click","1"),N.tabIndex=0),N.style.width=`${N.rect.width*p}px`,N.style.height=`${N.rect.height*p}px`,N.style.left=`${N.rect.left*p}px`,N.style.top=`${N.rect.top*p}px`,a.append(N);let ye=parseInt(N.style.top.replace("px",""));if((ye<C||C===0)&&(C=ye),_=parseInt(N.style.height.replace("px","")),S){let V=r.createElement("div");V.setAttribute("class",pn);let ee=n.color;De.isHexColor(ee)&&(ee=De.hexToRgbChannels(ee)),V.setAttribute("style",`background-color: rgba(${ee.red}, ${ee.green}, ${ee.blue}, ${si}) !important;`),V.style.setProperty("pointer-events","none"),V.style.position="absolute",V.scale=p,V.rect={height:B.height,left:B.left-f,top:B.top-m,width:B.width},V.style.width=`${V.rect.width*p}px`,V.style.height=`${T*p}px`,V.style.left=`${V.rect.left*p}px`,V.style.top=`${(V.rect.top+V.rect.height/2-T/2)*p}px`,a.append(V)}let be=this.delegate.iframes[0].contentWindow?.innerWidth,fe=parseInt(getComputedStyle(r.documentElement).getPropertyValue("column-count")),re=parseInt(getComputedStyle(r.documentElement).getPropertyValue("column-width")),he=parseInt(getComputedStyle(r.body).getPropertyValue("padding-left")),Ae=be/(fe||1);Ae<re&&(Ae=be),l||(Ae=parseInt(getComputedStyle(r.body).width.replace("px","")));let ue=this.delegate.settings.fontSize/100,xe=20*ue;ue<=1&&(xe=-60);let Re=0*ue;ue<=1&&(Re=-60),P=Math.floor(B.left/Ae)*Ae+Ae-(_<40?40:_)+Re,D=Math.floor(B.left/Ae)*Ae+(_<40?40:_)-xe;let Se=parseInt(this.delegate.iframes[0].contentDocument.documentElement.style.getPropertyValue("--USER__pageMargins"));Se>=2&&(D=D+he/fe,P=P-he/fe),l||(P=parseInt(getComputedStyle(this.delegate.iframes[0].contentDocument?.body).width.replace("px","")),D=parseInt(getComputedStyle(this.delegate.iframes[0].contentDocument?.body).width.replace("px",""))-Ae,Se>=2&&(D=D+he/2,P=P-he/2))}let I=o.getBoundingClientRect(),q=r.createElement("div");q.setAttribute("class",Ya),q.style.setProperty("pointer-events","none"),q.style.position="absolute",q.scale=p,q.rect={height:I.height,left:I.left-f,top:I.top-m,width:I.width},q.style.width=`${q.rect.width*p}px`,q.style.height=`${q.rect.height*p}px`,q.style.left=`${q.rect.left*p}px`,q.style.top=`${q.rect.top*p}px`,a.append(q);let U=r.createElement("div");if(U.setAttribute("class",Za),n.icon?.position==="left")U.setAttribute("style",`position: absolute;top:${C}px;left:${D+this.delegate.iframes[0].contentDocument?.scrollingElement?.scrollLeft}px;height:${_}px; width:${_}px;`);else if(n.icon?.position==="inline")U.setAttribute("style",`position: absolute;top:${C-_/2}px;left:${parseInt(q.style.left.replace("px",""))+parseInt(q.style.width.replace("px",""))-_/2}px;height:${_}px; width:${_}px;`);else if(n.icon?.position==="center"){let N=_/3*2;U.setAttribute("style",`position: absolute;top:${C}px;left:${parseInt(q.style.left.replace("px",""))+parseInt(q.style.width.replace("px",""))-N}px;height:${_}px; width:${_}px;`)}else n.note&&n.marker!==Le.Custom&&n.marker!==Le.Bookmark&&n.marker!==Le.Comment&&n.marker!==Le.Highlight&&n.marker!==Le.Underline?U.setAttribute("style",`position: absolute;top:${C-_/2}px;left:${parseInt(q.style.left.replace("px",""))+parseInt(q.style.width.replace("px",""))-_/2}px;height:${_}px; width:${_}px;`):n.note&&n.marker===Le.Comment||n.marker===Le.Highlight||n.marker===Le.Underline?U.setAttribute("style",`position: absolute;top:${C}px;left:${P+this.delegate.iframes[0].contentDocument?.scrollingElement?.scrollLeft}px;height:${_}px; width:${_}px;`):U.setAttribute("style",`position: absolute;top:${C}px;left:${P+this.delegate.iframes[0].contentDocument?.scrollingElement?.scrollLeft}px;height:${_}px; width:${_}px;`);if(n.marker===Le.Custom||n.marker===Le.Bookmark)n.icon?.class?(U.classList.add(n.icon?.class),U.id=n.icon?.id):n.icon?.svgPath?U.innerHTML=Us(`${n.icon?.id}`,`${n.icon?.title}`,`${n.icon?.svgPath}`,"icon open",_,`${n.icon?.color} !important`):n.icon?.title&&(U.innerHTML=n.icon?.title);else if(n.note){let B=n.color;De.isHexColor(B)&&(B=De.hexToRgbChannels(B)),n.marker===Le.Comment||n.marker===Le.Highlight||n.marker===Le.Underline?U.innerHTML=Us("","",'<path d="M24 24H0V0h24v24z" fill="none"/><circle cx="12" cy="12" r="14"/>',"icon open",_/2,`rgba(${B.red}, ${B.green}, ${B.blue}, 1) !important`):U.innerHTML=Us("note-icon","Note",'<rect fill="none" height="24" width="24"/><path d="M19,5v9l-5,0l0,5H5V5H19 M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h10l6-6V5C21,3.9,20.1,3,19,3z M12,14H7v-2h5V14z M17,10H7V8h10V10z"/>',"icon open",_,`rgba(${B.red}, ${B.green}, ${B.blue}, 1) !important`)}U.style.setProperty("pointer-events","all");let k=this;if(n.type!==qe.PageBreak&&n.type!==qe.Definition&&U.addEventListener("click",async function(B){let N;k.delegate.rights.enableAnnotations?(N=await k.delegate.annotationModule?.getAnnotationByID(n.id),k.delegate.annotationModule?.api?.selectedAnnotation(N).then(async()=>{})):k.delegate.rights.enableBookmarks&&(N=await k.delegate.bookmarkModule?.getAnnotationByID(n.id)),Mn.default.log("selected highlight "+N.id),k.lastSelectedHighlight=N.id;let W=document.getElementById("highlight-toolbox");if(W)if(W.style.top=B.clientY+(k.delegate.attributes?.navHeight??0)+"px",W.style.left=B.clientX+"px",getComputedStyle(W).display==="none"){let re=function(){k.delegate.annotationModule?.api?.addCommentToAnnotation(N).then(Se=>{k.delegate.annotationModule?.updateAnnotation(Se).then(async()=>{Mn.default.log("update highlight "+Se.id),W.style.display="none",k.selectionMenuClosed()}),W.style.display="none",k.selectionMenuClosed()})},ue=function(){k.delegate.rights.enableAnnotations?k.delegate.annotationModule?.deleteSelectedHighlight(N).then(async()=>{Mn.default.log("delete highlight "+N.id),W.style.display="none",k.selectionMenuClosed()}):k.delegate.rights.enableBookmarks&&k.delegate.bookmarkModule?.deleteSelectedHighlight(N).then(async()=>{Mn.default.log("delete highlight "+N.id),W.style.display="none",k.selectionMenuClosed()})};W.style.display="block",k.toolboxMode("edit");let be=document.getElementById("colorIcon"),fe=document.getElementById("highlightIcon");be&&(be.style.display="none"),fe&&(fe.style.display="none");let he=document.getElementById("commentIcon"),Ae=document.getElementById("cloneCommentIcon");if(Ae){let Se=Ae.parentElement;Se&&Se.removeChild(Ae)}if(he){he.style.display="none";let Se=he.cloneNode(!0),V=he.parentElement;Se.style.display="unset",Se.id="cloneCommentIcon",Se.addEventListener("click",re,!1),V&&V.append(Se)}let xe=document.getElementById("deleteIcon"),Re=document.getElementById("cloneDeleteIcon");if(Re){let Se=Re.parentElement;Se&&Se.removeChild(Re)}if(xe){xe.style.display="none";let Se=xe.cloneNode(!0),V=xe.parentElement;Se.style.display="unset",Se.id="cloneDeleteIcon",Se.addEventListener("click",ue,!1),V&&V.append(Se)}}else W.style.display="none",k.selectionMenuClosed(),W.offsetWidth,W.style.display="block";let ye=Array.from(a.querySelectorAll(`.${pn}`));k.setHighlightAreaStyle(r,ye,n)}),n.note){let B=document.createElement("span");B.innerHTML=n.note,B.className="icon-tooltip",n.marker===Le.Custom||n.marker===Le.Bookmark?(n.popup?.background&&B.style.setProperty("background",n.popup.background),n.popup?.textColor&&B.style.setProperty("color",n.popup.textColor),n.popup?.class&&B.classList.add(n.popup.class)):(B.style.setProperty("background","lightyellow"),B.style.setProperty("color","black"))}switch((n.note||n.marker===Le.Custom||n.marker===Le.Bookmark)&&a.append(U),n.type){case qe.Search:r.getElementById(Me.R2_ID_SEARCH_CONTAINER).append(a);break;case qe.ReadAloud:r.getElementById(Me.R2_ID_READALOUD_CONTAINER).append(a);break;case qe.PageBreak:r.getElementById(Me.R2_ID_PAGEBREAK_CONTAINER).append(a);break;case qe.Definition:r.getElementById(Me.R2_ID_DEFINITIONS_CONTAINER).append(a);break;default:r.getElementById(Me.R2_ID_HIGHLIGHTS_CONTAINER).append(a);break}return a}addSelectionMenuItem(t){(this.properties?.selectionMenuItems??[])&&(this.properties?.selectionMenuItems??[]).push(t)}};var N4=Je(T0());A();var B8=Je(Dt());var ro={className:i=>!0,idName:i=>!0,tagName:i=>!0};var H4=Je(Ed()),Rr=Je(Dt()),Qa=class{constructor(t,n,r,o,a,l,u,d,f){this.hide=de(document,"#menu-button-hide");this.show=de(document,"#menu-button-show");this.annotator=t,this.rights=n,this.publication=r,this.headerMenu=f,this.delegate=o,this.initialAnnotations=a,this.highlighter=u,this.properties=l,this.api=d}static async create(t){let n=new this(t.annotator,t.rights||{enableAnnotations:!1,enableTTS:!1},t.publication,t.delegate,t.initialAnnotations||null,t,t.highlighter,t.api,t.headerMenu);return await n.start(),n}async stop(){Rr.default.log("Annotation module stop")}async start(){if(this.delegate.annotationModule=this,this.headerMenu&&(this.highlightsView=de(this.headerMenu,"#container-view-highlights")),this.initialAnnotations){var t=this.initialAnnotations.highlights||null;t&&this.annotator?.initAnnotations(t)}setTimeout(()=>{this.properties?.hideLayer?this.delegate.hideLayer("highlights"):this.delegate.showLayer("highlights")},10)}hideAnnotationLayer(){let t=this.delegate.iframes[0].contentDocument;if(t){let n=de(t,"#R2_ID_HIGHLIGHTS_CONTAINER");n&&(n.style.display="none")}this.show&&this.hide&&(this.show.style.display="block",this.hide.style.display="none")}showAnnotationLayer(){let t=this.delegate.iframes[0].contentDocument;if(t){let n=de(t,"#R2_ID_HIGHLIGHTS_CONTAINER");n&&(n.style.display="block")}this.show&&this.hide&&(this.show.style.display="none",this.hide.style.display="block")}async handleResize(){setTimeout(async()=>{await this.drawHighlights(),await this.showHighlights()},200)}initialize(){return new Promise(async t=>{await document.fonts.ready,this.rights.enableAnnotations&&setTimeout(()=>{this.drawHighlights(),this.showHighlights(),Z(this.delegate.iframes[0].contentDocument?.body,"click",this.click.bind(this))},300),t(null)})}click(t){if(this.activeAnnotationMarkerId){let n=this.highlighter?.properties?.selectionMenuItems?.filter(r=>r.id===this.activeAnnotationMarkerId);if(n&&n?.length>0){let r=H4.cloneDeep(n[0]);r.marker=Le.Custom,this.activeAnnotationMarkerPosition&&(r.icon.position=this.activeAnnotationMarkerPosition),r.highlight.style.default=null,r.highlight.style.hover=null;let o=this.delegate.iframes[0].contentDocument;if(o){let f=function(p){try{let E=d.delegate.iframes[0].contentDocument;return E?ln(p,E,ro):""}catch(E){return Rr.default.log("uniqueCssSelector:"),Rr.default.error(E),""}},a=this.highlighter?.dom(o.body).getSelection(),l=a.getRangeAt(0),u=a.anchorNode;l.setStart(u,l.startOffset),l.setEnd(u,l.endOffset+1),a.removeAllRanges(),a.addRange(l);let d=this,m=Pi(l,f);if(a.removeAllRanges(),m){let p={rangeInfo:m},E=this.delegate.highlighter?.createHighlight(this.delegate.highlighter?.dom(o.body).getWindow(),p,r.highlight.color,!0,Le.Bookmark,r.icon,r.popup,r.highlight.style);E&&this.saveAnnotation(E[0]).then(S=>{Rr.default.log("saved bookmark "+S.id)})}o.getSelection()?.removeAllRanges()}}}}async scrollToHighlight(t){Rr.default.log("still need to scroll to "+t);var n=await this.annotator?.getAnnotationElement(t,this.delegate.iframes[0].contentWindow);n.scrollIntoView({block:"center",behavior:"smooth"})}async updateLocalHighlight(t){if(this.annotator){let n=await this.annotator.deleteAnnotation(t.id),r=await this.addAnnotation(t);return Rr.default.log("Highlight deleted "+JSON.stringify(n)),Rr.default.log("Highlight added "+JSON.stringify(r)),await this.showHighlights(),await this.drawHighlights(),r}else return new Promise(n=>n(null))}async deleteLocalHighlight(t){if(this.annotator){var n=await this.annotator.deleteAnnotation(t);return Rr.default.log("Highlight deleted "+JSON.stringify(n)),await this.showHighlights(),await this.drawHighlights(),n}else return new Promise(r=>r(null))}async deleteAnnotation(t){await this.deleteLocalHighlight(t.id)}async addAnnotation(t){await this.annotator?.saveAnnotation(t),await this.showHighlights(),await this.drawHighlights()}async deleteHighlight(t){this.api?.deleteAnnotation?this.api?.deleteAnnotation(t).then(async()=>{this.deleteLocalHighlight(t.id)}):this.deleteLocalHighlight(t.id)}async deleteSelectedHighlight(t){this.api?.deleteAnnotation?this.api.deleteAnnotation(t).then(async()=>{this.deleteLocalHighlight(t.id)}):this.deleteLocalHighlight(t.id)}async updateAnnotation(t){this.api?.updateAnnotation?this.api.updateAnnotation(t).then(async()=>{this.updateLocalHighlight(t)}):this.updateLocalHighlight(t)}async saveAnnotation(t){if(this.annotator){var n=this.publication.getTOCItem(this.delegate.currentChapterLink.href);this.delegate.currentTocUrl&&(n=this.publication.getTOCItem(this.delegate.currentTocUrl)),n===void 0&&(n=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href));let r=this.delegate.view?.getCurrentPosition(),o=this.delegate.iframes[0].contentDocument;if(o){let a=_i(o,"body"),l=t.position?t.position/a.scrollHeight:r,u=(0,N4.v4)(),d;if(n){let f=n.Href;if(f.indexOf("#")>0&&(f=f.slice(0,f.indexOf("#"))),this.rights.autoGeneratePositions&&this.publication.positions||this.publication.positions){let m=this.publication.positionsByHref(this.publication.getRelativeHref(this.delegate.currentChapterLink.href)),p=Math.ceil((l??0)*(m.length-1)),E=m[p];d=jt(Fe({},E),{id:u,href:f,created:new Date,title:this.delegate.currentChapterLink.title,highlight:t,text:{highlight:t.selectionInfo.cleanText}})}else d={id:u,href:f,locations:{progression:l},created:new Date,type:this.delegate.currentChapterLink.type,title:this.delegate.currentChapterLink.title,highlight:t,text:{highlight:t.selectionInfo.cleanText}}}if(d)if(this.api?.addAnnotation)try{let f=await this.api.addAnnotation(d),m=await this.annotator.saveAnnotation(f);return await this.showHighlights(),await this.drawHighlights(),new Promise(p=>p(m))}catch(f){await this.showHighlights(),await this.drawHighlights()}else{let f=await this.annotator.saveAnnotation(d);return await this.showHighlights(),await this.drawHighlights(),new Promise(m=>m(f))}}}return new Promise(r=>r(null))}getAnnotations(){let t=[];return this.annotator&&(t=this.annotator.getAnnotations()),t}showHighlights(){let t=[];this.annotator&&(t=this.annotator.getAnnotations(),t&&(t=t.filter(n=>n.highlight.marker!==Le.Bookmark),t.forEach(n=>{zt.push(n.highlight)}))),this.highlightsView&&this.createTree(fr.Annotation,t,this.highlightsView)}async drawHighlights(){if(this.rights.enableAnnotations&&this.highlighter){if(this.api){let n=[];if(this.annotator&&(n=this.annotator.getAnnotations()),this.highlighter&&n&&this.delegate.iframes[0].contentDocument?.readyState==="complete"){await this.highlighter.destroyHighlights(qe.Annotation);for(let r of n){zt.push(r.highlight);let o=r,a=this.delegate.currentChapterLink.href;var t=this.publication.getTOCItem(a);if(this.delegate.currentTocUrl!==void 0&&(t=this.publication.getTOCItem(this.delegate.currentTocUrl)),t===null&&(t=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href)),t){let l=t.Href;l.indexOf("#")>0&&(l=l.slice(0,l.indexOf("#"))),o.href===l&&(await this.highlighter.createHighlightDom(this.delegate.iframes[0].contentWindow,r.highlight),setTimeout(async()=>{if(o.highlight?.marker===Le.Underline){let u=await this.annotator?.getAnnotationPosition(r.id,this.delegate.iframes[0].contentWindow),d='<div class="comment" style="top: '+u+'px;width:20px"></div>',f=document.createElement("div");f.innerHTML=d;let m=f.childNodes[0],p=document.createElement("i");p.innerHTML="sticky_note_2",p.className="material-icons",p.style.color=o.highlight.color,m.appendChild(p),Z(f,"click",E=>{E.preventDefault(),E.stopPropagation(),this.scrollToHighlight(o.id)})}},100))}}}}else{let n=[];if(this.annotator&&(n=this.annotator.getAnnotations()),this.highlighter&&n&&this.delegate.iframes[0].contentDocument?.readyState==="complete"){await this.highlighter.destroyHighlights(qe.Annotation);for(let r of n){zt.push(r.highlight);let o=r,a=this.delegate.currentChapterLink.href,l=this.publication.getTOCItem(a);if(this.delegate.currentTocUrl&&(l=this.publication.getTOCItem(this.delegate.currentTocUrl)),l===null&&(l=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href)),l){let u=l.Href;u.indexOf("#")>0&&(u=u.slice(0,u.indexOf("#"))),o.href===u&&(await this.highlighter.createHighlightDom(this.delegate.iframes[0].contentWindow,r.highlight),setTimeout(async()=>{if(o.highlight?.marker===Le.Underline){let d=await this.annotator?.getAnnotationPosition(r.id,this.delegate.iframes[0].contentWindow),f='<div class="comment" style="top: '+d+"px;background: "+o.highlight?.color+';width:20px"></div>',m=document.createElement("div");m.innerHTML=f,m.childNodes[0].innerHTML=Ur.note,Z(m,"click",p=>{p.preventDefault(),p.stopPropagation(),this.scrollToHighlight(o.id)})}},100))}}}}this.properties?.initialAnnotationColor&&this.highlighter.setColor(this.properties?.initialAnnotationColor),this.repositionGutters()}}repositionGutters(){let t=this.delegate.iframes[0].contentDocument;if(t&&(this.commentGutter=t.getElementById(Me.R2_ID_GUTTER_RIGHT_CONTAINER),this.delegate.view?.isScrollMode()&&this.properties?.enableComments?this.commentGutter.style.removeProperty("display"):this.commentGutter.style.setProperty("display","none"),this.commentGutter&&this.delegate.view?.isScrollMode())){this.commentGutter.innerHTML="";let n=[];this.annotator&&(n=this.annotator.getAnnotations(),n&&(n=n.filter(r=>r.highlight?.note?.length>0),n=this.syncPosition(n),n=this.reposition(n),n.forEach(r=>{let o=document.createElement("i");o.innerHTML="sticky_note_2",o.className="material-icons",o.style.color=r.highlight.color;let a=t.getElementById("R2_ID_HIGHLIGHTS_CONTAINER"),l,u;a&&(l=a.querySelector(`#${r.highlight.id}`)),u=l.getElementsByClassName(pn)[0];let f=parseInt(u.style.height.replace("px","")),m=r.highlight.position,p=t.createElement("div");p.setAttribute("style",`position: absolute;top:${m}px;display: flex;max-width: 250px !important;height:${f}px;width: 200px;align-items: center;`);let E=t.createElement("div");p.appendChild(E);let S=r.highlight.color;De.isHexColor(S)&&(S=De.hexToRgbChannels(S)),p.innerHTML=Us("","",'<path d="M24 24H0V0h24v24z" fill="none"/><circle cx="12" cy="12" r="8"/>',"icon open",10,`rgba(${S.red}, ${S.green}, ${S.blue}, 1) !important`);let v=t.createElement("div");v.innerHTML=r.highlight?.note,v.setAttribute("style",`height:${f}px;overflow: hidden;padding-left: 5px;`),p.appendChild(v),Z(p,"click",y=>{y.preventDefault(),y.stopPropagation(),this.scrollToHighlight(r.highlight.id)}),this.commentGutter?.appendChild(p)})))}}createTree(t,n,r){if(n){let o=this,a=this.publication.readingOrder;if(a.length){let l=(u,d)=>{let f=document.createElement("ul");f.className="sidenav-annotations";for(let m of d){let p=document.createElement("li"),E=document.createElement("a"),S=document.createElement("span");if(E.tabIndex=-1,E.className="chapter-link",m.Href){let y=this.publication.getAbsoluteHref(m.Href),b=this.publication.getTOCItemAbsolute(y);E.href=y,E.innerHTML=b?.Title||"",p.appendChild(E)}else S.innerHTML=m.Title||"",S.className="chapter-title",p.appendChild(S);Z(E,"click",y=>{y.preventDefault(),y.stopPropagation();let b={href:E.href,locations:{progression:0},type:m.TypeLink,title:E.title};this.delegate.stopReadAloud(),this.delegate.navigate(b)});let v=document.createElement("ol");n.forEach(function(y){let b=m.Href.indexOf("#")!==-1?m.Href.slice(0,m.Href.indexOf("#")):m.Href;if(m.Href&&y.href.endsWith(b)){let w=document.createElement("li");w.className="annotation-item";let O=document.createElement("a");if(O.setAttribute("href",y.href),t===fr.Annotation){O.className="highlight-link";let C=document.createElement("span"),_=document.createElement("span");if(C.className="title",_.innerHTML=y.highlight.selectionInfo.cleanText,y.highlight?.marker===Le.Underline)if(typeof y.highlight?.color=="object"){let I=y.highlight?.color;I&&_.style.setProperty("border-bottom",`2px solid ${De.hexToRgbA(I)}`,"important")}else _.style.setProperty("border-bottom",`2px solid ${y.highlight?.color}`,"important");else if(typeof y.highlight?.color=="object"){let I=y.highlight?.color;I&&(_.style.backgroundColor=De.hexToRgbA(I))}else{let I=y.highlight?.color;I&&(_.style.backgroundColor=I)}C.appendChild(_),O.appendChild(C);let P=document.createElement("span"),D=Math.round((y.locations.progression??0)*100)+"% through resource";P.className="subtitle",P.innerHTML=D,O.appendChild(P)}let T=document.createElement("span");if(T.className="timestamp",T.innerHTML=Qa.readableTimestamp(y.created),O.appendChild(T),Z(O,"click",C=>{C.preventDefault(),C.stopPropagation(),o.handleAnnotationLinkClick(C,y)}),w.appendChild(O),o.delegate.sideNavExpanded){let C=document.createElement("button");C.className="delete",C.innerHTML=Ur.delete,Z(C,"click",_=>{_.preventDefault(),_.stopPropagation(),o.handleAnnotationLinkDeleteClick(t,_,y)}),w.appendChild(C)}v.appendChild(w)}}),v.children.length>0&&(f.appendChild(p),f.appendChild(v)),f.children.length>0&&u.appendChild(f),m.Children&&m.Children.length>0&&l(u,m.Children)}};r.innerHTML="",l(r,a)}}}handleAnnotationLinkClick(t,n){n?(n.href=this.publication.getAbsoluteHref(n.href),this.delegate.stopReadAloud(),this.delegate.navigate(n)):Rr.default.log("annotation data missing: ",t)}handleAnnotationLinkDeleteClick(t,n,r){Rr.default.log("annotation data locator: ",r),r?t===fr.Annotation&&this.deleteHighlight(r):Rr.default.log("annotation data missing: ",n)}static readableTimestamp(t){let n=new Date(t);return n.toDateString()+" "+n.toLocaleTimeString()}async getAnnotation(t){return this.annotator?.getAnnotation(t)}async getAnnotationByID(t){return this.annotator?.getAnnotationByID(t)}syncPosition(t){let n=this.delegate.iframes[0].contentDocument,r=(o,a)=>{let l=n.getElementById("R2_ID_HIGHLIGHTS_CONTAINER"),u,d;l&&(u=l.querySelector(`#${a.highlight.id}`)),d=u.getElementsByClassName(pn)[0];let m=parseInt(d.style.top.replace("px","")),p=jt(Fe({},a),{highlight:jt(Fe({},a.highlight),{position:m})});return[...o,p]};return t.reduce(r,[])}reposition(t){let n=this.delegate.iframes[0].contentDocument,r=(o,a,l)=>{let u=t[0],d=n.getElementById("R2_ID_HIGHLIGHTS_CONTAINER"),f,m;d&&(f=d.querySelector(`#${u.highlight.id}`)),m=f.getElementsByClassName(pn)[0];let E=parseInt(m.style.height.replace("px","")),S=a.highlight.position,v=o[l-1]&&o[l-1].highlight.position,b=l===0?0:v+E+0,w=b>S?b:S,O=jt(Fe({},a),{highlight:jt(Fe({},a.highlight),{position:w})});return[...o,O]};return t.sort(function(o,a){return o.highlight.position-a.highlight.position}).reduce(r,[])}};A();var C0=Je(T0());var Mr=Je(Dt()),el=class{static async create(t){let n=new this(t.annotator,t.rights||{enableBookmarks:!1},t.publication,t.delegate,t,t.initialAnnotations,t.api,t.headerMenu);return await n.start(),new Promise(r=>r(n))}constructor(t,n,r,o,a,l,u,d){this.annotator=t,this.rights=n,this.publication=r,this.headerMenu=d,this.delegate=o,this.initialAnnotations=l,this.properties=a,this.api=u}stop(){Mr.default.log("Bookmark module stop")}async start(){if(this.delegate.bookmarkModule=this,this.headerMenu&&(this.bookmarksView=de(this.headerMenu,"#container-view-bookmarks")),this.headerMenu&&(this.sideNavSectionBookmarks=de(this.headerMenu,"#sidenav-section-bookmarks")),this.headerMenu){let t=de(this.headerMenu,"#menu-button-bookmark");t&&t.parentElement?.style.removeProperty("display"),t&&Z(t,"click",this.saveBookmark.bind(this))}if(this.initialAnnotations){let t=this.initialAnnotations.bookmarks||null;t&&this.annotator?.initBookmarks(t)}await this.showBookmarks(),await this.drawBookmarks(),setTimeout(()=>{this.properties.hideLayer?this.delegate.hideLayer("highlights"):this.delegate.showLayer("highlights")},10)}async handleResize(){setTimeout(async()=>{await this.drawBookmarks(),await this.showBookmarks()},100)}initialize(){return new Promise(async t=>{await document.fonts.ready,this.rights.enableBookmarks&&setTimeout(()=>{this.drawBookmarks(),this.showBookmarks()},300),t(null)})}async deleteBookmark(t){if(this.annotator)if(this.api?.deleteBookmark){await this.api?.deleteBookmark(t);let n=await this.annotator.deleteBookmark(t);return Mr.default.log("Bookmark deleted "+JSON.stringify(n)),await this.showBookmarks(),await this.drawBookmarks(),n}else{let n=await this.annotator.deleteBookmark(t);return Mr.default.log("Bookmark deleted "+JSON.stringify(n)),await this.showBookmarks(),await this.drawBookmarks(),n}else return new Promise(n=>n(null))}async saveBookmarkPlus(){await this.addBookmarkPlus()}async saveBookmark(){if(this.annotator){var t=this.publication.getTOCItem(this.delegate.currentChapterLink.href);if(this.delegate.currentTocUrl&&(t=this.publication.getTOCItem(this.delegate.currentTocUrl)),t===void 0&&(t=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href)),t){let n=t.Href;n.indexOf("#")>0&&(n=n.slice(0,n.indexOf("#")));let r=this.delegate.view?.getCurrentPosition(),o=(0,C0.v4)(),a;if(this.rights.autoGeneratePositions&&this.publication.positions||this.publication.positions){let l=this.publication.positionsByHref(this.publication.getRelativeHref(this.delegate.currentChapterLink.href)),u=Math.ceil((r??0)*(l.length-1)),d=l[u];a=jt(Fe({},d),{id:o,href:n,created:new Date,title:this.delegate.currentChapterLink.title})}else a={id:o,href:n,locations:{progression:r},created:new Date,type:this.delegate.currentChapterLink.type,title:this.delegate.currentChapterLink.title};if(!this.annotator.locatorExists(a,fr.Bookmark))if(this.api?.addBookmark){let l=await this.api.addBookmark(a);l&&(a=l),Mr.default.log(a);let u=this.annotator.saveBookmark(a);return Mr.default.log("Bookmark added "+JSON.stringify(u)),this.showBookmarks(),await this.drawBookmarks(),u}else{let l=this.annotator.saveBookmark(a);return Mr.default.log("Bookmark added "+JSON.stringify(l)),this.showBookmarks(),await this.drawBookmarks(),l}}}}async addBookmarkPlus(){let t=this,n=this.delegate.highlighter?.visibleTextRects[0],r=this.delegate.iframes[0].contentDocument;if(r){let u=this.delegate.highlighter?.dom(r.body).getWindow().document.createRange(),d=this.delegate.highlighter?.dom(this.delegate.iframes[0].contentDocument?.body).getSelection();d.removeAllRanges(),n&&u.selectNodeContents(n.node),d.addRange(u);let f=yd(u,!1),m=0;for(let p of f){if(!this.delegate.highlighter?.isOutsideViewport(p)){let E=d.focusNode,S=d.focusOffset;d.collapse(d.anchorNode,d.anchorOffset);for(let w=0;w<m;w++)d.modify("move","forward","line");d.extend(E,S);let v=d.focusNode,y=d.focusNode.length;d.collapse(d.anchorNode,d.anchorOffset);let b=y;d.anchorOffset>y?b=y:b=d.anchorOffset+1,d.modify("move","forward","character"),d.modify("move","backward","word"),d.extend(v,b),d.modify("extend","backward","character"),d.modify("extend","forward","word");break}m++}}function o(u){let d={},f=t.delegate.iframes[0].contentDocument;if(f)return ln(u,t.delegate.highlighter?.dom(f.body).getDocument(),d)}let a=this.delegate.iframes[0].contentWindow,l={id:"bookmarkIcon",marker:Le.Bookmark,icon:{id:"bookmarkIcon",title:"Bookmark",svgPath:'<path d="M0 0h24v24H0V0z" fill="none"/><path d="M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z"/>',color:"#000000",position:"left"},popup:{background:"#000000",textColor:"#ffffff"},highlight:{color:"#000000",style:{default:[{property:"border-bottom",value:"0px dashed #000000",priority:"important"}]}}};if(a!==null){let u=oi(a,o);if(u===void 0){let f=t.delegate.iframes[0].contentDocument;u=this.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(f)}let d=t.delegate.iframes[0].contentDocument;if(u&&d){let f=this.delegate.highlighter?.createHighlight(this.delegate.highlighter?.dom(d.body).getWindow(),u,l.highlight?.color,!0,Le.Bookmark,l.icon,l.popup,l.highlight?.style);if(this.delegate.iframes[0].contentDocument?.getSelection()?.removeAllRanges(),f)return this.saveAnnotation(f[0]).then(m=>{Mr.default.log("saved bookmark "+m?.id)})}}}async saveAnnotation(t){if(this.annotator){var n=this.publication.getTOCItem(this.delegate.currentChapterLink.href);this.delegate.currentTocUrl&&(n=this.publication.getTOCItem(this.delegate.currentTocUrl)),n===null&&(n=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href));let r=this.delegate.view?.getCurrentPosition(),o=this.delegate.iframes[0].contentDocument;if(o){let a=_i(o,"body"),l=t.position?t.position/a.scrollHeight:r,u=(0,C0.v4)(),d;if(n){let f=n.Href;if(f.indexOf("#")>0&&(f=f.slice(0,f.indexOf("#"))),this.rights.autoGeneratePositions&&this.publication.positions||this.publication.positions){let m=this.publication.positionsByHref(this.publication.getRelativeHref(this.delegate.currentChapterLink.href)),p=Math.ceil((l??0)*(m.length-1)),E=m[p];d=jt(Fe({},E),{id:u,href:f,created:new Date,title:this.delegate.currentChapterLink.title,highlight:t,text:{highlight:t.selectionInfo.cleanText}})}else d={id:u,href:f,locations:{progression:l},created:new Date,type:this.delegate.currentChapterLink.type,title:this.delegate.currentChapterLink.title,highlight:t,text:{highlight:t.selectionInfo.cleanText}}}if(d)if(this.api?.addBookmark){let f=await this.api.addBookmark(d),m=await this.annotator.saveAnnotation(f);return await this.showBookmarks(),await this.drawBookmarks(),new Promise(p=>p(m))}else{let f=await this.annotator.saveAnnotation(d);return await this.showBookmarks(),await this.drawBookmarks(),new Promise(m=>m(f))}}}return new Promise(r=>r(void 0))}getBookmarks(){let t=[];return this.annotator&&(t=this.annotator.getBookmarks()),t}showBookmarks(){let t=[];this.annotator&&(t=this.annotator.getBookmarks());let n=[];this.annotator&&(n=this.annotator.getAnnotations(),n&&(n=n.filter(r=>r.highlight.marker===Le.Bookmark),t?t.push.apply(t,n):t=n)),this.bookmarksView&&this.createTree(fr.Bookmark,t,this.bookmarksView)}async drawBookmarks(){if(this.rights.enableBookmarks&&this.delegate.highlighter)if(this.api){let n=[];if(this.annotator&&(n=await this.annotator.getAnnotations()),this.delegate.highlighter&&n&&this.delegate.iframes[0].contentDocument?.readyState==="complete"){await this.delegate.highlighter.destroyHighlights(qe.Annotation);for(let r of n){zt.push(r.highlight);let o=r,a=this.delegate.currentChapterLink.href;var t=this.publication.getTOCItem(a);if(this.delegate.currentTocUrl&&(t=this.publication.getTOCItem(this.delegate.currentTocUrl)),t===void 0&&(t=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href)),t){let l=t.Href;l.indexOf("#")>0&&(l=l.slice(0,l.indexOf("#"))),o.href===l&&await this.delegate.highlighter.createHighlightDom(this.delegate.iframes[0].contentWindow,r.highlight)}}}}else{let n=[];if(this.annotator&&(n=await this.annotator.getAnnotations()),this.delegate.highlighter&&n&&this.delegate.iframes[0].contentDocument?.readyState==="complete"){await this.delegate.highlighter.destroyHighlights(qe.Annotation);for(let r of n){zt.push(r.highlight);let o=r,a=this.delegate.currentChapterLink.href,l=this.publication.getTOCItem(a);if(this.delegate.currentTocUrl&&(l=this.publication.getTOCItem(this.delegate.currentTocUrl)),l===void 0&&(l=this.publication.getTOCItemAbsolute(this.delegate.currentChapterLink.href)),l){let u=l.Href;u.indexOf("#")>0&&(u=u.slice(0,u.indexOf("#"))),o.href===u&&await this.delegate.highlighter.createHighlightDom(this.delegate.iframes[0].contentWindow,r.highlight)}}}}}async deleteSelectedHighlight(t){this.api?.deleteBookmark?this.api.deleteBookmark(t).then(async()=>{this.deleteLocalHighlight(t.id)}):this.deleteLocalHighlight(t.id)}async deleteLocalHighlight(t){if(this.annotator){var n=await this.annotator.deleteAnnotation(t);return Mr.default.log("Highlight deleted "+JSON.stringify(n)),await this.showBookmarks(),await this.drawBookmarks(),n}else return new Promise(r=>r(null))}createTree(t,n,r){if(n){let o=this,a=this.publication.readingOrder;if(a.length){let l=(u,d)=>{let f=document.createElement("ul");f.className="sidenav-annotations";for(let m of d){let p=document.createElement("li"),E=document.createElement("a"),S=document.createElement("span");if(E.tabIndex=-1,E.className="chapter-link",m.Href){let y=this.publication.getAbsoluteHref(m.Href),b=this.publication.getTOCItemAbsolute(y);E.href=y,E.innerHTML=b?.Title||"",p.appendChild(E)}else S.innerHTML=m.Title||"",S.className="chapter-title",p.appendChild(S);Z(E,"click",y=>{y.preventDefault(),y.stopPropagation();let b={href:E.href,locations:{progression:0},type:m.TypeLink,title:E.title};this.delegate.stopReadAloud(),this.delegate.navigate(b)});let v=document.createElement("ol");n.forEach(function(y){let b=m.Href.indexOf("#")!==-1?m.Href.slice(0,m.Href.indexOf("#")):m.Href;if(m.Href&&y.href.endsWith(b)){let w=document.createElement("li");w.className="annotation-item";let O=document.createElement("a");if(O.setAttribute("href",y.href),t===fr.Bookmark){O.className="bookmark-link";let C=document.createElement("span"),_=Math.round((y.locations.progression??0)*100)+"% through resource";C.className="title",C.innerHTML=_,O.appendChild(C)}let T=document.createElement("span");if(T.className="timestamp",T.innerHTML=el.readableTimestamp(y.created),O.appendChild(T),Z(O,"click",C=>{C.preventDefault(),C.stopPropagation(),o.handleAnnotationLinkClick(C,y)}),w.appendChild(O),o.delegate.sideNavExpanded){let C=document.createElement("button");C.className="delete",C.innerHTML=Ur.delete,Z(C,"click",_=>{_.preventDefault(),_.stopPropagation(),o.handleAnnotationLinkDeleteClick(t,_,y)}),w.appendChild(C)}v.appendChild(w)}}),v.children.length>0&&(f.appendChild(p),f.appendChild(v)),f.children.length>0&&u.appendChild(f),m.Children&&m.Children.length>0&&l(u,m.Children)}};r.innerHTML="",l(r,a)}}}handleAnnotationLinkClick(t,n){n?(n.href=this.publication.getAbsoluteHref(n.href),this.delegate.stopReadAloud(),this.delegate.navigate(n)):Mr.default.log("bookmark data missing: ",t)}handleAnnotationLinkDeleteClick(t,n,r){Mr.default.log("bookmark data locator: ",r),r?t===fr.Bookmark&&this.deleteBookmark(r):Mr.default.log("bookmark data missing: ",n)}static readableTimestamp(t){let n=new Date(t);return n.toDateString()+" "+n.toLocaleTimeString()}async getAnnotation(t){return this.annotator?.getAnnotation(t)}async getAnnotationByID(t){return this.annotator?.getAnnotationByID(t)}};A();var D4=Je(j4());A();var Vn=Je(Dt()),R0="r2-mo-active",qo=class{},Ne=qo;Ne.COLOR_REF="color",Ne.AUTO_SCROLL_REF="autoscroll",Ne.AUTO_TURN_REF="autoturn",Ne.VOLUME_REF="volume",Ne.RATE_REF="rate",Ne.COLOR_KEY="mediaoverlay-"+qo.COLOR_REF,Ne.AUTO_SCROLL_KEY="mediaoverlay-"+qo.AUTO_SCROLL_REF,Ne.AUTO_TURN_KEY="mediaoverlay-"+qo.AUTO_TURN_REF,Ne.VOLUME_KEY="mediaoverlay-"+qo.VOLUME_REF,Ne.RATE_KEY="mediaoverlay-"+qo.RATE_REF;var M0=class{constructor(t,n,r){this.MEDIAOVERLAYSETTINGS="mediaOverlaySetting";this.color="r2-mo-active";this.autoScroll=!0;this.autoTurn=!0;this.volume=1;this.rate=1;this.playing=!1;this.resourceReady=!1;this.wait=1;this.settingsChangeCallback=()=>{};this.store=t,this.api=n,this.headerMenu=r,this.initialise(),Vn.default.log(this.api)}static create(t){let n=new this(t.store,t.api,t.headerMenu);if(t.initialMediaOverlaySettings){let r=t.initialMediaOverlaySettings;r?.color&&(n.color=r.color,Vn.default.log(n.color)),r?.autoScroll&&(n.autoScroll=r.autoScroll,Vn.default.log(n.autoScroll)),r?.autoTurn&&(n.autoTurn=r.autoTurn,Vn.default.log(n.autoScroll)),r?.volume&&(n.volume=r.volume,Vn.default.log(n.volume)),r?.rate&&(n.rate=r.rate,Vn.default.log(n.rate)),r?.wait&&(n.wait=r.wait,Vn.default.log(n.wait))}return n.initializeSelections(),n}stop(){Vn.default.log("MediaOverlay settings stop")}initialise(){this.autoScroll=this.getProperty(Ne.AUTO_SCROLL_KEY)!=null?this.getProperty(Ne.AUTO_SCROLL_KEY).value:this.autoScroll,this.autoTurn=this.getProperty(Ne.AUTO_TURN_KEY)!=null?this.getProperty(Ne.AUTO_TURN_KEY).value:this.autoTurn,this.color=this.getProperty(Ne.COLOR_KEY)!=null?this.getProperty(Ne.COLOR_KEY).value:this.color,this.volume=this.getProperty(Ne.VOLUME_KEY)!=null?this.getProperty(Ne.VOLUME_KEY).value:this.volume,this.rate=this.getProperty(Ne.RATE_KEY)!=null?this.getProperty(Ne.RATE_KEY).value:this.rate,this.userProperties=this.getMediaOverlaySettings()}reset(){this.color="redtext",this.autoScroll=!0,this.autoTurn=!0,this.volume=1,this.rate=1,this.wait=1,this.userProperties=this.getMediaOverlaySettings()}initializeSelections(){this.headerMenu&&(this.settingsView=de(this.headerMenu,"#container-view-mediaoverlay-settings"))}setControls(){this.settingsView&&this.renderControls(this.settingsView)}renderControls(t){this.headerMenu&&(this.speechAutoTurn=de(this.headerMenu,"#mediaOverlayAutoTurn")),this.headerMenu&&(this.speechAutoScroll=de(this.headerMenu,"#mediaOverlayAutoScroll")),this.headerMenu&&(this.speechVolume=de(this.headerMenu,"#mediaOverlayVolume")),this.headerMenu&&(this.speechRate=de(this.headerMenu,"#mediaOverlayRate")),this.speechAutoScroll&&(this.speechAutoScroll.checked=this.autoScroll),this.speechAutoTurn&&(this.speechAutoTurn.checked=this.autoTurn),this.speechVolume&&(this.speechVolume.value=this.volume.toString()),this.speechRate&&(this.speechRate.value=this.volume.toString()),Z(de(t,"ul"),"click",n=>{n.stopPropagation()})}onSettingsChange(t){this.settingsChangeCallback=t}storeProperty(t){this.updateUserSettings(),this.saveProperty(t)}updateUserSettings(){let t={color:this.userProperties.getByRef(Ne.COLOR_REF)?.value,autoScroll:this.userProperties.getByRef(Ne.AUTO_SCROLL_REF)?.value,autoTurn:this.userProperties.getByRef(Ne.AUTO_TURN_REF)?.value,volume:this.userProperties.getByRef(Ne.VOLUME_REF)?.value,rate:this.userProperties.getByRef(Ne.RATE_REF)?.value};this.applyMediaOverlaySettings(t),this.api?.updateSettings&&this.api?.updateSettings(t).then(async n=>{Vn.default.log("api updated sync settings",n)})}getMediaOverlaySettings(){let t=new xi;return t.addSwitchable("mediaoverlay-auto-scroll-off","mediaoverlay-auto-scroll-on",this.autoScroll,Ne.AUTO_SCROLL_REF,Ne.AUTO_SCROLL_KEY),t.addSwitchable("mediaoverlay-auto-turn-off","mediaoverlay-auto-turn-on",this.autoTurn,Ne.AUTO_TURN_REF,Ne.AUTO_TURN_KEY),t.addStringable(this.color,Ne.COLOR_REF,Ne.COLOR_KEY),t.addIncremental(this.volume,.1,1,.1,"",Ne.VOLUME_REF,Ne.VOLUME_KEY),t.addIncremental(this.rate,.1,3,.1,"",Ne.RATE_REF,Ne.RATE_KEY),t}saveProperty(t){let n=this.store.get(this.MEDIAOVERLAYSETTINGS);if(n){let r=JSON.parse(n);r=r.filter(o=>o.name!==t.name),r.push(t),this.store.set(this.MEDIAOVERLAYSETTINGS,JSON.stringify(r))}else{let r=[];r.push(t),this.store.set(this.MEDIAOVERLAYSETTINGS,JSON.stringify(r))}return t}getProperty(t){let n=this.store.get(this.MEDIAOVERLAYSETTINGS);if(n){let r=JSON.parse(n);return r=r.filter(o=>o.name===t),r.length===0?null:r[0]}return null}resetMediaOverlaySettings(){this.store.remove(this.MEDIAOVERLAYSETTINGS),this.reset(),this.settingsChangeCallback()}applyMediaOverlaySettings(t){if(t.color){this.color=t.color;let n=this.userProperties.getByRef(Ne.COLOR_REF);n&&(n.value=this.color,this.saveProperty(n)),this.settingsChangeCallback()}if(t.autoScroll!==void 0){Vn.default.log("autoScroll "+this.autoScroll),this.autoScroll=t.autoScroll;let n=this.userProperties.getByRef(Ne.AUTO_SCROLL_REF);n&&(n.value=this.autoScroll,this.saveProperty(n)),this.settingsChangeCallback()}if(t.autoTurn!==void 0){Vn.default.log("autoTurn "+this.autoTurn),this.autoTurn=t.autoTurn;let n=this.userProperties.getByRef(Ne.AUTO_TURN_REF);n&&(n.value=this.autoTurn,this.saveProperty(n)),this.settingsChangeCallback()}if(t.volume){Vn.default.log("volume "+this.volume),this.volume=t.volume;let n=this.userProperties.getByRef(Ne.VOLUME_REF);n&&(n.value=this.volume,this.saveProperty(n)),this.settingsChangeCallback()}if(t.rate){Vn.default.log("rate "+this.rate),this.rate=t.rate;let n=this.userProperties.getByRef(Ne.RATE_REF);n&&(n.value=this.rate,this.saveProperty(n)),this.settingsChangeCallback()}}applyMediaOverlaySetting(t,n){if(t===Ne.COLOR_REF){this.color=n;let r=this.userProperties.getByRef(Ne.COLOR_REF);r&&(r.value=this.color,this.saveProperty(r)),this.settingsChangeCallback()}else if(t===Ne.AUTO_SCROLL_REF){this.autoScroll=n;let r=this.userProperties.getByRef(Ne.AUTO_SCROLL_REF);r&&(r.value=this.autoScroll,this.saveProperty(r)),this.settingsChangeCallback()}else if(t===Ne.AUTO_TURN_REF){this.autoTurn=n;let r=this.userProperties.getByRef(Ne.AUTO_TURN_REF);r&&(r.value=this.autoTurn,this.saveProperty(r)),this.settingsChangeCallback()}}increase(t){if(t==="mo_volume"){this.userProperties.getByRef(Ne.VOLUME_REF).increment(),this.volume=this.userProperties.getByRef(Ne.VOLUME_REF)?.value;let n=this.userProperties.getByRef(Ne.VOLUME_REF);n&&this.storeProperty(n),this.settingsChangeCallback()}else if(t==="mo_rate"){this.userProperties.getByRef(Ne.RATE_REF).increment(),this.rate=this.userProperties.getByRef(Ne.RATE_REF)?.value;let n=this.userProperties.getByRef(Ne.RATE_REF);n&&this.storeProperty(n),this.settingsChangeCallback()}}decrease(t){if(t==="mo_volume"){this.userProperties.getByRef(Ne.VOLUME_REF).decrement(),this.volume=this.userProperties.getByRef(Ne.VOLUME_REF)?.value;let n=this.userProperties.getByRef(Ne.VOLUME_REF);n&&this.storeProperty(n),this.settingsChangeCallback()}else if(t==="mo_rate"){this.userProperties.getByRef(Ne.RATE_REF).decrement(),this.rate=this.userProperties.getByRef(Ne.RATE_REF)?.value;let n=this.userProperties.getByRef(Ne.RATE_REF);n&&this.storeProperty(n),this.settingsChangeCallback()}}};var He=Je(Dt()),P0=class{constructor(t,n,r,o){this.play=de(document,"#menu-button-play");this.pause=de(document,"#menu-button-pause");this.currentLinkIndex=0;this.pid=void 0;this.__ontimeupdate=!1;this.ontimeupdate=async t=>{He.default.log("ontimeupdate"),this.trackCurrentTime()};this.ensureOnTimeUpdate=(t,n)=>{t?this.__ontimeupdate&&(this.__ontimeupdate=!1,this.audioElement&&this.audioElement.removeEventListener("timeupdate",this.ontimeupdate),cancelAnimationFrame(this.myReq)):(!this.__ontimeupdate||n)&&(this.__ontimeupdate=!0,n&&(this.audioElement&&this.audioElement.removeEventListener("timeupdate",this.ontimeupdate),this.audioElement.addEventListener("timeupdate",this.ontimeupdate)))};this.delegate=t,this.publication=n,this.settings=r,this.properties=o}static create(t){let n=new this(t.delegate,t.publication,t.settings,t);return n.start(),n}stop(){He.default.log("MediaOverlay module stop")}start(){this.delegate.mediaOverlayModule=this,He.default.log("MediaOverlay module start")}async initialize(){return new Promise(async t=>{await document.fonts.ready,this.settings.setControls(),this.settings.onSettingsChange(()=>{this.audioElement.volume=this.settings.volume,this.audioElement.playbackRate=this.settings.rate}),t()})}async initializeResource(t){this.currentLinks=t,this.currentLinkIndex=0,await this.playLink()}async playLink(){let t=this.currentLinks[this.currentLinkIndex];if(t?.Properties?.MediaOverlay){this.ensureOnTimeUpdate(!1,!1);let n=t.Properties?.MediaOverlay,o=new URL(n,this.publication.manifestUrl).toString(),a;try{a=await fetch(o,this.delegate.requestConfig)}catch(f){console.error(f,o);return}a.ok||He.default.log("BAD RESPONSE?!");let l;try{l=await a.json()}catch(f){console.error(f)}if(!l){He.default.log("## moJson"+l);return}t.MediaOverlays=Cs(l,D4.MediaOverlayNode),t.MediaOverlays.initialized=!0;let u=t.HrefDecoded||t.Href,d=new URL("https://dita.digital/"+u);await this.playMediaOverlays(d.pathname.substr(1),t.MediaOverlays,void 0)}else this.audioElement&&await this.audioElement.pause(),this.currentLinks.length>1&&this.currentLinkIndex===0?(this.currentLinkIndex++,await this.playLink()):this.settings.autoTurn&&this.settings.playing?(this.audioElement&&await this.audioElement.pause(),this.delegate.nextResource()):await this.stopReadAloud()}async startReadAloud(){if(this.delegate.rights.enableMediaOverlays){if(this.settings.playing=!0,this.audioElement&&this.currentLinks[this.currentLinkIndex]?.Properties.MediaOverlay){let t=this.currentAudioBegin?this.currentAudioBegin:0;this.audioElement.currentTime=t,await this.audioElement.play(),this.ensureOnTimeUpdate(!1,!0),this.audioElement.volume=this.settings.volume,this.audioElement.playbackRate=this.settings.rate}else this.currentLinks.length>1&&this.currentLinkIndex===0?(this.currentLinkIndex++,await this.playLink()):this.settings.autoTurn&&this.settings.playing?this.delegate.nextResource():await this.stopReadAloud();this.play&&(this.play.style.display="none"),this.pause&&this.pause.style.removeProperty("display")}}async stopReadAloud(){this.delegate.rights.enableMediaOverlays&&(this.settings.playing=!1,this.audioElement.pause(),this.play&&this.play.style.removeProperty("display"),this.pause&&(this.pause.style.display="none"))}pauseReadAloud(){this.delegate.rights.enableMediaOverlays&&(this.settings.playing=!1,this.audioElement.pause(),this.play&&this.play.style.removeProperty("display"),this.pause&&(this.pause.style.display="none"))}async resumeReadAloud(){this.delegate.rights.enableMediaOverlays&&(this.settings.playing=!0,await this.audioElement.play(),this.play&&(this.play.style.display="none"),this.pause&&this.pause.style.removeProperty("display"))}findDepthFirstTextAudioPair(t,n,r){He.default.log("findDepthFirstTextAudioPair()");let o,a;if(n.Text){let d=new URL("https://dita.digital/"+n.Text);if(d.pathname.substr(1)===t){if(o=!0,d.hash&&r){a=!1;let f=d.hash.substr(1);for(let m of r)if(m===f){a=!0;break}}}else o=!1}if(He.default.log("isFragmentIDMatch: "+a),He.default.log("isTextUrlMatch: "+o),!n.Children||!n.Children.length){if(He.default.log("findDepthFirstTextAudioPair() - leaf text/audio pair"),!o){He.default.log("findDepthFirstTextAudioPair() - leaf - !isTextUrlMatch");return}return a||o&&!r?(He.default.log("findDepthFirstTextAudioPair() - leaf - isFragmentIDMatch || (isTextUrlMatch && !textFragmentIDChain"),n):void 0}let l=r,u=r;for(let d of n.Children){He.default.log("findDepthFirstTextAudioPair() - child"),He.default.log(JSON.stringify(d));let f=this.findDepthFirstTextAudioPair(t,d,u);if(f===null&&(He.default.log("findDepthFirstTextAudioPair() - child - match null (skip)"),u=void 0),f)return He.default.log("findDepthFirstTextAudioPair() - child - match"),He.default.log(JSON.stringify(f)),f}if(a){He.default.log("findDepthFirstTextAudioPair() - post isFragmentIDMatch");let d=this.findDepthFirstTextAudioPair(t,n,void 0);return d&&(He.default.log("findDepthFirstTextAudioPair() - post isFragmentIDMatch - match"),He.default.log(JSON.stringify(d)),d)}if(l&&!u)return null}trackCurrentTime(){if(cancelAnimationFrame(this.myReq),this.mediaOverlayTextAudioPair)try{this.currentAudioEnd&&this.audioElement.currentTime>=this.currentAudioEnd-.05&&(He.default.log("ontimeupdate - mediaOverlaysNext()"),this.mediaOverlaysNext());let t=this.mediaOverlayTextAudioPair.Text.lastIndexOf("#"),n=this.mediaOverlayTextAudioPair.Text.substr(t+1);this.mediaOverlayHighlight(n),this.myReq=requestAnimationFrame(this.trackCurrentTime.bind(this))}catch(t){}}mediaOverlaysNext(t){if(He.default.log("mediaOverlaysNext()"),this.mediaOverlayRoot&&this.mediaOverlayTextAudioPair){let n=this.findNextTextAudioPair(this.mediaOverlayRoot,this.mediaOverlayTextAudioPair,{prev:void 0},!!t);if(!n)He.default.log("mediaOverlaysNext() - navLeftOrRight()"),this.mediaOverlaysStop(),this.currentLinks.length>1&&this.currentLinkIndex===0?(this.currentLinkIndex++,this.playLink()):(this.audioElement.pause(),this.settings.autoTurn&&this.settings.playing?(this.audioElement.pause(),this.delegate.nextResource()):this.stopReadAloud());else{let r=!1;if(this.mediaOverlayTextAudioPair.Text&&n.Text){let o=new URL("https://dita.digital/"+this.mediaOverlayTextAudioPair.Text),a=new URL("https://dita.digital/"+n.Text);o.pathname!==a.pathname&&(He.default.log("mediaOverlaysNext() SWITCH! "+o.pathname+" != "+a.pathname),r=!0)}r?this.mediaOverlaysStop():(He.default.log("mediaOverlaysNext() - playMediaOverlaysAudio()"),setTimeout(async()=>{await this.playMediaOverlaysAudio(n,void 0,void 0)},0))}}else He.default.log("mediaOverlaysNext() - navLeftOrRight() 2"),this.mediaOverlaysStop(),this.currentLinks.length>1&&this.currentLinkIndex===0?(this.currentLinkIndex++,this.playLink()):(this.audioElement.pause(),this.settings.autoTurn&&this.settings.playing?(this.audioElement.pause(),this.delegate.nextResource()):this.stopReadAloud())}mediaOverlaysStop(){He.default.log("mediaOverlaysStop()"),this.mediaOverlaysPause(),this.mediaOverlayRoot=void 0,this.mediaOverlayTextAudioPair=void 0}mediaOverlaysPause(){He.default.log("mediaOverlaysPause()"),this.mediaOverlayHighlight(void 0),this.audioElement&&this.audioElement.pause()}findNextTextAudioPair(t,n,r,o){if(!t.Children||!t.Children.length){if(r?.prev===n)return He.default.log("findNextTextAudioPair() - prevMo === moToMatch"),t;He.default.log("findNextTextAudioPair() - set previous"),He.default.log(JSON.stringify(t)),r.prev=t;return}for(let a of t.Children){He.default.log("findNextTextAudioPair() - child"),He.default.log(JSON.stringify(a));let l=this.findNextTextAudioPair(a,n,r,o);if(l)return He.default.log("findNextTextAudioPair() - match"),He.default.log(JSON.stringify(l)),l}}async playMediaOverlaysAudio(t,n,r){if(He.default.log("playMediaOverlaysAudio()"),this.mediaOverlayTextAudioPair=t,!t.Audio)return;let o=new URL(t.Audio,this.publication.manifestUrl),a=o.toString(),l=new URL(a);l.hash="",l.search="";let u=l.toString(),d=typeof n!="undefined",f=typeof r!="undefined";if(this.previousAudioEnd=this.currentAudioEnd,this.currentAudioBegin=void 0,this.currentAudioEnd=void 0,!d&&!f){if(o.hash){let p=o.hash.match(/t=([0-9.]+)(,([0-9.]+))?/);if(p&&p.length>=1){let E=p[1];try{this.currentAudioBegin=parseFloat(E)}catch(S){He.default.error(S)}if(p.length>=3){let S=p[3];try{this.currentAudioEnd=parseFloat(S)}catch(v){He.default.error(v)}}}}}else this.currentAudioBegin=n,this.currentAudioEnd=r;He.default.log(`${a} => [${this.currentAudioBegin}-${this.currentAudioEnd}]`);let m=async p=>{if(!this.audioElement)return;let E=this.currentAudioBegin?this.currentAudioBegin:0;if(p||this.audioElement.paused)if(p&&!E||this.audioElement.currentTime===E){if(He.default.log("playMediaOverlaysAudio() - playClip() - _currentAudioElement.play()"),this.ensureOnTimeUpdate(!1,!1),this.audioElement.playbackRate=this.settings.rate,this.audioElement.volume=this.settings.volume,this.settings.playing){let v=function(){S.settings.resourceReady?setTimeout(async()=>{await S.audioElement.play(),S.ensureOnTimeUpdate(!1,!0)},S.settings.wait*1e3):setTimeout(v,200)},S=this;v()}}else{He.default.log("playMediaOverlaysAudio() - playClip() - ontimeupdateSeeked");let S=async v=>{if(this.audioElement.removeEventListener("timeupdate",S),He.default.log("playMediaOverlaysAudio() - playClip() - ontimeupdateSeeked - .play()"),this.ensureOnTimeUpdate(!1,!1),this.audioElement&&(this.audioElement.playbackRate=this.settings.rate,this.audioElement.volume=this.settings.volume,this.settings.playing)){let b=function(){y.settings.resourceReady?setTimeout(async()=>{await y.audioElement.play(),y.ensureOnTimeUpdate(!1,!0)},y.settings.wait*1e3):setTimeout(b,200)},y=this;b()}};this.audioElement.addEventListener("timeupdate",S),this.audioElement.currentTime=E}else{let S=this.previousAudioUrl===this.currentAudioUrl&&typeof this.previousAudioEnd!="undefined"&&this.previousAudioEnd>E-.02&&this.previousAudioEnd<=E&&this.audioElement.currentTime>=E-.1;this.ensureOnTimeUpdate(!1,!1),S?He.default.log("playMediaOverlaysAudio() - playClip() - ensureOnTimeUpdate"):(He.default.log("playMediaOverlaysAudio() - playClip() - currentTime = timeToSeekTo"),this.audioElement.currentTime=E)}};if(this.previousAudioUrl=this.currentAudioUrl,!this.currentAudioUrl||u!==this.currentAudioUrl){this.currentAudioUrl=u,He.default.log("playMediaOverlaysAudio() - RESET: "+this.previousAudioUrl+" => "+this.currentAudioUrl),this.audioElement=document.getElementById("AUDIO_MO_ID"),this.audioElement&&(this.audioElement.pause(),this.audioElement.setAttribute("src",""),this.audioElement.parentNode&&this.audioElement.parentNode.removeChild(this.audioElement)),this.audioElement=document.createElement("audio"),this.audioElement.setAttribute("style","display: none"),this.audioElement.setAttribute("id","AUDIO_MO_ID"),this.audioElement.setAttribute("role","media-overlays"),this.audioElement.volume=this.settings.volume,this.audioElement.playbackRate=this.settings.rate,document.body.appendChild(this.audioElement),this.audioElement.addEventListener("error",S=>{He.default.log("-1) error: "+(this.currentAudioUrl!==S.currentTarget.src?this.currentAudioUrl+" -- ":"")+S.currentTarget.src.substr(S.currentTarget.src.lastIndexOf("/"))),this.audioElement&&this.audioElement.error&&(He.default.log(this.audioElement.error.code),He.default.log(this.audioElement.error.message))});let p=async S=>{S.currentTarget.removeEventListener("canplaythrough",p),He.default.log("oncanplaythrough"),await m(!0)};this.audioElement.addEventListener("canplaythrough",p);let E=async S=>{He.default.log("onended"),this.currentLinks.length>1&&this.currentLinkIndex===0?(this.currentLinkIndex++,await this.playLink()):this.settings.autoTurn&&this.settings.playing?(this.audioElement.pause(),this.delegate.nextResource()):this.stopReadAloud()};this.audioElement.addEventListener("ended",E),this.audioElement.playbackRate=this.settings.rate,this.audioElement.setAttribute("src",this.currentAudioUrl)}else He.default.log("playMediaOverlaysAudio() - playClip()"),await m(!1)}async playMediaOverlays(t,n,r){He.default.log("playMediaOverlays()");let o=r?r.filter(l=>l):void 0;o&&o.length===0&&(o=void 0);let a=this.findDepthFirstTextAudioPair(t,n,o);!a&&o&&(He.default.log("playMediaOverlays() - findDepthFirstTextAudioPair() SECOND CHANCE "),He.default.log(JSON.stringify(o,null,4)),He.default.log(JSON.stringify(n,null,4)),a=this.findDepthFirstTextAudioPair(t,n,void 0)),a?a.Audio&&(He.default.log("playMediaOverlays() - playMediaOverlaysAudio()"),this.mediaOverlayRoot=n,await this.playMediaOverlaysAudio(a,void 0,void 0)):He.default.log("playMediaOverlays() - !moTextAudioPair "+t)}mediaOverlayHighlight(t){He.default.log("moHighlight: ## "+t);let n=this.publication.Metadata?.MediaOverlay?.ActiveClass;n||(n=this.settings.color);let r=this.delegate.iframes[0].contentDocument?.documentElement.getAttribute("style"),o=r?r.indexOf("readium-night-on")>0:!1,a=r?r.indexOf("readium-sepia-on")>0:!1;if((this.publication.Metadata.Rendition?.Layout??"unknown")!=="fixed"&&(n=o||a?R0:n||R0),this.pid){let u;this.currentLinkIndex===0?u=this.delegate.iframes[0].contentDocument?.getElementById(this.pid):u=this.delegate.iframes[1].contentDocument?.getElementById(this.pid),u&&u.classList.remove(n)}let l;t&&(this.currentLinkIndex===0?l=this.delegate.iframes[0].contentDocument?.getElementById(t):l=this.delegate.iframes[1].contentDocument?.getElementById(t),l&&l.classList.add(n),this.pid=t),l&&(this.publication.Metadata.Rendition?.Layout??"unknown")!=="fixed"&&l.scrollIntoView({block:"center",behavior:"smooth"})}};A();var I0=Je(Dt()),L0=class{static async create(t){let n=new this(t.delegate,t.publication);return await n.start(),n}constructor(t,n){this.delegate=t,this.publication=n}async stop(){I0.default.log("Timeline module stop")}async start(){this.delegate.timelineModule=this,this.timelineContainer=de(document,"#container-view-timeline"),this.positionSlider=de(document,"#positionSlider"),this.publication.positions?this.positionSlider&&(this.positionSlider.style.display="block"):this.positionSlider&&(this.positionSlider.style.display="none")}async initialize(){return new Promise(async t=>{await document.fonts.ready;let n=this.delegate.currentLocator();(this.delegate.rights.autoGeneratePositions&&this.publication.positions||this.publication.positions)&&(this.positionSlider&&(this.positionSlider.value=(n.locations.position??0).toString()),this.positionSlider&&(this.positionSlider.max=((n.locations.totalRemainingPositions??0)+(n.locations.position??0)).toString())),this.timelineContainer&&(this.timelineContainer.innerHTML=""),this.publication.readingOrder?.forEach(r=>{let o=this.publication.getAbsoluteHref(r.Href),a=this.publication.getTOCItemAbsolute(o),l=a?.Href.indexOf("#")!==-1?a?.Href.slice(0,a?.Href.indexOf("#")):a.Href,u=this.publication.getAbsoluteHref(l??"");var d;this.publication.positions&&this.delegate.view?.layout!=="fixed"?r.contentWeight?d=r.contentWeight:d=1:d=100/(this.publication.readingOrder?.length??0);var f=document.createElement("div");if(f.style.height=d+"%",f.style.width="100%",f.className="chapter",a?.Title!==void 0){var m=document.createElement("span");m.innerHTML=a.Title,m.className="chapter-tooltip",f.appendChild(m)}Z(f,"click",p=>{p.preventDefault(),p.stopPropagation();var E;this.publication.positions||this.delegate.rights.autoGeneratePositions&&this.publication.positions?(E=Fe({},this.publication.positions.filter(S=>S.href===r.Href)[0]),E.href=this.publication.getAbsoluteHref(E.href)):E={href:u,locations:{progression:0},type:r.TypeLink,title:r.Title},I0.default.log(E),this.delegate.navigate(E)}),u===this.delegate.currentChapterLink.href?f.className+=" active":f.className=f.className.replace(" active",""),this.timelineContainer&&this.timelineContainer.appendChild(f)}),t()})}};A();var Q0=Je(to());A();var F4=Je(Dt());function $4(i,t){return new Promise(function(n){setTimeout(n.bind(null,t),i)})}var H8=!1;F4.default.setLevel(H8?"trace":"warn",!0);var y3=Je(g3()),Hd=Je(m3()),gn=Je(Dt());var jd=class{constructor(t,n){this.hasEventListener=!1;this.isHacked=!1;this.delegate=t,this.properties=n}static async setupPreloadProtection(t){if(this.isCurrentBrowserSupported(t))t.detectInspect&&await this.startInspectorProtection(t);else throw new Error("Browser not supported")}static async create(t){let n=new this(t.delegate,t);return await n.start(),n}static async startInspectorProtection(t){(0,Hd.addListener)(r=>{r&&(t.clearOnInspect&&(console.clear(),window.localStorage.clear(),window.sessionStorage.clear(),window.location.replace(window.location.origin)),t.detectInspect&&typeof t.api?.inspectDetected=="function"&&t.api.inspectDetected())}),(0,Hd.launch)(),await $4(t.detectInspectInitDelay??100)}static isCurrentBrowserSupported(t){if(!t.enforceSupportedBrowsers)return!0;let n=[];return(t.supportedBrowsers??[]).forEach(o=>{n.push("last 1 "+o+" version")}),(0,y3.getUserAgentRegExp)({browsers:n,allowHigherVersions:!0}).test(navigator.userAgent)}async start(){if(this.delegate.contentProtectionModule=this,this.properties?.enableObfuscation){this.wrapper=dt(document,"#iframe-wrapper"),this.securityContainer=de(document,"#container-view-security");var t=this;this.mutationObserver=new MutationObserver(function(n){n.forEach(function(r){gn.default.log(r.type),t.isHacked=!0})})}}async stop(){if(gn.default.log("Protection module stop"),this.mutationObserver.disconnect(),this.properties?.disableKeys){we(this.delegate.mainElement,"keydown",this.disableSave),we(this.delegate.headerMenu,"keydown",this.disableSave);for(let t of this.delegate.iframes)we(t.contentDocument,"keydown",this.disableSave),we(t.contentWindow,"keydown",this.disableSave);we(window,"keydown",this.disableSave),we(document,"keydown",this.disableSave)}if(this.properties?.disableCopy){we(this.delegate.mainElement,"copy",this.preventCopy),we(this.delegate.headerMenu,"copy",this.preventCopy);for(let t of this.delegate.iframes)we(t.contentDocument,"copy",this.preventCopy),we(t.contentWindow,"copy",this.preventCopy);we(window,"copy",this.preventCopy),we(document,"copy",this.preventCopy),we(this.delegate.mainElement,"cut",this.preventCopy),we(this.delegate.headerMenu,"cut",this.preventCopy);for(let t of this.delegate.iframes)we(t.contentDocument,"cut",this.preventCopy),we(t.contentWindow,"cut",this.preventCopy);we(window,"cut",this.preventCopy),we(document,"cut",this.preventCopy),we(this.delegate.mainElement,"keydown",this.preventCopyKey),we(this.delegate.headerMenu,"keydown",this.preventCopyKey);for(let t of this.delegate.iframes)we(t.contentDocument,"keydown",this.preventCopyKey),we(t.contentWindow,"keydown",this.preventCopyKey);we(window,"keydown",this.preventCopyKey),we(document,"keydown",this.preventCopyKey)}else if(this.properties?.canCopy){we(this.delegate.mainElement,"copy",this.restrictCopy),we(this.delegate.headerMenu,"copy",this.restrictCopy);for(let t of this.delegate.iframes)we(t.contentDocument,"copy",this.restrictCopy),we(t.contentWindow,"copy",this.restrictCopy);we(window,"copy",this.restrictCopy),we(document,"copy",this.restrictCopy),we(this.delegate.mainElement,"cut",this.restrictCopy),we(this.delegate.headerMenu,"cut",this.restrictCopy);for(let t of this.delegate.iframes)we(t.contentDocument,"cut",this.restrictCopy),we(t.contentWindow,"cut",this.restrictCopy);we(window,"cut",this.restrictCopy),we(document,"cut",this.restrictCopy),we(this.delegate.mainElement,"keydown",this.restrictCopyKey),we(this.delegate.headerMenu,"keydown",this.restrictCopyKey);for(let t of this.delegate.iframes)we(t.contentDocument,"keydown",this.restrictCopyKey),we(t.contentWindow,"keydown",this.restrictCopyKey);we(window,"keydown",this.restrictCopyKey),we(document,"keydown",this.restrictCopyKey)}if(this.properties?.disablePrint){we(this.delegate.mainElement,"beforeprint",this.beforePrint.bind(this)),we(this.delegate.headerMenu,"beforeprint",this.beforePrint.bind(this));for(let t of this.delegate.iframes)we(t.contentDocument,"beforeprint",this.beforePrint),we(t.contentWindow,"beforeprint",this.beforePrint);we(window,"beforeprint",this.beforePrint),we(document,"beforeprint",this.beforePrint),we(this.delegate.mainElement,"afterprint",this.afterPrint.bind(this)),we(this.delegate.headerMenu,"afterprint",this.afterPrint.bind(this));for(let t of this.delegate.iframes)we(t.contentDocument,"afterprint",this.afterPrint.bind(this)),we(t.contentWindow,"afterprint",this.afterPrint.bind(this));we(window,"afterprint",this.afterPrint.bind(this)),we(document,"afterprint",this.afterPrint.bind(this))}if(this.properties?.disableContextMenu){we(this.delegate.mainElement,"contextmenu",this.disableContext),we(this.delegate.headerMenu,"contextmenu",this.disableContext);for(let t of this.delegate.iframes)we(t.contentDocument,"contextmenu",this.disableContext),we(t.contentWindow,"contextmenu",this.disableContext);we(window,"contextmenu",this.disableContext),we(document,"contextmenu",this.disableContext)}this.properties?.hideTargetUrl&&this.hideTargetUrls(!1),this.properties?.disableDrag&&this.preventDrag(!1),we(this.wrapper,"scroll",this.handleScroll.bind(this))}observe(){if(this.properties?.enableObfuscation){this.securityContainer.hasAttribute("style")&&(this.isHacked=!0),this.mutationObserver.disconnect();var t={attributes:!0,childList:!0,characterData:!0};this.mutationObserver.observe(this.securityContainer,t)}}async deactivate(){this.properties?.enableObfuscation&&(this.observe(),this.rects.forEach(t=>this.deactivateRect(t,this.securityContainer,this.isHacked)))}async activate(){if(this.properties?.enableObfuscation){this.observe();for(let t of this.delegate.iframes)if(t.contentDocument){let n=_i(t.contentDocument,"body");this.rects=this.findRects(n),this.rects.forEach(r=>this.toggleRect(r,this.securityContainer,this.isHacked))}}}setupEvents(){if(this.properties?.disableKeys){Z(this.delegate.mainElement,"keydown",this.disableSave),Z(this.delegate.headerMenu,"keydown",this.disableSave);for(let t of this.delegate.iframes)Z(t,"keydown",this.disableSave),Z(t.ownerDocument,"keydown",this.disableSave),Z(t.contentDocument,"keydown",this.disableSave),Z(t.contentWindow,"keydown",this.disableSave),Z(t.contentWindow?.document,"keydown",this.disableSave);Z(window,"keydown",this.disableSave),Z(document,"keydown",this.disableSave)}if(this.properties?.disableCopy){Z(this.delegate.mainElement,"copy",this.preventCopy),Z(this.delegate.headerMenu,"copy",this.preventCopy);for(let t of this.delegate.iframes)Z(t,"copy",this.preventCopy),Z(t.ownerDocument,"copy",this.preventCopy),Z(t.contentDocument,"copy",this.preventCopy),Z(t.contentWindow,"copy",this.preventCopy),Z(t.contentWindow?.document,"copy",this.preventCopy);Z(window,"copy",this.preventCopy),Z(document,"copy",this.preventCopy),Z(this.delegate.mainElement,"cut",this.preventCopy),Z(this.delegate.headerMenu,"cut",this.preventCopy);for(let t of this.delegate.iframes)Z(t,"cut",this.preventCopy),Z(t.ownerDocument,"cut",this.preventCopy),Z(t.contentDocument,"cut",this.preventCopy),Z(t.contentWindow,"cut",this.preventCopy),Z(t.contentWindow?.document,"cut",this.preventCopy);Z(window,"cut",this.preventCopy),Z(document,"cut",this.preventCopy),Z(this.delegate.mainElement,"keydown",this.preventCopyKey),Z(this.delegate.headerMenu,"keydown",this.preventCopyKey);for(let t of this.delegate.iframes)Z(t,"keydown",this.preventCopyKey),Z(t.ownerDocument,"keydown",this.preventCopyKey),Z(t.contentDocument,"keydown",this.preventCopyKey),Z(t.contentWindow,"keydown",this.preventCopyKey),Z(t.contentWindow?.document,"keydown",this.preventCopyKey);Z(window,"keydown",this.preventCopyKey),Z(document,"keydown",this.preventCopyKey)}else if(this.properties?.canCopy){Z(this.delegate.mainElement,"copy",this.restrictCopy.bind(this)),Z(this.delegate.headerMenu,"copy",this.restrictCopy.bind(this));for(let t of this.delegate.iframes)Z(t,"copy",this.restrictCopy),Z(t.ownerDocument,"copy",this.restrictCopy.bind(this)),Z(t.contentDocument,"copy",this.restrictCopy.bind(this)),Z(t.contentWindow,"copy",this.restrictCopy.bind(this)),Z(t.contentWindow?.document,"copy",this.restrictCopy.bind(this));Z(window,"copy",this.restrictCopy.bind(this)),Z(document,"copy",this.restrictCopy.bind(this)),Z(this.delegate.mainElement,"cut",this.restrictCopy.bind(this)),Z(this.delegate.headerMenu,"cut",this.restrictCopy.bind(this));for(let t of this.delegate.iframes)Z(t,"cut",this.restrictCopy.bind(this)),Z(t.ownerDocument,"cut",this.restrictCopy.bind(this)),Z(t.contentDocument,"cut",this.restrictCopy.bind(this)),Z(t.contentWindow,"cut",this.restrictCopy.bind(this)),Z(t.contentWindow?.document,"cut",this.restrictCopy.bind(this));Z(window,"cut",this.restrictCopy.bind(this)),Z(document,"cut",this.restrictCopy.bind(this)),Z(this.delegate.mainElement,"keydown",this.restrictCopyKey.bind(this)),Z(this.delegate.headerMenu,"keydown",this.restrictCopyKey.bind(this));for(let t of this.delegate.iframes)Z(t,"keydown",this.restrictCopyKey.bind(this)),Z(t.ownerDocument,"keydown",this.restrictCopyKey.bind(this)),Z(t.contentDocument,"keydown",this.restrictCopyKey.bind(this)),Z(t.contentWindow,"keydown",this.restrictCopyKey.bind(this)),Z(t.contentWindow?.document,"keydown",this.restrictCopyKey.bind(this));Z(window,"keydown",this.restrictCopyKey.bind(this)),Z(document,"keydown",this.restrictCopyKey.bind(this))}if(this.properties?.disablePrint){Z(this.delegate.mainElement,"beforeprint",this.beforePrint),Z(this.delegate.headerMenu,"beforeprint",this.beforePrint);for(let t of this.delegate.iframes)Z(t,"beforeprint",this.beforePrint.bind(this)),Z(t.ownerDocument,"beforeprint",this.beforePrint.bind(this)),Z(t.contentDocument,"beforeprint",this.beforePrint.bind(this)),Z(t.contentWindow,"beforeprint",this.beforePrint.bind(this)),Z(t.contentWindow?.document,"beforeprint",this.beforePrint.bind(this));Z(window,"beforeprint",this.beforePrint.bind(this)),Z(document,"beforeprint",this.beforePrint.bind(this)),Z(this.delegate.mainElement,"afterprint",this.afterPrint),Z(this.delegate.headerMenu,"afterprint",this.afterPrint);for(let t of this.delegate.iframes)Z(t,"afterprint",this.afterPrint.bind(this)),Z(t.ownerDocument,"afterprint",this.afterPrint.bind(this)),Z(t.contentDocument,"afterprint",this.afterPrint.bind(this)),Z(t.contentWindow,"afterprint",this.afterPrint.bind(this)),Z(t.contentWindow?.document,"afterprint",this.afterPrint.bind(this));Z(window,"afterprint",this.afterPrint.bind(this)),Z(document,"afterprint",this.afterPrint.bind(this))}if(this.properties?.disableContextMenu){Z(this.delegate.mainElement,"contextmenu",this.disableContext),Z(this.delegate.headerMenu,"contextmenu",this.disableContext);for(let t of this.delegate.iframes)Z(t,"contextmenu",this.disableContext),Z(t.ownerDocument,"contextmenu",this.disableContext),Z(t.contentDocument,"contextmenu",this.disableContext),Z(t.contentWindow,"contextmenu",this.disableContext),Z(t.contentWindow?.document,"contextmenu",this.disableContext);Z(window,"contextmenu",this.disableContext),Z(document,"contextmenu",this.disableContext)}}initializeResource(){this.properties?.hideTargetUrl&&this.hideTargetUrls(!0),this.properties?.disableDrag&&this.preventDrag(!0)}async initialize(){if(this.properties?.enableObfuscation)return new Promise(async t=>{await document.fonts.ready;for(let n of this.delegate.iframes)if(n.contentDocument){let r=_i(n.contentDocument,"body");this.observe(),setTimeout(()=>{this.rects=this.findRects(r),this.rects.forEach(o=>this.toggleRect(o,this.securityContainer,this.isHacked)),this.setupEvents(),this.hasEventListener||(this.hasEventListener=!0,Z(this.wrapper,"scroll",this.handleScroll.bind(this))),t()},10)}})}handleScroll(){this.rects.forEach(t=>this.toggleRect(t,this.securityContainer,this.isHacked))}handleResize(){if(this.properties?.enableObfuscation){let t=(0,Q0.debounce)(()=>{this.calcRects(this.rects),this.rects!==void 0&&this.rects.forEach(n=>this.toggleRect(n,this.securityContainer,this.isHacked))},10);this.rects&&(this.observe(),t())}}disableContext(t){return t.preventDefault(),t.stopPropagation(),!1}disableSave(t){return(navigator.platform==="MacIntel"||navigator.platform.match("Mac")?t.metaKey:t.ctrlKey&&(t.key==="s"||t.keyCode===83))?(t.preventDefault(),t.stopPropagation(),!1):!0}preventCopy(t){return gn.default.log("copy action initiated"),t.clipboardData.setData("text/plain","copy not allowed"),t.stopPropagation(),t.preventDefault(),!1}preventCopyKey(t){return(navigator.platform==="MacIntel"||navigator.platform.match("Mac")?t.metaKey:t.ctrlKey&&(t.key==="c"||t.keyCode===67))?(t.preventDefault(),t.stopPropagation(),!1):!0}restrictCopy(t){gn.default.log("copy action initiated");let n=this.delegate.iframes[0].contentWindow;if(n){let o=function(l){let u={className:f=>hr.indexOf(f)<0,idName:f=>hr.indexOf(f)<0},d=r.delegate.iframes[0].contentDocument;if(d)return ln(l,d,u)},r=this,a=oi(n,o);if(a===void 0){let l=this.delegate.iframes[0].contentDocument;a=this.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(l)}t.clipboardData.setData("text/plain",a?.cleanText?.substring(0,this.properties?.charactersToCopy??0))}else t.clipboardData.setData("text/plain","");return t.stopPropagation(),t.preventDefault(),!1}restrictCopyKey(t){if(navigator.platform==="MacIntel"||navigator.platform.match("Mac")?t.metaKey:t.ctrlKey&&(t.key==="c"||t.keyCode===67)){let n=this.delegate.iframes[0].contentWindow;if(n){let o=function(l){let u={className:f=>hr.indexOf(f)<0,idName:f=>hr.indexOf(f)<0},d=r.delegate.iframes[0].contentDocument;if(d)return ln(l,d,u)},r=this,a=oi(n,o);if(a===void 0){let l=this.delegate.iframes[0].contentDocument;a=this.delegate.annotationModule?.annotator?.getTemporarySelectionInfo(l)}this.copyToClipboard(a?.cleanText?.substring(0,this.properties?.charactersToCopy??0))}else this.copyToClipboard("");return t.stopPropagation(),t.preventDefault(),!1}return!0}copyToClipboard(t){if(t=t.substring(0,this.properties?.charactersToCopy??0),window.clipboardData)window.clipboardData.setData("text/plain",t);else{let n=this.createElementForExecCommand(t);this.selectContent(n);try{window.netscape&&netscape.security&&netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"),document.execCommand("copy",!1)}catch(r){}document.body.removeChild(n)}}createElementForExecCommand(t){let n=document.createElement("div");return n.style.position="absolute",n.style.left="-10000px",n.style.top="-10000px",n.innerHTML=t,document.body.appendChild(n),n.contentEditable=!0,n}selectContent(t){let n=document.createRange();n.selectNodeContents(t);let r=window.getSelection();r?.removeAllRanges(),r?.addRange(n)}beforePrint(t){return gn.default.log("before print"),this.delegate&&this.delegate.headerMenu&&(this.delegate.headerMenu.style.display="none",this.delegate.mainElement.style.display="none"),t.stopPropagation(),t.preventDefault(),!1}afterPrint(t){return gn.default.log("after print"),this.delegate&&this.delegate.headerMenu&&(this.delegate.headerMenu.style.removeProperty("display"),this.delegate.mainElement.style.removeProperty("display")),t.stopPropagation(),t.preventDefault(),!1}hideTargetUrls(t){function n(r){r.preventDefault();let o=r.currentTarget.getAttribute("data-href-resolved"),a=document.createElement("a");a.setAttribute("href",o),a.click()}for(let r of this.delegate.iframes){let o=r.contentDocument?.querySelectorAll("a");o?.forEach(a=>{let l=a.getAttribute("data-href"),u=a.getAttribute("href");!l&&u&&(a.setAttribute("data-href",u),a.setAttribute("data-href-resolved",a.href))}),t?o?.forEach(a=>{a.setAttribute("href",""),a.addEventListener("click",n)}):o?.forEach(a=>{let l=a.getAttribute("data-href");l&&a.setAttribute("href",l),a.removeEventListener("click",n)})}}preventDrag(t){let n="-webkit-user-drag: none; -khtml-user-drag: none; -moz-user-drag: none; -ms-user-drag: none; user-drag: none; -webkit-pointer-events: none; -khtml-pointer-events: none; -moz-pointer-events: none; -ms-pointer-events: none; pointer-events: none;",r=o=>{o.preventDefault()};for(let o of this.delegate.iframes){let a=o.contentDocument?.body.getAttribute("style")||"";t?(o.contentDocument?.body.addEventListener("dragstart",r),o.contentDocument?.body.setAttribute("style",a+n)):(o.contentDocument?.body.removeEventListener("dragstart",r),o.contentDocument?.body.setAttribute("style",a.replace(n,"")))}}recalculate(t=0){return new Promise(n=>{if(this.properties?.enableObfuscation){let r=(0,Q0.debounce)(()=>{this.calcRects(this.rects),this.rects!==void 0&&this.rects.forEach(o=>this.toggleRect(o,this.securityContainer,this.isHacked)),n(!0)},t);this.rects?(this.observe(),r()):n(!1)}else n(!1)})}calcRects(t){t!==void 0&&t.forEach(n=>{try{let{top:r,height:o,left:a,width:l}=this.measureTextNode(n.node);n.top=r,n.height=o,n.width=l,n.left=a}catch(r){gn.default.log("error "+r),gn.default.log(n),gn.default.log(n.node),gn.default.log("scrambledTextContent "+n.scrambledTextContent),gn.default.log("textContent "+n.textContent),gn.default.log("isObfuscated "+n.isObfuscated)}})}deactivateRect(t,n,r){this.isBeingHacked(n)||r?(t.node.textContent=t.scrambledTextContent,t.isObfuscated=!0):(t.node.textContent=t.textContent,t.isObfuscated=!1)}toggleRect(t,n,r){let o=this.isOutsideViewport(t),a=this.isBeingHacked(n);t.isObfuscated&&!o&&!a&&!r&&(t.node.textContent=t.textContent,t.isObfuscated=!1),!t.isObfuscated&&(o||a||r)&&(t.node.textContent=t.scrambledTextContent,t.isObfuscated=!0)}findRects(t){return this.findTextNodes(t).map(r=>{let{top:o,height:a,left:l,width:u}=this.measureTextNode(r),d=r.parentElement?.nodeName==="option"||r.parentElement?.nodeName==="script"?r.textContent:this.obfuscateText(r.textContent??"");return{top:o,height:a,width:u,left:l,node:r,textContent:r.textContent??"",scrambledTextContent:d??"",isObfuscated:!1}})}obfuscateText(t){return this.scramble(t,!0)}measureTextNode(t){try{let n=document.createRange();n.selectNode(t);let r=n.getBoundingClientRect();return n.detach(),r}catch(n){gn.default.log("measureTextNode "+n),gn.default.log("measureTextNode "+t),gn.default.log(t.textContent)}}isBeingHacked(t){return t.style.animation||t.style.transition||t.style.position||t.hasAttribute("style")?(gn.default.log("content being hacked"),!0):!1}isOutsideViewport(t){let n=this.wrapper.scrollLeft,r=n+this.wrapper.clientWidth,o=t.left+t.width,a=t.top+t.height,l=this.wrapper.scrollTop,u=l+this.wrapper.clientHeight,d=a<l,f=t.top>u,m=o<n-window.innerWidth,p=t.left>r+window.innerWidth;return d||f||m||p}findTextNodes(t,n=[]){let r=t.firstChild;for(;r;)r.nodeType===1&&this.findTextNodes(r,n),r.nodeType===3&&r.textContent?.trim()&&n.push(r),r=r.nextSibling;return n}scramble(t,n=!1,r=!1){var o=t.split(" ");function a(l){for(var u=l.length,d,f;u>0;)f=Math.floor(Math.random()*u),u--,d=l[u],l[u]=l[f],l[f]=d;return l}return n&&(o=o.map(function(l){return a(l.split("")).join("")})),r?a(o).join(" "):o.join(" ")}};A();var O3=Je(v3());A();var Dd=i=>i.replace(/\n/g," ").replace(/\s\s+/g," "),eN=i=>Dd(i).trim(),w3=/[\\^$.*+?()[\]{}|]/g,tN=RegExp(w3.source);function E3(i){return i&&tN.test(i)?i.replace(w3,"\\$&"):i||""}var Fd=0,nN=()=>()=>Number.isSafeInteger(++Fd)?Fd:Fd=1,S3=()=>{Fd=0},rN=nN(),iN=i=>t=>{try{return ln(t,i,ro)}catch(n){return console.error("uniqueCssSelector:",n),""}};async function lo(i,t,n,r,o=!1){if(!t)return[];let a=t.body?.textContent;if(!a)return[];if(i=eN(i),!i.length)return[];let l=t.createNodeIterator(t.body,NodeFilter.SHOW_TEXT,{acceptNode:S=>NodeFilter.FILTER_ACCEPT}),u=new RegExp(E3(i).replace(/ /g,"\\s+"),"gim");o&&(u=new RegExp("\\b"+E3(i).replace(/ /g,"\\s+")+"\\b","gim"));let d=[],f=100,m=30,p=0,E;for(;E=u.exec(a);){let S=Math.max(0,E.index-f),v=Math.min(f,E.index),y=Dd(a.substr(S,v));y=y.substr(y.length-m),S=u.lastIndex,v=Math.min(f,a.length-S);let b=Dd(a.substr(S,v)).substr(0,m),w=new Range,O=E.index;for(;p<=O;){let _=l.nextNode();_&&_.nodeValue&&(p+=_.nodeValue.length)}let T=l.referenceNode.nodeValue?l.referenceNode.nodeValue?.length-(p-O):0;for(w.setStart(l.referenceNode,T),O=E.index+E[0].length;p<=O;){let P=l.nextNode()?.nodeValue;P&&(p+=P.length)}T=l.referenceNode.nodeValue?l.referenceNode.nodeValue?.length-(p-O):0,w.setEnd(l.referenceNode,T),t.getCssSelector||(t.getCssSelector=iN(t));let C=Pi(w,t.getCssSelector);C&&d.push({textMatch:Dd(E[0]),textBefore:y,textAfter:b,rangeInfo:C,href:n,title:r,uuid:rN().toString()})}return d}var x3=Je(Dt()),tg=class{constructor(t,n,r,o,a,l){this.currentChapterSearchResult=[];this.bookSearchResult=[];this.currentSearchHighlights=[];this.delegate=t,this.headerMenu=l,this.publication=n,this.properties=r,this.api=a,this.highlighter=o}static async create(t){let n=new this(t.delegate,t.publication,t,t.highlighter,t.api,t.headerMenu);return await n.start(),n}async stop(){x3.default.log("Search module stop"),we(this.searchInput,"keypress",this.handleSearch.bind(this)),we(this.searchGo,"click",this.handleSearch.bind(this))}async start(){if(this.delegate.searchModule=this,this.headerMenu){this.searchInput=de(this.headerMenu,"#searchInput"),Z(this.searchInput,"keypress",this.handleSearch.bind(this)),this.searchGo=de(this.headerMenu,"#searchGo"),Z(this.searchGo,"click",this.handleSearch.bind(this));var t=de(this.headerMenu,"#menu-button-search");t&&t.parentElement?.style.removeProperty("display")}setTimeout(()=>{this.properties.hideLayer?this.delegate.hideLayer("search"):this.delegate.showLayer("search")},10)}async handleSearch(t){(t.key==="Enter"||t.type==="click")&&(await this.handleSearchChapter(),await this.handleSearchBook())}async handleSearchChapter(t){var n=this,r=this.searchInput.value;let o=this.delegate.currentChapterLink.href,a=this.publication.getSpineItem(o);if(this.headerMenu)var l=de(document,"#searchResultChapter");n.currentChapterSearchResult=[],n.currentSearchHighlights=[];var u=[];this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.deactivate(),await this.searchAndPaintChapter(r,t,async f=>{u=f,d(1),this.delegate.rights.enableContentProtection&&this.delegate.contentProtectionModule?.recalculate(200)});async function d(f){l.innerHTML="";var m;if(m=n.paginate(u,f,10),m.total===0){let p=document.createElement("a");p.className="collection-item",p.innerHTML="nothing found",l.appendChild(p)}else{for(let y=0;y<m.data.length;y++){let b=document.createElement("a"),w=m.data[y];b.className="collection-item",b.href=a?.Href??"",b.innerHTML="..."+w.textBefore+"<mark>"+w.textMatch+"</mark>"+w.textAfter+"...",Z(b,"click",O=>{O.preventDefault(),O.stopPropagation(),n.jumpToMark(y+f*10-10)}),l.appendChild(b)}let p=document.createElement("div");p.style.textAlign="center",p.style.marginTop="10px";let E=document.createElement("ul");E.className="pagination";let S=document.createElement("li");if(S.className="disabled",S.innerHTML='<a href="#!"> < </a>',m.pre_page!==void 0){let y=m.pre_page;S.className="waves-effect",Z(S,"click",b=>{b.preventDefault(),b.stopPropagation(),d(y)})}E.appendChild(S);for(let y=1;y<=m.total_pages;y++){let b,w=document.createElement("li");w.className="waves-effect",y===m.page&&(w.className="active",b=w),w.innerHTML='<a href="#!">'+y+"</a>",Z(w,"click",O=>{O.preventDefault(),O.stopPropagation(),b&&(b.className="waves-effect"),w.className="active",b=w,d(y)}),E.appendChild(w)}let v=document.createElement("li");if(v.className="disabled",v.innerHTML='<a href="#!"> > </a>',m.next_page!==void 0){let y=m.next_page;v.className="waves-effect",Z(v,"click",b=>{b.preventDefault(),b.stopPropagation(),d(y)})}E.appendChild(v),p.appendChild(E),l.appendChild(p)}}}async searchAndPaintChapter(t,n=0,r){let o=this.publication.getAbsoluteHref(this.publication.readingOrder[this.delegate.currentResource()??0].Href),a=this.publication.getTOCItem(o);a===null&&(a=this.publication.readingOrder[this.delegate.currentResource()??0]);let l=[];this.highlighter?.destroyHighlights(qe.Search),this.delegate.rights.enableSearch&&this.drawSearch();let u=0;if(a){let d=this.delegate.iframes[0].contentDocument;d&&a&&lo(t,d,a.Href,a.Title).then(f=>{f.forEach(m=>{let p={rangeInfo:m.rangeInfo};setTimeout(()=>{let E;u===n?(E=this.createSearchHighlight(p,this.properties?.current),this.jumpToMark(n)):E=this.createSearchHighlight(p,this.properties?.color),m.highlight=E,l.push(m),this.currentChapterSearchResult.push(m),this.currentSearchHighlights.push(E),u++},500)}),setTimeout(()=>{r(l)},500)})}}createSearchHighlight(t,n){try{var r=n;De.isHexColor(r)&&(r=De.hexToRgbChannels(r));let a=`${t.rangeInfo.startContainerElementCssSelector}${t.rangeInfo.startContainerChildTextNodeIndex}${t.rangeInfo.startOffset}${t.rangeInfo.endContainerElementCssSelector}${t.rangeInfo.endContainerChildTextNodeIndex}${t.rangeInfo.endOffset}`,l=O3.SHA256.hash(a),u="R2_SEARCH_"+l;var o=!1;let d={color:r||$o,id:u,pointerInteraction:o,selectionInfo:t,marker:Le.Highlight,type:qe.Search},f=this.highlighter?.createHighlightDom(this.delegate.iframes[0].contentWindow,d);return d.position=parseInt((f?.hasChildNodes()?f.childNodes[0]:f).style.top.replace("px","")),d}catch(a){throw"Can't create highlight: "+a}}clearSearch(){this.currentChapterSearchResult=[],this.currentSearchHighlights=[],this.highlighter?.destroyHighlights(qe.Search)}async search(t,n){return this.currentChapterSearchResult=[],this.currentSearchHighlights=[],this.bookSearchResult=[],S3(),await this.searchAndPaintChapter(t,0,async()=>{}),n?(await this.searchBook(t),await this.searchChapter(t)):(await this.searchChapter(t),await this.searchBook(t))}async goToSearchID(t,n,r){var o=n,a;let l=this.delegate.currentChapterLink.href;var u=this.publication.getAbsoluteHref(t);let d=this.bookSearchResult.filter(f=>f.href===t);if(r?(a=this.currentChapterSearchResult.filter(f=>f.uuid===n)[0],o=this.currentChapterSearchResult.findIndex(f=>f.uuid===n)):(a=d.filter(f=>f.uuid===n)[0],o=d.findIndex(f=>f.uuid===n)),a!==void 0)if(l===u)this.jumpToMark(o);else{let m={href:u,locations:{progression:0},title:"title"};this.delegate.navigate(m),setTimeout(()=>{this.searchAndPaintChapter(a.textMatch,o,async()=>{})},300)}}async goToSearchIndex(t,n,r){var o=n,a;let l=this.delegate.currentChapterLink.href;var u=this.publication.getAbsoluteHref(t);let d=this.bookSearchResult.filter(f=>f.href===t);if(r?a=this.currentChapterSearchResult[o]:a=d[o],a!==void 0)if(l===u)this.jumpToMark(o);else{let m={href:u,locations:{progression:0},title:"title"};this.delegate.navigate(m),setTimeout(()=>{this.searchAndPaintChapter(a.textMatch,o,async()=>{})},300)}}async handleSearchBook(){var t=this,n=this.searchInput.value;if(t.headerMenu)var r=de(document,"#searchResultBook");o(1);async function o(l){r.innerHTML="";var u,d=await t.searchBook(n);if(u=t.paginate(d,l,10),u.total===0){let f=document.createElement("a");f.className="collection-item",f.innerHTML="nothing found",r.appendChild(f)}else{a(u.data,v=>v.href).forEach(v=>{let y=document.createElement("div");if(y.style.marginBottom="10px",v[0].title){let b=document.createElement("span");b.className="collection-item",b.style.display="block",b.innerHTML=v[0].title,y.appendChild(b)}r.appendChild(y),v.forEach(b=>{let w=document.createElement("a");w.className="collection-item";var O=t.publication.getAbsoluteHref(b.href);w.innerHTML="..."+b.textBefore+"<mark>"+b.textMatch+"</mark>"+b.textAfter+"...",Z(w,"click",T=>{T.preventDefault(),T.stopPropagation();let _=d.filter(D=>D.href===b.href).findIndex(D=>D===b);if(t.delegate.currentChapterLink.href===O)t.jumpToMark(_);else{let I={href:O,locations:{progression:0},title:"title"};t.delegate.navigate(I),setTimeout(()=>{t.handleSearchChapter(_)},300)}}),y.appendChild(w)})});let m=document.createElement("div");m.style.textAlign="center",m.style.marginTop="10px";let p=document.createElement("ul");p.className="pagination";let E=document.createElement("li");if(E.className="disabled",E.innerHTML='<a href="#!"> < </a>',u.pre_page!=null){let v=u.pre_page;E.className="waves-effect",Z(E,"click",y=>{y.preventDefault(),y.stopPropagation(),o(v)})}p.appendChild(E);for(let v=1;v<=u.total_pages;v++){let y,b=document.createElement("li");b.className="waves-effect",v===u.page&&(b.className="active",y=b),b.innerHTML='<a href="#!">'+v+"</a>",Z(b,"click",w=>{w.preventDefault(),w.stopPropagation(),y&&(y.className="waves-effect"),b.className="active",y=b,o(v)}),p.appendChild(b)}let S=document.createElement("li");if(S.className="disabled",S.innerHTML='<a href="#!"> > </a>',u.next_page!=null){let v=u.next_page;S.className="waves-effect",Z(S,"click",y=>{y.preventDefault(),y.stopPropagation(),o(v)})}p.appendChild(S),m.appendChild(p),r.appendChild(m)}}function a(l,u){let d=new Map;return l.forEach(f=>{let m=u(f),p=d.get(m);p?p.push(f):d.set(m,[f])}),Array.from(d.values())}}async searchBook(t){this.bookSearchResult=[];let n=[];for(let r=0;r<this.publication.readingOrder.length;r++){let o=this.publication.getAbsoluteHref(this.publication.readingOrder?this.publication.readingOrder[r].Href:""),a=this.publication.getTOCItem(o);if(a===void 0&&this.publication.readingOrder&&(a=this.publication.readingOrder[r]),a){let l=this.publication.getAbsoluteHref(a.Href);this.delegate.api?.getContent?await this.delegate.api?.getContent(l).then(u=>{let f=new DOMParser().parseFromString(this.delegate.requestConfig?.encoded?this.decodeBase64(u):u,"application/xhtml+xml");a&&lo(t,f,a.Href,a.Title).then(m=>{m.forEach(p=>{n.push(p),this.bookSearchResult.push(p)})})}):await fetch(l,this.delegate.requestConfig).then(u=>u.text()).then(async u=>{let f=new DOMParser().parseFromString(this.delegate.requestConfig?.encoded?this.decodeBase64(u):u,"application/xhtml+xml");a&&lo(t,f,a.Href,a.Title).then(m=>{m.forEach(p=>{n.push(p),this.bookSearchResult.push(p)})})})}if(r===this.publication.readingOrder.length-1)return n}}decodeBase64(t){let n=atob(t),r=n.length,o=new Uint8Array(r);for(let l=0;l<r;l++)o[l]=n.charCodeAt(l);return new TextDecoder().decode(o)}async searchChapter(t){let n=[],r=this.publication.getAbsoluteHref(this.publication.readingOrder[this.delegate.currentResource()??0].Href),o=this.publication.getTOCItem(r);if(o===null&&(o=this.publication.readingOrder[this.delegate.currentResource()??0]),o){let a=this.publication.getAbsoluteHref(o.Href);this.delegate.api?.getContent?await this.delegate.api?.getContent(a).then(l=>{let d=new DOMParser().parseFromString(this.delegate.requestConfig?.encoded?this.decodeBase64(l):l,"application/xhtml+xml");o&&lo(t,d,o.Href,o.Title).then(f=>{f.forEach(m=>{n.push(m)})})}):await fetch(a,this.delegate.requestConfig).then(l=>l.text()).then(async l=>{let d=new DOMParser().parseFromString(this.delegate.requestConfig?.encoded?this.decodeBase64(l):l,"application/xhtml+xml");o&&lo(t,d,o.Href,o.Title).then(f=>{f.forEach(m=>{n.push(m)})})})}return n}drawSearch(){setTimeout(()=>{this.currentSearchHighlights=[],this.currentChapterSearchResult.forEach(t=>{let n={rangeInfo:t.rangeInfo};if(this.properties?.color){let r=this.createSearchHighlight(n,this.properties?.color);t.highlight=r,this.currentSearchHighlights.push(r)}})},100)}async handleResize(){await this.highlighter?.destroyHighlights(qe.Search),this.drawSearch()}jumpToMark(t){setTimeout(()=>{if(this.currentChapterSearchResult.length){var n=this.currentChapterSearchResult[t];this.currentSearchHighlights.forEach(o=>{var a=this.properties?.color;De.isHexColor(a)&&(a=De.hexToRgbChannels(a)),o.color=a});var r=this.properties?.current;De.isHexColor(r)&&(r=De.hexToRgbChannels(r)),n.highlight.color=r,this.highlighter?.setAndResetSearchHighlight(n.highlight,this.currentSearchHighlights),this.delegate.view?.goToCssSelector(n.rangeInfo.startContainerElementCssSelector),this.delegate.updatePositionInfo()}},200)}paginate(t,n,r){let o=n||1,a=r||10,l=(o-1)*a,u=t.slice(l).slice(0,a),d=Math.ceil(t.length/a);return{page:o,per_page:a,pre_page:o-1?o-1:void 0,next_page:d>o?o+1:void 0,total:t.length,total_pages:d,data:u}}};A();var Kn=Je(Dt()),co=class{},Be=co;Be.COLOR_REF="color",Be.AUTO_SCROLL_REF="autoscroll",Be.RATE_REF="rate",Be.PITCH_REF="pitch",Be.VOLUME_REF="volume",Be.VOICE_REF="voice",Be.COLOR_KEY="tts-"+co.COLOR_REF,Be.AUTO_SCROLL_KEY="tts-"+co.AUTO_SCROLL_REF,Be.RATE_KEY="tts-"+co.RATE_REF,Be.PITCH_KEY="tts-"+co.PITCH_REF,Be.VOLUME_KEY="tts-"+co.VOLUME_REF,Be.VOICE_KEY="tts-"+co.VOICE_REF;var ng=class{constructor(t,n,r){this.TTSSETTINGS="ttsSetting";this.color="orange";this.autoScroll=!0;this.rate=1;this.pitch=1;this.volume=1;this.voice={usePublication:!0};this.settingsChangeCallback=()=>{};this.restartCallback=()=>{};this.store=t,this.api=n,this.headerMenu=r,this.initialise()}static create(t){let n=new this(t.store,t.api,t.headerMenu);if(t.initialTTSSettings){let r=t.initialTTSSettings;r?.rate&&(n.rate=r.rate,Kn.default.log(n.rate)),r?.pitch&&(n.pitch=r.pitch,Kn.default.log(n.pitch)),r?.volume&&(n.volume=r.volume,Kn.default.log(n.volume)),r?.color&&(n.color=r.color,Kn.default.log(n.color)),r?.autoScroll&&(n.autoScroll=r.autoScroll,Kn.default.log(n.autoScroll)),r?.voice&&(n.voice=r.voice,Kn.default.log(n.voice))}return n.initializeSelections(),n}stop(){Kn.default.log("tts settings stop")}initialise(){this.autoScroll=this.getProperty(Be.AUTO_SCROLL_KEY)!=null?this.getProperty(Be.AUTO_SCROLL_KEY).value:this.autoScroll,this.rate=this.getProperty(Be.RATE_KEY)!=null?this.getProperty(Be.RATE_KEY).value:this.rate,this.pitch=this.getProperty(Be.PITCH_KEY)!=null?this.getProperty(Be.PITCH_KEY).value:this.pitch,this.volume=this.getProperty(Be.VOLUME_KEY)!=null?this.getProperty(Be.VOLUME_KEY).value:this.volume,this.color=this.getProperty(Be.COLOR_KEY)!=null?this.getProperty(Be.COLOR_KEY).value:this.color,this.voice=this.getProperty(Be.VOICE_REF)!=null?this.getProperty(Be.VOICE_REF).value:this.voice,this.userProperties=this.getTTSSettings()}reset(){this.color="orange",this.autoScroll=!0,this.rate=1,this.pitch=1,this.volume=1,this.voice={usePublication:!0},this.userProperties=this.getTTSSettings()}initializeSelections(){this.headerMenu&&(this.settingsView=de(this.headerMenu,"#container-view-tts-settings"))}setControls(){this.settingsView&&this.renderControls(this.settingsView)}renderControls(t){this.headerMenu&&(this.speechRate=de(this.headerMenu,"#speechRate")),this.headerMenu&&(this.speechPitch=de(this.headerMenu,"#speechPitch")),this.headerMenu&&(this.speechVolume=de(this.headerMenu,"#speechVolume")),this.headerMenu&&(this.speechAutoScroll=de(this.headerMenu,"#autoScroll")),this.speechRate&&(this.speechRate.value=this.rate.toString()),this.speechPitch&&(this.speechPitch.value=this.pitch.toString()),this.speechVolume&&(this.speechVolume.value=this.volume.toString()),this.speechAutoScroll&&(this.speechAutoScroll.checked=this.autoScroll),Z(de(t,"ul"),"click",n=>{n.stopPropagation()})}onSettingsChange(t){this.settingsChangeCallback=t}onRestart(t){this.restartCallback=t}storeProperty(t){this.updateUserSettings(),this.saveProperty(t)}updateUserSettings(){var t={rate:this.userProperties.getByRef(Be.RATE_REF)?.value,pitch:this.userProperties.getByRef(Be.PITCH_REF)?.value,volume:this.userProperties.getByRef(Be.VOLUME_REF)?.value,voice:this.userProperties.getByRef(Be.VOLUME_REF)?.value,color:this.userProperties.getByRef(Be.COLOR_REF)?.value,autoScroll:this.userProperties.getByRef(Be.AUTO_SCROLL_REF)?.value};this.applyTTSSettings(t),this.api?.updateSettings&&this.api?.updateSettings(t).then(async n=>{Kn.default.log("api updated tts settings",n)})}getTTSSettings(){var t=new xi;return t.addSwitchable("tts-auto-scroll-off","tts-auto-scroll-on",this.autoScroll,Be.AUTO_SCROLL_REF,Be.AUTO_SCROLL_KEY),t.addIncremental(this.rate,.1,10,.1,"",Be.RATE_REF,Be.RATE_KEY),t.addIncremental(this.pitch,.1,2,.1,"",Be.PITCH_REF,Be.PITCH_KEY),t.addIncremental(this.volume,.1,1,.1,"",Be.VOLUME_REF,Be.VOLUME_KEY),t.addStringable(this.color,Be.COLOR_REF,Be.COLOR_KEY),t.addJSONable(JSON.stringify(this.voice),Be.VOICE_REF,Be.VOICE_KEY),t}saveProperty(t){let n=this.store.get(this.TTSSETTINGS);if(n){let r=JSON.parse(n);r=r.filter(o=>o.name!==t.name),r.push(t),this.store.set(this.TTSSETTINGS,JSON.stringify(r))}else{let r=[];r.push(t),this.store.set(this.TTSSETTINGS,JSON.stringify(r))}return t}getProperty(t){let n=this.store.get(this.TTSSETTINGS);if(n){let r=JSON.parse(n);return r=r.filter(o=>o.name===t),r.length===0?void 0:r[0]}}resetTTSSettings(){this.store.remove(this.TTSSETTINGS),this.reset(),this.settingsChangeCallback(),this.restartCallback()}applyTTSSettings(t){if(t.rate){Kn.default.log("rate "+this.rate),this.rate=t.rate;let n=this.userProperties.getByRef(Be.RATE_REF);n&&(n.value=this.rate,this.saveProperty(n)),this.settingsChangeCallback(),this.restartCallback()}if(t.pitch){Kn.default.log("pitch "+this.pitch),this.pitch=t.pitch;let n=this.userProperties.getByRef(Be.PITCH_REF);n&&(n.value=this.pitch,this.saveProperty(n)),this.settingsChangeCallback(),this.restartCallback()}if(t.volume){Kn.default.log("volume "+this.volume),this.volume=t.volume;let n=this.userProperties.getByRef(Be.VOLUME_REF);n&&(n.value=this.volume,this.saveProperty(n)),this.settingsChangeCallback(),this.restartCallback()}if(t.color){this.color=t.color;let n=this.userProperties.getByRef(Be.COLOR_REF);n&&(n.value=this.color,this.saveProperty(n)),this.settingsChangeCallback()}if(t.autoScroll!==void 0){Kn.default.log("autoScroll "+this.autoScroll),this.autoScroll=t.autoScroll;let n=this.userProperties.getByRef(Be.AUTO_SCROLL_REF);n&&(n.value=this.autoScroll,this.saveProperty(n)),this.settingsChangeCallback()}if(t.voice){Kn.default.log("voice "+this.voice),this.voice=t.voice;let n=this.userProperties.getByRef(Be.VOICE_REF);n&&(n.value=this.voice,this.saveProperty(n)),this.settingsChangeCallback(),this.restartCallback()}}applyPreferredVoice(t){var n=t.indexOf(":")!==-1?t.slice(0,t.indexOf(":")):void 0,r=t.indexOf(":")!==-1?t.slice(t.indexOf(":")+1):t;n!==void 0&&r!==void 0?this.applyTTSSettings({voice:{usePublication:!0,name:n,lang:r}}):r!==void 0&&n===void 0&&this.applyTTSSettings({voice:{usePublication:!0,lang:r}})}increase(t){if(t==="rate"){this.userProperties.getByRef(Be.RATE_REF).increment();let n=this.userProperties.getByRef(Be.RATE_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}else if(t==="pitch"){this.userProperties.getByRef(Be.PITCH_REF).increment();let n=this.userProperties.getByRef(Be.PITCH_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}else if(t==="volume"){this.userProperties.getByRef(Be.VOLUME_REF).increment();let n=this.userProperties.getByRef(Be.VOLUME_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}}decrease(t){if(t==="rate"){this.userProperties.getByRef(Be.RATE_REF).decrement();let n=this.userProperties.getByRef(Be.RATE_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}else if(t==="pitch"){this.userProperties.getByRef(Be.PITCH_REF).decrement();let n=this.userProperties.getByRef(Be.PITCH_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}else if(t==="volume"){this.userProperties.getByRef(Be.VOLUME_REF).decrement();let n=this.userProperties.getByRef(Be.VOLUME_REF);n&&this.storeProperty(n),this.settingsChangeCallback(),this.restartCallback()}}};A();A();var _3=`${Ur.loading}`,T3=`
|
|
76
76
|
<span>
|
|
77
77
|
${Ur.error}
|
|
78
78
|
</span>
|