| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- const nt={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:!1,ssl:!0,asServiceWorker:!1,transport:"websocket",noSharedWorker:location.search.indexOf("noSharedWorker=1")>0,multipleTransports:!0};(nt.http=location.search.indexOf("http=1")>0)&&(nt.multipleTransports=!1);nt.multipleTransports&&(nt.http=!0);nt.http&&(nt.transport="https");const we=nt.debug,As=typeof window<"u"?window:self,At=As,lt=typeof window<"u"?window:self,Jt=navigator?navigator.userAgent:null;navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i);navigator.userAgent.toLowerCase().indexOf("android");(()=>{try{return+navigator.userAgent.match(/Chrom(?:e|ium)\/(.+?)(?:\s|\.)/)[1]}catch{}})();const ct="safari"in lt||!!(Jt&&(/\b(iPad|iPhone|iPod)\b/.test(Jt)||Jt.match("Safari")&&!Jt.match("Chrome"))),Ye=navigator.userAgent.toLowerCase().indexOf("firefox")>-1;(navigator.maxTouchPoints===void 0||navigator.maxTouchPoints>0)&&navigator.userAgent.search(/iOS|iPhone OS|Android|BlackBerry|BB10|Series ?[64]0|J2ME|MIDP|opera mini|opera mobi|mobi.+Gecko|Windows Phone/i)!=-1;const Lt=typeof ServiceWorkerGlobalScope<"u"&&self instanceof ServiceWorkerGlobalScope,Xt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&!Lt,Ke=Xt||Lt,ve=()=>self.clients.matchAll({includeUncontrolled:!1,type:"window"}),Ge=(e,...t)=>{try{e.postMessage(...t)}catch(s){console.error("[worker] postMessage error:",s,t)}},Ze=(e,...t)=>{ve().then(s=>{s.length&&s.slice(e?0:-1).forEach(i=>{Ge(i,...t)})})},Xe=(...e)=>{Ge(self,...e)},Qe=()=>{};Lt&&Ze.bind(null,!1);Lt&&Ze.bind(null,!0);const Cs=Date.now();function De(){return"["+((Date.now()-Cs)/1e3).toFixed(3)+"]"}var vt=(e=>(e[e.None=0]="None",e[e.Error=1]="Error",e[e.Warn=2]="Warn",e[e.Log=4]="Log",e[e.Debug=8]="Debug",e))(vt||{});const Bs=[0,1,2,4,8],Ds=ct||Ye,Oe=!Ds,ne={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},Os=[["debug",8],["info",4],["warn",2],["error",1],["assert",1],["trace",4],["group",4],["groupCollapsed",4],["groupEnd",4]];function Q(e,t=7,s=!1,i=""){let r;!we&&!s&&(t=1),Oe?i||(Lt?i=ne.fg.yellow:Xt&&(i=ne.fg.cyan)):i="";const o=i;i?i=`%s ${i}%s`:i="%s";const l=function(...g){return t&4&&console.log(i,De(),e,...g)};Os.forEach(([g,f])=>{l[g]=function(...c){return t&f&&console[g](i,De(),e,...c)}}),l.setPrefix=function(g){r=g,e="["+g+"]"},l.setPrefix(e),l.setLevel=function(g){t=Bs.slice(0,g+1).reduce((f,c)=>f|c,0)};const _={};return l.bindPrefix=function(g,f=t){return _[g]??(_[g]=Q(`${r}] ${Oe&&o?ne.reset:""}[${g}`,f,s,o))},l}function Ct(e){return new Promise(t=>{setTimeout(t,e)})}const Rs=self,ts="cachedAssets";function oe(e){return e.ok&&e.status===200}function Re(e){return Promise.race([e,Ct(1e4).then(()=>Promise.reject())])}async function Ns(e){try{const t=await Re(Rs.caches.open(ts)),s=await Re(t.match(e.request,{ignoreVary:!0}));if(s&&oe(s))return s;const i={Vary:"*"};let r=await fetch(e.request,{headers:i});if(oe(r))t.put(e.request,r.clone());else if(r.status===304){const o=e.request.url.replace(/\?.+$/,"")+"?"+(Math.random()*1e5|0);r=await fetch(o,{headers:i}),oe(r)&&t.put(e.request,r.clone())}return r}catch{return fetch(e.request)}}function Ls(e,t){return new Promise(s=>{const i=new FileReader;i.addEventListener("loadend",r=>{s(r.target.result)}),i[t](e)})}function qs(e){return Ls(e,"readAsArrayBuffer")}function Kt(e){return qs(e).then(t=>new Uint8Array(t))}function es(...e){const t=e.reduce((r,o)=>r+(o.byteLength||o.length),0),s=new Uint8Array(t);let i=0;return e.forEach(r=>{s.set(r instanceof ArrayBuffer?new Uint8Array(r):r,i),i+=r.byteLength||r.length}),s}function ss(){}const zs={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:function(...e){this.lastNotify=e,this.listeners?.forEach(t=>t(...e))},addNotifyListener:function(e){this.lastNotify&&e(...this.lastNotify),(this.listeners??(this.listeners=[])).push(e)},resolve:function(e){this.isFulfilled||this.isRejected||(this.isFulfilled=!0,this._resolve(e),this.onFinish())},reject:function(...e){this.isRejected||this.isFulfilled||(this.isRejected=!0,this._reject(...e),this.onFinish())},onFinish:function(){this.notify=this.notifyAll=this.lastNotify=null,this.listeners&&(this.listeners.length=0),this.cancel&&(this.cancel=ss)}};function H(){let e,t;const s=new Promise((i,r)=>{e=i,t=r});return Object.assign(s,zs),s._resolve=e,s._reject=t,s}self.deferredPromise=H;function Ws(e){const t=e.length,s=new Uint8Array(Math.ceil(t/2));let i=0;t%2&&(s[i++]=parseInt(e.charAt(0),16));for(let r=i;r<t;r+=2)s[i++]=parseInt(e.substr(r,2),16);return s}function js(e,t){const s=e.length;if(s!==t.length)return!1;for(let i=0;i<s;++i)if(e[i]!==t[i])return!1;return!0}function Gt(e,t){let s=0,i=0;for(let r=0;r<4;r++){const o=e[t+r];if(s=(s<<7)+(o&127),i++,!(o&128))break}return[i,s]}function Js(e){if(e[0]!==5)throw new Error("Invalid DecoderSpecificInfo tag");const[t,s]=Gt(e,1),i=1+t;return e.subarray(i,i+s)}function $s(e){if(e[0]!==4)throw new Error("Invalid DecoderConfigDescriptor tag");const[t,s]=Gt(e,1);let i=1+t;return i+=13,Js(e.subarray(i))}function Hs(e){if(e[0]!==3)throw new Error("Invalid ES_Descriptor tag");const t=new DataView(e.buffer,e.byteOffset,e.byteLength),[s,i]=Gt(e,1);let r=1+s;r+=2;const o=t.getUint8(r);r+=1;const l=o&128,_=o&64;if(l&&(r+=2),_){const f=Gt(e,r);r+=1+f[0]+f[1]}return{decoderConfigDescriptor:$s(e.subarray(r))}}const Vs=[19,136],ae=Ws("0327000100041940150000000001f4000000bb750507138856e5a5"),Ys=new TextEncoder().encode("esds"),Ks=new TextEncoder().encode("mp4a");function Ne(e,t,s=e.length){for(let i=s-t.length;i>=0;i--){let r=!0;for(let o=0;o<t.length;o++)if(e[i+o]!==t[o]){r=!1;break}if(r)return i}return-1}function Gs(e){const t=new DataView(e.buffer,e.byteOffset,e.byteLength);let s=e.length,i=null;for(;;){const l=Ne(e,Ys,s);if(l===-1)break;s=l;const _=t.getUint32(l-4);if(_<0||l+_>e.length)continue;const g=Ne(e,Ks,l);g===-1||l-g>100||(i={offset:l+8,size:_-12})}if(!i)throw new Error("No ESDS found");const r=e.subarray(i.offset,i.offset+i.size),o=Hs(r);if(!o)throw new Error("Invalid ESDS");if(!js(o.decoderConfigDescriptor,Vs))throw new Error("Not a broken DSCI");if(i.size<ae.length)throw new Error(`ESDS Size not enough (expected at least ${ae.length}, got ${i.size})`);e.set(ae,i.offset)}function Zs(e){try{return Gs(e),!0}catch{return!1}}function Xs(e,t,s=!0,i=!0){let r,o,l,_,g=!1;const f=u=>{const d=l,S=_;try{const U=e.apply(null,u);d(U)}catch(U){console.error("debounce error",U),S(U)}},c=(...u)=>{o||(o=new Promise((S,U)=>(l=S,_=U))),r?(clearTimeout(r),g=!0,_(),o=new Promise((S,U)=>(l=S,_=U))):s&&(f(u),g=!1);const d=lt.setTimeout(()=>{i&&(!s||g)&&f(u),r===d&&(r=o=l=_=void 0,g=!1)},t);return r=d,o.catch(ss),o};return c.clearTimeout=()=>{r&&(lt.clearTimeout(r),_(),r=o=l=_=void 0,g=!1)},c.isDebounced=()=>!!r,c}function Qs(e){return e=parseInt((e||"1")+""),e<=4&&e>=1?e:1}const ti="account";function qt(e){const t=new URL(e).searchParams;return Qs(t.get(ti)||"")}function ei(e){return Array.isArray(e)?e:[e]}function si(e){return["image/jpeg","image/png","image/gif","image/svg+xml","image/webp","image/bmp","image/avif","image/jxl","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4","audio/wav","application/json","application/pdf"].indexOf(e)===-1?"application/octet-stream":e}function is(e,t=""){e=ei(e);const s=si(t);return new Blob(e,{type:s})}function Bt(e,t){const s=new Error;return{type:e,stack:s.stack}}class rs{constructor(){throw new Error("Cannot instantiate a static utility class")}}const Zt=class Zt extends rs{static async get(){return this.deferred&&await this.deferred,this.key}static async getAsBase64(){const t=await this.get();if(!t)return null;const s=await crypto.subtle.exportKey("raw",t);return btoa(String.fromCharCode(...new Uint8Array(s)))}static save(t){this.key=t,this.deferred?.resolve(),this.deferred=void 0}static resetDeferred(){this.key=null,this.deferred=H()}};Zt.key=null,Zt.deferred=H();let yt=Zt;const ii=Date.now()%Math.random()*1e8|0;function $t(e,t){const s=e.indexOf(t);return(s===-1?void 0:e.splice(s,1))?.[0]}class ri{constructor(t){this._constructor(t)}_constructor(t){this.reuseResults=t,this.listeners={},this.listenerResults={}}addEventListener(t,s,i){var o;const r={callback:s,options:i};if(((o=this.listeners)[t]??(o[t]=new Set)).add(r),this.listenerResults.hasOwnProperty(t)&&(s(...this.listenerResults[t]),i?.once)){this.listeners[t].delete(r);return}}addMultipleEventsListeners(t){for(const s in t)this.addEventListener(s,t[s])}removeEventListener(t,s,i){if(this.listeners[t]){for(const r of this.listeners[t])if(r.callback===s){this.listeners[t].delete(r);break}}}invokeListenerCallback(t,s,...i){let r,o;try{r=s.callback(...i)}catch(l){o=l}if(s.options?.once&&this.removeEventListener(t,s.callback),o)throw o;return r}_dispatchEvent(t,s,...i){this.reuseResults&&(this.listenerResults[t]=i);const r=s&&[],o=this.listeners[t];if(o)for(const l of o){const _=this.invokeListenerCallback(t,l,...i);r&&r.push(_)}return r}dispatchResultableEvent(t,...s){return this._dispatchEvent(t,!0,...s)}dispatchEvent(t,...s){this._dispatchEvent(t,!1,...s)}cleanup(){this.listeners={},this.listenerResults={}}}const ni=!0;class Dt extends ri{constructor(t){super(!1),this.logSuffix=t,this.onMessage=s=>{const i=s.data,r=s.source||s.currentTarget;this.processTaskMap[i.type](i,r,s)},this.processResultTask=s=>{const{taskId:i,result:r,error:o}=s.payload,l=this.awaiting[i];l&&(this.debug&&this.log.debug("done",l.taskType,r,o),"error"in s.payload?l.reject(o):l.resolve(r),delete this.awaiting[i])},this.processAckTask=s=>{const i=s.payload,r=this.awaiting[i.taskId];if(!r)return;const o=r.resolve,l={cached:i.cached,result:i.cached?"result"in i?Promise.resolve(i.result):Promise.reject(i.error):new Promise((_,g)=>{r.resolve=_,r.reject=g})};o(l),i.cached&&delete this.awaiting[i.taskId]},this.processPingTask=(s,i,r)=>{this.pushTask(this.createTask("pong",void 0),r.source)},this.processPongTask=(s,i,r)=>{const o=this.pingResolves.get(i);o&&(this.pingResolves.delete(i),o())},this.processCloseTask=(s,i,r)=>{this.detachPort(i)},this.processBatchTask=(s,i,r)=>{const o={data:r.data,source:r.source,currentTarget:r.currentTarget};s.payload.forEach(l=>{o.data=l,this.onMessage(o)})},this.processLockTask=(s,i,r)=>{const o=s.payload;this.requestedLocks.has(o)||(this.requestedLocks.set(o,i),navigator.locks.request(o,()=>{this.processCloseTask(void 0,i,void 0),this.requestedLocks.delete(o)}))},this.processInvokeTask=async(s,i,r)=>{const o=s.id,l=s.payload;let _,g,f;l.void||(_={taskId:o},g=this.createTask("result",_)),l.withAck&&(f=this.createTask("ack",{taskId:o,cached:!0}));let c;try{const u=this.listeners[l.type];if(!u?.size)throw new Error("no listener");const d=u.values().next().value;let S=this.invokeListenerCallback(l.type,d,l.payload,i,r);if(l.void)return;if(c=S instanceof Promise,f){const U=!c;if(f.payload.cached=U,U&&(f.payload.result=S),this.pushTask(f,i),U)return}c&&(S=await S),S instanceof Dt.TransferableResult&&(g.transfer=S.transferables,S=S.value),_.result=S}catch(u){if(this.log.error("worker task error:",u,s),l.void)return;if(f&&f.payload.cached){f.payload.error=u,this.pushTask(f,i);return}_.error=u}this.pushTask(g,i)},this.listenPorts=[],this.sendPorts=[],this.pingResolves=new Map,this.taskId=Math.random(),this.awaiting={},this.pending=new Map,this.log=Q("MP"+(t?"-"+t:"")),this.debug=we,this.heldLocks=new Map,this.requestedLocks=new Map,this.processTaskMap={result:this.processResultTask,ack:this.processAckTask,invoke:this.processInvokeTask,ping:this.processPingTask,pong:this.processPongTask,close:this.processCloseTask,lock:this.processLockTask,batch:this.processBatchTask}}setOnPortDisconnect(t){this.onPortDisconnect=t}attachPort(t){this.attachListenPort(t),this.attachSendPort(t)}attachListenPort(t){this.listenPorts.push(t),t.addEventListener("message",this.onMessage)}attachSendPort(t){if(this.log.warn("attaching send port"),t.start?.(),this.sendPorts.push(t),typeof window<"u"&&ni)if("locks"in navigator){const s=["lock",ii,this.logSuffix||"",Math.random()*2147483647|0].join("-");this.log.warn("created lock",s);const i=new Promise(r=>this.heldLocks.set(t,{resolve:r,id:s})).then(()=>this.heldLocks.delete(t));navigator.locks.request(s,()=>(this.resendLockTask(t),i))}else window.addEventListener("beforeunload",()=>{const s=this.createTask("close",void 0);this.postMessage(void 0,s)});this.releasePending()}resendLockTask(t){const s=this.heldLocks.get(t);s&&this.pushTask(this.createTask("lock",s.id),t)}detachPort(t){this.log.warn("disconnecting port"),$t(this.listenPorts,t),$t(this.sendPorts,t),t.removeEventListener?.("message",this.onMessage),t.close?.(),this.onPortDisconnect?.(t),this.heldLocks.get(t)?.resolve();const i=Bt("PORT_DISCONNECTED");for(const r in this.awaiting){const o=this.awaiting[r];o.port===t&&(o.reject(i),delete this.awaiting[r])}}postMessage(t,s){(Array.isArray(t)?t:t?[t]:this.sendPorts).forEach(r=>{r.postMessage(s,s.transfer)})}async releasePending(){this.releasingPending||(this.releasingPending=!0,await Promise.resolve(),this.debug&&this.log.debug("releasing tasks, length:",this.pending.size),this.pending.forEach((t,s)=>{let i=t;{let o;i=[],t.forEach(l=>{l.transfer?(o=void 0,i.push(l)):(o||(o=this.createTask("batch",[]),i.push(o)),o.payload.push(l))})}const r=s?[s]:this.sendPorts;r.length&&(i.forEach(o=>{try{this.postMessage(r,o)}catch(l){this.log.error("postMessage error:",l,o,r)}}),this.pending.delete(s))}),this.debug&&this.log.debug("released tasks"),this.releasingPending=!1)}createTask(t,s,i){return{type:t,payload:s,id:this.taskId++,transfer:i}}createInvokeTask(t,s,i,r,o){return this.createTask("invoke",{type:t,payload:s,withAck:i,void:r},o)}pushTask(t,s){let i=this.pending.get(s);i||this.pending.set(s,i=[]),i.push(t),this.releasePending()}invokeVoid(t,s,i,r){const o=this.createInvokeTask(t,s,void 0,!0,r);this.pushTask(o,i)}invoke(t,s,i,r,o){this.debug&&this.log.debug("start",t,s);let l;const _=new Promise((g,f)=>{l=this.createInvokeTask(t,s,i,void 0,o),this.awaiting[l.id]={resolve:g,reject:f,taskType:t,port:r},this.pushTask(l,r)});if(Ke){_.finally(()=>{clearInterval(g)});const g=lt.setInterval(()=>{this.log.error("task still has no result",l,r)},6e4)}return _}invokeExceptSource(t,s,i){const r=this.sendPorts.slice();$t(r,i),r.forEach(o=>{this.invokeVoid(t,s,o)})}async invokeExceptSourceAsync(t,s,i){const r=this.sendPorts.slice();$t(r,i),await Promise.all(r.map(o=>this.invoke(t,s,void 0,o)))}}(e=>{class t{constructor(i,r){this.value=i,this.transferables=r}}e.TransferableResult=t})(Dt||(Dt={}));var ns=Dt;class oi extends ns{constructor(){super("CRYPTO"),this.lastIndex=-1}invokeCryptoNew({method:t,args:s,transfer:i}){const r={method:t,args:s},o=this.listeners.invoke;if(o?.size){let _=o.values().next().value.callback(r);return!Ke&&!(_ instanceof Promise)&&(_=Promise.resolve(_)),_}const l=t==="aes-encrypt"||t==="aes-decrypt"?this.lastIndex=(this.lastIndex+1)%this.sendPorts.length:0;return this.invoke("invoke",r,void 0,this.sendPorts[l],i)}invokeCrypto(t,...s){return this.invokeCryptoNew({method:t,args:s})}sendToOnePort(t){this.invokeVoid("port",void 0,this.sendPorts[0],[t])}}const Ot=new oi;At&&(At.cryptoMessagePort=Ot);const Se=class Se extends rs{static resolveDeferred(t){this.value=t,this.deferred?.resolve(),this.deferred=void 0}static async isUsingPasscode(){if(this.deferred&&await this.deferred,typeof this.value!="boolean")throw new Error("Is using passcode is not boolean WTF?");return this.value}static resetDeferred(){this.value=void 0,this.deferred=H()}};Se.deferred=H();let Ut=Se;class ai{constructor(t,s,i){this.mimeType=t,this.size=s,this.saveFileCallback=i,this.bytes=new Uint8Array(s)}async write(t,s){const i=s+t.byteLength;if(i>this.bytes.byteLength){const r=new Uint8Array(i);r.set(this.bytes,0),this.bytes=r}this.bytes.set(t,s)}truncate(){this.bytes=new Uint8Array}trim(t){this.bytes=this.bytes.slice(0,t)}finalize(t=!0){const s=is(this.bytes,this.mimeType);return t&&this.saveFileCallback&&this.saveFileCallback(s),s}getParts(){return this.bytes}replaceParts(t){this.bytes=t}}const ce={cachedAssets:{encryptable:!1},cachedBackgrounds:{encryptable:!1},cachedFiles:{encryptable:!0},cachedStreamChunks:{encryptable:!0},cachedHlsQualityFiles:{encryptable:!0},cachedHlsStreamChunks:{encryptable:!0}},K=class K{constructor(t){this.dbName=t,this.useStorage=!0,nt.test&&(this.dbName+="_test"),K.STORAGES.length&&(this.useStorage=K.STORAGES[0].useStorage),this.config=Object.entries(ce).find(([s])=>s===t)?.[1],this.openDatabase(),K.STORAGES.push(this)}static async encrypt(t){const s=await yt.get(),i=await Kt(t),r=t.type,o=await Ot.invokeCryptoNew({method:"aes-local-encrypt",args:[{key:s,data:i}],transfer:[i.buffer]});return new Blob([o],{type:r})}static async decrypt(t){const s=await yt.get(),i=await Kt(t),r=t.type,o=await Ot.invokeCryptoNew({method:"aes-local-decrypt",args:[{key:s,encryptedData:i}],transfer:[i.buffer]});return new Blob([o],{type:r})}async waitToEnable(){K.disabledPromise&&await K.disabledPromise}openDatabase(){return this.openDbPromise??(this.openDbPromise=caches.open(this.dbName))}delete(t){return this.timeoutOperation(s=>s.delete("/"+t))}deleteAll(){return caches.delete(this.dbName)}async has(t){return!!await this.timeoutOperation(i=>i.match("/"+t))}async get(t){await this.waitToEnable();const s=await this.timeoutOperation(i=>i.match("/"+t));if(s)return this.config?.encryptable&&await Ut.isUsingPasscode()?new Response(await K.decrypt(await s.blob()),{headers:s.headers,status:s.status,statusText:s.statusText}):s}async save(t,s){await this.waitToEnable();let i=s;return this.config?.encryptable&&await Ut.isUsingPasscode()&&(i=new Response(await K.encrypt(await s.blob()),{headers:s.headers,status:s.status,statusText:s.statusText})),this.timeoutOperation(r=>r.put("/"+t,i))}getFile(t,s="blob"){return this.get(t).then(i=>{if(!i)throw Bt("NO_ENTRY_FOUND");return i[s]()})}saveFile(t,s){s instanceof Blob||(s=is(s));const i=new Response(s,{headers:{"Content-Length":""+s.size}});return this.save(t,i).then(()=>s)}timeoutOperation(t){return this.useStorage?new Promise(async(s,i)=>{let r=!1;const o=setTimeout(()=>{i(),r=!0},15e3);try{const l=await this.openDatabase();if(!l)throw this.useStorage=!1,this.openDbPromise=void 0,"no cache?";const _=await t(l);if(r)return;s(_)}catch(l){i(l)}clearTimeout(o)}):Promise.reject(Bt("STORAGE_OFFLINE"))}prepareWriting(t,s,i){return{deferred:H(),getWriter:()=>new ai(i,s,o=>this.saveFile(t,o).catch(()=>o))}}static toggleStorage(t,s){return this.STORAGES.forEach(i=>{i.useStorage=t}),Promise.resolve()}static async deleteAllStorages(){const t=Object.keys(ce);await Promise.all(t.map(async s=>{await new K(s).deleteAll()}))}static temporarilyToggle(t){t?(this.disabledPromise?.resolve(),this.disabledPromise=void 0):this.disabledPromise=H()}static async clearEncryptableStorages(){const t=Object.entries(ce).filter(([,{encryptable:s}])=>s).map(([s])=>s);await Promise.all(t.map(async s=>{await new K(s).timeoutOperation(async r=>{const o=await r.keys();await Promise.all(o.map(l=>r.delete(l)))})}))}};K.STORAGES=[];let ht=K;function ci(e){return new Promise(t=>{setTimeout(()=>{t(new Response("",{status:408,statusText:"Request timed out."}))},e)})}const os=self,Pt=new Map,he=new ht("cachedStreamChunks"),li=86400,as="Time-Cached",ui=20*1024*1024,hi=()=>he.timeoutOperation(e=>e.keys().then(t=>{const s=new Map,i=Date.now()/1e3|0;for(const o of t){const l=o.url.match(/\/(\d+?)\?/);l&&!s.has(l[1])&&s.set(l[1],o)}const r=[];for(const[o,l]of s){const _=e.match(l).then(g=>{if(+g.headers.get(as)+li<=i)return R("will delete stream chunk:",o),e.delete(l,{ignoreSearch:!0,ignoreVary:!0})});r.push(_)}return Promise.all(r)}));setInterval(hi,18e5);setInterval(()=>{const e=ge();for(const[t,s]of Pt)if(t!==e){for(const i in s)s[i].reject();Pt.delete(t)}},12e4);const Vt=new Map;os.streams=Vt;class mt{constructor(t){this.info=t,this.loadedOffsets=new Set,this.destroy=()=>{this.destroyDebounced.clearTimeout(),Vt.delete(this.id),J.invokeVoid("cancelFilePartRequests",{docId:mt.getDocId(this.info),accountNumber:this.info.accountNumber},ge())},this.toggleInUse=s=>{this.inUse+=s?1:-1,this.inUse||this.destroy()},this.id=mt.getId(t),Vt.set(this.id,this),this.inUse=0,this.limitPart=t.size>75*1024*1024?mi:_i,this.destroyDebounced=Xs(this.destroy,15e4,!1,!0)}async requestFilePartFromWorker(t,s,i=!1){const r={docId:mt.getDocId(this.info),dcId:this.info.dcId,offset:t,limit:s,accountNumber:this.info.accountNumber},o=JSON.stringify(r),l=ge();let _=Pt.get(l);_||Pt.set(l,_={});let g=_[o];if(g)return g.then(c=>c.bytes);this.loadedOffsets.add(t),g=_[o]=H(),J.invoke("requestFilePart",r,void 0,l).then(g.resolve.bind(g),g.reject.bind(g)).finally(()=>{_[o]===g&&(delete _[o],Object.keys(_).length||Pt.delete(l))});const f=g.then(c=>c.bytes);return this.saveChunkToCache(f,t,s),!i&&this.preloadChunks(t,ui),f}requestFilePartFromCache(t,s,i){const r=this.getChunkKey(t,s);return he.getFile(r).then(o=>i?new Uint8Array:Kt(o),o=>{o.type})}requestFilePart(t,s,i){return this.requestFilePartFromCache(t,s,i).then(o=>o||this.requestFilePartFromWorker(t,s,i))}saveChunkToCache(t,s,i){return t.then(r=>{const o=this.getChunkKey(s,i),l=new Response(r,{headers:{"Content-Length":""+r.length,"Content-Type":"application/octet-stream",[as]:""+(Date.now()/1e3|0)}});return he.save(o,l)})}preloadChunk(t){this.loadedOffsets.has(t)||(this.loadedOffsets.add(t),this.requestFilePart(t,this.limitPart,!0))}preloadChunks(t,s){if(s>this.info.size&&(s=this.info.size),!t)this.preloadChunk(Le(t,this.limitPart));else for(;t<s;t+=this.limitPart)this.preloadChunk(t)}requestRange(t){this.destroyDebounced();const s=di(t,this.info.mimeType,this.info.size);if(s)return s;let[i,r]=t;const o=r&&r<this.limitPart?yi(r-i+1):this.limitPart,l=Le(i,o);r||(r=Math.min(i+o,this.info.size-1));let _;return(i!==l||r!==l+o)&&(_=r-l-o+1),Promise.all([this.requestFilePart(l,o),_&&this.requestFilePart(l+o,o)]).then(f=>{let c=es(...f.filter(Boolean));if(i!==l||r!==l+o){const d=i-l,S=r-l+1;c=c.slice(d,S)}(this.shouldPatchMp4===!0||this.shouldPatchMp4===l)&&Zs(c)&&(this.shouldPatchMp4=l);const u={"Accept-Ranges":"bytes","Content-Range":`bytes ${i}-${i+c.byteLength-1}/${this.info.size||"*"}`,"Content-Length":`${c.byteLength}`,"Response-Time":""+Date.now()};return this.info.mimeType&&(u["Content-Type"]=this.info.mimeType),new Response(c,{status:206,statusText:"Partial Content",headers:u})})}getChunkKey(t,s){return this.id+"?offset="+t+"&limit="+s}patchChromiumMp4(){this.shouldPatchMp4=!0}static get(t){return Vt.get(this.getId(t))??new mt(t)}static getId(t){return`${t.accountNumber}-${this.getDocId(t)}`}static getDocId(t){return t.location.id}}function cs(e){return JSON.parse(decodeURIComponent(e))}function fi(e,t,s){async function i(){const r=ls(e.request.headers.get("Range")),o=cs(t),l=await os.clients.get(e.clientId);l?.type==="window"&&(o.accountNumber=qt(l.url));const _=mt.get(o);return s==="_crbug1250841"&&_.patchChromiumMp4(),_.requestRange(r)}e.respondWith(Promise.race([ci(45*1e3),i()]))}function pi({url:e,inUse:t,accountNumber:s}){[e]=e.split("?");const i="stream/",r=e.indexOf(i),o=cs(e.slice(r+i.length));o.accountNumber=s,mt.get(o).toggleInUse(t)}function di(e,t,s){return e[0]===0&&e[1]===1?new Response(new Uint8Array(2).buffer,{status:206,statusText:"Partial Content",headers:{"Accept-Ranges":"bytes","Content-Range":`bytes 0-1/${s||"*"}`,"Content-Length":"2","Content-Type":t||"video/mp4"}}):null}const _i=512*1024,mi=1024*1024,gi=512*4;function ls(e){if(!e)return[0,0];const[,t]=e.split("="),s=t.split(", "),[i,r]=s[0].split("-");return[+i,+r||0]}function Le(e,t=gi){return e-e%t}function yi(e){return 2**Math.ceil(Math.log(e)/Math.log(2))}const us=e=>({name:`tweb-account-${e}`,version:9,stores:[{name:"session",encryptedName:"session__encrypted"},{name:"stickerSets",encryptedName:"stickerSets__encrypted"},{name:"users",encryptedName:"users__encrypted"},{name:"chats",encryptedName:"chats__encrypted"},{name:"dialogs",encryptedName:"dialogs__encrypted"},{name:"messages",encryptedName:"messages__encrypted"},{name:"webapp",encryptedName:"webapp__encrypted"}]});At.getDatabaseState=us;const wi="assets/img/logo_filled_rounded.png",vi="assets/img/logo_plain.svg";function hs(e,t,s){const r=_=>Object.keys(_).filter(g=>_[g]!==void 0),o=typeof e;return e&&t&&o==="object"&&o===typeof t?r(e).length===r(t).length&&r(e).every(_=>hs(e[_],t[_])):e===t}function bi(e,t){if(t)for(const s in t)t[s]!==void 0&&(e[s]=t[s]);return e}const It=class It{constructor(t){bi(this,t),nt.test&&(this.name+="_test"),this.storageIsAvailable=!0,this.log=Q(["IDB",t.name].join("-")),this.log("constructor"),this.openDatabase(!0),It.INSTANCES.push(this)}isAvailable(){return this.storageIsAvailable}openDatabase(t=!1){if(this.openDbPromise&&!t)return this.openDbPromise;const s=(l,_)=>{const g=Array.from(l.indexNames);for(const f of g)l.deleteIndex(f);if(_.indexes?.length)for(const f of _.indexes)l.indexNames.contains(f.indexName)||l.createIndex(f.indexName,f.keyPath,f.objectParameters)},i=(l,_)=>{const g=l.createObjectStore(_.name);s(g,_)};try{var r=indexedDB.open(this.name,this.version);if(!r)return Promise.reject()}catch(l){return this.log.error("error opening db",l.message),this.storageIsAvailable=!1,Promise.reject(l)}let o=!1;return setTimeout(()=>{o||r.onerror(Bt("IDB_CREATE_TIMEOUT"))},3e3),this.openDbPromise=new Promise((l,_)=>{r.onsuccess=g=>{o=!0;const f=r.result;let c=!1;this.log("Opened"),f.onerror=u=>{this.storageIsAvailable=!1,this.log.error("Error creating/accessing IndexedDB database",u),_(u)},f.onclose=u=>{this.log.error("closed:",u),!c&&this.openDatabase()},f.onabort=u=>{this.log.error("abort:",u);const d=u.target;this.openDatabase(c=!0),d.onerror&&d.onerror(u),f.close()},f.onversionchange=u=>{this.log.error("onversionchange, lol?")},l(this.db=f)},r.onerror=g=>{o=!0,this.storageIsAvailable=!1,this.log.error("Error creating/accessing IndexedDB database",g),_(g)},r.onupgradeneeded=g=>{o=!0,this.log.warn("performing idb upgrade from",g.oldVersion,"to",g.newVersion);const f=g.target,c=f.result;this.stores.forEach(u=>{if(!c.objectStoreNames.contains(u.name))i(c,u);else{const S=f.transaction.objectStore(u.name);s(S,u)}u.encryptedName&&!c.objectStoreNames.contains(u.encryptedName)&&c.createObjectStore(u.encryptedName)})}}).then(l=>this.openDbPromise=l)}async closeDatabase(){this.db&&(this.db.onclose=()=>{},this.db.close())}static create(t){return this.INSTANCES.find(s=>s.name===t.name)??new It(t)}static closeDatabases(t){this.INSTANCES.forEach(s=>{t&&t===s||s.closeDatabase()})}static deleteDatabaseByName(t){return new Promise((s,i)=>{this.INSTANCES.forEach(o=>{if(o.name===t)return o.closeDatabase()});const r=indexedDB.deleteDatabase(t);r.onerror=()=>i(),r.onsuccess=()=>s()})}};It.INSTANCES=[];let fe=It;class Fi{constructor(t,s){this.storeName=s,this.log=Q(["IDB",t.name,s].join("-")),this.idb=fe.create(t)}close(){return this.idb.closeDatabase()}delete(t,s){const i=Array.isArray(t);return i||(t=[].concat(t)),this.getObjectStore("readwrite",r=>{const o=t.map(l=>r.delete(l));return i?o:o[0]},"",s)}clear(t){return this.getObjectStore("readwrite",s=>s.clear(),"",t)}save(t,s,i){const r=Array.isArray(t);return r||(t=[].concat(t),s=[].concat(s)),this.getObjectStore("readwrite",o=>{const l=t.map((_,g)=>o.put(s[g],_));return r?l:l[0]},"",i)}get(t,s){const i=Array.isArray(t);if(i){if(!t.length)return Promise.resolve([])}else{if(!t)return;t=[].concat(t)}return this.getObjectStore("readonly",r=>{const o=t.map(l=>r.get(l));return i?o:o[0]},"",s)}async getObjectStore(t,s,i,r=this.storeName){let o;i&&(o=performance.now(),this.log(i+": start"));const l=setTimeout(()=>{this.log.error("transaction not finished",d,i)},1e4),_=this.idb.openDatabase(),g=_ instanceof Promise?await _:_;let f,c;const u=new Promise((B,q)=>[f,c]=[B,q]),d=g.transaction([r],t,{durability:"relaxed"}),S=()=>{clearTimeout(l),c(d.error)},U=()=>{clearTimeout(l),i&&this.log(i+": end",performance.now()-o);const B=C.map(q=>q.result);f(T?B:B[0]),i&&this.log(i+": resolved",T?B:B[0])};d.onerror=S;const x=t==="readwrite";x&&(d.oncomplete=()=>U());const A=s(d.objectStore(r),U,S),T=Array.isArray(A),C=T?A:[].concat(A);if(x)return u;const W=C.length;let j=W;const M=()=>{d.error||--j||U()};for(let B=0;B<W;++B){const q=C[B];q.onerror=S,q.onsuccess=M}return u}getAll(t){return this.getObjectStore("readonly",s=>s.getAll(),"",t)}getAllKeys(t){return this.getObjectStore("readonly",s=>s.getAllKeys(),"",t)}getAllEntries(t){const s=[];return new Promise((i,r)=>{this.getObjectStore("readonly",(o,l,_)=>{const g=o.openCursor();return g.onsuccess=f=>{const c=f.target.result;c?(s.push([c.key,c.value]),c.continue()):(l(),i(s))},g.onerror=_,[]},"",t).catch(r)})}}const st=self,Si=location.protocol+"//"+location.hostname+location.pathname.split("/").slice(0,-1).join("/")+"/",Ui=11500;let fs=0,ps=!0;class Mi{constructor(t,s,i){this.defaults=i,this.cache={},this.storage=new Fi(t,s)}getDefault(t){const s=this.defaults[t];return typeof s=="function"?s():s}get(t){return this.cache.hasOwnProperty(t)?this.cache[t]:this.storage.get(t).then(i=>i,()=>{}).then(i=>this.cache.hasOwnProperty(t)?this.cache[t]:(i??(i=this.getDefault(t)),this.cache[t]=i))}getCached(t){const s=this.get(t);if(s instanceof Promise)throw"no property";return s}async set(t,s){const i=this.cache[t]??this.defaults[t];if(!hs(i,s)){this.cache[t]=s;try{this.storage.save(t,s)}catch{}}}}const ds={push_mute_until:0,push_lang:{push_message_nopreview:"You have a new message",push_action_mute1d:"Mute for 24H",push_action_settings:"Settings"},push_settings:{}},ut=new Mi(us(1),"session",ds);for(const e in ds)ut.get(e);st.addEventListener("push",e=>{const t=e.data.json();R("push",{...t});try{const[s,i,r]=[ut.getCached("push_mute_until"),ut.getCached("push_settings"),ut.getCached("push_lang")],o=Date.now();if(_s()&&s&&o<s)throw`supress notification because mute for ${Math.ceil((s-o)/6e4)} min`;if(Date.now()-fs<=Ui&&ps)throw"supress notification because some instance is alive";const _=Pi(t,i,r);e.waitUntil(_)}catch(s){R(s)}});st.addEventListener("notificationclick",e=>{const t=e.notification;R("on notification click",t),t.close();const s=e.action;if(s==="mute1d"&&_s()){R("[SW] mute for 1d"),ut.set("push_mute_until",Date.now()+864e5);return}const i=t.data;if(!i)return;const r=st.clients.matchAll({type:"window"}).then(o=>{i.action=s,Ft=i;for(let l=0;l<o.length;++l){const _=o[l];if("focus"in _){_.focus(),J.invokeVoid("pushClick",Ft,_),Ft=void 0;return}}if(st.clients.openWindow)return Promise.resolve(ut.get("push_settings")).then(l=>st.clients.openWindow(l.baseUrl||Si))}).catch(o=>{R.error("Clients.matchAll error",o)});e.waitUntil(r)});st.addEventListener("notificationclose",Ti);const pe=new Set;let Ft;function Ti(e){ki(e.notification)}function ki(e){pe.delete(e)}function xi(e){for(const s of pe)try{if(e&&s.tag!==e)continue;s.close(),pe.delete(s)}catch{}let t;return"getNotifications"in st.registration?t=st.registration.getNotifications({tag:e}).then(s=>{for(let i=0,r=s.length;i<r;++i)try{s[i].close()}catch{}}).catch(s=>{R.error("Offline register SW error",s)}):t=Promise.resolve(),t}function _s(){return Ye}function Pi(e,t,s){let i=e.title||"Telegram",r=e.description||"",o;e.custom&&(e.custom.channel_id?o=""+-e.custom.channel_id:e.custom.chat_id?o=""+-e.custom.chat_id:o=e.custom.from_id||""),e.custom.peerId=""+o;let l="peer"+o;const _=o+"_"+e.custom.msg_id;if(Rt.has(_)){const u="ignoring push";throw R.warn(u,e),Rt.delete(_),u}t?.nopreview&&(i="Telegram",r=s.push_message_nopreview,l="unknown_peer");const g=[{action:"mute1d",title:s.push_action_mute1d}],f={body:r,icon:wi,tag:l,data:e,actions:g,badge:vi,silent:e.custom.silent==="1"};return R("show notify",i,r,e,f),st.registration.showNotification(i,f).catch(u=>{R.error("Show notification promise",u)})}function Ei(e,t){fs=Date.now(),ps=e.localNotifications,Ft&&t&&(J.invokeVoid("pushClick",Ft,t),Ft=void 0),e.lang&&ut.set("push_lang",e.lang),e.settings&&ut.set("push_settings",e.settings)}const Rt=new Map;function Ii(e){Rt.set(e,Date.now())}setInterval(()=>{const e=Date.now();Rt.forEach((t,s)=>{e-t>3e4&&Rt.delete(s)})},30*6e4);class Ai extends ns{constructor(){super("SERVICE"),At&&(At.serviceMessagePort=this)}}function Ci(e,t,s){const i=(r,o)=>{e.attachListenPort(r),o&&e.attachSendPort(o)};e.setOnPortDisconnect(s),typeof SharedWorkerGlobalScope<"u"?lt.addEventListener("connect",r=>i(r.source,r.source)):typeof ServiceWorkerGlobalScope<"u"?i(lt,null):i(lt,lt)}const Z=new Map,le=Bt("UNKNOWN"),Bi=!1;self.downloadMap=Z;const Di={download:e=>{const{id:t}=e;if(Z.has(t))return Promise.reject(le);const s=Q("DOWNLOAD-"+t);s("prepare");const i=new CountQueuingStrategy({highWaterMark:1}),r=H();r.then(()=>{setTimeout(()=>{Z.delete(t)},5e3)},()=>{Z.delete(t)});let o;const l=new ReadableStream({start:g=>{o=g},cancel:g=>{s("cancel",t,g),r.reject(le)}},i),_={...e,readableStream:l,promise:r,controller:o,log:s};return Z.set(t,_),r.catch(()=>{throw le})},downloadChunk:({id:e,chunk:t})=>{const s=Z.get(e);return s?s.controller.enqueue(t):Promise.reject()},downloadFinalize:e=>{const t=Z.get(e);return t?(t.log("finalize"),t.promise.resolve(),t.controller.close()):Promise.reject()},downloadCancel:e=>{const t=Z.get(e);if(t)return t.log("cancel"),t.promise.reject(),t.controller.error()}};function Oi(e){return e.addMultipleEventsListeners(Di),{onDownloadFetch:Ri,onClosedWindows:Ni}}function Ri(e,t){ye("downloadRequestReceived",t);const s=Ct(100).then(()=>{const i=Z.get(t);if(!i||i.used&&!Bi){R.warn("no such download",t);return}i.log("fetch"),i.used=!0;const r=i.readableStream;return new Response(r,{headers:i.headers,status:200})});e.respondWith(s)}function Ni(){if(R("cancelling all downloads"),Z.size)for(const[e,t]of Z)t.controller.error()}const Et={};function Li(e){return{files:e.getAll("files"),title:e.get("title"),text:e.get("text"),url:e.get("url")}}async function qi(e,t){try{R("share data",e);const s=Li(e);(Et[t]??(Et[t]=[])).push(s)}catch(s){R.warn("something wrong with the data",s)}}function zi(e){const t=Et[e.id];t&&(delete Et[e.id],R("releasing share events to client:",e.id,"length:",t.length),t.forEach(s=>{J.invokeVoid("share",s,e)}))}function Wi(e,t){const s=e.request.formData().then(i=>(qi(i,e.resultingClientId),Response.redirect("..")));e.respondWith(s)}const qe=1,ji=2;function gt(e,t){if(e.type===t)return e;if(!e.boxes)return null;for(const s of e.boxes){const i=gt(s,t);if(i)return i}return null}function de(e){return new Uint8Array(e._raw.buffer,e._raw.byteOffset,e._raw.byteLength)}function Ji(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ms={exports:{}};(function(e){var t=function(s){var i=1e7,r=7,o=9007199254740992,l=U(o),_="0123456789abcdefghijklmnopqrstuvwxyz",g=typeof BigInt=="function";function f(n,a,h,p){return typeof n>"u"?f[0]:typeof a<"u"?+a==10&&!h?P(n):Ps(n,a,h,p):P(n)}function c(n,a){this.value=n,this.sign=a,this.isSmall=!1}c.prototype=Object.create(f.prototype);function u(n){this.value=n,this.sign=n<0,this.isSmall=!0}u.prototype=Object.create(f.prototype);function d(n){this.value=n}d.prototype=Object.create(f.prototype);function S(n){return-o<n&&n<o}function U(n){return n<1e7?[n]:n<1e14?[n%1e7,Math.floor(n/1e7)]:[n%1e7,Math.floor(n/1e7)%1e7,Math.floor(n/1e14)]}function x(n){A(n);var a=n.length;if(a<4&&pt(n,l)<0)switch(a){case 0:return 0;case 1:return n[0];case 2:return n[0]+n[1]*i;default:return n[0]+(n[1]+n[2]*i)*i}return n}function A(n){for(var a=n.length;n[--a]===0;);n.length=a+1}function T(n){for(var a=new Array(n),h=-1;++h<n;)a[h]=0;return a}function C(n){return n>0?Math.floor(n):Math.ceil(n)}function W(n,a){var h=n.length,p=a.length,y=new Array(h),m=0,w=i,v,F;for(F=0;F<p;F++)v=n[F]+a[F]+m,m=v>=w?1:0,y[F]=v-m*w;for(;F<h;)v=n[F]+m,m=v===w?1:0,y[F++]=v-m*w;return m>0&&y.push(m),y}function j(n,a){return n.length>=a.length?W(n,a):W(a,n)}function M(n,a){var h=n.length,p=new Array(h),y=i,m,w;for(w=0;w<h;w++)m=n[w]-y+a,a=Math.floor(m/y),p[w]=m-a*y,a+=1;for(;a>0;)p[w++]=a%y,a=Math.floor(a/y);return p}c.prototype.add=function(n){var a=P(n);if(this.sign!==a.sign)return this.subtract(a.negate());var h=this.value,p=a.value;return a.isSmall?new c(M(h,Math.abs(p)),this.sign):new c(j(h,p),this.sign)},c.prototype.plus=c.prototype.add,u.prototype.add=function(n){var a=P(n),h=this.value;if(h<0!==a.sign)return this.subtract(a.negate());var p=a.value;if(a.isSmall){if(S(h+p))return new u(h+p);p=U(Math.abs(p))}return new c(M(p,Math.abs(h)),h<0)},u.prototype.plus=u.prototype.add,d.prototype.add=function(n){return new d(this.value+P(n).value)},d.prototype.plus=d.prototype.add;function B(n,a){var h=n.length,p=a.length,y=new Array(h),m=0,w=i,v,F;for(v=0;v<p;v++)F=n[v]-m-a[v],F<0?(F+=w,m=1):m=0,y[v]=F;for(v=p;v<h;v++){if(F=n[v]-m,F<0)F+=w;else{y[v++]=F;break}y[v]=F}for(;v<h;v++)y[v]=n[v];return A(y),y}function q(n,a,h){var p;return pt(n,a)>=0?p=B(n,a):(p=B(a,n),h=!h),p=x(p),typeof p=="number"?(h&&(p=-p),new u(p)):new c(p,h)}function k(n,a,h){var p=n.length,y=new Array(p),m=-a,w=i,v,F;for(v=0;v<p;v++)F=n[v]+m,m=Math.floor(F/w),F%=w,y[v]=F<0?F+w:F;return y=x(y),typeof y=="number"?(h&&(y=-y),new u(y)):new c(y,h)}c.prototype.subtract=function(n){var a=P(n);if(this.sign!==a.sign)return this.add(a.negate());var h=this.value,p=a.value;return a.isSmall?k(h,Math.abs(p),this.sign):q(h,p,this.sign)},c.prototype.minus=c.prototype.subtract,u.prototype.subtract=function(n){var a=P(n),h=this.value;if(h<0!==a.sign)return this.add(a.negate());var p=a.value;return a.isSmall?new u(h-p):k(p,Math.abs(h),h>=0)},u.prototype.minus=u.prototype.subtract,d.prototype.subtract=function(n){return new d(this.value-P(n).value)},d.prototype.minus=d.prototype.subtract,c.prototype.negate=function(){return new c(this.value,!this.sign)},u.prototype.negate=function(){var n=this.sign,a=new u(-this.value);return a.sign=!n,a},d.prototype.negate=function(){return new d(-this.value)},c.prototype.abs=function(){return new c(this.value,!1)},u.prototype.abs=function(){return new u(Math.abs(this.value))},d.prototype.abs=function(){return new d(this.value>=0?this.value:-this.value)};function D(n,a){var h=n.length,p=a.length,y=h+p,m=T(y),w=i,v,F,E,O,I;for(E=0;E<h;++E){O=n[E];for(var L=0;L<p;++L)I=a[L],v=O*I+m[E+L],F=Math.floor(v/w),m[E+L]=v-F*w,m[E+L+1]+=F}return A(m),m}function z(n,a){var h=n.length,p=new Array(h),y=i,m=0,w,v;for(v=0;v<h;v++)w=n[v]*a+m,m=Math.floor(w/y),p[v]=w-m*y;for(;m>0;)p[v++]=m%y,m=Math.floor(m/y);return p}function G(n,a){for(var h=[];a-- >0;)h.push(0);return h.concat(n)}function Wt(n,a){var h=Math.max(n.length,a.length);if(h<=30)return D(n,a);h=Math.ceil(h/2);var p=n.slice(h),y=n.slice(0,h),m=a.slice(h),w=a.slice(0,h),v=Wt(y,w),F=Wt(p,m),E=Wt(j(y,p),j(w,m)),O=j(j(v,G(B(B(E,v),F),h)),G(F,2*h));return A(O),O}function Ss(n,a){return-.012*n-.012*a+15e-6*n*a>0}c.prototype.multiply=function(n){var a=P(n),h=this.value,p=a.value,y=this.sign!==a.sign,m;if(a.isSmall){if(p===0)return f[0];if(p===1)return this;if(p===-1)return this.negate();if(m=Math.abs(p),m<i)return new c(z(h,m),y);p=U(m)}return Ss(h.length,p.length)?new c(Wt(h,p),y):new c(D(h,p),y)},c.prototype.times=c.prototype.multiply;function Ue(n,a,h){return n<i?new c(z(a,n),h):new c(D(a,U(n)),h)}u.prototype._multiplyBySmall=function(n){return S(n.value*this.value)?new u(n.value*this.value):Ue(Math.abs(n.value),U(Math.abs(this.value)),this.sign!==n.sign)},c.prototype._multiplyBySmall=function(n){return n.value===0?f[0]:n.value===1?this:n.value===-1?this.negate():Ue(Math.abs(n.value),this.value,this.sign!==n.sign)},u.prototype.multiply=function(n){return P(n)._multiplyBySmall(this)},u.prototype.times=u.prototype.multiply,d.prototype.multiply=function(n){return new d(this.value*P(n).value)},d.prototype.times=d.prototype.multiply;function Me(n){var a=n.length,h=T(a+a),p=i,y,m,w,v,F;for(w=0;w<a;w++){v=n[w],m=0-v*v;for(var E=w;E<a;E++)F=n[E],y=2*(v*F)+h[w+E]+m,m=Math.floor(y/p),h[w+E]=y-m*p;h[w+a]=m}return A(h),h}c.prototype.square=function(){return new c(Me(this.value),!1)},u.prototype.square=function(){var n=this.value*this.value;return S(n)?new u(n):new c(Me(U(Math.abs(this.value))),!1)},d.prototype.square=function(n){return new d(this.value*this.value)};function Us(n,a){var h=n.length,p=a.length,y=i,m=T(a.length),w=a[p-1],v=Math.ceil(y/(2*w)),F=z(n,v),E=z(a,v),O,I,L,V,$,ie,re;for(F.length<=h&&F.push(0),E.push(0),w=E[p-1],I=h-p;I>=0;I--){for(O=y-1,F[I+p]!==w&&(O=Math.floor((F[I+p]*y+F[I+p-1])/w)),L=0,V=0,ie=E.length,$=0;$<ie;$++)L+=O*E[$],re=Math.floor(L/y),V+=F[I+$]-(L-re*y),L=re,V<0?(F[I+$]=V+y,V=-1):(F[I+$]=V,V=0);for(;V!==0;){for(O-=1,L=0,$=0;$<ie;$++)L+=F[I+$]-y+E[$],L<0?(F[I+$]=L+y,L=0):(F[I+$]=L,L=1);V+=L}m[I]=O}return F=Te(F,v)[0],[x(m),x(F)]}function Ms(n,a){for(var h=n.length,p=a.length,y=[],m=[],w=i,v,F,E,O,I;h;){if(m.unshift(n[--h]),A(m),pt(m,a)<0){y.push(0);continue}F=m.length,E=m[F-1]*w+m[F-2],O=a[p-1]*w+a[p-2],F>p&&(E=(E+1)*w),v=Math.ceil(E/O);do{if(I=z(a,v),pt(I,m)<=0)break;v--}while(v);y.push(v),m=B(m,I)}return y.reverse(),[x(y),x(m)]}function Te(n,a){var h=n.length,p=T(h),y=i,m,w,v,F;for(v=0,m=h-1;m>=0;--m)F=v*y+n[m],w=C(F/a),v=F-w*a,p[m]=w|0;return[p,v|0]}function ft(n,a){var h,p=P(a);if(g)return[new d(n.value/p.value),new d(n.value%p.value)];var y=n.value,m=p.value,w;if(m===0)throw new Error("Cannot divide by zero");if(n.isSmall)return p.isSmall?[new u(C(y/m)),new u(y%m)]:[f[0],n];if(p.isSmall){if(m===1)return[n,f[0]];if(m==-1)return[n.negate(),f[0]];var v=Math.abs(m);if(v<i){h=Te(y,v),w=x(h[0]);var F=h[1];return n.sign&&(F=-F),typeof w=="number"?(n.sign!==p.sign&&(w=-w),[new u(w),new u(F)]):[new c(w,n.sign!==p.sign),new u(F)]}m=U(v)}var E=pt(y,m);if(E===-1)return[f[0],n];if(E===0)return[f[n.sign===p.sign?1:-1],f[0]];y.length+m.length<=200?h=Us(y,m):h=Ms(y,m),w=h[0];var O=n.sign!==p.sign,I=h[1],L=n.sign;return typeof w=="number"?(O&&(w=-w),w=new u(w)):w=new c(w,O),typeof I=="number"?(L&&(I=-I),I=new u(I)):I=new c(I,L),[w,I]}c.prototype.divmod=function(n){var a=ft(this,n);return{quotient:a[0],remainder:a[1]}},d.prototype.divmod=u.prototype.divmod=c.prototype.divmod,c.prototype.divide=function(n){return ft(this,n)[0]},d.prototype.over=d.prototype.divide=function(n){return new d(this.value/P(n).value)},u.prototype.over=u.prototype.divide=c.prototype.over=c.prototype.divide,c.prototype.mod=function(n){return ft(this,n)[1]},d.prototype.mod=d.prototype.remainder=function(n){return new d(this.value%P(n).value)},u.prototype.remainder=u.prototype.mod=c.prototype.remainder=c.prototype.mod,c.prototype.pow=function(n){var a=P(n),h=this.value,p=a.value,y,m,w;if(p===0)return f[1];if(h===0)return f[0];if(h===1)return f[1];if(h===-1)return a.isEven()?f[1]:f[-1];if(a.sign)return f[0];if(!a.isSmall)throw new Error("The exponent "+a.toString()+" is too large.");if(this.isSmall&&S(y=Math.pow(h,p)))return new u(C(y));for(m=this,w=f[1];p&!0&&(w=w.times(m),--p),p!==0;)p/=2,m=m.square();return w},u.prototype.pow=c.prototype.pow,d.prototype.pow=function(n){var a=P(n),h=this.value,p=a.value,y=BigInt(0),m=BigInt(1),w=BigInt(2);if(p===y)return f[1];if(h===y)return f[0];if(h===m)return f[1];if(h===BigInt(-1))return a.isEven()?f[1]:f[-1];if(a.isNegative())return new d(y);for(var v=this,F=f[1];(p&m)===m&&(F=F.times(v),--p),p!==y;)p/=w,v=v.square();return F},c.prototype.modPow=function(n,a){if(n=P(n),a=P(a),a.isZero())throw new Error("Cannot take modPow with modulus 0");var h=f[1],p=this.mod(a);for(n.isNegative()&&(n=n.multiply(f[-1]),p=p.modInv(a));n.isPositive();){if(p.isZero())return f[0];n.isOdd()&&(h=h.multiply(p).mod(a)),n=n.divide(2),p=p.square().mod(a)}return h},d.prototype.modPow=u.prototype.modPow=c.prototype.modPow;function pt(n,a){if(n.length!==a.length)return n.length>a.length?1:-1;for(var h=n.length-1;h>=0;h--)if(n[h]!==a[h])return n[h]>a[h]?1:-1;return 0}c.prototype.compareAbs=function(n){var a=P(n),h=this.value,p=a.value;return a.isSmall?1:pt(h,p)},u.prototype.compareAbs=function(n){var a=P(n),h=Math.abs(this.value),p=a.value;return a.isSmall?(p=Math.abs(p),h===p?0:h>p?1:-1):-1},d.prototype.compareAbs=function(n){var a=this.value,h=P(n).value;return a=a>=0?a:-a,h=h>=0?h:-h,a===h?0:a>h?1:-1},c.prototype.compare=function(n){if(n===1/0)return-1;if(n===-1/0)return 1;var a=P(n),h=this.value,p=a.value;return this.sign!==a.sign?a.sign?1:-1:a.isSmall?this.sign?-1:1:pt(h,p)*(this.sign?-1:1)},c.prototype.compareTo=c.prototype.compare,u.prototype.compare=function(n){if(n===1/0)return-1;if(n===-1/0)return 1;var a=P(n),h=this.value,p=a.value;return a.isSmall?h==p?0:h>p?1:-1:h<0!==a.sign?h<0?-1:1:h<0?1:-1},u.prototype.compareTo=u.prototype.compare,d.prototype.compare=function(n){if(n===1/0)return-1;if(n===-1/0)return 1;var a=this.value,h=P(n).value;return a===h?0:a>h?1:-1},d.prototype.compareTo=d.prototype.compare,c.prototype.equals=function(n){return this.compare(n)===0},d.prototype.eq=d.prototype.equals=u.prototype.eq=u.prototype.equals=c.prototype.eq=c.prototype.equals,c.prototype.notEquals=function(n){return this.compare(n)!==0},d.prototype.neq=d.prototype.notEquals=u.prototype.neq=u.prototype.notEquals=c.prototype.neq=c.prototype.notEquals,c.prototype.greater=function(n){return this.compare(n)>0},d.prototype.gt=d.prototype.greater=u.prototype.gt=u.prototype.greater=c.prototype.gt=c.prototype.greater,c.prototype.lesser=function(n){return this.compare(n)<0},d.prototype.lt=d.prototype.lesser=u.prototype.lt=u.prototype.lesser=c.prototype.lt=c.prototype.lesser,c.prototype.greaterOrEquals=function(n){return this.compare(n)>=0},d.prototype.geq=d.prototype.greaterOrEquals=u.prototype.geq=u.prototype.greaterOrEquals=c.prototype.geq=c.prototype.greaterOrEquals,c.prototype.lesserOrEquals=function(n){return this.compare(n)<=0},d.prototype.leq=d.prototype.lesserOrEquals=u.prototype.leq=u.prototype.lesserOrEquals=c.prototype.leq=c.prototype.lesserOrEquals,c.prototype.isEven=function(){return(this.value[0]&1)===0},u.prototype.isEven=function(){return(this.value&1)===0},d.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},c.prototype.isOdd=function(){return(this.value[0]&1)===1},u.prototype.isOdd=function(){return(this.value&1)===1},d.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},c.prototype.isPositive=function(){return!this.sign},u.prototype.isPositive=function(){return this.value>0},d.prototype.isPositive=u.prototype.isPositive,c.prototype.isNegative=function(){return this.sign},u.prototype.isNegative=function(){return this.value<0},d.prototype.isNegative=u.prototype.isNegative,c.prototype.isUnit=function(){return!1},u.prototype.isUnit=function(){return Math.abs(this.value)===1},d.prototype.isUnit=function(){return this.abs().value===BigInt(1)},c.prototype.isZero=function(){return!1},u.prototype.isZero=function(){return this.value===0},d.prototype.isZero=function(){return this.value===BigInt(0)},c.prototype.isDivisibleBy=function(n){var a=P(n);return a.isZero()?!1:a.isUnit()?!0:a.compareAbs(2)===0?this.isEven():this.mod(a).isZero()},d.prototype.isDivisibleBy=u.prototype.isDivisibleBy=c.prototype.isDivisibleBy;function ke(n){var a=n.abs();if(a.isUnit())return!1;if(a.equals(2)||a.equals(3)||a.equals(5))return!0;if(a.isEven()||a.isDivisibleBy(3)||a.isDivisibleBy(5))return!1;if(a.lesser(49))return!0}function Qt(n,a){for(var h=n.prev(),p=h,y=0,m,w,v;p.isEven();)p=p.divide(2),y++;t:for(w=0;w<a.length;w++)if(!n.lesser(a[w])&&(v=t(a[w]).modPow(p,n),!(v.isUnit()||v.equals(h)))){for(m=y-1;m!=0;m--){if(v=v.square().mod(n),v.isUnit())return!1;if(v.equals(h))continue t}return!1}return!0}c.prototype.isPrime=function(n){var a=ke(this);if(a!==s)return a;var h=this.abs(),p=h.bitLength();if(p<=64)return Qt(h,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var y=Math.log(2)*p.toJSNumber(),m=Math.ceil(n===!0?2*Math.pow(y,2):y),w=[],v=0;v<m;v++)w.push(t(v+2));return Qt(h,w)},d.prototype.isPrime=u.prototype.isPrime=c.prototype.isPrime,c.prototype.isProbablePrime=function(n,a){var h=ke(this);if(h!==s)return h;for(var p=this.abs(),y=n===s?5:n,m=[],w=0;w<y;w++)m.push(t.randBetween(2,p.minus(2),a));return Qt(p,m)},d.prototype.isProbablePrime=u.prototype.isProbablePrime=c.prototype.isProbablePrime,c.prototype.modInv=function(n){for(var a=t.zero,h=t.one,p=P(n),y=this.abs(),m,w,v;!y.isZero();)m=p.divide(y),w=a,v=p,a=h,p=y,h=w.subtract(m.multiply(h)),y=v.subtract(m.multiply(y));if(!p.isUnit())throw new Error(this.toString()+" and "+n.toString()+" are not co-prime");return a.compare(0)===-1&&(a=a.add(n)),this.isNegative()?a.negate():a},d.prototype.modInv=u.prototype.modInv=c.prototype.modInv,c.prototype.next=function(){var n=this.value;return this.sign?k(n,1,this.sign):new c(M(n,1),this.sign)},u.prototype.next=function(){var n=this.value;return n+1<o?new u(n+1):new c(l,!1)},d.prototype.next=function(){return new d(this.value+BigInt(1))},c.prototype.prev=function(){var n=this.value;return this.sign?new c(M(n,1),!0):k(n,1,this.sign)},u.prototype.prev=function(){var n=this.value;return n-1>-o?new u(n-1):new c(l,!0)},d.prototype.prev=function(){return new d(this.value-BigInt(1))};for(var tt=[1];2*tt[tt.length-1]<=i;)tt.push(2*tt[tt.length-1]);var Mt=tt.length,dt=tt[Mt-1];function xe(n){return Math.abs(n)<=i}c.prototype.shiftLeft=function(n){var a=P(n).toJSNumber();if(!xe(a))throw new Error(String(a)+" is too large for shifting.");if(a<0)return this.shiftRight(-a);var h=this;if(h.isZero())return h;for(;a>=Mt;)h=h.multiply(dt),a-=Mt-1;return h.multiply(tt[a])},d.prototype.shiftLeft=u.prototype.shiftLeft=c.prototype.shiftLeft,c.prototype.shiftRight=function(n){var a,h=P(n).toJSNumber();if(!xe(h))throw new Error(String(h)+" is too large for shifting.");if(h<0)return this.shiftLeft(-h);for(var p=this;h>=Mt;){if(p.isZero()||p.isNegative()&&p.isUnit())return p;a=ft(p,dt),p=a[1].isNegative()?a[0].prev():a[0],h-=Mt-1}return a=ft(p,tt[h]),a[1].isNegative()?a[0].prev():a[0]},d.prototype.shiftRight=u.prototype.shiftRight=c.prototype.shiftRight;function te(n,a,h){a=P(a);for(var p=n.isNegative(),y=a.isNegative(),m=p?n.not():n,w=y?a.not():a,v=0,F=0,E=null,O=null,I=[];!m.isZero()||!w.isZero();)E=ft(m,dt),v=E[1].toJSNumber(),p&&(v=dt-1-v),O=ft(w,dt),F=O[1].toJSNumber(),y&&(F=dt-1-F),m=E[0],w=O[0],I.push(h(v,F));for(var L=h(p?1:0,y?1:0)!==0?t(-1):t(0),V=I.length-1;V>=0;V-=1)L=L.multiply(dt).add(t(I[V]));return L}c.prototype.not=function(){return this.negate().prev()},d.prototype.not=u.prototype.not=c.prototype.not,c.prototype.and=function(n){return te(this,n,function(a,h){return a&h})},d.prototype.and=u.prototype.and=c.prototype.and,c.prototype.or=function(n){return te(this,n,function(a,h){return a|h})},d.prototype.or=u.prototype.or=c.prototype.or,c.prototype.xor=function(n){return te(this,n,function(a,h){return a^h})},d.prototype.xor=u.prototype.xor=c.prototype.xor;var ee=1<<30,Ts=(i&-i)*(i&-i)|ee;function jt(n){var a=n.value,h=typeof a=="number"?a|ee:typeof a=="bigint"?a|BigInt(ee):a[0]+a[1]*i|Ts;return h&-h}function Pe(n,a){if(a.compareTo(n)<=0){var h=Pe(n,a.square(a)),p=h.p,y=h.e,m=p.multiply(a);return m.compareTo(n)<=0?{p:m,e:y*2+1}:{p,e:y*2}}return{p:t(1),e:0}}c.prototype.bitLength=function(){var n=this;return n.compareTo(t(0))<0&&(n=n.negate().subtract(t(1))),n.compareTo(t(0))===0?t(0):t(Pe(n,t(2)).e).add(t(1))},d.prototype.bitLength=u.prototype.bitLength=c.prototype.bitLength;function Ee(n,a){return n=P(n),a=P(a),n.greater(a)?n:a}function se(n,a){return n=P(n),a=P(a),n.lesser(a)?n:a}function Ie(n,a){if(n=P(n).abs(),a=P(a).abs(),n.equals(a))return n;if(n.isZero())return a;if(a.isZero())return n;for(var h=f[1],p,y;n.isEven()&&a.isEven();)p=se(jt(n),jt(a)),n=n.divide(p),a=a.divide(p),h=h.multiply(p);for(;n.isEven();)n=n.divide(jt(n));do{for(;a.isEven();)a=a.divide(jt(a));n.greater(a)&&(y=a,a=n,n=y),a=a.subtract(n)}while(!a.isZero());return h.isUnit()?n:n.multiply(h)}function ks(n,a){return n=P(n).abs(),a=P(a).abs(),n.divide(Ie(n,a)).multiply(a)}function xs(n,a,h){n=P(n),a=P(a);var p=h||Math.random,y=se(n,a),m=Ee(n,a),w=m.subtract(y).add(1);if(w.isSmall)return y.add(Math.floor(p()*w));for(var v=Tt(w,i).value,F=[],E=!0,O=0;O<v.length;O++){var I=E?v[O]+(O+1<v.length?v[O+1]/i:0):i,L=C(p()*I);F.push(L),L<v[O]&&(E=!1)}return y.add(f.fromArray(F,i,!1))}var Ps=function(n,a,h,p){h=h||_,n=String(n),p||(n=n.toLowerCase(),h=h.toLowerCase());var y=n.length,m,w=Math.abs(a),v={};for(m=0;m<h.length;m++)v[h[m]]=m;for(m=0;m<y;m++){var F=n[m];if(F!=="-"&&F in v&&v[F]>=w){if(F==="1"&&w===1)continue;throw new Error(F+" is not a valid digit in base "+a+".")}}a=P(a);var E=[],O=n[0]==="-";for(m=O?1:0;m<n.length;m++){var F=n[m];if(F in v)E.push(P(v[F]));else if(F==="<"){var I=m;do m++;while(n[m]!==">"&&m<n.length);E.push(P(n.slice(I+1,m)))}else throw new Error(F+" is not a valid character")}return Ae(E,a,O)};function Ae(n,a,h){var p=f[0],y=f[1],m;for(m=n.length-1;m>=0;m--)p=p.add(n[m].times(y)),y=y.times(a);return h?p.negate():p}function Es(n,a){return a=a||_,n<a.length?a[n]:"<"+n+">"}function Tt(n,a){if(a=t(a),a.isZero()){if(n.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(a.equals(-1)){if(n.isZero())return{value:[0],isNegative:!1};if(n.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-n.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var h=Array.apply(null,Array(n.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return h.unshift([1]),{value:[].concat.apply([],h),isNegative:!1}}var p=!1;if(n.isNegative()&&a.isPositive()&&(p=!0,n=n.abs()),a.isUnit())return n.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(n.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:p};for(var y=[],m=n,w;m.isNegative()||m.compareAbs(a)>=0;){w=m.divmod(a),m=w.quotient;var v=w.remainder;v.isNegative()&&(v=a.minus(v).abs(),m=m.next()),y.push(v.toJSNumber())}return y.push(m.toJSNumber()),{value:y.reverse(),isNegative:p}}function Ce(n,a,h){var p=Tt(n,a);return(p.isNegative?"-":"")+p.value.map(function(y){return Es(y,h)}).join("")}c.prototype.toArray=function(n){return Tt(this,n)},u.prototype.toArray=function(n){return Tt(this,n)},d.prototype.toArray=function(n){return Tt(this,n)},c.prototype.toString=function(n,a){if(n===s&&(n=10),n!==10||a)return Ce(this,n,a);for(var h=this.value,p=h.length,y=String(h[--p]),m="0000000",w;--p>=0;)w=String(h[p]),y+=m.slice(w.length)+w;var v=this.sign?"-":"";return v+y},u.prototype.toString=function(n,a){return n===s&&(n=10),n!=10||a?Ce(this,n,a):String(this.value)},d.prototype.toString=u.prototype.toString,d.prototype.toJSON=c.prototype.toJSON=u.prototype.toJSON=function(){return this.toString()},c.prototype.valueOf=function(){return parseInt(this.toString(),10)},c.prototype.toJSNumber=c.prototype.valueOf,u.prototype.valueOf=function(){return this.value},u.prototype.toJSNumber=u.prototype.valueOf,d.prototype.valueOf=d.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function Be(n){if(S(+n)){var a=+n;if(a===C(a))return g?new d(BigInt(a)):new u(a);throw new Error("Invalid integer: "+n)}var h=n[0]==="-";h&&(n=n.slice(1));var p=n.split(/e/i);if(p.length>2)throw new Error("Invalid integer: "+p.join("e"));if(p.length===2){var y=p[1];if(y[0]==="+"&&(y=y.slice(1)),y=+y,y!==C(y)||!S(y))throw new Error("Invalid integer: "+y+" is not a valid exponent.");var m=p[0],w=m.indexOf(".");if(w>=0&&(y-=m.length-w-1,m=m.slice(0,w)+m.slice(w+1)),y<0)throw new Error("Cannot include negative exponent part for integers");m+=new Array(y+1).join("0"),n=m}var v=/^([0-9][0-9]*)$/.test(n);if(!v)throw new Error("Invalid integer: "+n);if(g)return new d(BigInt(h?"-"+n:n));for(var F=[],E=n.length,O=r,I=E-O;E>0;)F.push(+n.slice(I,E)),I-=O,I<0&&(I=0),E-=O;return A(F),new c(F,h)}function Is(n){if(g)return new d(BigInt(n));if(S(n)){if(n!==C(n))throw new Error(n+" is not an integer.");return new u(n)}return Be(n.toString())}function P(n){return typeof n=="number"?Is(n):typeof n=="string"?Be(n):typeof n=="bigint"?new d(n):n}for(var _t=0;_t<1e3;_t++)f[_t]=P(_t),_t>0&&(f[-_t]=P(-_t));return f.one=f[1],f.zero=f[0],f.minusOne=f[-1],f.max=Ee,f.min=se,f.gcd=Ie,f.lcm=ks,f.isInstance=function(n){return n instanceof c||n instanceof u||n instanceof d},f.randBetween=xs,f.fromArray=function(n,a,h){return Ae(n.map(P),P(a||10),h)},f}();e.hasOwnProperty("exports")&&(e.exports=t)})(ms);var $i=ms.exports,et=Ji($i),N={};N.parseBuffer=function(e){return new X(e).parse()};N.addBoxProcessor=function(e,t){typeof e!="string"||typeof t!="function"||(b.prototype._boxProcessors[e]=t)};N.createFile=function(){return new X};N.createBox=function(e,t,s){var i=b.create(e);return t&&t.append(i,s),i};N.createFullBox=function(e,t,s){var i=N.createBox(e,t,s);return i.version=0,i.flags=0,i};N.Utils={};N.Utils.dataViewToString=function(e,t){var s=t||"utf-8";if(typeof TextDecoder<"u")return new TextDecoder(s).decode(e);var i=[],r=0;if(s==="utf-8")for(;r<e.byteLength;){var o=e.getUint8(r++);o<128||(o<224?(o=(o&31)<<6,o|=e.getUint8(r++)&63):o<240?(o=(o&15)<<12,o|=(e.getUint8(r++)&63)<<6,o|=e.getUint8(r++)&63):(o=(o&7)<<18,o|=(e.getUint8(r++)&63)<<12,o|=(e.getUint8(r++)&63)<<6,o|=e.getUint8(r++)&63)),i.push(String.fromCharCode(o))}else for(;r<e.byteLength;)i.push(String.fromCharCode(e.getUint8(r++)));return i.join("")};N.Utils.utf8ToByteArray=function(e){var t,s;if(typeof TextEncoder<"u")t=new TextEncoder().encode(e);else for(t=[],s=0;s<e.length;++s){var i=e.charCodeAt(s);i<128?t.push(i):i<2048?(t.push(192|i>>6),t.push(128|63&i)):i<65536?(t.push(224|i>>12),t.push(128|63&i>>6),t.push(128|63&i)):(t.push(240|i>>18),t.push(128|63&i>>12),t.push(128|63&i>>6),t.push(128|63&i))}return t};N.Utils.appendBox=function(e,t,s){if(t._offset=e._cursor.offset,t._root=e._root?e._root:e,t._raw=e._raw,t._parent=e,s!==-1){if(s==null){e.boxes.push(t);return}var i=-1,r;if(typeof s=="number")i=s;else{if(typeof s=="string")r=s;else if(typeof s=="object"&&s.type)r=s.type;else{e.boxes.push(t);return}for(var o=0;o<e.boxes.length;o++)if(r===e.boxes[o].type){i=o+1;break}}e.boxes.splice(i,0,t)}};N.Cursor=function(e){this.offset=typeof e>"u"?0:e};var X=function(e){this._cursor=new N.Cursor,this.boxes=[],e&&(this._raw=new DataView(e))};X.prototype.fetch=function(e){var t=this.fetchAll(e,!0);return t.length?t[0]:null};X.prototype.fetchAll=function(e,t){var s=[];return X._sweep.call(this,e,s,t),s};X.prototype.parse=function(){for(this._cursor.offset=0,this.boxes=[];this._cursor.offset<this._raw.byteLength;){var e=b.parse(this);if(typeof e.type>"u")break;this.boxes.push(e)}return this};X._sweep=function(e,t,s){this.type&&this.type==e&&t.push(this);for(var i in this.boxes){if(t.length&&s)return;X._sweep.call(this.boxes[i],e,t,s)}};X.prototype.write=function(){var e=0,t;for(t=0;t<this.boxes.length;t++)e+=this.boxes[t].getLength(!1);var s=new Uint8Array(e);for(this._rawo=new DataView(s.buffer),this.bytes=s,this._cursor.offset=0,t=0;t<this.boxes.length;t++)this.boxes[t].write();return s.buffer};X.prototype.append=function(e,t){N.Utils.appendBox(this,e,t)};var b=function(){this._cursor=new N.Cursor};b.parse=function(e){var t=new b;return t._offset=e._cursor.offset,t._root=e._root?e._root:e,t._raw=e._raw,t._parent=e,t._parseBox(),e._cursor.offset=t._raw.byteOffset+t._raw.byteLength,t};b.create=function(e){var t=new b;return t.type=e,t.boxes=[],t};b.prototype._boxContainers=["dinf","edts","mdia","meco","mfra","minf","moof","moov","mvex","stbl","strk","traf","trak","tref","udta","vttc","sinf","schi","encv","enca","ilst"];b.prototype._boxProcessors={};b.prototype._procField=function(e,t,s){this._parsing?this[e]=this._readField(t,s):this._writeField(t,s,this[e])};b.prototype._procFieldArray=function(e,t,s,i){var r;if(this._parsing)for(this[e]=[],r=0;r<t;r++)this[e][r]=this._readField(s,i);else for(r=0;r<this[e].length;r++)this._writeField(s,i,this[e][r])};b.prototype._procFullBox=function(){this._procField("version","uint",8),this._procField("flags","uint",24)};b.prototype._procEntries=function(e,t,s){var i;if(this._parsing)for(this[e]=[],i=0;i<t;i++)this[e].push({}),s.call(this,this[e][i]);else for(i=0;i<t;i++)s.call(this,this[e][i])};b.prototype._procSubEntries=function(e,t,s,i){var r;if(this._parsing)for(e[t]=[],r=0;r<s;r++)e[t].push({}),i.call(this,e[t][r]);else for(r=0;r<s;r++)i.call(this,e[t][r])};b.prototype._procEntryField=function(e,t,s,i){this._parsing?e[t]=this._readField(s,i):this._writeField(s,i,e[t])};b.prototype._procSubBoxes=function(e,t=-1){const s=t===-1;var i;if(this._parsing){s&&(t=1/0);const r=this._offset+this.size;for(this[e]=[],i=0;i<t&&(this[e].push(b.parse(this)),!(s&&this._cursor.offset>=r));i++);}else for(s&&(t=this[e].length),i=0;i<t;i++)this._rawo?this[e][i].write():this.size+=this[e][i].getLength()};b.prototype._readField=function(e,t){switch(e){case"uint":return this._readUint(t);case"int":return this._readInt(t);case"template":return this._readTemplate(t);case"string":return t===-1?this._readTerminatedString():this._readString(t);case"data":return this._readData(t);case"utf8":return this._readUTF8String();default:return-1}};b.prototype._readInt=function(e){var t=null,s=this._cursor.offset-this._raw.byteOffset;switch(e){case 8:t=this._raw.getInt8(s);break;case 16:t=this._raw.getInt16(s);break;case 32:t=this._raw.getInt32(s);break;case 64:{const i=this._raw.getInt32(s),r=this._raw.getInt32(s+4);t=et(i).shiftLeft(32).add(r);break}}return this._cursor.offset+=e>>3,t};b.prototype._readUint=function(e){var t=null,s=this._cursor.offset-this._raw.byteOffset,i,r;switch(e){case 8:t=this._raw.getUint8(s);break;case 16:t=this._raw.getUint16(s);break;case 24:i=this._raw.getUint16(s),r=this._raw.getUint8(s+2),t=(i<<8)+r;break;case 32:t=this._raw.getUint32(s);break;case 64:{const o=this._raw.getUint32(s),l=this._raw.getUint32(s+4);t=et(o).shiftLeft(32).add(l);break}}return this._cursor.offset+=e>>3,t};b.prototype._readString=function(e){for(var t="",s=0;s<e;s++){var i=this._readUint(8);t+=String.fromCharCode(i)}return t};b.prototype._readTemplate=function(e){var t=this._readUint(e/2),s=this._readUint(e/2);return t+s/Math.pow(2,e/2)};b.prototype._readTerminatedString=function(){for(var e="";this._cursor.offset-this._offset<this._raw.byteLength;){var t=this._readUint(8);if(t===0)break;e+=String.fromCharCode(t)}return e};b.prototype._readData=function(e){var t=e>0?e:this._raw.byteLength-(this._cursor.offset-this._offset);if(t>0){var s=new Uint8Array(this._raw.buffer,this._cursor.offset,t);return this._cursor.offset+=t,s}else return null};b.prototype._readUTF8String=function(){var e=this._raw.byteLength-(this._cursor.offset-this._offset),t=null;return e>0&&(t=new DataView(this._raw.buffer,this._cursor.offset,e),this._cursor.offset+=e),t&&N.Utils.dataViewToString(t)};b.prototype._parseBox=function(){if(this._parsing=!0,this._cursor.offset=this._offset,this._offset+8>this._raw.buffer.byteLength){this._root._incomplete=!0;return}switch(this._procField("size","uint",32),this._procField("type","string",4),this.size===1&&this._procField("largesize","uint",64),this.type==="uuid"&&this._procFieldArray("usertype",16,"uint",8),this.size){case 0:this._raw=new DataView(this._raw.buffer,this._offset);break;case 1:this._offset+this.size>this._raw.buffer.byteLength?(this._incomplete=!0,this._root._incomplete=!0):this._raw=new DataView(this._raw.buffer,this._offset,this.largesize);break;default:this._offset+this.size>this._raw.buffer.byteLength?(this._incomplete=!0,this._root._incomplete=!0):this._raw=new DataView(this._raw.buffer,this._offset,this.size)}this._incomplete||(this._boxProcessors[this.type]&&this._boxProcessors[this.type].call(this),this._boxContainers.indexOf(this.type)!==-1?this._parseContainerBox():this._data=this._readData())};b.prototype._parseFullBox=function(){this.version=this._readUint(8),this.flags=this._readUint(24)};b.prototype._parseContainerBox=function(){for(this.boxes=[];this._cursor.offset-this._raw.byteOffset<this._raw.byteLength;)this.boxes.push(b.parse(this))};b.prototype.append=function(e,t){N.Utils.appendBox(this,e,t)};b.prototype.getLength=function(){if(this._parsing=!1,this._rawo=null,this.size=0,this._procField("size","uint",32),this._procField("type","string",4),this.size===1&&this._procField("largesize","uint",64),this.type==="uuid"&&this._procFieldArray("usertype",16,"uint",8),this._boxProcessors[this.type]&&this._boxProcessors[this.type].call(this),this._boxContainers.indexOf(this.type)!==-1)for(var e=0;e<this.boxes.length;e++)this.size+=this.boxes[e].getLength();return this._data&&this._writeData(this._data),this.size};b.prototype.write=function(){if(this._parsing=!1,!this._parent)throw new Error(`no root at ${this.type}`);switch(this._cursor.offset=this._parent._cursor.offset,this.size){case 0:this._rawo=new DataView(this._parent._rawo.buffer,this._cursor.offset,this.parent._rawo.byteLength-this._cursor.offset);break;case 1:this._rawo=new DataView(this._parent._rawo.buffer,this._cursor.offset,this.largesize);break;default:this._parent._rawo||console.log(this.type),this._rawo=new DataView(this._parent._rawo.buffer,this._cursor.offset,this.size)}if(this._procField("size","uint",32),this._procField("type","string",4),this.size===1&&this._procField("largesize","uint",64),this.type==="uuid"&&this._procFieldArray("usertype",16,"uint",8),this._boxProcessors[this.type]&&this._boxProcessors[this.type].call(this),this._boxContainers.indexOf(this.type)!==-1)for(var e=0;e<this.boxes.length;e++)this.boxes[e].write();return this._data&&this._writeData(this._data),this._parent._cursor.offset+=this.size,this.size};b.prototype._writeInt=function(e,t){if(this._rawo){var s=this._cursor.offset-this._rawo.byteOffset;switch(e){case 8:this._rawo.setInt8(s,t);break;case 16:this._rawo.setInt16(s,t);break;case 32:this._rawo.setInt32(s,t);break;case 64:this._rawo.setUint32(s,t.shiftRight(32).and(4294967295).toJSNumber()),this._rawo.setUint32(s+4,t.and(4294967295).toJSNumber());break}this._cursor.offset+=e>>3}else this.size+=e>>3};b.prototype._writeUint=function(e,t){if(this._rawo){var s=this._cursor.offset-this._rawo.byteOffset,i,r;switch(e){case 8:this._rawo.setUint8(s,t);break;case 16:this._rawo.setUint16(s,t);break;case 24:i=(t&16776960)>>8,r=t&255,this._rawo.setUint16(s,i),this._rawo.setUint8(s+2,r);break;case 32:this._rawo.setUint32(s,t);break;case 64:{this._rawo.setUint32(s,t.shiftRight(32).and(4294967295).toJSNumber()),this._rawo.setUint32(s+4,t.and(4294967295).toJSNumber());break}}this._cursor.offset+=e>>3}else this.size+=e>>3};b.prototype._writeString=function(e,t){for(var s=0;s<e;s++)this._writeUint(8,t.charCodeAt(s))};b.prototype._writeTerminatedString=function(e){if(e.length!==0){for(var t=0;t<e.length;t++)this._writeUint(8,e.charCodeAt(t));this._writeUint(8,0)}};b.prototype._writeTemplate=function(e,t){var s=Math.floor(t),i=(t-s)*Math.pow(2,e/2);this._writeUint(e/2,s),this._writeUint(e/2,i)};b.prototype._writeData=function(e){var t;if(e)if(this._rawo){if(e instanceof Array){for(var s=this._cursor.offset-this._rawo.byteOffset,t=0;t<e.length;t++)this._rawo.setInt8(s+t,e[t]);this._cursor.offset+=e.length}e instanceof Uint8Array&&(this._root.bytes.set(e,this._cursor.offset),this._cursor.offset+=e.length)}else this.size+=e.length};b.prototype._writeUTF8String=function(e){var t=N.Utils.utf8ToByteArray(e);if(this._rawo)for(var s=new DataView(this._rawo.buffer,this._cursor.offset,t.length),i=0;i<t.length;i++)s.setUint8(i,t[i]);else this.size+=t.length};b.prototype._writeField=function(e,t,s){switch(e){case"uint":this._writeUint(t,s);break;case"int":this._writeInt(t,s);break;case"template":this._writeTemplate(t,s);break;case"string":t==-1?this._writeTerminatedString(s):this._writeString(t,s);break;case"data":this._writeData(s);break;case"utf8":this._writeUTF8String(s);break}};b.prototype._boxProcessors.avc1=b.prototype._boxProcessors.avc2=b.prototype._boxProcessors.avc3=b.prototype._boxProcessors.avc4=b.prototype._boxProcessors.hvc1=b.prototype._boxProcessors.hev1=b.prototype._boxProcessors.encv=function(){this._procFieldArray("reserved1",6,"uint",8),this._procField("data_reference_index","uint",16),this._procField("pre_defined1","uint",16),this._procField("reserved2","uint",16),this._procFieldArray("pre_defined2",3,"uint",32),this._procField("width","uint",16),this._procField("height","uint",16),this._procField("horizresolution","template",32),this._procField("vertresolution","template",32),this._procField("reserved3","uint",32),this._procField("frame_count","uint",16),this._procFieldArray("compressorname",32,"uint",8),this._procField("depth","uint",16),this._procField("pre_defined3","int",16),this._procField("config","data",-1)};b.prototype._boxProcessors.ctts=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(e){this._procEntryField(e,"sample_count","uint",32),this._procEntryField(e,"sample_offset",this.version===1?"int":"uint",32)})};b.prototype._boxProcessors.dref=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procSubBoxes("entries",this.entry_count)};b.prototype._boxProcessors.elst=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(e){this._procEntryField(e,"segment_duration","uint",this.version===1?64:32),this._procEntryField(e,"media_time","int",this.version===1?64:32),this._procEntryField(e,"media_rate_integer","int",16),this._procEntryField(e,"media_rate_fraction","int",16)})};b.prototype._boxProcessors.emsg=function(){this._procFullBox(),this.version==1?(this._procField("timescale","uint",32),this._procField("presentation_time","uint",64),this._procField("event_duration","uint",32),this._procField("id","uint",32),this._procField("scheme_id_uri","string",-1),this._procField("value","string",-1)):(this._procField("scheme_id_uri","string",-1),this._procField("value","string",-1),this._procField("timescale","uint",32),this._procField("presentation_time_delta","uint",32),this._procField("event_duration","uint",32),this._procField("id","uint",32)),this._procField("message_data","data",-1)};b.prototype._boxProcessors.free=b.prototype._boxProcessors.skip=function(){this._procField("data","data",-1)};b.prototype._boxProcessors.frma=function(){this._procField("data_format","uint",32)};b.prototype._boxProcessors.ftyp=b.prototype._boxProcessors.styp=function(){this._procField("major_brand","string",4),this._procField("minor_version","uint",32);var e=-1;this._parsing&&(e=(this._raw.byteLength-(this._cursor.offset-this._raw.byteOffset))/4),this._procFieldArray("compatible_brands",e,"string",4)};b.prototype._boxProcessors.hdlr=function(){this._procFullBox(),this._procField("pre_defined","uint",32),this._procField("handler_type","string",4),this._procFieldArray("reserved",3,"uint",32),this._procField("name","string",-1)};b.prototype._boxProcessors.mdat=function(){this._procField("data","data",-1)};b.prototype._boxProcessors.mdhd=function(){this._procFullBox(),this._procField("creation_time","uint",this.version==1?64:32),this._procField("modification_time","uint",this.version==1?64:32),this._procField("timescale","uint",32),this._procField("duration","uint",this.version==1?64:32),!this._parsing&&typeof this.language=="string"&&(this.language=this.language.charCodeAt(0)-96<<10|this.language.charCodeAt(1)-96<<5|this.language.charCodeAt(2)-96),this._procField("language","uint",16),this._parsing&&(this.language=String.fromCharCode((this.language>>10&31)+96,(this.language>>5&31)+96,(this.language&31)+96)),this._procField("pre_defined","uint",16)};b.prototype._boxProcessors.mehd=function(){this._procFullBox(),this._procField("fragment_duration","uint",this.version==1?64:32)};b.prototype._boxProcessors.mfhd=function(){this._procFullBox(),this._procField("sequence_number","uint",32)};b.prototype._boxProcessors.mfro=function(){this._procFullBox(),this._procField("mfra_size","uint",32)};b.prototype._boxProcessors.mp4a=b.prototype._boxProcessors.enca=function(){this._procFieldArray("reserved1",6,"uint",8),this._procField("data_reference_index","uint",16),this._procFieldArray("reserved2",2,"uint",32),this._procField("channelcount","uint",16),this._procField("samplesize","uint",16),this._procField("pre_defined","uint",16),this._procField("reserved3","uint",16),this._procField("samplerate","template",32),this._procSubBoxes("esds",1)};b.prototype._boxProcessors.mvhd=function(){this._procFullBox(),this._procField("creation_time","uint",this.version==1?64:32),this._procField("modification_time","uint",this.version==1?64:32),this._procField("timescale","uint",32),this._procField("duration","uint",this.version==1?64:32),this._procField("rate","template",32),this._procField("volume","template",16),this._procField("reserved1","uint",16),this._procFieldArray("reserved2",2,"uint",32),this._procFieldArray("matrix",9,"template",32),this._procFieldArray("pre_defined",6,"uint",32),this._procField("next_track_ID","uint",32)};b.prototype._boxProcessors.payl=function(){this._procField("cue_text","utf8")};b.prototype._boxProcessors.prft=function(){this._procFullBox(),this._procField("reference_track_ID","uint",32),this._procField("ntp_timestamp_sec","uint",32),this._procField("ntp_timestamp_frac","uint",32),this._procField("media_time","uint",this.version==1?64:32)};b.prototype._boxProcessors.pssh=function(){this._procFullBox(),this._procFieldArray("SystemID",16,"uint",8),this._procField("DataSize","uint",32),this._procFieldArray("Data",this.DataSize,"uint",8)};b.prototype._boxProcessors.schm=function(){this._procFullBox(),this._procField("scheme_type","uint",32),this._procField("scheme_version","uint",32),this.flags&1&&this._procField("scheme_uri","string",-1)};b.prototype._boxProcessors.sdtp=function(){this._procFullBox();var e=-1;this._parsing&&(e=this._raw.byteLength-(this._cursor.offset-this._raw.byteOffset)),this._procFieldArray("sample_dependency_table",e,"uint",8)};b.prototype._boxProcessors.sidx=function(){this._procFullBox(),this._procField("reference_ID","uint",32),this._procField("timescale","uint",32),this._procField("earliest_presentation_time","uint",this.version==1?64:32),this._procField("first_offset","uint",this.version==1?64:32),this._procField("reserved","uint",16),this._procField("reference_count","uint",16),this._procEntries("references",this.reference_count,function(e){this._parsing||(e.reference=(e.reference_type&1)<<31,e.reference|=e.referenced_size&2147483647,e.sap=(e.starts_with_SAP&1)<<31,e.sap|=(e.SAP_type&3)<<28,e.sap|=e.SAP_delta_time&268435455),this._procEntryField(e,"reference","uint",32),this._procEntryField(e,"subsegment_duration","uint",32),this._procEntryField(e,"sap","uint",32),this._parsing&&(e.reference_type=e.reference>>31&1,e.referenced_size=e.reference&2147483647,e.starts_with_SAP=e.sap>>31&1,e.SAP_type=e.sap>>28&7,e.SAP_delta_time=e.sap&268435455)})};b.prototype._boxProcessors.smhd=function(){this._procFullBox(),this._procField("balance","uint",16),this._procField("reserved","uint",16)};b.prototype._boxProcessors.ssix=function(){this._procFullBox(),this._procField("subsegment_count","uint",32),this._procEntries("subsegments",this.subsegment_count,function(e){this._procEntryField(e,"ranges_count","uint",32),this._procSubEntries(e,"ranges",e.ranges_count,function(t){this._procEntryField(t,"level","uint",8),this._procEntryField(t,"range_size","uint",24)})})};b.prototype._boxProcessors.stsd=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procSubBoxes("entries",this.entry_count)};b.prototype._boxProcessors.stts=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(e){this._procEntryField(e,"sample_count","uint",32),this._procEntryField(e,"sample_delta","uint",32)})};b.prototype._boxProcessors.subs=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(e){this._procEntryField(e,"sample_delta","uint",32),this._procEntryField(e,"subsample_count","uint",16),this._procSubEntries(e,"subsamples",e.subsample_count,function(t){this._procEntryField(t,"subsample_size","uint",this.version===1?32:16),this._procEntryField(t,"subsample_priority","uint",8),this._procEntryField(t,"discardable","uint",8),this._procEntryField(t,"codec_specific_parameters","uint",32)})})};b.prototype._boxProcessors.tenc=function(){this._procFullBox(),this._procField("default_IsEncrypted","uint",24),this._procField("default_IV_size","uint",8),this._procFieldArray("default_KID",16,"uint",8)};b.prototype._boxProcessors.tfdt=function(){this._procFullBox(),this._procField("baseMediaDecodeTime","uint",this.version==1?64:32)};b.prototype._boxProcessors.tfhd=function(){this._procFullBox(),this._procField("track_ID","uint",32),this.flags&1&&this._procField("base_data_offset","uint",64),this.flags&2&&this._procField("sample_description_offset","uint",32),this.flags&8&&this._procField("default_sample_duration","uint",32),this.flags&16&&this._procField("default_sample_size","uint",32),this.flags&32&&this._procField("default_sample_flags","uint",32)};b.prototype._boxProcessors.tfra=function(){this._procFullBox(),this._procField("track_ID","uint",32),this._parsing||(this.reserved=0,this.reserved|=(this.length_size_of_traf_num&48)<<4,this.reserved|=(this.length_size_of_trun_num&12)<<2,this.reserved|=this.length_size_of_sample_num&3),this._procField("reserved","uint",32),this._parsing&&(this.length_size_of_traf_num=(this.reserved&48)>>4,this.length_size_of_trun_num=(this.reserved&12)>>2,this.length_size_of_sample_num=this.reserved&3),this._procField("number_of_entry","uint",32),this._procEntries("entries",this.number_of_entry,function(e){this._procEntryField(e,"time","uint",this.version===1?64:32),this._procEntryField(e,"moof_offset","uint",this.version===1?64:32),this._procEntryField(e,"traf_number","uint",(this.length_size_of_traf_num+1)*8),this._procEntryField(e,"trun_number","uint",(this.length_size_of_trun_num+1)*8),this._procEntryField(e,"sample_number","uint",(this.length_size_of_sample_num+1)*8)})};b.prototype._boxProcessors.tkhd=function(){this._procFullBox(),this._procField("creation_time","uint",this.version==1?64:32),this._procField("modification_time","uint",this.version==1?64:32),this._procField("track_ID","uint",32),this._procField("reserved1","uint",32),this._procField("duration","uint",this.version==1?64:32),this._procFieldArray("reserved2",2,"uint",32),this._procField("layer","uint",16),this._procField("alternate_group","uint",16),this._procField("volume","template",16),this._procField("reserved3","uint",16),this._procFieldArray("matrix",9,"template",32),this._procField("width","template",32),this._procField("height","template",32)};b.prototype._boxProcessors.trex=function(){this._procFullBox(),this._procField("track_ID","uint",32),this._procField("default_sample_description_index","uint",32),this._procField("default_sample_duration","uint",32),this._procField("default_sample_size","uint",32),this._procField("default_sample_flags","uint",32)};b.prototype._boxProcessors.trun=function(){this._procFullBox(),this._procField("sample_count","uint",32),this.flags&1&&this._procField("data_offset","int",32),this.flags&4&&this._procField("first_sample_flags","uint",32),this._procEntries("samples",this.sample_count,function(e){this.flags&256&&this._procEntryField(e,"sample_duration","uint",32),this.flags&512&&this._procEntryField(e,"sample_size","uint",32),this.flags&1024&&this._procEntryField(e,"sample_flags","uint",32),this.flags&2048&&this._procEntryField(e,"sample_composition_time_offset",this.version===1?"int":"uint",32)})};b.prototype._boxProcessors["url "]=b.prototype._boxProcessors["urn "]=function(){this._procFullBox(),this.type==="urn "&&this._procField("name","string",-1),this._procField("location","string",-1)};b.prototype._boxProcessors.vlab=function(){this._procField("source_label","utf8")};b.prototype._boxProcessors.vmhd=function(){this._procFullBox(),this._procField("graphicsmode","uint",16),this._procFieldArray("opcolor",3,"uint",16)};b.prototype._boxProcessors.vttC=function(){this._procField("config","utf8")};b.prototype._boxProcessors.vtte=function(){};b.prototype._boxProcessors.stco=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procFieldArray("chunk_offsets",this.entry_count,"uint",32)};b.prototype._boxProcessors.stsz=function(){this._procFullBox(),this._procField("sample_size","uint",32),this._procField("sample_count","uint",32),this.sample_size===0&&this._procFieldArray("entry_sizes",this.sample_count,"uint",32)};b.prototype._boxProcessors.stsc=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,function(e){this._procEntryField(e,"first_chunk","uint",32),this._procEntryField(e,"samples_per_chunk","uint",32),this._procEntryField(e,"sample_description_index","uint",32)})};b.prototype._boxProcessors.stss=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procFieldArray("sample_numbers",this.entry_count,"uint",32)};b.prototype._boxProcessors.hdlr=function(){this._procFullBox(),this._procField("pre_defined","uint",32),this._procField("handler_type","string",4),this._procFieldArray("reserved",3,"uint",32),this._procField("name","string",-1)};b.prototype._boxProcessors.Opus=function(){this._procFieldArray("reserved1",3,"uint",16),this._procField("data_reference_index","uint",16),this._procFieldArray("reserved2",2,"uint",32),this._procField("channel_count","uint",16),this._procField("sample_size","uint",16),this._procFieldArray("reserved3",2,"uint",16),this._procField("samplerate","template",32),this._procSubBoxes("entries")};b.prototype._boxProcessors.dOps=function(){this._procField("version","int",8),this._procField("output_channel_count","uint",8),this._procField("pre_skip","uint",16),this._procField("input_sample_rate","uint",32),this._procField("output_gain","uint",16),this._procField("channel_mapping_family","uint",8),this.channel_mapping_family!==0&&(this._procField("stream_count","uint",8),this._procField("coupled_count","uint",8),this._procFieldArray("channel_mapping",this.output_channel_count,"uint",8))};b.prototype._boxProcessors.fLaC=function(){this._procFieldArray("reserved1",3,"uint",16),this._procField("data_reference_index","uint",16),this._procFieldArray("reserved2",2,"uint",32),this._procField("channel_count","uint",16),this._procField("sample_size","uint",16),this._procFieldArray("reserved3",2,"uint",16),this._procField("sample_rate","template",32),this._procSubBoxes("entries")};b.prototype._boxProcessors.dfLa=function(){this._procFullBox()};b.prototype._boxProcessors.btrt=function(){this._procField("bufferSizeDB","uint",32),this._procField("maxBitrate","uint",32),this._procField("avgBitrate","uint",32)};const Hi=new Uint8Array([0,7,14,9,28,27,18,21,56,63,54,49,36,35,42,45,112,119,126,121,108,107,98,101,72,79,70,65,84,83,90,93,224,231,238,233,252,251,242,245,216,223,214,209,196,195,202,205,144,151,158,153,140,139,130,133,168,175,166,161,180,179,186,189,199,192,201,206,219,220,213,210,255,248,241,246,227,228,237,234,183,176,185,190,171,172,165,162,143,136,129,134,147,148,157,154,39,32,41,46,59,60,53,50,31,24,17,22,3,4,13,10,87,80,89,94,75,76,69,66,111,104,97,102,115,116,125,122,137,142,135,128,149,146,155,156,177,182,191,184,173,170,163,164,249,254,247,240,229,226,235,236,193,198,207,200,221,218,211,212,105,110,103,96,117,114,123,124,81,86,95,88,77,74,67,68,25,30,23,16,5,2,11,12,33,38,47,40,61,58,51,52,78,73,64,71,82,85,92,91,118,113,120,127,106,109,100,99,62,57,48,55,34,37,44,43,6,1,8,15,26,29,20,19,174,169,160,167,178,181,188,187,150,145,152,159,138,141,132,131,222,217,208,215,194,197,204,203,230,225,232,239,250,253,244,243]),Vi=new Uint16Array([0,32773,32783,10,32795,30,20,32785,32819,54,60,32825,40,32813,32807,34,32867,102,108,32873,120,32893,32887,114,80,32853,32863,90,32843,78,68,32833,32963,198,204,32969,216,32989,32983,210,240,33013,33023,250,33003,238,228,32993,160,32933,32943,170,32955,190,180,32945,32915,150,156,32921,136,32909,32903,130,33155,390,396,33161,408,33181,33175,402,432,33205,33215,442,33195,430,420,33185,480,33253,33263,490,33275,510,500,33265,33235,470,476,33241,456,33229,33223,450,320,33093,33103,330,33115,350,340,33105,33139,374,380,33145,360,33133,33127,354,33059,294,300,33065,312,33085,33079,306,272,33045,33055,282,33035,270,260,33025,33539,774,780,33545,792,33565,33559,786,816,33589,33599,826,33579,814,804,33569,864,33637,33647,874,33659,894,884,33649,33619,854,860,33625,840,33613,33607,834,960,33733,33743,970,33755,990,980,33745,33779,1014,1020,33785,1e3,33773,33767,994,33699,934,940,33705,952,33725,33719,946,912,33685,33695,922,33675,910,900,33665,640,33413,33423,650,33435,670,660,33425,33459,694,700,33465,680,33453,33447,674,33507,742,748,33513,760,33533,33527,754,720,33493,33503,730,33483,718,708,33473,33347,582,588,33353,600,33373,33367,594,624,33397,33407,634,33387,622,612,33377,544,33317,33327,554,33339,574,564,33329,33299,534,540,33305,520,33293,33287,514]);function Yi(e){let t=0;for(let s=0;s<e.length;s++)t=Hi[t^e[s]];return t}function Ki(e){let t=0;for(let s=0;s<e.length;s++)t=(t<<8^Vi[t>>8^e[s]])&65535;return t}function Gi(e,t,s){for(;;){const i=s&127;if(s>>=7,s===0){e.setUint8(t++,i);break}else e.setUint8(t++,i|128)}return t}function Zi(e){const t=new Uint8Array(1e4),s=new DataView(t.buffer,t.byteOffset,t.byteLength);s.setUint16(0,65528),s.setUint8(2,122);const i=e.pcms.length-1;if(i>7)throw new Error("Too many channels");s.setUint8(3,i<<4|8);let o=Gi(s,4,e.index);s.setUint16(o,e.blockSize-1),o+=2;const l=Yi(t.subarray(0,o));s.setUint8(o++,l);for(const g of e.pcms){s.setUint8(o++,2);let f=g[0],c=0,u=0;for(let d=0;d<e.blockSize;d++)u>=f.length&&(f=g[++c],u=0),s.setInt16(o,f[u++]),o+=2;c>0&&g.splice(0,c),u>0&&(g[0]=f.subarray(u))}const _=Ki(t.subarray(0,o));return s.setUint16(o,_),o+=2,{data:t.subarray(0,o),duration:e.blockSize/48e3}}function Xi(e){const t=new Uint8Array(38),s=new DataView(t.buffer);return s.setUint8(0,128),s.setUint8(1,0),s.setUint16(2,34),s.setUint16(4,e.blockSize),s.setUint16(6,e.blockSize),s.setUint16(8,0),s.setUint16(10,0),s.setUint16(12,0),s.setUint8(14,11),s.setUint8(15,184),s.setUint8(16,e.channelCount-1<<1),s.setUint8(17,240),s.setUint32(18,0),s.setUint32(22,0),s.setUint32(26,0),s.setUint32(30,0),s.setUint32(34,0),t}function Qi(e){const t=gt(e,"stbl"),s=gt(e,"mdhd");let i,r,o,l,_,g,f;for(const k of t.boxes)k.type==="stts"&&(i=k),k.type==="stsc"&&(r=k),k.type==="stco"&&(o=k),k.type==="ctts"&&(l=k),k.type==="stsz"&&(_=k),k.type==="stsd"&&(g=k),k.type==="stss"&&(f=k);if(!i||!r||!o||!_||!g)throw new Error("Missing required box");const c=[];let u=!1,d=0,S=0,U,x,A,T,C,W=-1,j=-1,M=-1,B=-1,q=0;for(let k=0;k<_.sample_count;k++){const D={idx:k,size:_.sample_size||_.entry_sizes[k]};if(S+=D.size,c.push(D),k===0?(U=1,x=0,A=r.entries[x].samples_per_chunk,T=0,D.chunkIdx=U,D.chunkRunIdx=x,x+1<r.entry_count?C=r.entries[x+1].first_chunk-1:C=1/0):k<A?(D.chunkIdx=U,D.chunkRunIdx=x):(U++,D.chunkIdx=U,T=0,U<=C||(x++,x+1<r.entry_count?C=r.entries[x+1].first_chunk-1:C=1/0),D.chunkRunIdx=x,A+=r.entries[x].samples_per_chunk),D.descriptionIndex=r.entries[x].sample_description_index-1,D.offset=o.chunk_offsets[D.chunkIdx-1]+T,T+=D.size,k>W&&(j+=1,W<0&&(W=0),W+=i.entries[j].sample_count),k>0){const z=c[k-1];z.duration=i.entries[j].sample_delta,d+=z.duration,D.dts=z.dts+z.duration}else D.dts=0;l?(k>=M&&(B+=1,M<0&&(M=0),M+=l.entries[B].sample_count),D.cts=D.dts+l.entries[B].sample_offset):D.cts=D.dts,f?k===f.sample_numbers[q]-1?(D.isSync=!0,u=!0,q++):D.isSync=!1:(D.isSync=!0,u=!0)}if(c.length){const k=c[c.length-1];k.duration=Math.max(0,s.duration-k.dts),d+=k.duration}return{mdhd:s,totalSize:S,samples:c,hasSyncSamples:u}}async function tr(e){const{decodeOpus:t,chunk:s,samples:i}=e,r=2048;let o=null,l=0;const _=[];function g(f=!1){if(!f&&l<r)return;const c=f?l:r,u=Zi({index:_.length,blockSize:c,pcms:o});l-=c,_.push(u)}for(const f of i){const{channelData:c,samplesDecoded:u}=await t(s.subarray(f.offset,f.offset+f.size));l+=u,o===null&&(o=Array.from({length:c.length},()=>[]));for(let d=0;d<c.length;d++)o[d].push(er(c[d]));g()}return g(!0),_}function er(e){const t=new Int16Array(e.length);for(let s=0;s<e.length;s++){const i=Math.max(-1,Math.min(1,e[s]));t[s]=i*32767.5-.5}return t}function sr(e,t){const{opusToFlac:s=!1}=t;let i,r;const o=es(de(e.fetch("ftyp")),de(e.fetch("moov"))),l=N.parseBuffer(o.buffer),_=l.fetch("ftyp");_.compatible_brands.includes("iso6")||_.compatible_brands.push("iso6");const g=l.fetch("moov");let f=-1;const c=[];for(let d=0;d<g.boxes.length;d++){const S=g.boxes[d];if(S.type==="mvhd"&&(S.duration=0,S.next_track_ID=2),S.type!=="trak")continue;const U=S;f=d,c.push(U);const x=[];let A=null;for(const T of U.boxes){if(T.type==="tkhd"){T.duration=0,A=T.track_ID,x.push(T);continue}if(T.type==="mdia"){const C=gt(T,"mdhd");C.duration=0;const W=gt(T,"stbl"),j=[];for(const M of W.boxes){if(M.type==="stts"){M.entry_count=0,M.entries=[],j.push(M);continue}if(M.type==="stsc"){M.entry_count=0,M.entries=[],j.push(M);continue}if(M.type==="stsz"){M.sample_size=0,M.sample_count=0,M.entry_sizes=[],j.push(M);continue}if(M.type==="stco"){M.entry_count=0,M.chunk_offsets=[],j.push(M);continue}if(M.type==="stsd"){if(s&&M.entries[0].type==="Opus"){const B=M.entries[0],q=B.entries[0];if(q.type!=="dOps")throw new Error("Invalid Opus box");const k=N.createFullBox("fLaC",M,-1);k.reserved1=[0,0,0],k.reserved2=[0,0],k.reserved3=[0,0],k.data_reference_index=B.data_reference_index,k.channel_count=q.output_channel_count,k.sample_size=16,k.sample_rate=48e3;const D=N.createFullBox("dfLa",k,-1);D._data=Xi({blockSize:4096/q.output_channel_count,channelCount:q.output_channel_count});const z=N.createFullBox("btrt",k,-1);z.bufferSizeDB=0,z.maxBitrate=48e3*16*q.output_channel_count,z.avgBitrate=z.maxBitrate/2,k.entries=[D,z],M.entries=[k],i=A,r={preSkip:q.pre_skip,channels:q.output_channel_count,streamCount:q.stream_count,coupledStreamCount:q.coupled_count,channelMappingTable:q.channel_mapping}}j.push(M);continue}}W.boxes=j,x.push(T)}}U.boxes=x}if(f===-1)throw new Error("No trak box found");const u=N.createFullBox("mvex",g,f+1);for(const d of c){const S=N.createFullBox("trex",u);S.track_ID=gt(d,"tkhd").track_ID,S.default_sample_description_index=1,S.default_sample_duration=0,S.default_sample_size=0,S.default_sample_flags=0}return{opusTrackId:i,opusInitOptions:r,data:new Uint8Array(l.write())}}async function ir(e){const{chunk:t,seq:s=0,timestamp:i=et.zero,decodeOpus:r,opusTrackId:o}=e,l=de(t),_=t.fetch("moov"),g=N.createFile(),f=N.createFullBox("moof"),c=N.createFullBox("mfhd",f);c.sequence_number=s;const u=[];let d=0;for(const A of _.boxes){if(A.type!=="trak")continue;const T=A,{mdhd:C,samples:W,totalSize:j,hasSyncSamples:M}=Qi(T),B=N.createFullBox("traf",f),q=N.createFullBox("tfhd",B);q.flags=131072,q.track_ID=gt(T,"tkhd").track_ID;const k=N.createFullBox("tfdt",B);k.version=1,k.baseMediaDecodeTime=i.multiply(C.timescale).divide(1e3);const D=N.createFullBox("trun",B);if(D.flags=3841,D.data_offset=0,o===q.track_ID){const z=await tr({decodeOpus:r,samples:W,chunk:l});D.sample_count=z.length,D.samples=z.map(G=>(d+=G.data.byteLength,{__data:G.data,sample_duration:Math.round(G.duration*C.timescale),sample_size:G.data.byteLength,sample_flags:2<<24,sample_composition_time_offset:0}))}else d+=j,D.sample_count=W.length,D.samples=W.map(z=>{let G=0;return M&&(z.isSync?G|=2<<24:G|=65536|1<<24),{__data:l.subarray(z.offset,z.offset+z.size),sample_duration:z.duration,sample_size:z.size,sample_flags:G,sample_composition_time_offset:z.cts-z.dts}});u.push(D)}const S=N.createFullBox("mdat");S.data=new Uint8Array(d);let U=0;const x=f.getLength();for(const A of u){A.data_offset=x+U+8;for(const T of A.samples)S.data.set(T.__data,U),U+=T.sample_size}return g.append(f),g.append(S),new Uint8Array(g.write())}const rr=(e,t=4294967295,s=79764919)=>{const i=new Int32Array(256);let r,o,l,_=t;for(r=0;r<256;r++){for(l=r<<24,o=8;o>0;--o)l=l&2147483648?l<<1^s:l<<1;i[r]=l}for(r=0;r<e.length;r++)_=_<<8^i[(_>>24^e[r])&255];return _},ze=(e,t=rr)=>{const s=T=>new Uint8Array(T.length/2).map((C,W)=>parseInt(T.substring(W*2,(W+1)*2),16)),i=T=>s(T)[0],r=T=>new DataView(s(T).buffer).getInt32(0,!0),o=new Map;[,8364,,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,,381,,,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,,382,376].forEach((T,C)=>o.set(T,C));const l=new Uint8Array(e.length);let _=!1,g=0,f,c=42,u=e.length>13&&e.substring(0,9)==="dynEncode",d,S=0,U;u&&(S=11,d=i(e.substring(9,S)),d<=1&&(S+=2,c=i(e.substring(11,S))),d===1&&(S+=8,U=r(e.substring(13,S))));const x=256-c;for(let T=S;T<e.length;T++){if(f=e.charCodeAt(T),f===61&&!_){_=!0;continue}if(f===92&&T<e.length-5&&u){const C=e.charCodeAt(T+1);(C===117||C===85)&&(f=parseInt(e.substring(T+2,T+6),16),T+=5)}if(f>255){const C=o.get(f);C&&(f=C+127)}_&&(_=!1,f-=64),l[g++]=f<c&&f>0?f+x:f-c}const A=l.subarray(0,g);if(u&&d===1){const T=t(A);if(T!==U){const C="Decode failed crc32 validation";throw console.error("`simple-yenc`\n",C+`
- `,"Expected: "+U+"; Got: "+T+`
- `,"Visit https://github.com/eshaz/simple-yenc for more information"),new Error(C)}}return A};function Y(){const e=Uint8Array,t=Float32Array;Y.modules||Object.defineProperties(Y,{modules:{value:new WeakMap},setModule:{value(s,i){Y.modules.set(s,Promise.resolve(i))}},getModule:{value(s,i){let r=Y.modules.get(s);return r||(i?r=WebAssembly.compile(ze(i)):(i=s.wasm,r=Y.inflateDynEncodeString(i).then(o=>WebAssembly.compile(o))),Y.modules.set(s,r)),r}},concatFloat32:{value(s,i){let r=new t(i),o=0,l=0;for(;o<s.length;)r.set(s[o],l),l+=s[o++].length;return r}},getDecodedAudio:{value:(s,i,r,o,l)=>({errors:s,channelData:i,samplesDecoded:r,sampleRate:o,bitDepth:l})},getDecodedAudioMultiChannel:{value(s,i,r,o,l,_){let g=[],f,c;for(f=0;f<r;f++){const u=[];for(c=0;c<i.length;)u.push(i[c++][f]||[]);g.push(Y.concatFloat32(u,o))}return Y.getDecodedAudio(s,g,o,l,_)}},inflateDynEncodeString:{value(s){return s=ze(s),new Promise(i=>{const r=String.raw`dynEncode0114db91da9bu*ttt$#U¤¤U¤¤3yzzss|yusvuyÚ&4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444545 444J0444J,4U4U
Ò7U454U4Z4U4U^/6545T4T44BU~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44U~64B6U~O44U~4O4U~54U~5 44~C4~54U~5 44~5454U4B6Ub!444~UO4U~5 U54U4ZTU#44U$464<4~B6^4<444~U~B4U~54U544~544~U5 µUä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~C4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4UZ!4U±_TU#44UU6UÔ~B$544$6U\!4U6U¤#~B44Uä#~B$~64<6_TU#444U~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U[!U#44UO4U~54U~5 U54 7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U54A4U[!44J(44#~A4U6UUU
[!4464~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U#UôJU"UÔJU#UÔ"JU#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U#<U#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U54U$54U1^4U1^!4U~54U~5U54U~6U4U^/65T4T4U$54U~4BU~4O4U54U~5 UU'464U'_/54UU~5T4T4U~4BU~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4U~4O4U~5 U5U5U5TTT4U$"4YTU5 4U4~C5U5 U5U5444$4~64~\TU5 4U~4U~5T4Y!44O4U~54U~54U5 4CYTU5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4U~4$6TU54U\!44B4B~[!44U<~4U4~$5 4U"U#$544"Y!454U^!44<J44<(J454U~84UN!#%'+/37?GOWgw·×÷Uä;U9$%& !"#`;Y.getModule(Y,r).then(o=>WebAssembly.instantiate(o,{})).then(({exports:o})=>{const l=new Map(Object.entries(o)),_=l.get("puff"),g=l.get("memory").buffer,f=new e(g),c=new DataView(g);let u=l.get("__heap_base");const d=s.length,S=u;u+=4,c.setInt32(S,d,!0);const U=u;u+=d,f.set(s,U);const x=u;u+=4,c.setInt32(x,f.byteLength-u,!0),_(u,x,U,S),i(f.slice(u,u+c.getInt32(x,!0)))})})}}}),Object.defineProperty(this,"wasm",{enumerable:!0,get:()=>this._wasm}),this.getOutputChannels=(s,i,r)=>{let o=[],l=0;for(;l<i;)o.push(s.slice(l*r,l++*r+r));return o},this.allocateTypedArray=(s,i,r=!0)=>{const o=this._wasm.malloc(i.BYTES_PER_ELEMENT*s);return r&&this._pointers.add(o),{ptr:o,len:s,buf:new i(this._wasm.HEAP,o,s)}},this.free=()=>{this._pointers.forEach(s=>{this._wasm.free(s)}),this._pointers.clear()},this.codeToString=s=>{const i=[],r=new Uint8Array(this._wasm.HEAP);for(let o=r[s];o!==0;o=r[++s])i.push(o);return String.fromCharCode.apply(null,i)},this.addError=(s,i,r,o,l,_)=>{s.push({message:i,frameLength:r,frameNumber:o,inputBytes:l,outputSamples:_})},this.instantiate=(s,i)=>(i&&Y.setModule(s,i),this._wasm=new s(Y).instantiate(),this._pointers=new Set,this._wasm.ready.then(()=>this))}function kt(e){function t(){}function s(M){throw M}for(var i=new Uint8Array(123),r=25;r>=0;--r)i[48+r]=52+r,i[65+r]=r,i[97+r]=26+r;i[43]=62,i[47]=63,kt.wasm||Object.defineProperty(kt,"wasm",{get:()=>String.raw`dynEncode01a36c6f98c83ø%yã¯#6ïIØh¼ÿ-^º*:8ÖJÒ#Á(¶3ùsÕÿ§£/.*[v²¯\õzºÜá»(oBM×å ÊvmË1±Iü(&Øb?0=MáPðxA%TÔÎ=} c×0ÓPùN:Ê£ÌÓ±æQñÒ¥M_ªqA1kð¹¥ÊÇ@6u§k¿Ä9Ó²FÒà(A£c£ �)ìTÃ=M]+àaåÅBñcȼ{±!ÕÕ_ò#²ßá'Ö«ñÛ.ò¿á(h¯Äò´ýÏ ÆB\0¬E¸?s*iê9)~QÄõÿ6+º·=Ml½UÀ<i½í¤ìgà°Wå,µ$Ü®(m¬ézq§6¥Ô"±¬o1ÜGw¾YüἸÆ$)ÍÏ(!jÃä »ãóªI,XÍ
ÑãÈ_رã°=M6ØJX½>«¥$´ªFÏó ÷¨M/§=}WÃs¥FÈ$9»PsH0Ç3»P®WqöCðé~¥Ö}¸:taã/±©Ý×sôdv[<áëx[ôÿ0bñRºÊ½jËzhq¹J"Ò'*¤0Ó34Þ¯rÑöv[B/¨¿ê9!ïr÷²Çn5ÉMEk5Ú?7Úk,*dÔörÏk4VáÔÕÖÝjooooaú¼l^Û=}MQï]½ßQ²lÂù[g=M9 ~êÃ3¨¨Ó 9ñgGze ¹©ulfÙ |¯Sà¦oÌt= ¶zÈ<÷ÿñºßÏÃh]9Í©:#Dãø»3LeÙ ¯©[¿)hÓ¯fó¦Ûæþ?p9
- V
ïÈnÊ�á$˵¥Ö%Ú1Érn:fӯ温պ£¬ó+ |;ýoô:*W(©Jÿ+vOÄb7<×ßëÙ [)oU89~ÚÇ3Í¿V¡N¢&¿vlGÐäÝk©&M6»�¡6!^°©äÞÔûÏ�vÚÃBÆL¿,Y+ÏÇjàìL£¡Rñ¤
ekX\ÍyF= 1X1ªhýQ^údç@!G
- ¥�Ñ)°+w±yÅIOiǵ;gR#ó¨'%âfº£P¾�SÃã[¥Eýc&0v¢\G-ÌÏùÙ¡ÜpSX-UQÏ <ÄJ#i"Ú<Ùo;ðúÙ¡Ú6i¹|#òm·ÝßÝYÐÓ = ë$}¥Ö
- q_.ľ³}ÊðÿXi·xKQQK=MÎKÚ8ÏR«øé³M[§ÍôÛ§@4åÁË¿Ç(=Mð2¦ù�ÍèÃÊÃ
- Ë'ÇeÜ3£<ü¨Ü&lw"j5i,¤{öÞØ~OcÒWØ®æÏ¦ëJòªéøX¦±n«rüÆ»g/Ò ðlzd²IªÎ~¨Ö�j=Mv0ª¬¢©Aí~DøÝõU±nø+møFÛæiáFU'ª³'ø^%npÂû�d)"~ßVÔÒY
¿gò}Q7"Ìæ]º¯eFZ0í�îv ídc§ª^i\Ò qÖáÏ¿û·Ãdý©Äî-|7Ñ{à~UrÂVƯ£ª/wYÒF',nÃæV¶ócyçiØç7µe$�É~)&òûô$d1G5Sê=M@= ÓçÓ^=}Q²U¾µ:ã7ç4ÿît3?Âvsºïÿ
- ðëA¨ 4e\WÓXÉ2¾Àl<U£{>f«#¬pªÔHê5_Ìîr³éļáõ,=}ËÖõ7Â= = T qãMaѤÖ)_;©T$¢¡k"×b¢"lë}åëí"ÐDã:Ôo5{Ϫæ6Nnû?=M)~9Î* ä@Äk¨c$ne&^3ÕÔ/Vì§"ñ1Ô¯»3Hæ}oTÏ{ËZ= jùÔòó¡6_DÒKM÷ÞwÙ.tRc£I!fuWw¶YYT»°�I ·®D=M5ß®ÆhÙðí=M¨þ¹§«ùïËÔ
tëYÌìnÉÔ~eóóÌ
- íef»1öýÆìôu)Àê±tõ¸pK*ÄÕ;ñßé;{OtÑü;åpñÞSØo¬9<{ ÛS¼Súë!<qV»¶ã®Ôlù>Ä,(s³UÊÕ£õ5ɵ-û©^Üëã¶SÃC%(%^}3ùIã4}ý¼|
- ^ëºhÜ*ßÓ{ðÕ¥rí¬Øz´cTd<xOZ¡5¾µÙà?´àLsk|êLà; -«)rSXY»ûWf³Ü{JAÀÀÐ.pD×�LØIÞoÉHö¤ÍI§{®/¥õ= 'ç+éy¹¦3ÁMjÌ:mÕP@²û×,Ö½0ù :ÒÁ>!\¼á0%ãôw¡AGi´à/X®¤k¯þK²Ï:ÛÑýPHõ·_rʾ²îrÈO¸û8u=}ð衸8ÐÑØQR5y)P/¿!5ÇZ#lõ;4°0ÅɱRµòòÁ{±«W¯üý²!¥ú¯×U1¼{gÏTïìÑîu´&
iFÀ7zÅÐ÷îHÁªT÷°s©ãÞCu½Pðìô»Y$íÌ?ËÜ*=Mq¤àþ?ðN\ëݧÑdñ+´ä°iyßÌzp´(õ¦Lvç»P~áÆínÄÇ:Ñ= ×k¤Oæ~ٶϦ?¨¾Uh,a[SäÅP,æu«NèÆÝýI<Ç}:«3;·Õ�= ·@kj;@#G:ÓWÚµ![>YÂyX×vF?êÀædø!¿ñ°×_o3¥)fÇ(LÝÙª±~O÷M{^=M
uØ]§6áÊc$ÅT@{õI=M{÷¼d Û³=}8>³LlÊUÕmí(kx¾ý;çZÇâùÂÀ+·@Xª¥¡ò F@¨¾ h<FB+îQ BG¨= h©¢âcWIå
- 21䲸´R»ç]rÁÓ·³ÖÜ}À^o³ô¤ðÚË'±<<äìqNun¬Ê%vu³0îlS%Ç *þ5HV÷ø9O�tõn#he¤M·ÅÏKg³æÚ=M¥L&¬67°¬Òäªw+²¥Äq¼í°EW+ð/¦MüÚù=}]Åz?HËÂ+'·¸SÁ�[ð9jÐ6ÂÈÏå ò%n38áü-1t±) Å,W¬Gϸ£Qå¤^P5«4w¥Ýx¾vÉ7ì¸0FI,´4§ó7-+¬öXdo6ÊHî=M¤Ä.pU´ü$¶7÷þÔ±Bãÿ)(ö=MO/k4,NHEÊzØqìß,j[I®iȪÇë[Ò¸îl¶uB×C°sÍ×Xµ{îw+\;K½@
- M(¨Ll£v¬i?æÆQPê½²óÿ>¤ØfüЬv;RÐíMj\Èìë¦æz-K{|xÐJt<aóñ/·}µ½þæF®|´h_Å ÂQ%<ÊÙg2(e3ß/¡òm6Y/= s72õr7�x¡IuhzY_1nf>©Uc|zõ¥g¸¢}ÛOÕUéñ!%@Âíç¥ßm¹v9ôÈÚ+QÒcÏ?'À4c£%%àAÛ'.¯«¸Q¸¶0dÜS³îC£÷Ý%$ô¼pÄ:¹(hLd¯<#hö1X3³¢ÏÅØèÐøå§²Íú¡.¨Kqϸeÿ¾H¯æîÎÜ7³u= q/<ý\ióLñ$w£Gѹzÿôí©¶¦EØØ²HY7RöÇNðBAƧ8ÿ&.ði?�°v°¶ìcøø¤ähá= DW×mclÜê<ô|p7<#lïsVʰä3*5ÞHñ]Þû5Gòqw,uhõÁuJ¸vJ?HËL*Ç,wðB56T=}óíB×WîyM
- ÒÂ̱[¿m)i°M
- ¡Íãe§(¤78m}ô= Þw^kF#].âÂ'à6"7ï ª¢Ã*¾ ¾à·Uó
Ý71\gÒ«k®ÿunÑH[[1Î3.'5à·ËßuCLBÔgîïÖaäèûV3_×ÏævOqaçUZ<-KsZù~©\!¼¾^Íô2^?*
\ÓRG
+lÑ)ÀØËDÝf|]\xÂý$4ðÛþw¸9GÐ ýA·¶¶vpZºüX@@øp 4z&²Âj3É·=Må¯= v¾gUR¨Wdª/x·+,ae*1ù¦vÎl
- ^mºò¦Ó"@×¥sô#ù ;Êr[B¢êµ- [a|>
]ê6¢JHXÎÒ@:{=}qá!Í̳K¡ "A=Mä= °z
ÞÆç*1z^5ºbÏÈ*mZUíí ÅÐá´�çÏã){ÜĽ
- 8ApG× ¬·F¼EÌ1å9ÚbnX&>÷ÿÉ~1$5@Òa,à¢'¹<i´Å?2U¸Ðá©´¡ª¬;pwÌ�µÑËu�ý¸Æ¸fæ¾â@À2>Ðÿy2ûL¯×VãñéÊ^sY8éíÍ,FìQÖ§<uDR.´Oôùï�lh%øiîcÜUª4Jsá±|"VèhejÙSqúcá5T©¶Ê¨^'Þl�±ÞSĬ#ÂÀÃ"¼ôÖ£;R"¡sÙáY¿±Y k Ç5wBY®z®³
- V9Ý-[°,ÒÀ\l
- þyãÈËh8ºÇ@´i1üÂ&qÙÖ-b:ê|Ï3 ¯üù¦Ædù"YèIÁ«_è;÷UÓ¬pÛCô»s]@ÇD ëT®\,"jif¨ hg£> )[Ç9)Æ,3өμ= ¸k@ÄÊÖH7¨Å9ywТWBĨ)*Ó/Û#:÷¤%ÛKu3f@¿Z(M=M°/ }àPC¡OCÿîòE?¥Æ±G(´MùcpÁ0¶YE$$IH®ô¼ÚXr§pþkÞå%
>ÖÚn ºóØ@ýµÐú-²ø\ø?L©}]NõqlÅiÑ3ϳì¥Ú½vëýô3?r+¬Áõ¥â4Û¥�)H¤ë}º
æQ´*Ã8¡x(ðª=M=}¶wªf4¯FR!"µö·\VêT)jâßm8¨ÛM¬¥úãcFÁÏrHÖ¢8[á¦c@¡JÍûv
- Tb!r~{%u·Ûû3pC0¦wnP/{³¹½ Þs³¡å5!Üf^¦³Ó"ì¼Q̦kú5µ-ðøD¿h6õÈ þ©ªVàÍà©×ãG߬H#þhïdiÊàÕ\-´°3Tê¼Eû¤ .[fL¡Jü,ÉKîëBF³.Z*ÌE¨V^
- ¯ªf#ºuºY)êÜ£Pñf×Z Iºæ2ÞÆÔUÇx4"BU®¯RÐúÖ:ô·eAAlD,[Oò0bÁ¡){Ãuánò\ a?ÁlaÇPæÌ+ê°�?ywíÑî.Ùãë3;+@ü>Õ= î}1võQ%n<_¸FÆï!ZµÑã}¡"ÉS°É'íÔ¶¶)ÞÒü;?í÷LäIá¨H0Ô#ÁB§#J½¢=}î¥"ÉØ\?rÚÃp®2q(=MY¯hµ ¥x4ôË_·2ögÉXP/_ÇF|˾ÿfêÛ*Ó2�q¸Ó®»cþëÝSÛ¹
- rÞ¤®Qb.©6®8W
- ³Ågz¦Û**ºYbY,ÒZð$æÍ¸oíÁhóÃdrö #°ñ0Ì^kØâ\̺å�umónÏxÂA5Ákm
W,iÖL4aavw¹Ç°=M3ªë09WTÓ¤Énýö§:Îâ-* bÀi%º²ÜÖ±bÝÏ Ïna«è
- êÕw®ç§
·ÁÂz�~ ûµ/<4ǬÕf¢P{½}Ù®ÏI ä1Áb= ÐgçM$7G=}sd¹P»ì2U©B¿eM&%T
- 5´iâgeúeù'ú¾"Ie$ðW´K*¼ÚE=M�T �àýoC½7Äf*±²ýÔLBÞûGW ô õ¥sÏÄûnüvw¢]×0LþQiÅK¿¬ÇÀ¤¬/´õ 4tµ
bU,¢2¬ ÄtppåkJÌD·É7æýD8ªüMÀLbÝå?;¤$Â1½\iJfÙèôA»ýMÝC
uü)ÏUx}êßj¡4x¢âê䯱%§^¸©ïÂõ¡´ÃÌãq§è&¾Þ°®÷á]9´Fñ Ý3+c¾ë60\¹þ7ú=MÑyÿ-)F¿ÑF¤2ÙÂgÍ=}2ÈHéº?é.½=MORèàl;U¸/wØs¯£à±:7p©:®¡ZLá*wE#vShd䪥JNóq¯BîÅó¡JVAve7¿Á,´¦@0PôRC5aÚç¸\·}x¡r6Ïpoÿ÷ÁÕ«G_
Ü7dqé³wJϯ3Ë |FKcÈ¡´+/ÍN4Jðø�VnÛ·ø= ¸«A,¬*=}óo@Ú¿ö»b=MAöf_ú³ï¢ÓÑ¢ÐÌJtSò²LI>Ix'áκ
°»â=MC¼Vé^>ݹV9§ãÉ-Ð|£CÖËÜùCt[
- Fg7WÚl³ä¯Õsü÷±,d%¤ÊÒzjªGI®®&)AeQÞÈÇ.ú:VÂ$Éíøß󦲰Po{±]Êv,NXå¸P8Ý_#12·u",Æ4bà"¡&ÚªGÊz§§\üݽgò6Ñ&{àciÓɯf»5[ =}#ÿ¼\ëe}²¾~ªi~ÆÓa§N@væ4Ll
ì=}Y°EQÆÈ©8÷_d*8M×ÿÐÉøa=M³«5nm'±öq\±/+â!4g,TN»ø P©0}[zñZÿèr)¦EÏ;N¡ß$= ¢aÛÁÔdº®Ñ;Xò\tIþ
}T¾grGu<ï rB¯Õ}PÞîãB=}iÓ5ÀÁ)Y.½Ãqó ÓS«N¡µaÜT,BÊõd'~²h%tüõÀíÖzô{DW�Àþ=M�«.v·õâñÉe6eR¾fµh¾ñ¼¶zõñèLLRYË"&Åãz{èý4LÄ.H¬41~ÈdPîÏÀ¼ð�lröø*¿pÇÃiz.aá^¹î/u ?a£e±lzZÚ>\¦ê= ²HõsßÔ1/ô= F¨e´B{¸ÛºÇûf©U8grÉ4â ²À�¾Ï+§¹ò@Yƪ´+±õ1½Ê'·³ó¯¼ô{
1ç£Ü½~ííÍñFû{M\ÎîÖ5h¼L+;Âf4Rs³++ôp¥\±(KR{0ãÏýñÍ;&e¤»ïí9øl-Eâz{´ÈDÔ¬Ì@ìCÖt�Hv¹é³ûé#= 1H/10ûÍX¬!L&Ì[(Ì£¸©äh´|®gû4×½Y~#¹øÿ'÷J×dF4¸T
÷ ¥£bÏçÜþMªúSOÅúr0pÛG¯µ]LU³ÍÝH<äO³Åúª"Nðå+/±#Ѹ£¼Ä/]»ÀÎ0¾ôËÍDͽIæÇÀöàHÂ=Mæké+êévË|àÅ.UK
- ôF1c§Ô+Îܤ¦$îP7ä¼ÕJ>ëC¸¬KX»N8üÐÀG2¥g>}r°ùÊæ.¨ä¸´&ÈWû
q
- 6¹ïÿâî¨Ïº%Ú!ÜMÞÀU=}ð"ÛZÃjÇ=}âY<úÍì
uõ÷p¿pÕ6âqäÔfÔÜá;ÀÛ )Û)% ^e I!=MüíY¡NÈîRþ@/·°ÍmOÀÇ(óuWu!¸õVgƽó5hí²¾8,ÚAÌr4AöäfgeÕ"Zz
- i,òk¬SÎ%>6û¼u
- ªùâ{rþJªÆ0³îêqvHÕS8í´öhm±hÜè¿ô<ÏjÛ
- Ëä\rçÓ'ñmúÉgðB;9i¨ÜÌ{îRxø+Tz®
- åÞë¥vì[JþæZmË[µ÷ª4}
qRÒÜ4Ýf~ |1¬ 9¹5lK/=M0JÓNuÏMüæÞû¸Y4�#x|= >ÍÆZ¯:nR{ª$* ¶¶2èÌ>%m ÿQd±P-
- ÁoJäcNôK)÷è63W+¨¥nÆ¡A§áƧßWqsÝ#ºF
- 6]äc&õîáÊæ:=}Â|<f¥¢e£Àà^ Ì4Öçã#s^MY=M:uygmqEÊÑr«¢H·ÀY>?ÕAëéXjÖb&ù�¡
6âyÚ
ÑÌúxô¬¼H'¬+5pP*þüGzñè7A)- Ê0BDmHÐ Þ+ª0®G±uRMGm/Y<¥go³§Â4Hð=}óç6À- éàsó9uÉ+,â¥Ò.ØöÑü0k5Ѧ.&ëüýpz|Ú¦ZdhæÀùèíü<= é!gaô·îصÈIC;|°Ëo~)ñ{Pö<FÑ{D¸ðÓe9?hBê
À-
- ²×öÞ1ûWDPzö¡j÷ßøÆZ
- aDM¹}éO70ÈÓÔ2?A,ƨd«OãÚ÷YTKmæ:¸ÆÜÆhàèdUo·æ}ÆmßwMå¾!UìxøCGHFGfnØk:e±Æ)ùTÂʬo¥ü·Hp×ÛcI#º|&ûß4qYêæwA¼íE£0Ôx²'Õ'=}æ»DÄêóÈâ6jÅ^p·~Païw
- ¸°N¼í7×~j:ÎG�H�smâmá«7-°í =}mÙi'pë*K2¡ÞâV^É%gg~lç½Ò
- °oã)kË*c¦ÿJø_µ�³ÜéßÒïÔ=M°I°j,KCÌ}}P¥Øs._ÆõZ¬´äêN»ö²¸Ã#ÊG?UÙJejzûË(}®¨gñ¬Ïº<õ6ë8eK>$Öæ3ù³²sæ+¿
á]#[:ÜJ6ì@¡÷!U£ i{ê= =}iU,m0ܱôú°ÿ×µßc¦¥ß¯S$V£N£Î®^7#Áv#I/ÙGu;ä©0xNðqßÜJd-cÅ;¿±n ÌÇÕ"àÖQRs½BÜ|ÇI�}¶à'ÛCʳ@æ/¤Ôw+aAå©çI2äÄ+1á±TOòãÇÇçOòäϳz®³Ð ´ß£VTIn¸èÕ²º=}ga;v8\GTÑwax¨h{Ôdqª_j±¬ÍJßÊdñ©Gjy¨Þ´S¶ÁÞË{#À»¬Ë*ßãS¤ÞT4¾¤~©nvZmo åt]ÒPJDwâ̶¿STjÝ%¸¤Îß9«9ªÏ{56#ðßyµ»SDv¨aŰw1¨jÉ[§2¿8¸´ÌÝÐx8Ü�EýÜKv»|U¼øhÌeñë(ãUYçúçDSLîù_õú
Çÿ(4¿º¤Ot=}w|é8HÛísfmc[DÒoêûtPW½]=}ÇsKê¼LV²6kòfÄx(&«ÁAzq1Q+j'ÕA\BZd�;W¼Ñèü*Å[À×$ì|µ±uûÈe«&G{¬öoa³F°ôî³=}C"|pzJ8ÀD,eO2f:·®¨À¯8ÂOÏÛÈ5\TöFsP¼+½#5[k0E¼ù{! ¢W=MéØ=Mx¢+áGê,? æåh¯tgÁw´%uu¦Å
nëåÐ/Þê%Åï=}PJKqÝCG=}¹ØæS·í£�7{ï¿8ïã¶<·<ûk�e&f0½Ñ&Þ´=}ÄéN¢ØhaÄáTü%5íÀÛìl¿dU|ïp�&4^Æv2{h÷�Å7+x®î߸Hdjô@m«hÑß,Ìf9øâP^ú¦"e¥wkWxWÞ6¦¾?i²þéC»TNô&¾pHß´Â5=M:d´R, N»¸½:zÃÊú4ËB¡ÖþZ@ Ã2iÒtÅ/© FÆÉXÕÓO³¾Ûs0æ³(é»RÅ¢:
zuwçÕ?½d÷8¿òÃ\¡°Q/Ý¿¡9/p_2WÚGy3f8øIëV9I.\êÿöG =M9Uý+ ÷Ü}J~@»o¨q§_>Ëd1ÕüIÃ=}=}µ¶I^pãÕñó+k#
càñõ´ö¥t(ÛC³= Ôuà+DÁå½çòòÃÕ= ±tx§tt>³nÝ*뤴TÇPJ³z°+9áÉĹ"ïÊ¢§2?]°¼&KiÖNrï/À¶½SLj±¬Ù±{{µO«ûTd#ÁÞË{ cÙàé%ôckª§þ²{]jé%ð¥ÙäÊ61ïë*åfa×ÿ®°zæÕd)¤¾OÆûÒà2È%P©xî%¦yûîSc]ñuD»G¦:$3ß&m¿=}JÀ*¥¹* ñ*1·Môþy61ÇoÕ*ø±úx£~ìdScäçZj.=MeäML\òc>@Òf7ý~¬ñ¥ãÜ{
- YåQdÙ°ï0·uØÛ&qa¡Ê¦Wg
- 1.µ{]1nnÃeþï¤;ÖDÉYR¦Yjòæv§é²µ-õaRÛÈ\²ò¤¥Êè¦ð=MV¬×MANdYËÑúa¶mà+ÂßgH»hI.Ú@ÚbLÚb%ðPðPðºoýÄlIs,w/æ
òÙ*Ø%~@n4νnN"-3Õ5<i©túQmøÊJà³q'ØÙ¬î÷µ-¡:]R2ÆîyOïøøIG÷îYíÑ|1Ç~Õn9\dQ©~àÖ5¯°fÖøK\baozÕfnaZB:ÑvnÕÖÖ"glíoÕrùÁ1¶ÊűèçM%m_ÛKæØÈJ±A¼kâbÎû)3ÍL= õ§q ΰdËøÂ½]:}x-ܸ£-Ì(= ð*f¢×Q ]µÈsFØdþmZ·,À^þdH!7d=}¨õè6ÁèEÁ
- -ÚØÛ/o= ãÕ- P=MQÿ°ÑÕDºYÈäÃ\Ǫڸç=}ì.s[ërGJÊDàoâ«»bÙÔÊ«!S_pðùôG¥ ÛH¿×TùË3®³ddú vêKή[ïºYMÃrcÃuÔOñw¾²PYãM_ón,%Ùré¹\,Öãrz%ám:±haMUNyºã=}òævS®bÃúaËPÀSºõ»NÊcܬ¡ËiôFnÎ;?] ØsþiÄß=}KS=}íÅahGØ|ú,éfõÐ"Ý'dNÍÍÉ
- 3"A}Çó©ÍøU/¾äʺå.mÌIÛÜÎbÐ5
- ëËm§ãOÑô� [wmó 3IL#Wõ¥Õ)_·¿Ðk4Eö±Kd§%#Í4w
Æ:ì¡�:;ÇÐ7ýw§æùùY|Ìq7-
- \Ôo¿+V~QÀwD}ÉÒK¹hÓ¹ÅD¡)òÅÅ£à¬üÆÏdjc¤±0ùÙª,ØÔ·}çÿÙôý½;)¾jÈÅw3x·þÇ|¬= Iï$xiÌKSÍÉL<mó<Åoª7q]o2
- hþð= üIÕ®)õMÑ÷
vרÂ*ñ;©v/oæ¨K®»ÌEþÑ
- ¡FÔÆVíV=}% Erð¥YSHyG9ÿ*Ðäyï9)!,ä5d/î×ÑfVÛ>6t
- FtCÜ5¿½= x¡K±û p=MÌìóÁèÞ÷(+~Èðð=M\¹ÐÑ»É:(ù5XàV=MϬá²Ü uSÓ%$ik<d-oÓ¿¬å5®5ÇÔàγoþ!LtÜ +4LJfI×:ïæ=}ëâÉîÒhÒ\$8%?å}¸ÿé¦ÝŬºÙÔ^¤Ö(;°¦®ë½¨ßõÚ¢Ó¨LG´èçÙ;ü1j¯Á#yï¤Æ:ÎàæpQRE1 îWøMûG9çuwG"}õ¦îNÈfÔëI%uåzÜzoüj)²9ÁíC>ìojóy-¢Mù¯»w8,Ë1B¹³&
¢Õ¢!'!}uå³17¬HMm+Óí
é ɦ]Ý·oÿQÕp§/<bC2êÌØ|~dr´<ø.:a4ëTCãðEmóiï3âTÀÑì7p#¿Ì1Äð¾Ì_ýä\mñguiz$§|äÔLèPÀñz¯u]Áç[dÍàæ=}
+AqS¼ô£cÂó£'£¨uÇ
Ù81Ï=}Yü,2k#ÑÍC.¢ËØeËa¬¶¸7¼ªêGªå7Dä°ëî±Å3ÕúôÕ»l@ë÷¾ÃæÃ¬xÍnN¼)]è¦ì§µDÃÃË!UgÆsèMpÑ9'ë±BËÏ×Ä\¤þ·ÿ#5LkϬÂjyû4[/ÿëôR#»¯Iün¦^ÀPZmýÿó70ø]ºD\àYÇR¸B÷×ÈAº1ÝFÒ¡6.¢¡ââ"
¡fèf7ɬJ7!ªPÝÙ= ¤×\ØQäz¯w%ÈÉï±uUí±t¢IÍ>_ÈîkÑ!ô½OÐR·iX]GF² ìâhØbo "_ Ï'²ëç9ÊMê,ÎZÈ¥*IO³I¸&+ì1aã¶vл]8uÁ9ëÛÑË1âFc=MÆ\#PüóCÄj&Y7T´Eøè:v&¬5I}ÑÄÌ©Ý)S/cëtÁvy×.iu8¯Iú°ü >4¿vyÆ%âKiÝV
Å@ñ1¶¶ ñÚX3ª£wØÃÀÞ,EÜ
- ~ðF¼ÜÃjW²C«¸GüPcA,"s(\«[1²I¥8@n°øBK «Ùtj5·eÕÖ¥t~ÿú;ïd=M,ë¿ðÇü?JuùJîÏó(¹è'>i7åkõ:Ø8Åg4HÅUHIáhÛ)ïH<ÕOûAJßJ!Ì}mÔëöW=MÒ
- øzxåß=M/
- N+v©·-ÖýI.'Ü_Hýòh©rÖ©r¨×ù&%ü§ß�Ôë"uI%T%OʰÁ�vïÿæGÞmF7Æ%2c=M ;öæx/äÛ#Ígã/}óTáI²WÄÑútB(# éIÁñ#Z3l*Æ:æP\J2M°
ýÕ¾æ\ø ݽjGø= ÊÛ/qYßÇTÉê
~¡³FqnÄéÐDRnd�±n,ÐÕEÑÛÌÐò?9Þ+ßg)Æ{P :OmÑÜcѼ|cSPÕ{ÀvD0ŦaAÅÒÍBA= 3¬Vá,ö-×·åsB/×¼àØ6W éLº\IÂÄ´£hªWB0¨zÇ*á£/8ÏVuä[fØlûIG0ã=MFhÔmÌfB5²ñlEÜÁÝÏÀP·ÍrÛÁsA"м1ªn
Ð8óÃxô3·Ýî«'À7æ-g&5Fõ9ð¿ »N[ñ&¡WLÉ{Ó=}n=}fWI$1^ü¾ì1züFØôÂÒ%²Cd1
- (æ¿Jå±ì»B¿~«okÄá+Î]7ß²ã<ßæ<2öÜ;Ú¯,|§Ry=}Cy<ÔSg¤k×ôA®j,ËR¾]¬è7Y¹ùA7üh»ÀÍ?÷3Õ(ÓñsÅvȰpZ¼WÝeÓWíR¼¡ÌêÁÉG¸ò* úÀ
- !ÙNϾæ)¦SMk§8AoôµUëàD
- ¬®U^â?ÕAþfF,¤NÖ{¬Üè+IÝLªkþ§=}±Ð|Ìþ~£T§ÃßÛ;VÉ6iu=}UGÁ¾aá=Mh3Ì Ó~c.}ÏUÂ7Z«Ê0Æö@4f/<u/pÕk;Öø8·Á§~Ê0ñ<XÎóU¼nEÍgO#Ñ®ìlO»3×Ü:õ5ø3j.6(To./ÂßãåsÎ@LK§t%ç¸#ÉÐöoï3$'ÐÁ|. iHóÛ/©^í*\;sy±üSy]ÕðºÇàl¬Ô~ã9wMn«×¾W}C,/&ºÖÂwP4ù²näá±m¤á±ë62 ìjYùÌhiÌ)ñl¼®ÀÖÝjo/q9Ê(ä"õÑ{Ê3²-HD¿ºj¯ùÛëÞºýÎIÞyþÔ¥ïùØ¡2ÇêiVUçSé8¾¥ÃææÑOèȦòøÇ;QíOPîz÷ñàYÇdÏ?㺵ù{Ö(ZÎ\ñ´fç0'fm9^©ì!62[§Ãõ£UB+EñP¤Ç_¸ãóÿv9pdp0üÌ]ÙÂ,ÍaV·ÍVT$#Ê6×@ÚòÂLÝa:Ë[T¿%Ö±ñà¹xÌqý¢ÖA´DÚr#Î~Ò= ,BZö °
1ß¡£@w;ãì·¡BHÆ>,ÈÙ±\gÆÙu+ø²óíØ©ãzÄÐ#ãËïW»£æ´Úá¼:x«¶úHtL®³²wNÓñÒeG&ðõwüÖ0¢A ýÚNhég[JK(Ô ¿¬ûñÚM/o·=}¬Há>{øN-pƯÁLúÂÓЫæG¶~㻥%S|¬ûä&48¾Ï~3'tG90x¯Â«DÇjð0-6'"Jb¿SBn¤%Âwf®¤¢éÞ#i§&= þõ¦¢wÚ¬C2êt'!ã@m
'qa$äUjKÇ¡k¶D2áò�Yç$nNÓlã búB´ôï¶2èé:Pbìb!Â÷Êæ4!ÝÎê0Pi[O4*K¶1)Ek=MgÓâh,~p_¾ yÉnà³Tr¿ÆÀ_ºÕ 0Züoì&aÄÈ©%{g"+ñ j¦ýòÕÌjvwÁ]ÍrdGÕÆqnxp<^L*Î�OãÈá1LjK= ßÎ">g'èø:¬S>·BqA¢sDý§ÐÖÆãÚs~K²æ³Z\âIÿÔ´{¹$êþ¿ÈS6K¾eó�±am+TÏfcoÒ~§×¡øÚn¹Î_?zyúGÃYÿîÄNõK]̹¶ì§gÀÆvH¶¢çªb)'Å5Idj>µç¢W¾í¥:øiµe=}Æk¸ÖJ
¥=}(+%°9g¯?d(xÄo7¨¯s&K±øÇÒl¾ä"zÉÜøYÜíÀÚkv±#mO*süÂGçìR@¼3'Mý3.BB]Ï= a~SÀQ9,xìÄêð!Ç@¶Úu50*!�y!p°ûó¿VäWvËLý4rIP2Î6jèßë!o-ÿ<ØoÉuἤÉ@¤;|Y1H\êÏt3î÷âÿÍç«8n¬~;:qB@uJ>ð²ÚlÅQñø5�
- *j$^örÁ\Ì \\Ml@1kë+̰¯îÐ÷ó2(Þgã+Y:ÉXÚ5Î%jÔi^ußò|�Q¬Ñ¤bO¹È^[)t+J
- ÷%jfÜM@V2ñ¹Mîx9V¨øÚ8Na)ÝÁðà¹4ÝÊ·øf#çTÆps!K þôP Ê¥Sü¦ôM»Wïæq¯¨5#ÀAJ'gdk®zÉaÕ)IÓK×6ò¯×þí'MÚ¨j=M
<T¿n°¥Vi=M&6hߢÀ×O]M6o
- á&ÆC^é¯X
,¸ìnI]ÀÁ^z»d®¯I¡QHm¦©5Õb áÍ9þ6âi0}AàÙ+
- îÇRliû3^äÈ»]ÊR6i¦v)^æ\^UlÝóPc"¾Z´nGQm*Lô\@¯a wÞ×@@ðªZr&b}ô5êl½r,uàþºÙTfСG?"
- Å«>ë]ËÙàôû]µ|ÞCë*hôóÀ&ÙõaX_[jz|#(
Bä£NÁ \}ÓBa&¬þWnGÕ$GEÏC=}¶ÀG9$p1øA.\öj=MV' ©Náõsò5è¨ùŪ·¶ÿÅÞåDê¦h{ª+2®¿-'«ËºU,sØK-*uÓY(XXXnÚó¶Õ�yF/EîOmõýEÇÖè@vð¿×éÿqRÍ(ûQLW;\˽bnl=M<Ç©a°Þ·½ñ¡MçUÓVÉU?ä{2âÆÔö^Ü>°þÄÅSe[cãqØP*_ÏkaUpvÇÙ|fN^Øý:7.6x7\ûñ<Üß$s=M;ÛãêtçÚ@íd¦û<ìç·ÿæRz[¯Ølß%Ëûm½/HpyS;;g"
Ús;= d Ç2ý®ÝÒÞî¥STåiÃcQ.½þb·Íá/3ð´i3oÇ8uCj]$§ÃßÉ颼»xèO¼Çµ×hÙë£.s~·xŶUw3ÔÂZí×IFÔBs;ëý½ì÷!eÆ-dòìej�¸L"ðµáÓRîejj×{ëejêjíÎWÌäyz§¼ºçbä¬ð§uáiW2Õ0õ2U6=}ìGĽe3>ë«_MR¥ò¨^Á´ljs-g"Ýëlb]ÔD_Mάa õè¶ádZa ?¹%ÄñÀJSy'÷tUDdÓMùì�/Wï/ßãæ<UL°-t$t¼MßÐ- ó"*R¾X_èþéhJé2R»"XÁ°¾ ÅLWofEå4aë K)@Êúe-¿òÙ±¢n@;öôr¬\cÜ$øY¯NxúóßHL´¡)¥pÌIé"¯T©ÎØ"H® Þô7÷IËoÌ#á¶ÌÊ'çÅ+¿ª¾5òèÒ|ic@¬;MVï7¾m¦ûxy±t¢FܦÈ[Ê8Y@(KlXSü©éälã+7¼¼Õ :=}r´Öú=}Ú2/ÆÆ ¿"éuÀ¿r;¿r;ÊzÇj¾©1Bµíøo¶Îi¡4õx ?PÅ´6,>9¬|¯,9ÎäQíHfÿ9UÁüGoA)\ïú|ð±ìZWôBÔ4i)VÀçíþÆUJÓn÷Ìï{¿ÛCQ
¿Íp{è\3´
- δWÊôJ1¹"\K"5l
iýI³õÜÏ�Åb¹ÅD¹\FÒ)¾Ä_×»jÒùk)à"~çp3̲]¤ö5À¹(°n5k½¥çY%½zaTìd= ]Vµ,XAG?
- Ô/ùÌ$äÑìdX-ØIÙq.iÖ9²ýÿhÄx;sÄa÷eú¤Ùδtlã÷Wê¶µüs+}]å¾g.¯Ðm-(-däþJÚ±ké¼I%i¼-Äj¨ü<3= ÕsðKߨÙäDB*xgÕI&¡·òÖATfÕ+kÁ6¦Ñs×Ò^÷^H!ÜÆxÕ@¯m²ãRÊ0ýþYÄÌk©Êí¥4°Q9îÅ6}¸vOÜê(ÞGô~qWrd½S«½1Þ]þÒ('+µÀ§øKÔ<ÿ·;É-!ÝÅ5Fo@ä²øe+'.ßÔdë.ô+Ç£¥lPrÆÑnëÕì7kЧ*E(fë*sÍIHLꨨy}µJµ4Di.}®P{ÊBÀ±0ã§ë ]î&[ëêå6<ùàßÙxÂxÕØÎrEÕaÓ¤µøÊ=M嬢§bKÐN|®ºÔvÐ+<Wugã¸b:Ças@®r<äï "úøkDlBX/néÞ<§¤7ÆsÚ -æÂlÑ|'Ãd#ô[O">~ÃÔ»Ú\ÿ¯'K>^á 0ÿKDõæùVæQJ,Qü'ý¦^xâøöà,YÌhuÈU=M"RÄ÷ÞÞië@= Y8uL DÊEì¡è¡ynV¹´ã (u¥ÈêMDpªÈ®hKÑS~GúÞe§ÖÅÐ4Ùpê¬rðÖ#V.¾¦³bIç×}CÎ)Kú6VO¾*iÂ@ád7QH泿AgL¨®¦Òþïô¼-Çöb½4IóH´Ì@Zo=}àyK?Ý«GáE:uÿ²D&&¨и[h¥¡w:z|êÖ>GmzÂë�^ä4°Áè]XFª ÞÎÎèyW¬L Y¶¸Üùþü ³Ô63ÖÈtÃ@-(¦¼²µ\*ÃäÒv¿IH«y%ÏÓB±=}kÅÌ÷GÍ=M[íNî9rÆ.ÞÊÍá= 6ï2-�N(¤ÁYÀÕDz
d¹äã?%B=MÌëãÆà(°#>ïOí]9¤ûÙÆ¥Íß¾=}Ji1z6.~C¯õ¾Ò°=}3ÅàC)÷!jSnS\©uÑxù<ÝÒ= ]ïQf*÷²x´ýÅ�ý&LJÎc2¿Yf÷E7#øÑµ?§:ÉÏhÞ^.å.Ýȶ£=M\/@ ¹ØõóYêbÊ\ïu¦²a´7vÒf op´bÈ_&¹rzl¡jÔ¿öß$YÜNafä.p,¿±&1I¿Y= }·Ïx{Òì¿]%zÀTÚ6CæµÆ1l÷ùPõòÖZ[1ìû�+WzÁzÁNp!n!bK Y= ´Ñe+wçvæ°\Jª>÷¢0?cc6ÚA_d´«vr¹ÞN2¤k<6ã
7z, µYô¶¶¨×åþÍHxDôxZ½WäøÀ>>Õ(æ8ÿ),Ü/>2¤üÿµ:GËj*&"fDÃø
TÈ5Îõ0é¡üóiV%:õs88^V_|§Põ³~)ÕÛZ
- ÐÒÕhþÿø¯KBàÆÂÖ9ûcþɵ¥Ð/ôÈíZ¡g&= »ìJ"øÒhLeLKï0û©nõ ¥mý~öÿýÒâ%àY D6Û[s
n¬o|¼Üd½eÐ<aú̱£3§çIðõ=}n0 Ëlp 'å&
ÀÞqDÑ,@Ýùq }µbâV&¬5Íô3_FzêÖOÎ
m>q¹W%ÚaıÕnÅtx¡+Ü~Ñ@ã¿'¸xÎÃ÷ï0^ªw)WS®oiFq»Ä© ´<ÑDöÛNO%9÷Sr¼Ío÷!U6ÝØç¦^äw»ð^ñ=}57= iæÌÞÈÍùî§Õfdµé:òÓA¥×Ówp¾ ¾kÜhf/axr®·º]àßãþ¸«s¥âòFä½WÁCêèc¹}h~¤ÉÑν1÷jlyú iO1ýSZáÑÂP¹oV#¡²ú ʾÖýqo¤;j3wÁ}ê4wéLjgfêO
0n-? gi¾þ÷§@ϲHP-iUÕ7 ¢Kù_<UòÎnÈH¶L5)[gÅæRâ´.ßÉ^sIþ¾7\}~J1paõÏËQ,wJªÁýÞSÓ.¸áäÃÀ·t/ÅÝ$ÅÃÛbµègÙ¤9üÆ*[Aujr$µcñ£ñ¸wÄo·UÏã{ù«à-¾ûZçn<ßÞ77£nÒäyZîr>çM®jµß&aæË°©íñÂÒj3ê÷¢Èh¤<U²"p)Ü%;Ùªe;^þð0!8áÑ&VÆÝèÁe'=MüSß_òZÃv¿= 2= k)U>'(åó¿ì]øu½ñ÷ÂÏøÞ?ÜåJîMl«ûìêkh]¿hmVï¶zg[]UÒ/¿Py04Û5Ù;þ:-6ce0CÆÔH=MT²aÃê*;Öãë6;ïmÂm7dî®,Wrû!'CçfEÊÐÓ¯UÖ6±¹Õ$¸ºÛ?Òy^ +=MÈ<
7¯>9eXe"i¥|±£~±úi
- ù£Â= (´ÇzuRh|ã½L
- â÷êÍfcaræ@âóÍÙPNÒælõÃÀ½
Ô@0¦ÏlÿíTùV.ÓPÜ;²e3 OòT]w<Qõÿ06lÂNݬ5fÝ|}IàælNÉû¬KLâ¼P6ä0®gÂ5®&t¹ÊåLáK9D塳· õ¬@ÞV¨Ëí³ëçÔG³üö»~%cv¬é
-
ûå GDKfêá¦sö«Ù�å/CXóùIí ØÀ@Ó= 0ÊÝ!K<ô>WÓÈ-è4 G{)öL8«?BP»«·lrõn·Éy¼a8_j̾Gy./êÝ¥öAÝû¯Î;Ýû@F~ÏR½\gÑö= ÐÞV0ö׬:î»hëFæùãí=M]¼Ùûü£{3 ¤ùp<ût?�ÅJÆ(2X}}äèqÉïëXåew}56Ãæv«ÄúºÃvn çvø±úÎ_n²©tíO-t~Öd(Ô6!õZhÞr/í³â'u=}m³çRÍìUæÔ+¥9r NtDþ¡\Gb0Áé]utÆZkêë?ý<Ð>ùLëé{Rôãhr®dg½ºÒî_Á'gf«UÉS ë1ÆjúSJÊQ$×=M_ÑT_³íD+¬®'JÁ¸Ææ8î6¯òÖ¢ÐAÕ²~³¡)BeêéÕv>0´ïOÆj¶%Nô¡ÑVhd4Q+õBÙüÚßU"þX ÀB´a.'}_AÜ£¶ã¾1¯7HñDò²íJvwS£¹ñ2%ÉM×3qC2° 9
=}Ç] gs�sl{�½_ÊK[®e«ØäÜ$ xïScBÛzÃ,C6!
r]?;¥f& ^a¿
?]²0B_b1oÁäïîXh&
ý"GísÚ³ÿúR
- H�QÏú¶}i»7¢æatæ ÖÉÔîe�o°= ¡8®À g(N Z\"íòéÇË7lÎëÕÜKorÐvíGõ7aÕ÷*ê&¸®<GÖá4ûö
4kDÿFØ.?6þ4â/¦Í{rÍzL0sæìðÏZþáëÏóJ
ÂNë-6-½_pr´/[F÷]·ÏË(èLJÚ|®5(´èæÒ²¬°0êרkÖ= Æýñ/h]0h?ØÆø¼=M
- SHn];9ÐXTêðpßq=}gsK9XÔíÍʧ+¹ânߪ÷@
ì5)'q@ ¤/#(aÞÇVUo:ÈÑå°r<Zr H»}:_%Ö¦·í&÷õØo©¨rªIÆù^smùj¦ñ7à=M¾çß^öM²!ád~°Á~&h/ y3#ñàÙ'nE¦»ÑÐÜ£h¤¸¾sÝÈã³
- )ù(øqùå;LbaHóÛê |ÿd8Ú¤õ̯ DÖ3MoXaþF¯%E #^èÖÈà[ã¥)ð²ÒOà_#øcÃõñ [ÂSÒlï,@|r6@V [¨;«£r7³$S#¶G SدÈáæ92eDüù?ðM¥Äf.¿YÆ&«S3¥s>tÌm+i»t DþOü'±¬GJ9êlôü¼Rù.3×3= Þ.:oÐE>K<
?Ï£ÖÈm·ÿ1q=MäÌUû×UÔÏØ80ë«ÞK¤x XªQÕ3ÓªÃ:ÈI°Iü38°<J%ùÐð0qÏÐ9PÉØÕê·$ðẪߥÿ¬»_I¡Fã?-uÙd.hÚÆvþ$¥_GÞT4¦¾3]Ý¡TØt½ìís¾oýþ²^×ÜÚsvüúõâñtÚI\ÌÎß®ZIn]êÍýx£ý ¿ÝÅ®¦tÓ¥Rªðì)xI(zî?*³'l5Í}¦³ÁUîyª±få%²= ¥ë_åd£R2 Ý^brÿÁ$0ºá$= :Jc@ªæ»
õìz>ÎðgNÛV1ãhQ= Qfß²4-ÇÒ8X¬¸£,¤wàm5è*íT8£*$cmChýSMrݶöpŪp]�U3Þè1lܶÜ;ós·ï)è,YW£È~åð>¼GhcÏ̼¸ÿþh
k
)d´QÞGb%è¼MlKìjý·=}k:#ÌÏðH3ÜÌú\N>Ì= ¾�ÒÚí¨ üU:.cÜá9ëFS¬=}r×½\¶ûN1k."T½¹W¿|;ZäÐúüßV]:0Ó|�Cþ;\YëæßÙ ÁBö̶~ Û#ð1bB|jèj¤#þ_ñ5Ä�ÍnZûse²¡$£D¨_ºxxi¹£Õ±S¾»T®�ÙØ4íA½kTÄ=Mf××íRëG²3\ï£NQÇô½FÙN¶ ý}§?¶ÔìvâX±>boÎgV ¾÷³Ùøl2NæäÑÞǪýÇ9Á¬òo§/gK~Xh#¼|ã~ðª¦+Cät~Ikbi3gK(5D¹ÎV¥îÿtÑ÷Wo¹X]m|FÖë+.\Oÿs¿ëwéR]ÜÈ6¡³ º�3Á_õ¯ú@bXT;xUq=Mq&O¼¡�&¶©üÉlÖ(e&äJ¦ú/éü
- =}Z¶µR÷TÎOjÉYÄ4ýÏìë@âÒU{Î\h'
- æhÄ!ðLyOgæyM0mØ|ÎtkýL2÷U~
Q¹Ä¿oy´T$°õ¢]¹KùáÑ騳¦±\i³£ÉÓ)(Qþe8O»v°ñàý\GKͯÚ)ÚI-6ÛÛªq×ÎE]¡Sç5tÙÃø91^
�ÅíM@»~ds½=M_3 uun¼\-=}X:i÷}}Ct:Yäå¸ÐUÀ70jäl©ôãÒ#nØOý%È6æNz1ÅÔ³A(ARO ¨;Àê5 ¹a:N!0¹çx*lÑêÎðjZ Ij59ÏX)<Ôßo Øÿ´üø ý9á®øéééçyÑW¾1´Êý×¢j+)õ*p¹+&æ¦é®9·8MxøDMHÐÂBÐ6|äù¶ñ«°TÔ/FR-öÿ«ºçÈHi=}VtÙ½IÇqXaåÔwB?lÞàoSÛ)Kùÿ&öàïÞKÊ¿.qÐÌÎT²=Mÿîý:4Bêp= ñ¯üæ´Nõ¦ýsô¬Ù¶²tVM²ó"aÂ%*ú¼W¥qïíöh¡oÏOÂ3ζn;f·FK-«lg&ÙJE+vÜ·= QË(á6ÿ°òOÆÈ+XTÝjëì8·pÀ¥_C;7¯ÈûîÑî/Ò,üõÏ|pÉ8&ÅQZ»*.XYÜÎ(.7±ÄMÙØáË8Þ×ÄàÌõ²òª¬Êíæ|éZ}²C´ZÔvÒ«ËÐC;õÕTK#»ìCw¿Â/e¼ørB4³³¯¨oÕ±3©^ÃÕ¨Ð!ÍËô ïï²x?¬.óK@¾÷Å·ã½ÜȺ³§Mt¼úíF2/T=MY1-aÀÁF×ù= ç_o%�AÑÖçæóÿ_ ¾ðuxÖ¨O4ªÐã8ò%ç@òz$0k-ÒH¢bt)tüVÑ2mæü/x_�;<þÓûAsvü¤kx7¬N5aÛ¢ØÞ¢FÓHz6^]òÊ(l ¼ù_MÐÝÁ½Õ/#¡çy4äÄ<¡BN¸é"Quú)K>èZ~í|¤è8ëÍzÙýÛÍùÿL¹èEÈÚjmr= èÀ®ýB׿us~òåॣ�Fdcæz]¨äüC)q©y[VÖüoxà÷6ÑW-4íü0ªßª«$Dot;VÀ¶= $ü3dCç2eióW[)°ÂªÄaðïË_wÉáħ/Z,Ú@ð_L<,[P-wÉá=M
ð
- ¶f'.iÉ3ô>»ÙIT,ª¨=M¶_ð_4
#'¯D ÙT}gFßË1t5îÄWogD×+39c,^»Q=M:Dçã
- 0£è®ZñxR¬ò1w1.¢.Â= Ý~5eâ±Ô)R³ivÊKÿBal!§%%ö£Â|~?uèÎDýx{N!ðiÒh°Ø¬CSxKVv¿QÀïMÁ"3©®-üL¿èg#5-b,ìÀMÂà{¤åØSâJI¯Ü£o¬^³z7RùÚ³ EÍôwàû¯HüHN¤44¬¶D 4¬÷MÛÙqp÷ÜÂ&jéÒÜ ß = ^= HæONó]º(åý:ì &µÔh½/7µÌ£<Íõþ
Iâ-
¤þ)Ä!õÌP[Ã侫È6~°ÒÐÝögGÎh
¤fùßIݨ�ÖRq-Òâý)ýN¼&±Gx!5NGÄ(ÖÛµWÜÔ'¶³,ó&U¶Ã$ò³=}ùæÀ5ó{Õ®Áðw#dJ̼÷Røwüé=}mç}^¦
- Â= ¶Èªæº¨§eüƦ»¿BtþÞÍÏKýb§zu©rþÙÛ-Äû"MF¥m6v
t0©ÉÒsMUcä4fðÆá²÷éT*
Ýf®6ÞMW3ñôY=MöÎ)Íø¿¸«hèI
WÞ;gÈt·Íúèk£ ÖiÖüìÐî kkm/ß#1Ù%÷¨çdFì�XtýC Þ|ùÈVA4ÿ'9Õ%ÜËèþ mܶ&9Ì}縫ÏUÞþÍÉàâV¼ql
¯i:Ïwßô«ÇªSâ\aØYífF¯¯\ÃaUU-S'õ-§
- Ƴ¤§êÌZ þ×¶:rg¸KÕ»2ô<¶.}3hêõÝC7.ä"ôv?â¾PûU2ÙKë,FÏ9ÎúÉü\¥䷣©±K÷麫ô¹� çöÄç0.D¼ÒEÿÓq°µß-Õù:Émî7àßÅà4ùÌùÏ¿Fç*^^Àèoï#Oߤ «Ã®ä3ø_¶§|Ô
¢!vg'Så¯hÎ÷-úPy² ç5²YIæ»QÊxKá#P4êKÙèyËw só*C@d*ªä¦#SåGÖðàïKÀø®Ç~\¹ÁHMzõ¨øL5óÞÛ0Sô-÷ãæL#UB¶N3àÌt®ETp¶Vt!CfFJ!"õ7$ôüT OÙë~þñSw&Æ|=M_¤´ ÏúL̪\§½&=MD|
Å>wkÈJ
- zµJ(ZÄ¢A·øF¥J¿·l-'gÖálÈ¡jAEúN¦<ÌÍ-ütµæù±J=Mæ³ãÏ[ä±Éº3ß«*÷¯zî±n#ý´8Î
]þqP?CÚþnn=M0åus�x¤Û2þaóÑv½PÛ^c«= MëÊ|¯¤1ÂW¼«õ9
- -å÷?¬e±¿Ü¤ÖGü-)ÄüdãnRP{õ!J
[zí¤M8®z y(^mbpî%7¸úÜjÉ[~ÆRä;&âx^¼^+tÀñk9¨¿w?#Æoä¨ä"¤b¢js\Êxf�øX'~S ÀÍíqóiX[P¿Ã½TagÅÈçSUíÏõÔNÎôKÐe«
¦ZXh¸ãø3Éw¡X½ª[²¶*åmä !¯(M+©Åú¨Zú¨lçed½}±¯¶±÷¦!"xB9ºBo§pJÒ©¶"¢:dUÕö©Hä®åø¬É*ÞK{HhSÎAUîô@Õ7<Ùt/gÃȲ¦*öy
«wô£îjÆ
- WÓbà:ÚÎbß§òñ[=}wÖ:¿©Eh㤺ÉQ·9¶W6z×vuX/¹RÙ®D¹SÙçØÃÉ-rà©È!Z¯ù¿KÌCb= WÃîÝæ!þÌR®U¼¹s¼å¯ùÝf¥(V@Äz¼Ã«<ÂõöÄHô@('>ã(ì[ZÍ#�)0ÍÃz¥|ÌFØ�ËG®{+ÝÉÜ7eñ ®=}úó!ò.ôkg>X<¾ã}ãÄÃWõj%Gó@G|ð1ôEeî,¥*ü¾°É$x0Ëg±¼ò,Å·tÀÄÔ$à4s¦;GL¥È³.@®};FéÛÑ*=}oè/jlð£Ìú¯Ëø=MÑy[Ú@'n?¬íHðQ9O(nÄk%ò9OU)k½%Oÿ¸,åH°(¶D×Ú38Ù9}r¿åb±SOãÓô¿gdU³{Sà<0²Æé\oÈë·c0d´·r3ÈW¿Ò¿µXz= £i_9ëmwvGàöýÔ{ËÈ(Hèòn~æ*Ú4^|ùç*ëÏØ+ô´ÀµK+ѧ˾´À èùÿìÅÝ5
- .wìhµ/nã';¥Å¥
- ÀY˳ncõÚK4ßuß}rtèó:-/Õ»Øsn½K¼E´iÇ ÑÞ4¹0Ô³5I¨´¹*?³EV*p+pÌNíxH]µVênão×TM8¡ÐóxÐ<ú¶êùÔÎüªÝܨn|llµI- ¼{¹�«Dê:ÇÌ]5\¹ÀI3(Ϧ®0"i4µÕÌÌßU/èÓZĺc¥¹EÓËÇ:KüXÆUû¶×«ÓVÉEQ°®ý³½©4^·z&*²EÍ|=M¢ÙA:ÄÚ»S°(ÍçLªóª©iKoØjÁñò%/YÑèFu{ç³2Xl2Ã$Ã÷¢R³/ïË P¯¿XÞo´áªÖÝf?ôàõdñy«ÛöS㬦3n×ñ8¦(Q5ÿ½{
- ¶�m¡¹WÍ~óãÓ°Ík©'>ÒýÁCصøqó²
ªòÐ_HÕ¢öóÇ|Ì®ñP°z}ZÔñÿSÄÀ9á±y¡ÉA?4ÈμOIOÅðÍioBÅ&WlÃÌ:Ëx¯<ayaP3D°rá:o&p®½= ¼còù¥þ!KQÎCÌKéü°e¬ïäæ9²äfÊ !¤´1©¿¿Æ;fjØeÙ¯<¬hqNÕýY×C´pÅ¡¹Î¡þ#'åc(yCÿG?l{F8q«è)&!^¡ðQZYÔPA*f'C~×ÐYvíòÞÛøíÎ3ø'ÚtøúwyÀúNãxyQ¸Ì%¤p\ÃwíG]mHQñ´o:Ö9ÕÌðÜøEXÙ|1qM¦@aÒ4+È[ÛàÞ7Ëõà d×rXuX·mË0}¹é\ù5EÑÓ3_7£·Ùç×ï£0[cf¨Qι°Ô´ ÎVJxÝn!\ÿul¡N-âJÊmVg3¸7D#\FÁxHµ÷áî=MnT~FV·L*E«Á-ÉáàÀ·
n#Ât¬±½¦zÍQÜl(E¥2K¿´7ý&.·+%òMRîûyj-áùè:(Xò#µß±«=M@µß±l÷ó%j%´ 3Gíù{Ç9ª+äz,¤{e£®à´Ze®+þèÿ$[ÔYT+þ[ø1f
- Ý2@5gÐiøÌÌÁÔÐ7;îK¿Úái©Ê_t8¶ÊïÈèÿMçÑç%e¨Ä¬Ï«¤k äUæ0²ßµ÷ßà8¬¹àËößyý7NÐmEèÜù7åÇFôo±FòHéì.ÏßUÎi»¦Ð3Kó9÷VTr¾¶ýÕ!ü!üWIMÁ×výH¿åDÎ8](IºÅ _¸òCYç±êG�å$$
- ØËÏJE
µ~ ½9¿µ-©#då¼pïÛRñ_jE]¥.]bÁðsPbYü"ÐyÊ5Hmído·êüäÀÙKx¢*½1ëÍtuÔS<RTeÆÂ´wŽh|P;´3íÓÁ¢e}Ï6Âlhh6O=Mj¬,AW¼x^yÑíÑÃytØ5.Õ³;MæGdﲤ§ð8ÎEi¤·YÂBR$À�¼4¤Þ+U~ûrAÞÀo°Ã{§2ÞÃTA3gئ6ÜÑ$Á1ö mBé¤g}<ðQ®«c;|þ×"kÅ níáÔM¹wG¡\PmÊ7ÎÏm1ø2 s#s=}#¼ûõ'Sëaúð°Nh>ìªÑã_¸rvupC¡)Æ]ã'[,³ ?= bÎ\FÃfìÔ,ày%àwS«_¦à+Èå²1VüVx[EÚA6÷ûF5¡R
- {ùd»ÎÚ·-¸R¸û ;&ݱ2,Nݯ3Ð2)°QÂT Û{Á¹:¿~êVjdÈjýËÜå1ÆmAsÕÊÛÁ&æéj=}²bi߬_Ô÷õzáÂL¦´»¯ú/´ù]±Ó¹(F¡ßu(±4&| ÔØ>j¢«Ï*9*±ê ÊÒé&&1üä³mc±a´FCU"ü£òº¨±¢»©iݳùþ�©óÁ*©Èþ? Î'ó+ðÀÏ:<õk#ÏPÖZî�â+»ÑêÉ»ö
ïã5xÖd/É)äÉñÂÅ+?¬ó¾~ªLÅÁwzøüêcä©;9©¾XroÄ3
- $âQºhÛ
- Ç;=}cÕ¤æ ÔÓÂOÉe?ÃÎÍÜõÉkÃÂFÝPotŪT1Lå¬ôN{[ݳTc :RÑmÄkº±V ´/R>¯hí=MNK'»54¦üw+wð2»çv(Òêа{½¡),÷EÓTeÖÓsuf;åÕ)ûó=Mûå¤ê¥>[Ç8%¯HßÑ«ÌKÊWU9ÓÅR÷çc§/E¶ÀÄÆvǤ¹JYýN%½Ð{9:~®Øêù2öÖÕõoëËÈ6ù]ìÔD÷w¶ô4
IÙãR¸_.WÉsßøBTFÖn¼]@ÆQ= ÒîBRê#L"úÛLµêÔù»ÿT*NÞÊìiB÷$à°¹,{9?%n)ç·äJ%:
- ûÝÆ0,?ìjV·Nç÷ÛÅ«IÁ²MÃ¥J±Jx%õ¶ÃÚãÁ9KocƲ 3*4^OìÄÈ.òòø"cÄplh(SZ+ovß±h¹ó²d¬e´jÇv¸y= }=}<w¬]bU¬Ý1ÐLèì¬wê-02Ù»³C@DÚ=}M.Í»qÚJPà!TÚF*x8|¶kºISÀBV~ü^;)í83=Mù-Ãy&a§÷_;à;A{D®Â\z0,m4q¤ÁÏÿRVöYBFFdýbVR*Gü$¨=MÉ ¢ºqÀÆùLeÚôj±bGý_Ùúü >ìñ¯ë¯¹%+ÅÓ@cK%%ë+bO°ö=}JZøíqNÇ81Ì|ç2ݸ?çøAQXl%'öE>Äj¯ïùc÷1û \Ú Ü9öàHû]Ñ7�>ð³>óGf0Iõ8ïÎï73ÓD¡ªìû]°ñmr'æþ[h7ØdQÏÜ.àh´T5 Ö"Ý AòhÔ
ÞNå=}ÄÞÎ2
- ¢°ºõsh5.h¢H¤gNhÖøPÂs4§ÀÿÒKÕÄp%ÛȰ'X\XsùYÌAè±ËE^G¯))=}<ÚT»¬À+D.¬ðܸê.jSÂàb¿,´ïªHA¬Jc°Ú~öt|rè#H£ÝÏa¢ÙVjh×åHzñ>Ú?^+*±=MüÿFRÍ·ÛTTÊ[¤ôFfæ´9Õë÷Cäs~wÉ?õAãJMTÔßÐäR4
- ð¢¿1jô<Ùì1Ûh&g©,ôRM©2V«ãlÙz pÁèïÆ(} JÈÍ®>¦tkJÈ"~ÌÊÿÈÒ3* ª"ÁP_ö#¢7Ê<²4OêßÔT¦2·Ô³r[¸Ujf¥êÒCû:TÉã14×Û
- *DÝgBMfo ¦|ie¡Ñð;ÆÙÃú^Ú]º³î ÊÅ Ý/ìè\m²m^I9l0¸øûíÉÞO׿µ¢[½Dâ-N<+©}¨yL*ö?$=}GÜ"x&ópêBýÊT?aΧ?,S åù^p'®èy(h\5Q¾«)¹»,ô»7Nô«àè)J%KèíJ%óWiD¡ç= >æ=MÀ
- »Ä2jr6òÔ¶0Ǥ;¢i¦«bC·&i°÷èõRÃEÕuYL_¢> Þ"½¹8[ÉÇ¢LÝ#¨2:+"Ax¢Í¶ÀÂ[vkwN¶·,-%Ô /Éä©j<ý
- =}È^äC|,p[?g=Miz]÷>YÚdÐsBÎ$G¡¤-TÓi0pIjèY9c+±·2¨«D½w'Ð7Zd¼ÍÙèöùº?å½³+D¦\@z]Ýåâù»ÌåÂE=MLñ¾Á$!ýý4Ùzò=}nJïl38øi&b�ç\
Äìg®xxóùs¯ÎU^;Ý-Êm}½Îçr¨0Û9³±_³>£¤NÈ~7)3ÉrcÀ<Q´wºhÙËþóÉb ö\Û?AihÜÀ#e¬,¶«ØÎ·9 Äå»e(y;ÝbDåzÁ*à=M)Cæ]½ø&öðÀéé+¢ãÂçnO« nú/êBömd%aKõ/�w¬§Þ½Z¿ÃK¿¼Íº·8n!%m¸ßâéÅÿ6'õÁlHMú¾8ß±Dç3Zñ~{¸×'éR×tüº= èÒÚtº= {èÒÙtèºàEj½pa¿¢52<²Ç"àaÚ?÷ê3AuI½L©5¶IÝõxüÒÔIØWn=}Z¨õÔ=MÖËtðcúRæt¸¶}GÈKÎaÝGH¬*4ºçbÔ5pö2¼2ÈÏéw°C5[èk¤Èòè¨Ó¹02G¨ØàQXÓD0ÔË
ä:P=Mì
- ¦ã'ÎÐ9¾OæÝ_n¶òËö8àßK¿[¿Sÿg= ß'jý»28¼2H¨2\-êôQÔå]û{)=M�ûtJQõy=}Yjá\Ï=M¾Ü�¨2<vò³«0ÞhÀaú±*}[Fݺ
r%Ò{Ü ª½z
µúiMÿõsÝÇÙ Å@³^|£_[¢òyvuo4êwo¶ª½âcüëuj¯°ÉÔÏ¿T§÷ØúÅ{tÇѹÅ4wlÑsáûO»ÝÈZÓw)¶H{k>FoO¡õu&;f)�²óíÂõä[Ü2JȺ(ËZgãÒË'�ø8dFUÄ¢o¦Ä(AÂÍnRâ_¯u3 b._rmµ:
ÿkU
- ÿUE¼´º£î´ÍùÀŦhç¸rÍúj>3jW?Výß¶tÂøé¹äGùD3_\]blÔ2ÙâׯÞ
- !÷[ãçÙm <L§µé]ïî!;ÏнA{¥¿Ey£Y:c¹wBÅ0Eÿ"³ïÆ"µÿ⣺âZô¼mû*;q kræJøÉ×ä!CÜ}he¦
- Vï^2Ý"æsä4 ¸Ëå,ö!/¯Ú^m Ìâ'Æ#:»GP ÙÎîCïµË~ñ^æóvz^ÐÙìÃõþèöi®á7¯ÝIã±QÈ#UúKoöÖ'ã¼8ÈÙ)ì÷å;Ï-JÊDÅ;¹êàCòësÊY¦ æ%á¼-£íxo&vYKawd÷¥Â_g{= .Ô´Æn¶ô°Bx¼y½Ff-ºöbþ¯Ô=MÞl -V¿V(àA/ì\ÃW t'SMÀÒõ.2åÅÃS»øºhFÉkäÇÖ®U_?[J©ÑÚÃïIt?W{3í4¥A bÕÜõ8ý)DëÄÀ²ù)©æÌ<ÍL,o{°Ë6øß±c»K= {m¸Rµ;§Íµþ
- ôãrÌc÷¸±>zݶ¼æ§lÔ93éI°ÂÐÿ1 âË
Ýõ= øëÑì¸C=MXJé
¯·x:i½×à2´ÕJíÍ ¤ÃIt_¾ðÎk=}äLg÷ëµô/�ÜZIq©©Âá×9Ktÿìl+B¾õå0¦»ÔOá=Mbë<]=}hG¡2=}´dj9dS «Ài�ijÜäÇÙ/ À}º¤ÎXõüdè7«]áÄÇ�#W= àGfa»¦»yæjón=}:.26)8NµEv·>E¶6ÑzGÁ4pÚÏ$ö/[|w;í= ÊeøÛrù¢ÎdQ4àý¦ÛüCAñÿ\= øÐIêª!$~þ°
- 4×8-¦JOôÕG{ëÊ}¡¬D5{NEJ§þZí¼éôCæ£×ãå®=}¥×*½ÑS¬Cì3Ú¬qâað3ö/ÇU|¹Kô¦Øº<Ûñ(4ôï¼ñлv8¬pt¡Çm¬f¦ð%Eõ-÷Ë(õ9Ì̳oõ)ßH-ǫ̃¥¼mSâNwöªð^ãíQFq�1]§w°ôJ<¿\×·å-Wu6ë]R-äú%I¦øØºý»3 ®¦µn¯wÄ,·Ç¨w!Maë A tØ*á= W©Ûx-¹"¬S˽XZJUz]s>H²ÜNUÕ�1igv[Ñ8ªGCUÎÞ¦nõûLÞË<TI2åÂüFz/ϸA£q_ N=Mðõ/Ù2¶@õ=}æAwsGÎùÂb¡Íà÷åacp£7+RYÊ(5#>¼±ÑÆ;K·nê'(§YMÍø÷Í®(öóPDwÉè1¶5yê4É,<óÓ^êYçLÑ\æ_æ'TqìÄæ×èëk!Ëpô3)ÿ¦ûº½yøî)1ÌÀjûRi¼ïnòævZ-ÔÞ,zmÀ,´kØHW¡ 9CÃDØãö4ØYÝL*¶â\v
KlHÿ²øMWþ¾xÜY8PT¿éEÝC
r>g¦-ß°«ëf¬e¬Ö³ÿGÌS_£Ïà~¦zSèÛzS¿}¸Yõ©í£é\MOô®®3ÁÙp»3²§"B°G!+æ¼o=MâÐPyQË<9=Mõ»ìT)è�õ³[�¡lEüã^Èÿdjùù¯£ÿÆ\Ç».[¿£YmÃ�¼éýó|zçpÝóå½m·J5ïÉÁM -÷Æ8-ñSµ¾¦Rl%¨½MEa²5\÷«ºÄGw®ÅõÀs%~ÃH¿¸l&k÷<n=MLHÁxÓF0Ø÷Òç¿EºÓ~\[tN§Èp¬Î'ÀÉÅâ{g¬Êéê-çÒ%,#èy]6¹Ñö[º«ÿÙÂQR¨ÑB²:Î@Ì&°¸V×ÂOóSöÅÍ<²ÙùS
- .Wá{5%
*&PË{r+o
- á{=}% G+0&PÎ{2-á{ä¨þÅ_=}²ûd¡=}kb&4% È´DpªN·ùß á{ô¨^´âzqªÍ¥g¬³õ¨.íF-¤!í$j4ññÅ´³-ëÏ89¨©oü¦î³ô<49¬ÚK¿y GU¯&ÕÜ-)¯ ©ëÊá=}ÿ®³ÌãÙºÃô#ÑãI£hÿ#a¥Ïp¨k¸Ñcó¤±q¨ËM«£W²Ãõ#ÔßLäÿxøÂâW²_ø>¥ÿÞºÃõ#Jr¨ë·l¤Õ¨ÿ#a¥ß ÑãQ£2;®Ó÷#@®N8Íã!@õM ½Dî/!À!ÿÚªúA¢yøð"bv PúÚ~V ,N>" RY"xpòa]|¡ú?Æ<dY"{ãÓæÓEÙ#YYÓÓÆ=}¯ín7úÍÖm)ðþ]ÇÅÖ
- JgÆÀ¨ZøoòòLí¾×)pþÛë×bÖ àE¨®=}ÿ¬ Ñ7DI¾û·b¬Áª8÷ðð¬øsï§Ã3ê ÿÐøþ¬Yß=M9J
~ÛPÞ¹$B¸= "JÔßÝU[ÜÖ~5Þ.FäN«®Àã\"ð©YØMç\ïÀ¶yFÚt+ØÆ
- Ó±mÐä'bÿ礩À£Ò<:ò¡ó×h¿\¼Úà@ÄXþ ÂÑðTÒPåqï·;µy
- ×"á¢úbRê²\ÈÖ¬ÒÑð¨>.laé¸pá6ÿc¤Ïßnrq«=}{½[âØÔíºñOlÇ!1èõ(ó«"¯l&N{hÜ7façz4Σï¾âºï-ÔñaÎ qcÞæ°U]Ëg¢_Qáξ.¿ ï]÷ðr:z÷ÀÃcÒa. '¬-3Ë/yçBw¿ºò0jí¿'áÞ
ã9ßÕK¸Í|6 vùâ2wä4PFay»¨ô¼Dy½·;=}ý®>ýE¨E±�Pzö#èå<¿,ΩªÔ@yçù´!ô ] ðÞ¡íß�Â2cµËt q¾¶AHûýM&¹Pe㪬1ÃÌã»Ä!XOu^åãJ8è2¥K8Ke]ëFw}ü.Z]µ?Sùà¬>ùyÎþñsºëí¿ùÓ[ûí>ÐUhnÔBäpR*ž@hÓÒ@7À
c¦)-ªI«8Ów|íà&M¢ì·Mú7NFúÛ$7ÓÇ2Áú&®ÿ´¸§ÑÒ³Ôàa.1ên3B6Kå= âk4NèD÷¸Ò[AgØÉ^\M¿«DÍ_8ýÂMfT>¸bÓÃ'ê[ÔõLu^[3©N]vòý(7UHe3¤Ö(sQf+s÷²ÅR×ßÝïë\Rµiµ²Ú¯ÝñrípuÜCë&ctJ+=}.H)¾¡âïþXTGíä¿wc´MÌK;ÎÍFÂ+YHÏQÁ¢²ø¿QR¶JNøäÆX;¬sqK^ ø>ãcy�-(DsbÜx:ÊÚ($EêÅ3Vz0¾õQYÁwj:^vf9:î5\Kàã\û[¬È¼ÚÎÿ!÷P~_Þ~üw©ó®KÀÿþÙG´¥æàªsä6³eÃnÌçn(QÛ+Ñû {6ËÖj1.[mtp@ÿ=}'D2Le¿G_×w¹°cw°KCThB͵8×Ü#u_UnIôðÒ¦â±çj±Æñôõ÷½ZI3K4Åçtµý7:<Õ¼Rø\·»Z'ÐFÓúÉoØEqWĶXóÉ:Pû¾¬aGPZ[Bá3fCÍd÷=}8\úà-IÀòÌW-÷aJh ¡=M®[gf1XÄÞ3¹D©!;÷ï¾-ÃÕÓ½DµOx}{¡ðÛ7úcùH;|ç¤Lz£ÿÞiË 8¶ã4ó%¹ª,ØL}.9é
'Ëë= ò¸©#¼d kêDØÎpmU>NÑï æ¦à¹c/È7èa¹Tß>µÛè¢þ·ÈÚïi8æsÂp Äñ½kçßú;Jó°A¨ùf-ÜoÛË=}¾û£K2¶ñ$ed¹*÷¬>yIeÕúûTôî.E¥^,¤~Ãè«q¢$ÇçGdÆøb·ï@Q³¼I
- ¬ó)êç"ºrþÓÙAèÒû§àüZm??(£ÓæIá¸ÚKÚ^ÌË JñKõÌ)å: ,Ô'LÿúÜHhÊ8R»kXä?W<NäÂY寱Pý¾¯áX<:Ýå=Ms©ññQi²w·÷Ïù(æN,>%x|ë ²±wëEaé)"óPõx@áÝYnzÃþÓ= Ô\¥LuM"·*Ä x)ÜõÈ éP]Á&Fu
- yô¬©kwë¯Á_%ÂÔ+'ãOúùç¶¡ãÑú?¿ã{*ßXÞÜ+ò@©k7ÌØl7°À4
- ùÂÛ¬)¯"x}W±~°~EuûÑîVQB*éL=}Æ¿_V/3÷Üà2eégÝ<&ÛÌi&Òª©òµiÄËÁÒ ó¿iÜÝvüªkÊhFM«FÃW~óSRZ$ªq¾tò>0ã)¦k»|ÃÓ$NÍìsÒcÙÓã_ÆòÆ*f>äÚÝÍ+5ð$²u+)°Ó«æÑæßè±.¤÷fÖ¹Ó+¬[ÂÎ/uk<A¶~\·gCïΩ(/Ç¿XOk«¡ö9'«³w´MüßjcüóÁK÷@7ÿôiI;ªôöi Z¦Ô<)ÔaõC»2Á]Êÿ Ó8Øêdõ¾£8a£½xï.è̼ióêè4;ÂmïÓ×ñ£ ãÊMÿô¹_ÿ&À}hMswI1«?áeNo*ܲô(ù"/fTXä?¯ZÏ&ï÷¬¿º÷Ý= m1iR¢»z<k×*O×ÃçÑ\þ1?A{EÔS{Ûwg\[b=}yb5UÒp¹Ýc¤QJh= ^YÙ½sZÐ
- ð(tÍß= ×:ä8)¶Å¤6{§:ÞPðíSatt;>÷©8m¤ºoÖcàA{v)4c±^´?Úûâ×gC&®7Ù= ³}Rh;«Y¬To^Ôr6=}ó3ÍVÞbs,3ªJ[·òóµh³t5UøXÿÏÏצÅ$.ð?¯õì\áÂÍSl~WpÁ Ô¯P袽d]ï*OÂÚ8Ç©ÖöS§Òérï<ÿî)ÃC7â§BjD^C¥HÆJîêÍ*?{¢Æ>Eû{FëWÁZÖ?¥±º\K+¯0âHdzÿØr§#*À¥YùàÑöD)¥eE'ÚÇ¿u®ïM¸|~¨×_%Ó¥Ô¦;ÐØd÷öëÍ×þJ£÷w4¯Z(ýÉÛz
±ÄÁô,é|É=M&À|Ù�³£Rª¤cäè�hMbÿ.)¶£Ýý|.¬+
©¤Jª²ã|j+¤o¤DKËF¸8ÌÂî¬>póUØ´I÷µàW§´HÀ%ßåÁ´£wßR$íѪHÈ=MYv[±×ÿ¬ófÓÓ¡ø5öñRj{O¥bt³�ó«
- ø&®%M«« ðãvMU@¿¶m1ò³Y¬ÆÇ¯AË;𻬨¥BòÓÚÂ÷¢2dãÌùÌËùØÉiñDDÄ©¢4¦x:é¶ùܺNW.s-êOÞBáaÊKB>\ÂÁs±u¾=}C:'ô?¼>¡z¢¢r¢ò¢zâê%ã¡Csá«ҿ:$Óm }ûÁϯe´ s&yÃÝ£;fbª°Æcf®.Eâ.¢r5âì
2}¼iæÆ"3cìÏÊåc£m%ͳ ¯Â#æ§ëh¤¡¹èj::g"9 B ìÒ¬eÃ[!6â2¥n«ô½¨AIO»º-¢nåÜ#ÚUè¤/Ei!w~Y~Y~YÎM¸ñuÇz¢}ÛëÝ|¾÷ºÇÓ£fgd¦³BNÚg%Ás¼�ª¸oMbYÍäâtÛ%ôöO¼fh f¢Ï5OÑo(hË©=M³-ú2w+Â4e·$Pã»@éÍ÷Ó·ºßHôßGfµð(N˰3·LK¾ ßÚæú¾C¨o¶óà±s ÛÆ=M*ú xàæ¨YÑwÆ¥?K»Ü³±½+°ÈÞ])ÙDK½gr§*]í䨾ê¯Ë¤áåBêFåäIóñã¯'F%Ϲ%ä¨Z»ámÇ*¢ïO¤bËà×&ÇDÖ
- þçÎ*@èn+ìO±^sî!|É>s¶(àá¾=}îAQ«ôg¾K£ar^øÁÀfÒ)äçÓ?±Ò¯¢½!âu¡_Ri= i¡iËòfýæ æL!Vá�¢øÚjvwÉÒ=MuØÚx<nMíM= íTYÅý!ùÉ909á8»È¶h2èítã$2:bÓÌ2jq�qoi||OLwU3+Å]T£ó®0±Á± 7ïbî n&a=}G ]]ÛQq@1å] <H×X ,= [Åtåä%pÂØo?~Õqc¿}Y}9À8ýþiýÏbp^p p¬ }{W~×xwx7íÓÌðß¶¥v(¤sÇØ|KVÃg6æ
- 1~TìùG«8+¦±*ÊÚq¿Y/f~WýX7[ë&ýÑÌ¿ÑT¤)u~óªlõVÌJ E#-5×åÏ;@HÔ'BOr,($ëKãC/úôï�@b?úÞü%¿¯=}z]Z¥çÒÀF0rÃÛW7Ì!¥úîn&mìe:G¨êæÿ¸O�ÌËÅ3å?zhöAGQǹoOjs L;úy~¨¡£¹l̼ÿl¸î§qÐ{WwöÄê½úè¨iÀ-eËrÇHrR=}É«Âàì.ýݳܶ
- +[1ßÿ3Ç«úÓL8³-58zmløPä7ô7AáÏC·6I
¾+¼¯ö¢HïÊ~ô§¾ª"þªÿ6ìv³m6JÇ$s4Ågéô¯uÏ×L-�g¤dcÑ= |ÎxÍêõ÷ÏT¥*¸ôg6ÉE7Êõp)_ °Þrqo" zX4.´$3ЧÓWhw¨¾q¸b0
- Û* l(r>¨9ÁîYÈ]²}ã^ zLNr½°P= 9.bóÿ|o}r°,mËQ0
- Yt?2¥ :
�ÊÁazظp¬}8?þN1T0kaVðɶ
- Q| ×>¨©6_úÛ9�õ
- Õð{,ÎØ©Æ@_:à9øK^ ,_2}iEîÁrC=MT=Mì+Dâuy1[hr=}éª)Þ6þùÛudq7:péNÙçIº_yÙ�ZØÝPü@\xW|ÎYHN�r{paGnÚÕ}ìûrý/Ê]©á\F4OC{Úm"ßi] lèòÞéýñTÞ= VT 9'Wøb>ïý» ÙhF¹©*ÿ¡jß-Å]«5Öã$î6îÜQÓ}å¯vì
Ùê«×®µè?εn{ÑB[ã÷&�©Êºî*¬GÃsÉÖÕ=M±* Ûxgþ}.iôAÍ A§Ã³0:òïÈJ5¹Aë'súúñátn,õçª5\k6Ê,=M+É¥N®'àÄ
ksm£ÊQ°Ú-v«µ1Þ£³.ñHöì¶»û²³¦Óá*ç¢é:5àÔcøðß(´e<mEëc²´ñe{öc:íJ ëU(+È£Úscz캦-ß_
- ©*$R+ ¾3jµÚ;Z×lÜï©5-ãÑ+øoÆÈF©+½mÖF<Ôgäu<%/cÑJ@ög= k?z³6KéèøÕ£Þ¼gH-l³±ç]®+Ù [½zcÓCÏúwÆA±çóêm:µ¥9JçÛä寶MAw'o#;ÄC½3øÛSÎj2߯w®\êäN¸<¤p§» ë�HÃÑ'·M²Ù»¦qY0&xv)]Ð鵨,õÕ>ía$ø=Mƺv|z'¦¸ü,zòêûÀÓ"qOö?@É}}û1¾ÞýªÍl ÄZY=}-*è("Þ6S">|ßBL6OÏé®Wí°ëÝÝï=MÀvòüÎU¿\ú¼õPÏá%YqæË׺=}æþÈ?aæ
üÇײÿËÇóo= ÞµG*%ÈòrXõ*^NîíbÆðÞàÈÄIq@o=}_æâ4 !Oð"!ñ4'?G]æ<ÒáÇ4Á}ÄP6É,h,\JJ{ÖJEDÙíýåS ò
Dg}]æDdñÑþ¨Õ¿½KX»¹MIKÍ'AÕµ®¦Z¶îõðÏmþE-}ú0ud¶§xlk¶}úùÎ'U¨©á°û[
- ¬ZªO?äaj·«|>?�%m ÀàhG +0w$ÔLÍí¹å +ç}hÏþ±åþë'×åY¯å$cÿ'1¦0³+áøºÓqtd}Ъ2An^úôq&V}εõQëÎ>G1óÝ
- xI¦êqâKswÁÚ5s=
- Ö÷ÙlëA<NZçÁàB¢ ÞDÖmq q}Pª5u7_LH1QV¦Ú'èBaÅPK®o'ñ9«îën^Ua&½Øi5^
r ¸:¢JÝ"LÖ:*ðoô ÖÈÓT©&Ìâ ô<¹»2üϸÝyv²=}¹@ в|¾ª!=M}{^qÿµ]àÉÜ¡N©¼*ßyl
- óý&m2À$sy|â ûo|ÎuºXWIT&r_8dªµqsd¾Ôdq=}4êv-nM½Þ¬Q,0n8>²Á^óû]TîvEn?DÔÊѹßü¢(γ}ïYõ}øì<}ï¹]ÚÌÐn)évwmäsYÖ3" *IQ(|ÎÙâ7A¢ø6/<.IÒûZàÇOj>IÑ)âqftMp´,
- Ò!xJIdKìQÖ:îe1ÏQøÝt $
- Lb¸ù ¢<ñÿ¿Wãu<nzÓáa'¡îæedC«lݹE!.y2ßõGYf2^4ÆåÀJ¼Ý&5¤8eÖ¦±Ì¶CÑR#:èhv»È&´´ÿ¦÷Ûál0w â�é<u¸Óæ¾GböÌóó³é ?Ï)7eRrâï95¼³¸pEÍ¡ª
®\¸wÓá
- M*7¤ùSLFÏM6ÑGåXr}ÜÇ'©Ç]WÐ6èf ÿ#ÉwùUéCPDR<d<êXåÁ&Ô,V¦àû-kN¥Ò«âÁÅ<å1a-¯Ö£*»Ó_
- M+þg= í>%°ye»iaT= ;å
ÿXÓ+2àÕ×1àï}G½òiÖ Ö],7dÿ´°ãº«Ü;ãié}É%÷ý0Z8üærF¥;= ¯aõYå±C(]ÔíÀwFµ¾#*´#è°wb8MQu[¡´3lß[MÓ·öl=M!ؽQVK?ÐfI|sn+5°¡3²aCECóè¼ÎJJl&{ÃùP½ÁpEgãüãÕkÛoiÖÖ·W´_i@W#dø{ÿ»À³ëÕKÂQaêË!Í#MAws=MwÿæÍpFáå¯/·¶QduAB²¸ 6Çé)²{¥«ZÓHâ4¢ÖmÓŪ
- 䨴o÷6¼¤¥Ñ<<°Øo#Î_·¢ªQ«AÆi¯�»¨¡¸¨VÄåÞÿ~ü³TÎ%°$ÃÎsèóq,t8ôdï°/úzùübS;ª#¾ös$¹7ë±mË¿¢Û�ª7o
(êüÏßlWl¬nºAòî0²aviúp?ÇUXTÕÖØuÅ|ë¢2rn�la??Wöu|¡qÙÝ7]=};¸AaûàbÃýäPÊÈZß�ßI¯û½93
t!~5Íô,È:®pú
- )A:¹î²ìßQêÏVMæêÁHëv&ú¨
- îÇ5»¹%iF\¾
- *í²¨ ókDw= äåGÏ~oÖ!3zýrC�µBX¬íà·ú8 &^æpÉ=}&"ð8Z±8ÉQ2þ¾ÂîÞÒñÁ9зeÐÀª= \\êo^A*忦È
] µf%YhÊQr®´<
- aâï=}_ÞKgÛ!xi¼
ÒÇíÙH(¨¡³¡¦õäåD*Jhï,û+÷éìÍ3+ºMK+æ(®ÂÆÞvmZævD¢0VMå¡lîÄ"]VóæÔÅ^^+N³]QÒÖô¦Rzg¥»$bØFV)=M=}¿ZÈ_D$aÞ¹q2 ² fVO¿HÃîT=}«NEàçÁD+{bÑêmÉé×¹»6½
¥4+¥<ã¿G¤ ÕhÞ%2ÇFûøÿ'Mc}«³UhO.ó§¸ÓðþOÛjD15»àøÇÂìBéLÃ2~÷ÚN~Â4.4IiÆ/¯°Kl¼=}ÅÜ'©Ëß�|9bùýîiÂ^}b¿;g1Fµ§¦,¯Ö2Ô<= "¡h
- 2®ò»R.ÃÚ÷¹ ö¡ð´Wßà'#D«Úß,¡ã¾íåÕ©âÎJÅþ9º#íã<ÉTæx´¤ùKLg=MÚS»nz¦MdaYZqé}WÙcgT ©¥Áæ ¶~Mú¸òî¿°AÔ74Ù:÷úhL~õü0rìì}Z
ÜÑñÅÔ¹IéÝýÑðµ-l.u6ezïZÕÇôù¶Ïc¤ê¸è[ZÖw
þ0AOZt 4îÞ¹ïTÕvªæ±/Tøóz= Àöé¢xI.璘ìËêb÷îÖÅ%¹{þ1×wtë×wø {Oéõ{éá{~ø¢ËÆßc7Á²
- ¨Æ àÀ0¸ÚõP@Ûyû**Ú:åIþ1sEÜÛÈkÿç¡ï/ÿwû+»Ð"ÛLù§,açCÞa·¡áeõ¦ q@C)~B¿sFaqBÒoZLDay-?+h©C&©BTýMv+HqI¯¾°W= ^ =MFBXÁ¬s0òãÖÇÀCZa= vo©W½q
- æ gL¹ý§þ4|¢ ø6bP´ºÒÕøãº,.óGÙÉÈôGHÝÔsë¸Z8è\NEazºzðsÆ\Où_·®íså×ÿTYú\´.ç½Ãyà= d/¹iÖX¼CÕ÷zZyÚÛ§¦íø$QFQg:ô¥¨]DaâþÍR@{ßjq'J±"¯ÎsøÛCr4~Àâµ µÜñ°°mGré&U
- 4ñ߸×{�6\×lå&ýÁg»#wvý= 6Á© î0{#¬¥Ø¿æ|(@F¸ ¸ þ�åè´ù¢ïÄ coK°BàBNPìø/Qg¤sèD
- 6ô7ÄOOâ0êüL$»B¸tñÿ¸ûR)ÎÎЫ¹XòHô»é"zr:y|÷TX/4·þôCâ?ORcÖz:Ú¹ý®×7½nÒµ)t°åÐ.µùÛ½ô$Q)UÞ ÐX÷|»�.ÆhöôX0ÏOÀ
- а±2*EÁV)ÉñBØ"h]Ê79aLséámÍQ1<H@*iÐ~fa~p�_í%)¾.hõV|"
- gIYö�î!ýãqõ=}T8= ÓÁvó!NÍmØH°òLÊ7YWu1õqÍÜm\/ÁL¡i<ÒBÂXi}îDNÅq¨\PäÈMÑËE¦çº'þ,bÎå8vS«XÔsöäª(¯¿ÊÖ6Lx½Ä9¿°Dä¸r)áe»ÄÛ¾t£ÿ/hFò~jÅG(ó\°åy¶³§_¿?¢
- BÁWWÜ&Ó£qYO~Y= T~Y~Y~Y6]/rLx!]âÅë@«¥©�dwºz=MËJ¢iÕA,ï Ív<lÕB(Ï Ìnül=Myµì×Tg6ëÕLG6ìÙ\öëÔH7öìØXwvëÖPWvìÚ= ÖkÓFOnkimlynkqmln¡¿kd¿m¿lt¿n?kl?m?l|?nÿkhÿmÿlxÿnkpmln ßkfßmßlvßn_kn_m_l~_nkjmlznkrmì»=}â<kIÕ@<o Ñük9U?8O Ð4ç¶îß,Ç6íÝ<6îá(·öíÜ8÷öîà0×víÞ@vîâ&¯Öàó¶T·uly¿pkìòqqù2TÖÿqrw1ØöaJ?\Ô"_àÊ;¬8¶p/uì éÖÌÕLA â�ñÖo7@
- m9ÜÞê p,>|^ýÃJ(ÕßRT~:{LH<@ÿòú{|8O=M¢þ}ýç[ÚuÖôA0±$i
- _ÊÛÆtüìqïM½uw5QIïXLÔþP\=MqöaÁ'4A-ùMjÕ= ù\õxÕK4è@ïvËFÉüXkOðÕ7:ï~Ê!ü²mûF S1üO
- ɾ;pé W,ü=M >>9 +@~=} ^F¼y^}vA "z±rdàwÖ*ëÛ}^1q= Ç
- ?
Ov?)Vrõf\=MÜðºMØIyÎw8}Rxf\ìòZÙàLz^BÂ3dfU÷Éòk̼àÎN58UîIm ¼"Çò¡\bU$¼ÄÞ*¡Y&HãZ{A ÜtöÿZêâ~@à]ïÿ]\qEAr\]½ßÒhÖ"]!9fB[¶ ¨ b^áʯDÐäÏ®&¦Z®&hê(dB:tbûWSÙUé祴ßã¾H'ðJ[Þõ=MYLÎõòHA]!^øÍoÿÚ¥Ö%2í©øD¯¯©U¯¯½2Óû;Å÷·D'«eݴɹä
- ÎéøÔ§¯ÑÔá!SFÇÃfÇ3:ã襮Ìõ;ÒíôÌ&#¯?ÃfÞÜ= µÿÌofÌáDKíó#M#ïO'QRµ0ú8ÃP (mÃ×Ùûæù߸9pÿxßXèR$\ä&2äý×z%WZ$I°&÷}$ª¾÷áX*T}¤ÿ_ÆÉâ'1¶=}}c xd_x¼Âª^CÍ}¸"Q3væÚ°0ÃdÁÓ¶ò÷çÒ«91Û/² ô8ªDHâo¤»iEÌËs
á«U
æ¸áίÁKÆO0§z»,â½ÝøÏ=}µc.*è¥á)ͦqì3P¢°]2é×ã½ýc\ÈÍ®þFTT°'#9Z*1çx{ñ³aÇfßݸÂè=}<¤
A¨|õ<ªaI£ è9ºf[W·ÿñ\HÞæX®=}^$¦¹= tH²Má¨ê£¶¦ó¬Ãk¤ñ¨óªc¤«D££Ù²Cæ¤!$â£s²£¾ðãé´«
- «ï¯à¦q�§Ò´I»É(§ø¬àõS^C:Ãy3qísù*KcêcÜ~c·ª}¤eÜÊ �ã°ÓØ'Ó}ª"S&ã:*$b¸¨aÇÁ7ð¥~_¨kY³m5½3¬ÖÂÿ ¼'fävfwE¥ÿ�¸öcQL¤Ðý¯ÕÈëC�$Ý¥á¥Û^Ó0¬ý¼%åäÛ&1ó¾9;¡ëÃe±'ÏÑÅ"å'BØ2àz´M·«ÞÄ´A7Ô
- d§)Nl'¤¯=}d;yQ[?¯ÒmSªL+qµ4-·´L¿ÇEXè.àÅaÆ´Mµ>·=}{üÏM¹Æ+%º6éÒ´AJëëÛ¬N'Míáõ¡T7Ñ�ÃBÿ75öÙÕÄÆæ ½ÞþéîÑn[qDø\?¹>I¹zËâ
- ©ØÚÌÀÁEújÍë¨@µEïõ ÎÜìÎv¡ÝÎ]$û®Ê^ý$ÊP8@íóûNl9ô=MÎØðOÞ�z
- ÕXq¼ÐÞÄh)¿àÆmWØH�ZHÝ~ª~¬i{v½ª6H¦ÚjkRÛUÖ)Ûô8= 1×z4wõ
- è�ûBPÑÚúYñýùòrï¶U~\Lªmf÷âzös84cÉæ¶R>
- î$yÍãF#eÿcÉó®ëëÉ;É©%«A¬y�4
¹æÄ~GgTÍçØ|t¼ê'ø´ô
&rd{SÚ©¾=}ÆâѼE"´vU²/!øpäj®Ô}Ë2àiöªíÑ·)4,ÒìM÷5²üOã5JjÕ~}2Í¿9:]-Ñ üÄͰ^ÄÍùTakÃ~S'Ï7± Å5bzüáS�Óð϶Ìa"M[Q@ÊùÐÔMD¢)LN±sî±Jjé}|[|Q^
- M¦^;Uq±¼[÷~NR4b4"6áWùû]4 sïS= #S]3L4°,;C}['V)l@ØÒ>t=MvT0]Ví¡cE"98/�÷»Uñ<ÅZÂÁ"fcÐ]ª¸0hccC ¬x2CN¸&J¸ÅÏÿÉäoÜå©ûæþÁhn¤»ÝÎÁ5d!±¢IÅk GàfâYdyô
^~ûéÙVÆ¤Úæ7Ïrµ®¦0µÑ×ö=M¡¿|¼7É÷úWr�ÈÜ!úø~î¾Bjà!ÿù¾=}¾ì¢'àÛIøåõÜúwæ�üm9ú]<è@]1¢Hôð£U)C]Z«HÓþäëUêù_ 5#Iå3òvDÁ±¦¾Æ,tÅnKr7-©qO¸Ú0ï55P<È·n÷ixÖ§æ1x�F!ðBú*4Èpµx¢=MâuaW (_ª¶+í/½òSÐ[úaõ~EIûâ¥Ö;3ü¨/9ºxg9xN?W8>½Å
-
ßo:5èzwYxÑ�iPM= vÀkÕ:Û0(¢èLgÚi@GìßR÷BHÎ?ù:Vê¾éÔºÎö¢M²ÜYëï OƬí;Ç*N
Ð@Î= #fýòôWjs
ê9ع¡hú HÂÉ7ûâ YdH=Mû!~FÁ1EÈ%xGíØtîMIÆâßKÙÁp=}ÞÀ+þ£×P§gþ#*#yú£|rºC¤f¤{¢TË+»¡b,£ç£ñ¬cƵsç¤pТû|ò2».aÊÓCº³s¾ËVJ³. Ýó9¤_lgҳӳ䯬G3䱨OC%©%Î_³#»3%ÑYß'ßÌë{}»Â´HZVôºÌkínØ.YVÛO
?W1[g;S£êX»£i÷¯ô=}B<uQ(ÄÙoæJXÅcGM&]:º ¢×= 1½¨[ô¦ÐpnwI%Èò
- ØüóÖekD ¡RËÊPænG[+ÃÂÞU?<¶Nͪùù38yµK¾übUäwF*°xHÇÚ Eæ1¡eY0¾yÏR�Û*¤Q¡Ô7Ü!õ&¹Ýä²ÒÊ\¡ÁBTnP<_p Éñ_Ôô·ËÔ'ïÓ¡Pe]_yÄfZì°.z5Ǿ¥6É67[î5¢¦(£¢%à*B6ànUHàta[àÝboà÷Rà·-à±Èªá|µáÔÂázÎá-ÛáÓõéá7Â÷ábêá1iáS:"áõþ*á²2á;9á~AáIá{¾RáZá´^báéÊkáZEsáÍ|á7^á¯öáá©,áa³¥âÂý©¯>¦ã@�»#
- þÙVlYÚ
/übÜ~Y~/V0{®éq)rï»wÂþêØéH4Þ«
- ésûÖ)ßh§«>%i¦=}½rï¯þG}9eº±«ºi]Yw.)õ§ó½ï=MîË1Å%rBEk°0?±¿ðÁò
UEÖÓ8ZÕ½~SÊÕ:Ä®{ÉBj¨OËR.èßýøïñ¬ikÝÌ
- ñ7¥FꡲøUC5uÄÍm÷O}I
þ¸Fj¬í¦¨î§"¡ÆÛ= ôÓ;ã=}iÆd@J%P§8¨jb«Q!¶¡ÄûÅ ì"6WWØ[ÒPgUѹâÇtTð/WÐ)í¾F.WäÝëõ£?8ÛéªëþËçeëA¶IâG_X5ñÑN÷
- L1õÀR¨]rÈ^üâ7eî:¨J¨*GO¶¿þÏsêSbýS«A ®
¨¤%Ϫd�¦dbf¨.«á"öÔJøèpø¸J±K«ýPBÍ(-FlÍí= øO
(Y-b~LKõ75Gí?!ø5:JøC5iíQ¯õdn÷ýRì)%þÑWéÍû�ñ|Ü>ÚktP7Øù1=}<?¼= ûØ7UV'(XÈiìFµ!ÿ%0ù¹¶ùõï.Ôjx.wû'´v.kÏEø= +02ÜVI³eåáôëZÑ(@ÎwB¨ï,ËCû¤90{OoRoT @j>SknfgÓ2UÚ\ï;nüѨ6tpcu¿µI@æjN|§zviÈ>Ââ§6tÑîéJ4Õ
ï÷)}ðy^ÏûA("û¹^
- ô]Þ6ȼ<
-
©ýh¼Ï»@dWîµïëj=M½xvusÂB)tH÷!6J
ÜÅ8'6Ìÿ:HSóúȶ¶6/î*9È9'vç¡MìÇÅ(
- ¶:<cÁ¬þ¸r©:yÚgt
- 鿺
Và9å¢ûÅAhS[שRÄÔ'.7ú×¾E[Å2åyÚ-OH4ÿ×2V´¿00ÃÛaHOø®Ê
- »ïf;ß7ÔdD7Ø'@¾%¶%ýðÓ½doû¿çs7Ã!~´+\ ÃJ¦Û¹³c}~¡Wð
- NÂÐÕâg k f*Ö sfháIai.tXq6
- = ßTPCò²ÏMsh@òV;|q°Dʺq\Ó(Örõ?¼s,>ñW\k"1Oá#aL¦öy}V'àØ"~E*ÀjJ|Ey))Ǿi#©Ús}p,y-ÜàO{ÎZÇEx%³®]ÀØêjc?Øo{x¯åöÂ=}vf'êþ0ìÂ=Mï(´¼uÜo3±»Ó"O¤]{= v;ÁRõÞõ:ö«Ý<6tÛ,w¤6»öÓ4¶ÓÔ@ãxì¡Û1vd{\Ϧj3Þ) êu-ÎêTOÇTÆüÔ
- §m2f\Ú?N*|»tæ[«F¯s
- 3±vÖW<ó®ðÐÖØó¦ä½»JLV2½ªK4¿â+èþ©õsòå©è"g!jW"uwu* váoÍpQÎ= KÀt.UA~~&ðÜK޹ơúíp]
ÝN®Nr @
- ¥
ÝM1o~$ùÀS=}A
- }ôÝCÀâ¬%ª£ÄC£#|Y~¢~Y~QV~Y~YXA_¡EùJ¢Æ~tâ~i#e¹_ÁÚz}k{°±Ojìa9Á¶ÓsPåÈȹëÑÒæeT'%hË\º[T#GqH:òÙ5>V8äc)[H
- à¿5kþ=}k¥u
- jtKÀf~t6.Çã§e+=M°6·.¥<Ä#üT!K:NÚÈ._v«a^Õbt<m>ñÏìCJà®ÀÌ>fåÜÎM]ýUDÜuïÜYn'(éëïÙx mÌbCf>ÃÐ:=MUäè@úw{ê¨pÈÇzËÕåöAèàk_ÆfËÌQ7^"w}¢ÂW!ÄÜÊ6¡ã|úI¿%_ÊÏ)ÇÐÀ)Ra¡%(ÖBõ93ÝÙÉõu¸Òµ!¿AÉgÛ2häq9h�ºõ
- Y6×®¤¾«ÎS° ÎÛNW7bºTLvýp v8¼ë±Bmàb,Çâ¾êu/t0¾1ezÄ?Ù³JOa{î
«4ÌïhEùtú@;øÑ9QÌ·ÈVç!US¸À§d¦ãÉ䣩sV~Ù¢Ü~Y0~Y~|V~á<;ìE¾6ërh»H¾ä
=M¥¬zLå¹~µ~¦çéu#¯G5(>7,=MD·\ÈeîáQé3êZlUyG³=UÎÜç:6#zVëÞný9ÆÒ/Vó}=}eú$Öµ;ÖT¦cu7.QºÒÁ4Ñ«r= hÂüô¾EX:4¢4L¡Iq{À}id§I¹ÖøÉ o¢\wp=MMÈ\&QOÝíZÃw|ÁX)ñ Gk·CÐi¸}ÑMðâØE®Ï[5àu0¹úsÝd×¥æÊ½L*äðÉ|èö¤=
- óñ@Ñyt2Ð÷ãN>9B¿E¹È¶ü¯/P;&~âçÅçoþ)ZÎT©ÐÆ4 ÖþfF@Ká^ºv÷±c(à¯~ËBåü? ´)òÑ%ø_Nb$QÆÓÏÂåt2Ö§á!¬ä6ÚSÍ2¦Þá,P@"§º/'Å磢©(dA¸*YK·ïåÄÏÄ2>¸´ÁM':ÍóøèXAÝí±%Òø®ñbÃ׿²8yKÞ
- «y«ÄÉ3B)½Þ·AZgÿÎ+¢Vdq¼2àj¿Ä@'ÒÂÿ3|-ç¸,ÊaK]&¡¡*ë£Á=M¨$
- «9'
{HçC¦¦(ùÆË@¾&@éTS¹² R§¯@ð¥¾>/À²öôö3)8Õ³7,§aÿ¾mdü¹-V�V£n-Ó÷/Hø)pþÎnaµ1=MgÛy|QÝcTÁÞ½qa¬vYY:øÎ¿yXæeK¦Aî^õF¾Î
9ÂUdà+
]Ä_â% ÜF;Å«Á£ã³£iY~Y~Y<}Yz}Øqú~YP<GrZUÚgû)�¢6y×üÙilô1ð_öÃñ4-_AFçë5Õ9B7&ê>÷<QiV¢M%Ý®%Ø¢¦°¡ýH,æ1¹Ä}~G0F±Éé]ÏÜEnÄà@üýB¶°sÚg]Äj ¾DµoiGÏÕÄÈy7î2ïôû=MiaÛWÂ>T¨Ô9WZnßοfO\½ÙYH/ÐÅÞñ|}+àuª!xG6ÆN-?§Î?Ñu¨NÑ8]ÅYeáÚ¡qDøÁ®¡ò±±ÔMpJS1²uav2þ3rA^¡0¨rÛ3$»È¨tÌ+gaùÍ*s^Õ'fáDÏá·m@
ÓÙá«6Ë?¦ý´k"ºd!Bëá.?ËÑ0åú×â"-É ¯iTÿÔ9þw-ÆâÌA= ¢.
- ü¥ÉCÆ´hz,¹Èòá<v6üH6%
·oö<= É8×¢5iz¢<ñ=
- ©%X¼k
- Éü'¡@(gྡྷVÌmq²ÜUmÈ
- ÑÑ)qlfíØB¿3rYa¥/Á·XI³= V(OrË~¡Å?&-4F;ÛnµÁpÌ.ÌÆ H7Í*%Õ²8tq0nÜK�$=}[%ÎÛùûìw¡íïßMËÿhRøLI¢x*yó�°Ò8=M\ôî{,ýA¨xDUE1TÒ7yyÖ¢àÁ1°ÛñãJ$GéU!S¶n>ÉMo>l¿ , µßþëBue}Ð*YÕÎþÜÂ)
Ù¹áæ»vq(7ÊÞ_& 3!X&Bñ¡ÁG"@¯ýXV.TîH¾Re z0F¹¨sßyfàJWº üZ:ráafþÂUÂ.
- û⮲ë!#w'¤É±3#¶U&¹àk¬tÃÜÞ©T àëEr³});v³bÿÁek;<fß@ÛïQB²×%C§Z|Æ[Âä§þjô/-éL;ßm.ÐFÿ[Ø-Aa#Ô¥Þ¨OýÉcS#Nò¨_Ö¸õ¾ÒgOæ+åÄ%�å«Ôù´ôÌ
üQ+6&Å·:,;_îç´ çÿXµVßío28á«hOüÉ ¡ùÔÊò+LÅÉýøåN= '´µ!Ð7SVö%ǬjúëÛWä%ô¬âÿ7ÓL'Ðõ¯H5EÂÅËè-,·* Ì�&õ·Êë\Úê-íÌ.aÔ÷¤øWî7¹4W63©þ¤|ÛZfL¸R{@¥0ðÚ{7Pû6zJ?Aµ¹fÒV;�q
ªÏQM
- T´.8Ï)a 4k
URÏaq
LÏ9¢V¾¡â'h¡´¹o)üÛ:¨:á¹ _
- äÜ®$ØÏ\lå¹ÙSC>qå3Ú®Û2(#Ïo!Ò©À·ækÔ÷i+Ä$»OéçôÌ%�>èCÐ%½ø´7Ú©Ä[|¤w@¸c*³¤{/´ãøáÿ²ævËá;·ºã= ð¤ÿm*ºøpªL5ß3ÕnÖºef1¿¸>¦ÜÂVdÙܾUü¹¿q'^¤<ù:¤3¤®rJæ|7ÛUÕ°Ger÷{!ܨéLIãþ=MÕK÷Èd0üìó8V¯?ͶdõÅ2ð#W.óʱ'DZ¹iå}»Ë9+$Ã.Ëm,¥zV4S\Î¥¥øÆ_øÛ·H)$ó3^¶¥ê©æ&ÓÔ«%¤jã»-¬#f"V6ª0J Ã=}(FáS\Úa%?Aó~¦¹±]f<Ú¿(yäº{j¼iÜ$ªê+£*É»[ªÎÒ}e>¦ÙÓ0Ø;JüdåâîóÖ¦Õ(c}!®sU·QÔ*h>oå/Ì=}Ò$-.ä]Ä«rÒ#b%SeÁïù<®B;£k»ôéK«äRÔà¬v(/lÝÓ^ü¾z$¹t'?üÃÉ×r#zµv$ÜÚ¸] Jã.g;Åÿ>£Jx^½ÿKXÐm<D§y-C[ϫиCTßî4&²F$~İ6Gã³~1%jêë=MÃR¢îM^!4zb¶Rd-oº
C{æ]÷6r=MëA}îUé\6Î_ä5ò,dÙõL<wXÚ3®XXgù¸d²l)õÕ$j´¬võuØ©!Äê>Ñ5@
- q4¢Þð½¥î+QìÔ\Ï7·×ÀÇN1Æ@Ì^l¹VÀ+´<õ^,ëò5¥y³W8GQÜ\±¥E/|GÍL]¹ò/ÆìTÃÕEî_ù\4gá5Ëù<4\®ky�éÇV"Ùü´Õ6×:òÅ\öø¬>RãéXí4Ä&ïI
úéb_>,îøÎ»=uþopVoílfoY¶è/O íéXÝ(îÓèg7Ìq<q¯AÁp÷°¹ßP ¹4?ÏÁ77Ð_õÕxrÈù}RåÜÐàzÚe�²áV\Ì*yyæÞ[mCºÛ"1>3ópÁ7,4 ÿ(´qüÇæ¶×·¢àØÜ Ø4uC
- 2õÂi'Íâë>ö:uxõyÁêýCäFß^³aÄ-QòG2Gt\×böë rºueA8w÷Ðp/ãXIðèWñ Ê= a*!ìòV²ÁEïô=MZ; BG°
- KöqÈ=}òRuL�ÚëÌ<ñ(ÀÝ~á°ñOC4
=MÝZK19ÂGµºþ|Æ]dö0¹Ù N¸þuöÐ"mxs2asþ= ×
²]cÝ âoÁEÌɵ˷½Ní
~åÌ×É0 ÄUýÌ*Ö2d Û"7ÅÉj0f,xíG%
- ÚM
yÁØ¿2\h¶ÓÅðiKös×ÿÚÀî pR<ûN$è=}ËQ(}}V<±1aK.bm(©{B+þѼÄÙéüÜÍÑÙ;*x8Ta"¤áÖû'¦¹8î¨ö7 )5æ{Þn¥¾O¼ºèsÜ* 9;pÂyýK:ÙÛJÐím{ ªÛ
æÊ/P Ñ[,èæþ
1oõ²Yk¶&ï_Sã~¾@ÊX_Ò¡¡.sP4*Ú lD£ßó»+êE%3û¨q³WÀ%jæjÓ÷r°êð«Ïø.gJÀ4k9çL7@º&
a»w\·.ñÌéÊÁ¢Wj¬ËSðg¶4ÛyȬÈj/Ôòär
- ÌÇÒ¸ ÷vÓ½á(ßx?1ô¼»Ð¦p¨<;Ä<(æVSæÄ¾øÙ Ñ¿ïý<&þ©óÅÖº\z\sÚ²Êpfné[ êá9 pê= 3¥ýù#6ÛÝ.2¨x?Öö#}¼¥¯[ÐcMTåo¬ÔC³ú®Tîö'4ÅÛËå2êÅßù/õ9_;Ñi*gMí/âh;Ö4è ¹8&û×oÔb+hâÊüßpT[H$h¶ÀÏ!¡k²¹ø©¡fÏ!¿p¹¡n%¸®eÆÏï Dc;¨Fú[Wì¯i#ÞŹ$H³9Ô¤Æûhªjà¨ÓFØÂHäpÓ²ÏÒªæUdwâ®ÀÕäpÛ¦IlHfDÊL
óû©È&ûĬ5ÑÊe2§{xÀª ,Tãêf)3ËÓ¥õfäê¿ØdS=Mÿ³Û©cÁÛ®VÛk'Ò$(2@äPu´'ºdVÐûhûæ ßî.::9%%¼?ö¥mZ¹e=MbC¢±/rÖ){ä¦ûgz&F ffÐ[�Ô®qp#öÎIå~Çy?£©¬=MS= ç¼-^·äCI£ 9ӷʰy/©´µ?:ÑñWîá¶^n+h8
ÜÌéM§°'MëJà5úñÿ\ñ©5Ò5e¼JlYmÇÎÃì9ðÁ¿{íͯz6þú¢êÍuçÆÌ(K'ç³ ¾ÂÕ×nAoí¼5
XÖ+T&Â4ÇLtB<^ÿÖðIf¢ÃÖS¨ö!y&,@Ù(|ÞImeCLh@êHiY¼¡28^¹Þ7å\q[Ã<ÑH/=}¬òÜ(ÂÎÒüÝ
- 2Ý û&AóAæ¢VUCÔn?K~ÁPÞµðàrHö^®ÅMV-ÁMã¸ðZôxF?-Ê6n
-
kÈ=M6áüñLdXúØàÄ|çIâIÜiWdÎ=}Þ¦= P8½6"zòþåÇswõµBò:d âÓKå¤"¾*a¤ÍÜôÀ½É|el{×°J×pc7÷°ßÆH0ÚY÷ O{+~xðSxÿwÝÂÑåbvîx#¼Ý~ü=M%îsµÚXéB,;V{¤B\Ýõ3®Í*^8òÇ[T²<*<BC×£-&St×§Fá'EyW×1g~ôcÌ©ÎT*,júʶSç!¼éÇD|?ȨVvÓcÞÀr
- iï ^ |[±-:
QKߨnjÜÕ¨KE£Ê-[æ#-x¥*®T&³ÊÈ-3W.su/v-hûî/'h¦¹RB¶.ÙBû_Ýc
"ÆÏhe$ Ïw=MV]坿:è£Ú'Sè£psý=}²Ííì±WÐm¥Ü¯= 7"Éfyx,Óí¿+)8~ÆcÔ·Á¨%Ç$+à±^?DÙlÁ9pS)b¼S?©-Ì®¡$ÜSO¤¿=}°3à®õ/Jåpóó)'þÃìä½ïÙ±6yáu~9SB4¢w6Xô,rØ-Àáã)Z37ÚÎë øµ,ÝèÑÄÐ�vëRµ8sc«ÈÔ}¦1ow
Õ._U»IZ_׺ÂýeLÒÛl¤Ü=}h=Mt(»ý¿ãÖLM=M]ñÞ�{;Y¬ru¨tÌ%ª×[E,y JAâs-*âyþµKöÃ&}½vè¸/v<+H(vrÀ°¿¢éª@¯4zÕº&²Ïe¢|<óÀdd(Ùû#E Ñ[RªqodF]¡» à«Âq«f\´4Kg2dÊìË^¼qîiöÑ[ò©é8 xH¿?ÃqfÖóªÂ }¨»{Òg¡2Å¿ä/|ÏÍ�T¡®.¢
- ÷Á#ì¥Ã¯@~ÖSY~Y~Y~Y~YÚ»]²
- ¢ª¥AµåVéõ3±±Oí©é£¿?OBíäÞ㤥¯ÿ¡q½#ª³¥Ýc¤§£ÿ¡!c«d
ãÁK¤À£:"âsgB5êÖ¥¹c±Û¦'Ĩ_þ½p¢¬: n"rAb,*2òëçïåíéññìèðæîêòrkgoemiq1
- ¿¤ÌÈЦ¶ÎÞÊÚ²B#3K[GW/?%5M]IY1A$4L\HX0@¦î¯Ô°ÖÊbS[W?E-=}IYaT<H0@FV^Zëûý ñR´Õì;ü{\©)éiJ º7÷yÙW±òoÏQB"¡Ö¸bE$P
- ëýü
- ¢jbu.üêG¹ùZ0pP ÆÜZWIL&úó÷éì�jcd êbÔíܧgùYòÑÀ�= .õ«rLÂÿß_"ÜbAúø¢|»#7UYT8f~Z«½×/bìËBóâ¡©T_þùy>
yt¸Æ^3˰¿_ñL¸S¡ÝX!ÿzdx®Rv»É�_i8b½V |¹¥Ðã¬KmmmEE¯Ú}ºC¦÷"""þþ£¶Ù¤MçØÙÙ9:Ô£F½¾î<S8óÆá¼Ô ó²MVVVIIc:¬~²ððð¸¸\/;ÁK¶xyyù� ã³ß£©$££· âzU|mY~yU~Ð~|YR1é)ªµYb¤ôäà[í!Æoò§Â³Ùæ|©MÌ»c�¥@Ã%©V¤ë£=}A´ßHOnÏnÕ!C(jdÔuÞeJ
- ¥LÝNU1âÜÞ1ñPìfðÞ~eo¶[nÝÅ, _=M)35éý5ëaD,*eÄõÞg* ¯ÒLÍÎU-Ì~-o1H\<åÏØðÙ²�_ºÑ5~ÌiÍà\é¤
- û#¼ë;~°Þ}vIë$äÏî½])ÊH¦=
- ©é/ÑZ¿n49ÁZÈjlëB<&,_F=}Pi¡GFôÇ-¿ñ@ìnÐ-ÛjÅoö]~]ÉL = ½)+õÑY·.9IÁYÌ*ìóÂ<(T_E5NPg=M!HPJnUÛyúÍwVX{ob5�\çÁJ½
- Å@%qWÃÖ+»q±µ|nI³Ìå.V3R¤¾#÷±a¼¼hm^eOÊýeù?ÃFFñÉ´ðÚû@°èÊr~,5tÉFÂZÌÿ.Õ:rKÁT*Y¼ií^guÏÞ=}g ¿ÄPfùi=}mQTÕ0ATÀ
- kÛ>:g¶¹&|e"U[ïJ¼&åqU³V;}WÙÞì»cÁóeè9´v{&Ùä±$<»p®Í[uO
- ýuy?Ç6F Ñɶæ°Úý&0ð
- Ò{<®UÔÉJâËß.Ô2rLV:1»q¶m[wÕÏ=}w¿È@f Ùi)ÍQX@AXà
- l;2dz
ùæ{m¢-\åáJ>Ãç'_Js=}¥/{~YÐXZpY><~Yaw5å(ÜV¢lÿ[Ññ»o$ÕMn%7¦òñÚÀ:ÞsÊÐ1sÛó= 2 ã>°®ü8úpf!pWFûxnï* jþ¹i)8Î.v,ç¾_LåpRü4uL´*ýìwA Zf?áçxÏ{"kB>¯8%Éçܨ¾½ÔZE8A¼}ÈæYÁ¦a2IÁÝÀ
ìwlMèkh¼GÕ=MÜB--x{ÔÌ /óä]=}e~ÎÔKjÉ=Mê1eyÀGâÏfb(äÁÌMbÜãò]î^=Mþ'ÛîøO¨;?<Ñùojªlðuqmh=Mp ÍÿÞªÍxö½Úá®ÈöN¼¼4ÁÊJ^î¢-èõó´asÒ¬) hú¥árÑh,&äù9a´&= ÎÚE¡|úu-4ÛqNùÚ¿XïØz©DÛxYÙùÞ»jRwÆn§
@X¤Òd²pÙq²(bõ¢ È[r좪jJ×XVVút©PÂÂxRWluAte¢'wèéâV;¥»C²¥#$»)$oE9²²p@¼nOl}|6= F´Pt/gßà¼5ÕÈ~ïyl?vÄ�Iö]ðj@qá¯e;'pÓN¹fÓϲvSà/fÓ²
- ;±«££$Ã'¸RÝxÿ©i×ë.5ÙvËPIü}ðfW?IÞ0v=}J »+(Ô´¾Çùiï/Dû½öTØioh»/hÔ¼>×ùj1ûÁvTài oj¡ß3º,_Ô28ïܲH÷Ý2XÿÞ²hÁpNrV -&S¥Ë'¤Ã³#ô×0ÿ¢&=MYf{â^A
- z|!PjQ|XÂ^
- z{á@:�
- z {â:�
- zß{ØÂp.�zß|Øp>�
- úÁm*�TÎâlQ|8Ú^
- úÂ{x²(� úB{xÒ0� úÂ|xò8� úB|x@�
- :ª:º:Ê:Ú:ê:ú ~A½RÁX)XO{nA©
- É
- é
-
- ªÊê
- Ú¦VÓ¶VÔÆVÕÖVÖæV×öVØVÙV:$Ïž¼lí U6DÏÍþ¼nýUz¤�s¬s´�t¼tÄ�uÌuÔ�vÜvä�wìwô�xüx�yy�z
- #¨É{'¸ {+ÈI{/Ø{3èÉ|7ø Ú)BèÝY¥³)$»Ý¤¾WÐIȲëì_âr¢?âp Öro:Ö"l!|Ú*ê'ú(
- )jêgúh
- iJ*4uòíÐ à¹#©£³©ÃqÍ¥0äyUßRnàáR\ÞArÁU2ÈlAURÐnÁVrØpAVà2ªÄg2µ
ð,êÌhR¹
�.*Ôir½0jÜjÁ ò²u*Å ëòu:É ì2uJÍ íruZÑ î²vjÕ ïòvzY~Âý2vÝ ñrvá Â9C££³«%óÔJ"ÎâW#Ãá+º
*Åa+Ú
2Çá,ú
:Éa,
BËá-:
JÍa-Z
RÏá.z
ZÑa.
bÓá/ºjÕa/Úr×á0úzÙa0Ûá1:Ýa1Zßá2záa2¢Ãâkº*ÅbkÚ2!Õ<bo
- Ú@r!×=}âpJúPz!Ù>bp= !Û?âqÊ:prtvxz|~^¶§²«$£££cY~Y~Y~Y~Y'ÙmP^uMO= mNP\qÎD-©}D/½=}C2D.¥Èøxóþà8øööÀøô�ÐøK7=M½J:=MI6!ÍLJ8-·òÜ OòÝ/VrÞWÖrÜ¢ÇõlÃ>ß5ìÆ6¿ìÄ@Ïì3M¼ >
- U =}aÌI>Q¬6íÐFíÑPomÒHUmÐô
ÎRbîRaÒbÞbg;VjÕUfáÎOVhÑ®9ÿfÿpðhZõNWnPX|ñPWù^Ðý¥¸¯Sd¦¼×Ód¤Â·sd¥º§ëE-ÄYÅ.ÉIÛ
.Å]û
-³ÌwÓe±Òse¯Êóå²Î³Ä0Ýi{0ß};/âm0ÞgÅ1ëûÓcË~Y~Y¾fÓlÞ¸ÇQEè6/àrW}l ÏytÛj§2¢[ÕÜ
"ê:l]K¥t$¨Y¸>$§MÂÅ©lÁÏSP䪿ï
- ó Ô�çØ´läÏÂTç³û×[hJ¹D�/<èº8Åÿ93ìå«2Ê=}³ÝeËñ7U)ï½½_v)s¼ét÷InXëIÓðBïÝjöHBÑMJwáPÖòD",æPÙÇmúJãçêÁ1ÕÞLFzTgÇöï°(Kõå:ÁáBæL¹ýì9¸UP6mƶ|ûlmä!Ø00O/ü¼~{=}j}Ùé.ùwVÆAÒü6rA¹0°êE ú<ÅE&úìò¼£j¶©£²
- ~Y\ÝàbV~Y¢K~ ó~ùû^0MYÊÈB©T*þ^\? Z9eSkÐU·<.2ïÅ4<k÷:¼k
- "z¡0á"°aù³s ïÒx>Ìn7
- mu0q°ññ&É&ÉöW:ÙY0Y0ª/§¯²ª°¨±©±)zê-õhLÌE×ÉÆEÓWuJxLárø6Ãî/î¸Ê.õu(üEÏô8ö= �6ð6p"}öIÑPøàCó.]y#©U;l2ͳHh«ÖlT<ï¹ø¿ýµù½yzÙÞ<òòrÎLQKK×¼×Àx@w>JTëDqý¡¹qáXfÍ>wºZ)ùjÇ.6µ¶Õ;÷-Ãö?ÒË®L«N²O°À=}àAÎnÍ�?=}ÝOýýOO*ÉJ¼qyþßzH¡©P?<¬ð&P= ËáÔÄÖa'k¸é·¬Î§$p!�!p!ð$Æ1®OI;üî@ÓO;gÓ¬
#ÇÙÿäETìO£$@:³ä(>Ûzí0RHN=M
- R>XþÛz Ûªöt\ï£+|½ »XP÷QVÈû³JºÆ+Y÷9Z}¥@¾Ý= ÿcAÜ'£³æpóCèA^5£Ë)öt[zçHÍÞQá!+£³æpqE'¨Záª
2{ürÞn¬£ÔwYßÛä\7TÃa"yRSIbâmiÖZñµ=M£2]ÑqøG}Ò`});var o,l;function _(){var M=l.buffer;o=new Uint8Array(M)}function g(M){return Math.cos(M)}function f(M){return Math.exp(M)}var c=(M,B,q)=>o.copyWithin(M,B,B+q),u=M=>{s("OOM")},d=M=>{o.length,u()},S={b:g,a:f,c,d};function U(M){M.f()}var x={a:S},A,T,C,W,j;this.setModule=M=>{e.setModule(kt,M)},this.getModule=()=>e.getModule(kt),this.instantiate=()=>(this.getModule().then(M=>WebAssembly.instantiate(M,x)).then(M=>{const B=M.exports;A=B.g,T=B.h,C=B.i,W=B.j,j=B.k,l=B.e,_(),U(B),t()}),this.ready=new Promise(M=>{t=M}).then(()=>{this.HEAP=l.buffer,this.malloc=T,this.free=j,this.opus_frame_decoder_create=A,this.opus_frame_decode_float_deinterleaved=C,this.opus_frame_decoder_destroy=W}),this)}function at(e={}){at.errors||Object.defineProperties(at,{errors:{value:new Map([[-1,"OPUS_BAD_ARG: One or more invalid/out of range arguments"],[-2,"OPUS_BUFFER_TOO_SMALL: Not enough bytes allocated in the buffer"],[-3,"OPUS_INTERNAL_ERROR: An internal error was detected"],[-4,"OPUS_INVALID_PACKET: The compressed data passed is corrupted"],[-5,"OPUS_UNIMPLEMENTED: Invalid/unsupported request number"],[-6,"OPUS_INVALID_STATE: An encoder or decoder structure is invalid or already freed"],[-7,"OPUS_ALLOC_FAIL: Memory allocation has failed"]])}}),this._init=()=>new this._WASMAudioDecoderCommon(this).instantiate(this._EmscriptenWASM,this._module).then(c=>{this._common=c,this._inputBytes=0,this._outputSamples=0,this._frameNumber=0,this._input=this._common.allocateTypedArray(this._inputSize,Uint8Array),this._output=this._common.allocateTypedArray(this._outputChannels*this._outputChannelSize,Float32Array);const u=this._common.allocateTypedArray(this._channels,Uint8Array);u.buf.set(this._channelMappingTable),this._decoder=this._common.wasm.opus_frame_decoder_create(this._sampleRate,this._channels,this._streamCount,this._coupledStreamCount,u.ptr,this._preSkip,this._forceStereo)}),Object.defineProperty(this,"ready",{enumerable:!0,get:()=>this._ready}),this.reset=()=>(this.free(),this._init()),this.free=()=>{this._common.free(),this._common.wasm.opus_frame_decoder_destroy(this._decoder),this._common.wasm.free(this._decoder)},this._decode=c=>{if(!(c instanceof Uint8Array))throw Error("Data to decode must be Uint8Array. Instead got "+typeof c);this._input.buf.set(c);let u=this._common.wasm.opus_frame_decode_float_deinterleaved(this._decoder,this._input.ptr,c.length,this._output.ptr),d;return u<0&&(d="libopus "+u+" "+(at.errors.get(u)||"Unknown Error"),console.error(d),u=0),{outputBuffer:this._common.getOutputChannels(this._output.buf,this._outputChannels,u),samplesDecoded:u,error:d}},this.decodeFrame=c=>{let u=[];const d=this._decode(c);return d.error&&this._common.addError(u,d.error,c.length,this._frameNumber,this._inputBytes,this._outputSamples),this._frameNumber++,this._inputBytes+=c.length,this._outputSamples+=d.samplesDecoded,this._WASMAudioDecoderCommon.getDecodedAudioMultiChannel(u,[d.outputBuffer],this._outputChannels,d.samplesDecoded,this._sampleRate)},this.decodeFrames=c=>{let u=[],d=[],S=0,U=0;for(;U<c.length;){const x=c[U++],A=this._decode(x);u.push(A.outputBuffer),S+=A.samplesDecoded,A.error&&this._common.addError(d,A.error,x.length,this._frameNumber,this._inputBytes,this._outputSamples),this._frameNumber++,this._inputBytes+=x.length,this._outputSamples+=A.samplesDecoded}return this._WASMAudioDecoderCommon.getDecodedAudioMultiChannel(d,u,this._outputChannels,S,this._sampleRate)},this._isWebWorker=at.isWebWorker,this._WASMAudioDecoderCommon=at.WASMAudioDecoderCommon||Y,this._EmscriptenWASM=at.EmscriptenWASM||kt,this._module=at.module;const t=8,s=c=>typeof c=="number",i=e.sampleRate,r=e.channels,o=e.streamCount,l=e.coupledStreamCount,_=e.channelMappingTable,g=e.preSkip,f=e.forceStereo?1:0;if(r>2&&(!s(o)||!s(l)||!Array.isArray(_)))throw new Error("Invalid Opus Decoder Options for multichannel decoding.");return this._sampleRate=[8e3,12e3,16e3,24e3,48e3].includes(i)?i:48e3,this._channels=s(r)?r:2,this._streamCount=s(o)?o:1,this._coupledStreamCount=s(l)?l:this._channels-1,this._channelMappingTable=_||(this._channels===2?[0,1]:[0]),this._preSkip=g||0,this._forceStereo=r<=t&&r!=2?f:0,this._inputSize=32e3*.12*this._channels,this._outputChannelSize=120*48,this._outputChannels=this._forceStereo?2:this._channels,this._ready=this._init(),this}function We(e,t,s){return Math.min(s,Math.max(t,e))}const bt=self,Nt=new Map;bt.pendingStreams=Nt;const _e=new Map,Ht=new Map,ue=8e3,nr=1e4,or=5e3,ar=1e3,je=3e4,cr=5e3,Je="video/mp4",lr="application/vnd.apple.mpegurl";function ur(e){return e<0?1e3<<-e:1e3>>e}class hr{constructor(t,s){this.call=t,this.accountNumber=s,this._generation=0,this._retryCount=0,this._destroyed=!1,this._controllers=new Set,this._waitingForBuffer=new Set,this._timeouts=new Set,this._hlsWaitingForBuffer=[],this._hlsWaitingForChunk=new Map,this._pendingRejects=[],this.destroy=(i=new Error("destroyed"))=>{this._log("destroying rtmp stream",i),Nt.delete(this.call.id),this.clearClock(),this.clearDeadTimeout();for(const r of this._timeouts)clearTimeout(r);this._opusDecoder!==void 0&&this._opusDecoder.free();for(const r of this._controllers)r.close();for(const r of this._waitingForBuffer)r.close();for(const r of this._pendingRejects)r(i);this._destroyed=!0,this._generation=0,ye("rtmpStreamDestroyed",this.call.id)},this.onHlsTimeout=()=>{const i=this._log.bindPrefix("onHlsTimeout");if(i("hls playlist refetch timeout"),this._hlsWaitingForBuffer.length||this._hlsWaitingForChunk.size){i("still active (some fetch is pending)"),this.setDeadTimeout(this.onHlsTimeout,je);return}i("destroying due to inactivity"),this.destroy()},this.decodeOpus=this.decodeOpus.bind(this),this._log=Q("RTMP-"+(Date.now()+"").slice(-2)),this._log("constructor",t.id)}updateRtt(t){this._rtts.push(t)>10&&this._rtts.shift()}maybeAdjustBufferSize(){if(this._rtts.length<3)return;const t=this._log.bindPrefix("maybeAdjustBufferSize"),s=this._rtts.reduce((r,o)=>r+o,0)/this._rtts.length,i=Math.ceil(We(s*3,ue,nr)/this._chunkTime);if(t(`avg rtt=${s} target buffer size=${i}`),i!==this._bufferSize){const r=i-this._bufferSize;this._cutoff=this._cutoff.minus(this._chunkTime*r),this._bufferSize=i,t(`adjusted buffer size to ${i}`)}}async processChunk(t,s){return t?ir({chunk:t,seq:s,timestamp:et(s).multiply(this._chunkTime),opusTrackId:this._initChunk.opusTrackId,decodeOpus:ct&&this.decodeOpus}):new Uint8Array(0)}async fetchChunk(t,s){const i=this._log.bindPrefix("fetchChunk-"+t.toString());if(t.isNegative()){i.warn("negative time");return}if(!s&&this._lastRequestedTime!==void 0&&t.lesserOrEquals(this._lastRequestedTime)){i.warn("last requested time is greater or equals",this._lastRequestedTime.toString());return}this._lastRequestedTime=t,i(`starting fetch time=${t}`);const r=Date.now(),o=await J.invoke("requestRtmpPart",{dcId:this._dcId,accountNumber:this.accountNumber,request:{_:"inputGroupCallStream",call:this.call,time_ms:t.toString(),scale:this._scale,video_channel:qe,video_quality:ji}}),l=Date.now()-r;if(this.updateRtt(l),i(`ended fetch time=${t}, rtt=${l}`),!o){i.warn("no bytes");return}if(o.container!=="mp4")throw new Error("Invalid container");return N.parseBuffer(o.bytes.slice(o.contentOffset).buffer)}async generateInitChunk(t){this._initChunk||(this._initChunk=sr(t,{opusToFlac:ct}),this._initChunk.opusInitOptions&&await this.initOpusDecoder(),this._retryCount=0)}async initOpusDecoder(t=!1){if(this._decoderInitPromise){await this._decoderInitPromise;return}this._log("creating opus decoder"),this._opusDecoder!==void 0&&!t&&this._opusDecoder.free();const s=new at(this._initChunk.opusInitOptions);this._decoderInitPromise=s.ready,await this._decoderInitPromise,this._opusDecoder=s,this._log("opus decoder created")}async decodeOpus(t){return this._opusDecoder===void 0&&await this.initOpusDecoder(),this._opusDecoder.decodeFrame(t)}hasEnoughBuffer(){return!!this._initChunk&&this._bufferSize&&this._buffer.some(t=>!!t.segment)}sendBufferToController(t){this._log("sending buffer to controller"),t.enqueue(this._initChunk.data);for(const s of this._buffer){if(!s.segment)break;t.enqueue(s.segment)}}removeStaleChunks(){do{const t=this._buffer[0];if(t&&t.time.lt(this._cutoff))this._buffer.shift(),this._log("removing stale chunk",t.time.toString());else break}while(!0)}async _replenishBuffer(t=1,s=this._lastReplenishingPromise){const i=this._log.bindPrefix("replenishBuffer-"+this._replenishTempId++);this.removeStaleChunks();const r=this._generation,o=We(this._bufferSize-this._buffer.length,0,t);if(!o){i("skipping replenish - buffer full");return}const l=()=>this._destroyed||this._generation!==r,_=this._lastRequestedTime,g=[];i(`replenishing buffer chunksToFetch=${o} lastBufferedChunkTime=${_} bufferLength=${this._buffer.length}`);for(let c=1;c<=o;++c){const u=_.add(this._chunkTime*c),d={time:u};this._buffer.push(d);const S=async U=>{try{d.iso=await this.fetchChunk(u,U)}catch(x){i("error",x.type,u.toString());const A=async T=>{if(await Ct(T),!l())return S(!0)};if(x.type==="TIME_TOO_BIG"){if(U)throw new Error("stream ended");const T=await this.fetchState();if(l())return;const C=this.findChannel(T),W=u.minus(et(C.last_timestamp_ms)).add(this._chunkTime).toJSNumber();if(W<0)throw new Error("stream ended");return A(W)}else throw x}return d};g.push(S())}let f=await Promise.all(g);if(!l()&&(this.maybeAdjustBufferSize(),await s,!l())){if(f=f.filter(c=>c.time.gt(this._lastFlushedTime)),!f.length){i.warn("skipping flush - no new chunks");return}if(this._lastFlushedTime.notEquals(et.zero)&&f[0].time.minus(this._lastFlushedTime).notEquals(this._chunkTime)&&i.error(`chunks are not continuous, lastFlushed=${this._lastFlushedTime.toString()}, newChunks=${f[0].time.toString()}`),this._lastFlushedTime=f[f.length-1].time,f=f.filter(c=>c.iso?!0:(this._log.error("empty chunk?",c),!1)),ct){for(const c of this._hlsWaitingForBuffer)c();this._hlsWaitingForBuffer.length=0;for(const c of f){await this.prepareChunkForFlushing(c);const u=this._hlsWaitingForChunk.get(c.seq)||[];this._hlsWaitingForChunk.delete(c.seq),i(`sending chunk to waiters time=${c.time} seq=${c.seq}`);for(const d of u)d(c.segment)}}else{for(const c of f){await this.prepareChunkForFlushing(c),i(`sending chunk to controller time=${c.time} seq=${c.seq}`);for(const u of this._controllers)u.enqueue(c.segment)}for(const c of this._waitingForBuffer)this.sendBufferToController(c),this._controllers.add(c);this._waitingForBuffer.clear()}i("buffer replenished")}}replenishBuffer(...t){const s=this._lastReplenishingPromise,i=this._lastReplenishingPromise=(async()=>{const r=this._replenishBuffer(...t);try{const o=await r;return await s,o}catch(o){throw o}})();return this._bufferSize-this._buffer.length>0&&this._lastRequestedTime.geq(et.zero)?Promise.all([i,this.replenishBuffer()]).then(()=>{}):i}async prepareChunkForFlushing(t){this._initChunk||(this._log(`will add init chunk to time=${t.time.toString()}`),await this.generateInitChunk(t.iso));const s=this._lastChunkSeq++;t.seq=s,t.segment=await this.processChunk(t.iso,s)}async fetchState(){const t=H();let s=0,i;const r=()=>{if(s>3){t.reject(new Error("Failed to fetch state"));return}i&&(clearTimeout(i),this._timeouts.delete(i)),i=bt.setTimeout(()=>{s++,r()},1e3),this._timeouts.add(i),J.invoke("requestRtmpState",{call:this.call,accountNumber:this.accountNumber}).then(o=>{clearTimeout(i),t.resolve(o)}).catch(o=>{this._log.error("error fetching state",o),s++,r()})};return r(),t}clearClock(){clearInterval(this._clock),this._clock=void 0}setClock(){const t=this._log.bindPrefix("clock"),s=this._clock=bt.setInterval(()=>{this._time=this._time.add(this._chunkTime),this._cutoff=this._cutoff.add(this._chunkTime),this.notifyTime(),t(`tick ts=${this._time.toString()} cutoff=${this._cutoff.toString()}`),this.replenishBuffer().catch(i=>{this._destroyed||this._clock!==s||(t.error("error replenishing buffer",i),this._buffer.some(r=>r.segment)||this.handleError(i))})},this._chunkTime)}findChannel(t){const s=t.channels.find(i=>i.channel===qe);if(!s)throw R.error("no unified channel found",t),new Error("No unified channel found");return s}async _start(){const t=this._log.bindPrefix("start");t(`starting ${this.call.id} generation ${this._generation} -> ${this._generation+1}`,this),this.clearClock(),this._initChunk=void 0,this._lastChunkSeq=0,this._buffer=[],this._lastFlushedTime=et.zero,this._replenishTempId=0,this._lastReplenishingPromise=Promise.resolve(),this._rtts=[];const s=++this._generation,i=()=>this._generation===s&&!this._destroyed,[r]=await Promise.all([this.fetchState(),Ht.get(this.call.id)&&Ct(Math.max(0,Ht.get(this.call.id)-Date.now()))]);if(!i())return;Ht.delete(this.call.id);const o=this.findChannel(r);if(t(`started, last_ts=${o.last_timestamp_ms}, scale=${o.scale}`),this._time=et(o.last_timestamp_ms).minus(ar),this._lastRequestedTime=this._time,ct){const l=_e.get(this.call.id);l&&l.gt(this._time)&&(this._time=l)}this._cutoff=this._time.minus(ue),this._scale=o.scale,this._chunkTime=ur(this._scale),this._bufferSize=Math.ceil(ue/this._chunkTime),this._dcId=r.dcId,this.notifyTime(),this.setClock(),await this.replenishBuffer(Math.ceil(or/this._chunkTime))}start(){this._start().catch(t=>this.handleError(t))}notifyTime(){ct&&_e.set(this.call.id,this._time),ye("rtmpStreamTime",{callId:this.call.id,time:this._time.toString()})}handleError(t){if(this._destroyed)return!1;const s=this._log.bindPrefix("handleError");if(typeof t=="object"&&t&&typeof t.type=="string"){if(t.type.startsWith("FLOOD_WAIT")){const i=+t.type.split("_").pop();return Ht.set(this.call.id,Date.now()+i*1e3),this.start(),!0}if(t.type==="TIME_TOO_SMALL"||t.type==="TIME_INVALID")return s("rtmp stream need resync",t),this.start(),!0;if((t.type==="GROUPCALL_FORBIDDEN"||t.type==="VIDEO_CHANNEL_INVALID")&&this._retryCount<3)return s("retrying rtmp stream",t),this._retryCount+=1,this.start(),!0}s("rtmp stream error",t),this.destroy(t)}createStream(){const t=this._log.bindPrefix("createStream");let s;return new ReadableStream({start:i=>{t(`added rtmp stream controller call=${this.call.id} gen=${this._generation} destroyed=${this._destroyed}`),s=i,this._generation===0&&this.start(),this.clearDeadTimeout(),this.hasEnoughBuffer()?(this.sendBufferToController(i),this._controllers.add(i)):this._waitingForBuffer.add(i)},cancel:()=>{this._destroyed||(t("rtmp stream controller died",this.call.id),this._controllers.delete(s),this._waitingForBuffer.delete(s),this._controllers.size||this.setDeadTimeout(this.destroy,cr))}})}clearDeadTimeout(){this._deadTimeout&&(clearTimeout(this._deadTimeout),this._deadTimeout=void 0)}setDeadTimeout(t,s){this.clearDeadTimeout(),this._deadTimeout=bt.setTimeout(t,s)}generateHlsPlaylist(t,s=!1){const i=this._chunkTime/1e3,r=["#EXTM3U","#EXT-X-VERSION:7",`#EXT-X-TARGETDURATION:${Math.ceil(i)}`,`#EXT-X-MEDIA-SEQUENCE:${this._buffer[0]?.seq??0}`,"#EXT-X-INDEPENDENT-SEGMENTS",`#EXT-X-MAP:URI="${t}?hls=init"`];for(const o of this._buffer){if(!o.segment)break;r.push(`#EXTINF:${i},`,`${t}?hls=${o.seq}`)}return s&&r.push("#EXT-X-ENDLIST"),r.join(`
- `)}async getHlsPlaylist(t){const s=this._log.bindPrefix("getHlsPlaylist");return s("getting hls playlist"),this.setDeadTimeout(this.onHlsTimeout,je),this._generation!==0?this.generateHlsPlaylist(t):(this.start(),new Promise(i=>{const r=o=>{s("hls playlist fetch error, returning empty+end",o),i(this.generateHlsPlaylist(t,!0))};this._pendingRejects.push(r),this._hlsWaitingForBuffer.push(()=>{const o=this._pendingRejects.indexOf(r);o!==-1&&this._pendingRejects.splice(o,1),i(this.generateHlsPlaylist(t))})}))}getInitChunk(){return this._initChunk?.data}async getHlsChunk(t){const s=this._log.bindPrefix("getHlsChunk");s("getting hls chunk",t);const i=this._buffer.find(r=>r.seq===t);if(i&&i.segment)return i.segment;if(this._buffer.length&&t<this._buffer[0].seq){s("hls chunk to old",t),s(this._buffer);return}return new Promise((r,o)=>{const l=bt.setInterval(()=>{this._buffer.length&&t<this._buffer[0].seq&&(s("hls chunk fetch timeout",t),r(void 0))},this._chunkTime??500),_=f=>{clearInterval(l),o(f)},g=this._hlsWaitingForChunk.get(t)||[];g.push(f=>{const c=this._pendingRejects.indexOf(_);c!==-1&&this._pendingRejects.splice(c,1),clearInterval(l),r(f)}),this._pendingRejects.push(_),this._hlsWaitingForChunk.set(t,g)})}}async function fr(e,t,s){const i=JSON.parse(decodeURIComponent(t));let r=Nt.get(i.id);const o=s?.startsWith("hls="),l=await bt.clients.get(e.clientId),_=qt(l.url);if(r||(R("creating rtmp stream",i.id),r=new hr(i,_),Nt.set(i.id,r)),o){s=s.split("&t=")[0];const g=e.request.url.split("?")[0],f=s.slice(4);if(f==="playlist")return r.getHlsPlaylist(g).then(u=>new Response(u,{headers:{"Content-Type":lr}}));if(f==="init"){const u=r.getInitChunk();return u?new Response(u,{headers:{"Content-Type":Je}}):new Response("",{status:404})}const c=Number(f);return isNaN(c)?new Response("",{status:404}):r.getHlsChunk(c).then(u=>u?new Response(u,{headers:{"Content-Type":Je}}):new Response("",{status:404}))}return new Response(r.createStream(),{headers:{"Content-Type":"video/mp4"}})}function pr(e,t,s){const i=fr(e,t,s);e.respondWith(i)}function dr([e,t]){const s=Nt.get(e+"");s&&s.destroy(),ct&&t&&_e.delete(e)}const zt=()=>new Response("",{status:500,statusText:"Internal Server Error",headers:{"Cache-Control":"no-cache"}}),_r="application/x-mpegurl",gs=self;Q("HLS");const wt=Q("SW-HLS");function mr(e){return e?.mime_type===_r}class ys{constructor(){this.ongoingRequests=new Map}async performRequest(t,s){let i=this.ongoingRequests.get(t);i||this.ongoingRequests.set(t,i=s());const r=await i;return this.ongoingRequests.delete(t),r}}const $e=new ht("cachedHlsQualityFiles"),gr=new ys;async function yr(e,t,s){const i=H();e.respondWith(i);try{const r=t,o=await gs.clients.get(e.clientId),l=qt(o.url),_=await gr.performRequest(me(r),()=>wr(r,l));i.resolve(new Response(_))}catch(r){i.resolve(zt()),wt.error(r)}}async function wr(e,t){const i=await(await vr(e,t)).text();return await br(i,t)}function me(e){return`hls_quality_${e}`}async function vr(e,t){try{const s=await $e.getFile(me(e));return wt.info("using cached quality file",e),s}catch{wt.info("fetching quality file",e);const s=await J.invoke("downloadDoc",{docId:e,accountNumber:t});return $e.saveFile(me(e),s),s}}async function br(e,t){const s="mtproto:(\\d+)",i=e.match(new RegExp(s));if(!i)throw new Error("Wrong Hls quality file format");const r=i[1];if(wt.info("targetDocId",r),!r)throw new Error("Wrong Hls quality file format");const o=await J.invoke("requestDoc",{docId:r,accountNumber:t}),l={docId:r,dcId:o.dc_id,size:o.size,mimeType:o.mime_type},_=`hls_stream/${encodeURIComponent(JSON.stringify(l))}`,g=new URL(_,location.origin).toString();return e.replace(new RegExp(s,"g"),g)}const ws="Time-Cached",Fr=24*60*60,be=new ht("cachedHlsStreamChunks"),Sr=new ys;async function Ur(e,t){const s=[];let i=0;for(const l of t){const _=await Sr.performRequest(Fe(e,l),()=>Mr(e,l));i+=_.length,s.push(_)}if(s.length===1)return s[0];const r=new Uint8Array(i);let o=0;for(const l of s)r.set(l,o),o+=l.length;return r}async function Mr(e,t){try{const s=Fe(e,t),i=await be.getFile(s,"blob");return await Kt(i)}catch{const{bytes:s}=await J.invoke("requestFilePart",{...e,...t});return Tr(s,e,t),s}}function Fe(e,t){return`${e.accountNumber}-${e.docId}?offset=${t.offset}&limit=${t.limit}`}async function Tr(e,t,s){const i=Fe(t,s),r=new Response(e,{headers:{"Content-Length":""+e.length,"Content-Type":"application/octet-stream",[ws]:""+(Date.now()/1e3|0)}});await be.save(i,r)}async function kr(){await Ct(2e4),He(),setInterval(He,18e5)}function He(){return be.timeoutOperation(async e=>{const t=await e.keys(),s=Date.now()/1e3|0;await Promise.all(t.map(async i=>{const r=await e.match(i);if(!r)return;const o=+r.headers.get(ws);o&&(o+Fr>s||(wt("deleting cached stream chunk",i.url),await e.delete(i)))}))})}const xt=4096,ot=1024*1024;function xr(e,t){const s=Math.floor(e/xt)*xt,i=(Math.floor(t/xt)+1)*xt,r=Math.floor(e/ot)*ot,o=(Math.floor(e/ot)+1)*ot,l=Math.min(o,i),_=l-s,g=Ve(_),f=Math.max(l-g,r),c=[{offset:f,limit:g}];let u=o;for(;u<t&&!((Math.floor(u/ot)+1)*ot>t);)c.push({offset:u,limit:ot}),u+=ot;if(u<=t){const U=t-u+1,x=Ve(U);c.push({offset:u,limit:x})}const d=c[c.length-1],S=d.offset+d.limit-1;return{alignedLowerBound:f,alignedUpperBound:S,ranges:c}}function Ve(e){return Math.max(2**Math.ceil(Math.log2(e)),xt)}const Pr=self;async function Er(e,t,s){const i=H();e.respondWith(i);try{const{docId:r,dcId:o,size:l,mimeType:_}=JSON.parse(decodeURIComponent(t)),g=ls(e.request.headers.get("Range")),f=await Pr.clients.get(e.clientId),c=qt(f.url),[u,d]=g,{ranges:S,alignedLowerBound:U}=xr(u,d),x=await Ur({docId:r,dcId:o,accountNumber:c},S),A={"Accept-Ranges":"bytes","Content-Range":`bytes ${g[0]}-${g[1]}/${l||"*"}`,"Content-Length":`${d-u+1}`};A["Content-Type"]=_;const T=x.slice(u-U,d-U+1);i.resolve(new Response(T,{status:206,statusText:"Partial Content",headers:A}))}catch(r){i.resolve(zt()),wt.error(r)}}let vs;function Ir(){return vs}function Ar(e){return vs=e}const Cr="mtproto:",Br=1e6,Dr=1280,Or=720;function Rr(e){let t=Nr(e);if(Ir().IS_AV1_SUPPORTED||(t=t.filter(i=>i.codec!=="av01")),!t.length)return null;t.sort((i,r)=>i.bandwidth-r.bandwidth);let s=`#EXTM3U
- `;for(const i of t){const{w:r,h:o,bandwidth:l,url:_}=i;s+=`#EXT-X-STREAM-INF:BANDWIDTH=${l},RESOLUTION=${r}x${o}
- `,s+=_+`
- `}return s+=`
- #EXT-X-ENDLIST`,s}function Nr(e){if(!e?.length)return[];const t=Lr(e),s=qr(e);return Object.entries(t).map(([i,r])=>{const{w:o=Dr,h:l=Or,duration:_=0,video_codec:g}=r,{size:f}=e.find(u=>u.id.toString()===i),c=(_>0?f/_*8:Br)|0;return{id:i,w:o,h:l,duration:_,bandwidth:c,url:s[i],codec:g}})}function Lr(e){const t={};for(const s of e){const i=s?.attributes?.find(r=>r._==="documentAttributeVideo");i&&(t[s.id]=i)}return t}function qr(e){const t={};for(const s of e)mr(s)&&(t[Wr(s)]=zr(s));return t}function zr(e){return`hls_quality_file/${e.id}`}function Wr(e){const t=e.attributes?.find(i=>i._==="documentAttributeFilename");return(e.file_name||t?.file_name)?.slice(Cr.length)}async function jr(e,t,s){const i=H();e.respondWith(i);try{const r=JSON.parse(decodeURIComponent(t)),o=await gs.clients.get(e.clientId),l=qt(o.url),_=r.location?.id,g=await J.invoke("requestAltDocsByDoc",{docId:_,accountNumber:l});if(!g)throw new Error("No alt docs found for document");const f=Rr(g);if(!f)throw new Error("Failed to create video source for hls streaming");i.resolve(new Response(f))}catch(r){i.resolve(zt()),wt.error(r)}}const Jr=new ht("cachedBackgrounds");function $r(e){const t=e.request.url.match(/backgrounds.*/)[0];if(!t){e.respondWith(zt());return}const s=H();e.respondWith(s),(async()=>{const i=await Jr.getFile(t,"blob");s.resolve(new Response(i,{status:200}))})()}Q("SW-mtproto-bug",vt.None);const R=Q("SW",vt.Error|vt.Debug|vt.Log|vt.Warn,!0),it=self;let St;const ge=()=>St;let Yt;const ye=(...e)=>{ve().then(t=>{t.forEach(s=>{J.invokeVoid(...e,s)})})};R("init");const Hr=e=>{const t=new MessageChannel;J.attachPort(St=t.port1),J.invokeVoid("port",void 0,e,[t.port2]);const s=new MessageChannel;Ot.attachPort(Yt=s.port1),J.invokeVoid("serviceCryptoPort",void 0,e,[s.port2])},Vr=e=>{!rt.size&&!St&&(R("sending message port for mtproto"),Hr(e))},bs=e=>{if(R("window connected",e.id,"windows before",rt.size),e.frameType==="none"){R.warn("maybe a bugged Safari starting window",e.id);return}R("windows",Array.from(rt)),J.invokeVoid("hello",void 0,e),Vr(e),rt.set(e.id,e),zi(e)},J=new Ai;J.addMultipleEventsListeners({environment:e=>{Ar(e)},notificationsClear:xi,toggleStorages:({enabled:e,clearWrite:t})=>{ht.toggleStorage(e,t)},pushPing:(e,t)=>{Ei(e,t)},hello:(e,t)=>{bs(t)},shownNotification:Ii,leaveRtmpCall:dr,toggleStreamInUse:pi,toggleCacheStorage:e=>{ht.temporarilyToggle(e)},toggleUsingPasscode:e=>{Ut.resolveDeferred(e.isUsingPasscode),yt.save(e.isUsingPasscode?e.encryptionKey:null)},saveEncryptionKey:e=>{yt.save(e)}});const{onDownloadFetch:Yr,onClosedWindows:Kr}=Oi(J);ve().then(e=>{R(`got ${e.length} windows from the start`),e.forEach(t=>{bs(t)})});const rt=new Map;self.connectedWindows=rt;Ci(J,void 0,e=>{if(R("something has disconnected",e),!(e instanceof WindowClient)||!rt.has(e.id)){R.warn("it is not a window");return}rt.delete(e.id),R("window disconnected, left",rt.size),rt.size||(R.warn("no windows left"),yt.resetDeferred(),Ut.resetDeferred(),St&&(J.detachPort(St),St=void 0),Yt&&(Ot.detachPort(Yt),Yt=void 0),Kr())});kr();const Gr=e=>{if(!ct&&e.request.url.indexOf(location.origin+"/")===0&&e.request.url.match(/\.(js|css|jpe?g|json|wasm|png|mp3|svg|tgs|ico|woff2?|ttf|webmanifest?)(?:\?.*)?$/))return e.respondWith(Ns(e));try{const[t,s]=e.request.url.split("/").slice(-2),[i,r]=s.split("?");switch(t){case"stream":{fi(e,i,r);break}case"d":case"download":{Yr(e,i);break}case"share":{Wi(e,i);break}case"ping":{e.respondWith(new Response("pong"));break}case"rtmp":{pr(e,i,r);break}case"hls":{jr(e,i,r);break}case"hls_quality_file":{yr(e,i,r);break}case"hls_stream":{Er(e,i,r);break}case"backgrounds":{$r(e);break}}}catch(t){R.error("fetch error",t),e.respondWith(zt())}},Fs=()=>{it.onfetch=Gr};it.addEventListener("install",e=>{R("installing"),e.waitUntil(it.skipWaiting().then(()=>R("skipped waiting")))});it.addEventListener("activate",e=>{R("activating",it),e.waitUntil(it.caches.delete(ts).then(()=>R("cleared assets cache"))),e.waitUntil(it.clients.claim().then(()=>R("claimed clients")))});it.onoffline=it.ononline=Fs;Fs();
- //# sourceMappingURL=sw-Dn5v51JD.js.map
|