ranuts 0.3.0-alpha.1 → 0.4.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{i as e,t}from"./enums-BAgbyGdH.js";import{G as n,K as r,U as i,X as a,Z as s}from"./color-Dohr9BXX.js";import{F as o,N as c,S as u,W as d,_ as l,j as h}from"./i18n-Cf5TtRb4.js";var p=(e="")=>{if(0===e.length)return 0;if(e.endsWith("%")){const t=Number(e.replace("%",""));return t>1?t/100:t}return Number(e)},f=(e,t=0,n=1)=>Math.min(n,Math.max(t,e)),m=class e{getDecimalLength=e=>{const[t,n]=e.toString().split(".");return n?n.length:0};amend=(e,t=15)=>parseFloat(Number(e).toPrecision(t));power=(e,t)=>Math.pow(10,Math.max(this.getDecimalLength(e),this.getDecimalLength(t)));static handleMethod=(t,n)=>{const{power:r,amend:i}=new e,a=r(t,n),s=i(t*a),o=i(n*a);return e=>{switch(e){case"+":return(s+o)/a;case"-":return(s-o)/a;case"*":return s*o/(a*a);case"/":return s/o}}};static add=(e,t)=>this.handleMethod(e,t)("+");static divide=(e,t)=>this.handleMethod(e,t)("/");static multiply=(e,t)=>this.handleMethod(e,t)("*");static subtract=(e,t)=>this.handleMethod(e,t)("-")};function g(e,t,n){function r(e){const[t,n]=e.toString().split(".");return n?n.length:0}const i=(e,t=15)=>parseFloat(Number(e).toPrecision(t)),a=Math.pow(10,Math.max(r(e),r(n)));let s=0;switch(e=i(e*a),n=i(n*a),t){case"+":s=(e+n)/a;break;case"-":s=(e-n)/a;break;case"*":s=e*n/(a*a);break;case"/":s=e/n}return s=i(s),{result:s,next:(e,t)=>g(s,e,t)}}var y=(e,t="zh-CN",n=2,r=2)=>{let i=["","K","M","B","T"],a=3;if("zh-CN"===t&&(i=[""," 万"," 亿"," 万亿"],a=4),"zh-HK"===t&&(i=[""," 萬"," 億"," 萬億"],a=4),!/^[+-]?\d+(?:\.\d+)?$/.test(e))return"--";const s=parseInt(e).toString().length,o=Math.min(Math.floor((s-1)/a),i.length-1),c=m.divide(Number(e),10**(o*a))?.toFixed(n);return Number(c).toFixed(r)+i[o]},w=(e,t)=>s(e).startsWith("+")||s(e).startsWith("-")?s(e):t?Number(t||0)>0?`+${s(e)}`:s(e):Number(e||0)>0?`+${s(e)}`:s(e),b={"零":0,"〇":0,"一":1,"二":2,"两":2,"三":3,"四":4,"五":5,"六":6,"七":7,"八":8,"九":9},S={"十":10,"百":100,"千":1e3},C=e=>{const t=a(e.trim());if(/^\d+$/.test(t))return Number.parseInt(t,10);if(0===t.length)return null;let n=0,r=0,i=0;for(const a of t)if(void 0!==b[a])i=b[a];else if(void 0!==S[a])r+=(i||("十"===a?1:0))*S[a],i=0;else{if("万"!==a&&"萬"!==a)return null;n=1e4*(n+r+i),r=0,i=0}return n+r+i},v={I:1,V:5,X:10,L:50,C:100,D:500,M:1e3},U=e=>{const t=e.trim().toUpperCase();if(!/^[IVXLCDM]+$/.test(t))return null;let n=0;for(let r=0;r<t.length;r++){const e=v[t[r]],i=v[t[r+1]];i&&e<i?n-=e:n+=e}return n},E={one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20},O=e=>{const t=e.trim().toLowerCase();return/^\d+$/.test(t)?Number.parseInt(t,10):void 0!==E[t]?E[t]:U(t)},A=e=>"function"==typeof e,M=12e4,T="__ranuts_bridge__",k="default",B=new class{bridges=/* @__PURE__ */new Set;attachedWindow=null;handleMessage=e=>{for(const t of Array.from(this.bridges))t.receive(e)};add(e){this.bridges.add(e),"undefined"!=typeof window&&this.attachedWindow!==window&&(window.addEventListener("message",this.handleMessage),this.attachedWindow=window)}remove(e){this.bridges.delete(e),0===this.bridges.size&&this.attachedWindow&&(this.attachedWindow.removeEventListener("message",this.handleMessage),this.attachedWindow=null)}},L=class{targetWindow;targetOrigin;messageHandlers;pendingRequests;channel;senderId;available;constructor(e,t="*",n=k){this.targetOrigin=t,this.channel=n,this.senderId=i(12),this.messageHandlers=/* @__PURE__ */new Map,this.pendingRequests=/* @__PURE__ */new Map,this.available="undefined"!=typeof window,this.available?(this.targetWindow=e??window,B.add(this)):this.targetWindow=void 0}post(e,t){const n={...t,__bridge:T,channel:this.channel,senderId:this.senderId};e.postMessage(n,this.targetOrigin)}receive=e=>{if(!this.available)return;if("*"!==this.targetOrigin&&e.origin!==this.targetOrigin)return;if(e.source&&e.source!==this.targetWindow)return;const t=e.data;if(!t||"object"!=typeof t||"__ranuts_bridge__"!==t.__bridge)return;if((t.channel??"default")!==this.channel)return;const{type:n,payload:r,id:i,isResponse:a,isError:s,senderId:o}=t;if(a&&i){const e=this.pendingRequests.get(i);return void(e&&(s?e.reject(new Error("string"==typeof r?r:"Bridge request failed")):e.resolve(r),this.pendingRequests.delete(i)))}if(o&&o===this.senderId)return;if("string"!=typeof n||!this.messageHandlers.has(n))return;const c=this.messageHandlers.get(n);if(A(c)){const t=e.source??this.targetWindow;Promise.resolve(c(r)).then(e=>{i&&this.post(t,{type:n,payload:e,id:i,isResponse:!0})}).catch(e=>{i&&this.post(t,{type:n,payload:e instanceof Error?e.message:String(e),id:i,isResponse:!0,isError:!0})})}};on=(e,t)=>{this.messageHandlers.set(e,t)};off=e=>{this.messageHandlers.delete(e)};send=async(e,t)=>{if(!this.available)return Promise.reject(/* @__PURE__ */new Error("PostMessageBridge is unavailable outside a browser environment"));const n=i(10);return new Promise((r,i)=>{const a=setTimeout(()=>{this.pendingRequests.has(n)&&(this.pendingRequests.delete(n),i(/* @__PURE__ */new Error("Request timeout")))},M),s=e=>{clearTimeout(a),i(e)};this.pendingRequests.set(n,{resolve:e=>{clearTimeout(a),r(e)},reject:s});try{this.post(this.targetWindow,{type:e,payload:t,id:n})}catch(o){this.pendingRequests.delete(n),s(o instanceof Error?o:/* @__PURE__ */new Error("Failed to post message"))}})};broadcast=e=>{if(this.available)try{this.post(this.targetWindow,{type:e.type,payload:e.payload})}catch{}};destroy=()=>{B.remove(this),this.messageHandlers.clear(),this.pendingRequests.forEach(e=>{e.reject(/* @__PURE__ */new Error("Bridge destroyed"))}),this.pendingRequests.clear()}},F=class e{static instance;bridges=/* @__PURE__ */new Map;constructor(){}static getInstance(){return e.instance||(e.instance=new e),e.instance}connectClient=({id:e,targetOrigin:t,targetWindow:n,channel:r})=>{const a=new L(n,t,r);if(e||(e=i(10)),this.bridges.has(e))throw new Error(`Bridge ${e} already exists`);return this.bridges.set(e,a),{bridge:a,id:e}};getClient=e=>this.bridges.get(e);removeClient=e=>{const t=this.bridges.get(e);t&&(t.destroy(),this.bridges.delete(e))};removeAllClient=()=>{this.bridges.forEach(e=>{e.destroy()}),this.bridges.clear()};broadcast=e=>{this.bridges.forEach(t=>{t.broadcast(e)})};sendTo=(e,t,n)=>{const r=this.getClient(e);return r?r.send(t,n):Promise.reject(/* @__PURE__ */new Error(`Bridge ${e} not found`))}},R=F.getInstance(),D={connect:({id:e,targetWindow:t,targetOrigin:n,channel:r})=>R.connectClient({id:e,targetWindow:t,targetOrigin:n,channel:r}),remove:e=>{e&&R.removeClient(e)},removeAll:()=>{R.removeAllClient()},broadcast:e=>R.broadcast(e),call:({id:e,type:t,payload:n})=>R.sendTo(e,t,n),broadcastToAll:e=>{if("undefined"==typeof window)return;const t={__bridge:T,channel:k,type:e.type,payload:e.payload};return window.postMessage(t,"*")}},P={init:e=>{const t=new Map(Object.entries(e).filter(e=>A(e[1]))),n=async e=>{const n=e.data;if(!n||"object"!=typeof n||"__ranuts_bridge__"!==n.__bridge)return;const{type:r,payload:i,id:a}=n,s=n.channel??"default";if("string"!=typeof r||!t.has(r))return;const o=t.get(r);if(!o)return;const c=t=>{a&&e.source?.postMessage({__bridge:T,channel:s,type:r,id:a,isResponse:!0,...t},{targetOrigin:e.origin})};try{c({payload:await o(i)})}catch(u){c({payload:u instanceof Error?u.message:String(u),isError:!0})}};window.removeEventListener("message",n),window.addEventListener("message",n);return{destroy:()=>{window.removeEventListener("message",n)}}}},H="__ranuts_port_init__",I=e=>{const t=/* @__PURE__ */new Map,n=/* @__PURE__ */new Map,r=r=>{const i=r.data;if(!i||"object"!=typeof i||"string"!=typeof i.type)return;const{type:a,payload:s,id:o,isResponse:c,isError:u}=i;if(c&&o){const e=n.get(o);return void(e&&(u?e.reject(new Error("string"==typeof s?s:"Bridge request failed")):e.resolve(s),n.delete(o)))}if(!t.has(a))return;const d=t.get(a);A(d)&&Promise.resolve(d(s)).then(t=>{o&&e.postMessage({type:a,payload:t,id:o,isResponse:!0})}).catch(t=>{o&&e.postMessage({type:a,payload:t instanceof Error?t.message:String(t),id:o,isResponse:!0,isError:!0})})};return e.addEventListener("message",r),e.start(),{on:(e,n)=>{t.set(e,n)},off:e=>{t.delete(e)},send:(t,r)=>{const a=i(10);return new Promise((i,s)=>{const o=setTimeout(()=>{n.has(a)&&(n.delete(a),s(/* @__PURE__ */new Error("Request timeout")))},M),c=e=>{clearTimeout(o),s(e)};n.set(a,{resolve:e=>{clearTimeout(o),i(e)},reject:c});try{e.postMessage({type:t,payload:r,id:a})}catch(u){n.delete(a),c(u instanceof Error?u:/* @__PURE__ */new Error("Failed to post message"))}})},broadcast:t=>{try{e.postMessage({type:t.type,payload:t.payload})}catch{}},destroy:()=>{e.removeEventListener("message",r),t.clear(),n.forEach(e=>e.reject(/* @__PURE__ */new Error("Bridge destroyed"))),n.clear(),e.close()}}},x=({targetWindow:e,targetOrigin:t="*",name:n="default"})=>{const r=new MessageChannel;return e.postMessage({[H]:!0,name:n},t,[r.port2]),I(r.port1)},j=({targetOrigin:e="*",name:t="default"}={})=>"undefined"==typeof window?Promise.reject(/* @__PURE__ */new Error("acceptPortBridge is unavailable outside a browser environment")):new Promise(n=>{const r=i=>{if("*"!==e&&i.origin!==e)return;const a=i.data;if(!a||"object"!=typeof a||!0!==a[H]||a.name!==t)return;const s=i.ports?.[0];s&&(window.removeEventListener("message",r),n(I(s)))};window.addEventListener("message",r)}),z=e=>{let t,n=!1,r=e;return(...e)=>(n||(t="function"==typeof r?r(...e):r,n=!0,r=void 0),t)},N=z,K=e=>{let t=null;const n=()=>(t??=e().catch(e=>{throw t=null,e}),t);return n.reset=()=>{t=null},Object.defineProperty(n,"started",{get:()=>null!==t}),n};function _(e={}){if("object"!=typeof e)throw new TypeError("param must be object");return Object.entries(e).reduce((e,[t,n])=>(void 0===n||null==n||e.append(decodeURIComponent(t),decodeURIComponent(n)),e),new URLSearchParams).toString()}var W=(e,t=d,n=4)=>{try{const t="string"==typeof e?JSON.parse(e.replace(/'/g,'"')):e;return JSON.stringify(t,null,n)??""}catch(r){return t(r),""}},q=(e,t)=>{const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n},V=(e,t)=>{if(e&&t)for(const n in t)e[n]=t[n];return e};function $(e,t,n,r){if(void 0===e)return d;if(!(t in e)&&!r)return d;const i=t in e,a=e[t],s=n(a);if("function"!=typeof s)return d;e[t]=s;let o=!1;return()=>{o||(o=!0,e[t]===s&&(i?e[t]=a:delete e[t]))}}var X=(e,t)=>{const n=Object.getOwnPropertyDescriptors(t);for(const r of Object.keys(n)){const t=n[r];if(t.get){const n=t.get;Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:z(n)})}else{if("object"!=typeof t.value)throw new Error("Exposed values must be either a getter or an nested object");Object.defineProperty(e,r,{configurable:!1,enumerable:!0,writable:!1,value:X({},t.value)})}}return Object.freeze(e)},Y=(e,t)=>{"undefined"!=typeof window&&(window[e]=t),"undefined"!=typeof global&&(global[e]=t)};function G(e){return Object.prototype.toString.call(e)}function J(e,t,n=/* @__PURE__ */new Map){if(e===t)return!0;if(null==e||null==t)return e===t;if(e!=e&&t!=t)return!0;const r=typeof e;if(r!==typeof t)return!1;if("object"!==r)return e===t;const i=G(e);if(i!==G(t))return!1;if(n.has(e))return n.get(e)===t;if(n.set(e,t),"[object Array]"===i){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!J(e[r],t[r],n))return!1;return!0}if("[object Date]"===i)return+e===+t;if("[object RegExp]"===i)return e.toString()===t.toString();if("[object Map]"===i){if(e.size!==t.size)return!1;let r=!0;return e.forEach((e,i)=>{r&&(t.has(i)&&J(e,t.get(i),n)||(r=!1))}),r}if("[object Set]"===i){if(e.size!==t.size)return!1;const r=Array.from(e),i=Array.from(t);return r.every(e=>i.some(t=>J(e,t,n)))}const a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(const o of a)if(!Object.prototype.hasOwnProperty.call(t,o)||!J(e[o],t[o],n))return!1;return!0}var Q=(e,t=/* @__PURE__ */new WeakMap)=>{if(null===e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(Array.isArray(e)){const n=[];t.set(e,n);for(let r=0;r<e.length;r++)n[r]=Q(e[r],t);return n}if(e instanceof Map){const n=/* @__PURE__ */new Map;return t.set(e,n),e.forEach((e,r)=>{n.set("object"==typeof r&&null!==r?Q(r,t):r,Q(e,t))}),n}if(e instanceof Set){const n=/* @__PURE__ */new Set;return t.set(e,n),e.forEach(e=>{n.add(Q(e,t))}),n}if("object"==typeof e&&e.constructor===Object){const n={};return t.set(e,n),[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)].forEach(r=>{n[r]=Q(e[r],t)}),n}try{const n=new(0,Object.getPrototypeOf(e).constructor);t.set(e,n);for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=Q(e[r],t));return n}catch{return console.warn(`Unable to deeply clone object of type ${Object.prototype.toString.call(e)}. Fallback to shallow copy.`),{...e}}},Z={172351395:{name:"EBML",type:"Container"},646:{name:"EBMLVersion",type:"Uint"},759:{name:"EBMLReadVersion",type:"Uint"},754:{name:"EBMLMaxIDLength",type:"Uint"},755:{name:"EBMLMaxSizeLength",type:"Uint"},642:{name:"DocType",type:"String"},647:{name:"DocTypeVersion",type:"Uint"},645:{name:"DocTypeReadVersion",type:"Uint"},108:{name:"Void",type:"Binary"},63:{name:"CRC-32",type:"Binary"},190023271:{name:"SignatureSlot",type:"Container"},16010:{name:"SignatureAlgo",type:"Uint"},16026:{name:"SignatureHash",type:"Uint"},16037:{name:"SignaturePublicKey",type:"Binary"},16053:{name:"Signature",type:"Binary"},15963:{name:"SignatureElements",type:"Container"},15995:{name:"SignatureElementList",type:"Container"},9522:{name:"SignedElement",type:"Binary"},139690087:{name:"Segment",type:"Container"},21863284:{name:"SeekHead",type:"Container"},3515:{name:"Seek",type:"Container"},5035:{name:"SeekID",type:"Binary"},5036:{name:"SeekPosition",type:"Uint"},88713574:{name:"Info",type:"Container"},13220:{name:"SegmentUID",type:"Binary"},13188:{name:"SegmentFilename",type:"String"},1882403:{name:"PrevUID",type:"Binary"},1868715:{name:"PrevFilename",type:"String"},2013475:{name:"NextUID",type:"Binary"},1999803:{name:"NextFilename",type:"String"},1092:{name:"SegmentFamily",type:"Binary"},10532:{name:"ChapterTranslate",type:"Container"},10748:{name:"ChapterTranslateEditionUID",type:"Uint"},10687:{name:"ChapterTranslateCodec",type:"Uint"},10661:{name:"ChapterTranslateID",type:"Binary"},710577:{name:"TimecodeScale",type:"Uint"},1161:{name:"Duration",type:"Float"},1121:{name:"DateUTC",type:"Date"},15273:{name:"Title",type:"String"},3456:{name:"MuxingApp",type:"String"},5953:{name:"WritingApp",type:"String"},103:{name:"Timecode",type:"Uint"},6228:{name:"SilentTracks",type:"Container"},6359:{name:"SilentTrackNumber",type:"Uint"},39:{name:"Position",type:"Uint"},43:{name:"PrevSize",type:"Uint"},35:{name:"SimpleBlock",type:"Binary"},32:{name:"BlockGroup",type:"Container"},33:{name:"Block",type:"Binary"},34:{name:"BlockVirtual",type:"Binary"},13729:{name:"BlockAdditions",type:"Container"},38:{name:"BlockMore",type:"Container"},110:{name:"BlockAddID",type:"Uint"},37:{name:"BlockAdditional",type:"Binary"},27:{name:"BlockDuration",type:"Uint"},122:{name:"ReferencePriority",type:"Uint"},123:{name:"ReferenceBlock",type:"Int"},125:{name:"ReferenceVirtual",type:"Int"},36:{name:"CodecState",type:"Binary"},13730:{name:"DiscardPadding",type:"Int"},14:{name:"Slices",type:"Container"},104:{name:"TimeSlice",type:"Container"},76:{name:"LaceNumber",type:"Uint"},77:{name:"FrameNumber",type:"Uint"},75:{name:"BlockAdditionID",type:"Uint"},78:{name:"Delay",type:"Uint"},79:{name:"SliceDuration",type:"Uint"},72:{name:"ReferenceFrame",type:"Container"},73:{name:"ReferenceOffset",type:"Uint"},74:{name:"ReferenceTimeCode",type:"Uint"},47:{name:"EncryptedBlock",type:"Binary"},106212971:{name:"Tracks",type:"Container"},46:{name:"TrackEntry",type:"Container"},87:{name:"TrackNumber",type:"Uint"},13253:{name:"TrackUID",type:"Uint"},3:{name:"TrackType",type:"Uint"},57:{name:"FlagEnabled",type:"Uint"},8:{name:"FlagDefault",type:"Uint"},5546:{name:"FlagForced",type:"Uint"},28:{name:"FlagLacing",type:"Uint"},11751:{name:"MinCache",type:"Uint"},11768:{name:"MaxCache",type:"Uint"},254851:{name:"DefaultDuration",type:"Uint"},216698:{name:"DefaultDecodedFieldDuration",type:"Uint"},209231:{name:"TrackTimecodeScale",type:"Float"},4991:{name:"TrackOffset",type:"Int"},5614:{name:"MaxBlockAdditionID",type:"Uint"},4974:{name:"Name",type:"String"},177564:{name:"Language",type:"String"},6:{name:"CodecID",type:"String"},9122:{name:"CodecPrivate",type:"Binary"},362120:{name:"CodecName",type:"String"},13382:{name:"AttachmentLink",type:"Uint"},1742487:{name:"CodecSettings",type:"String"},1785920:{name:"CodecInfoURL",type:"String"},438848:{name:"CodecDownloadURL",type:"String"},42:{name:"CodecDecodeAll",type:"Uint"},12203:{name:"TrackOverlay",type:"Uint"},5802:{name:"CodecDelay",type:"Uint"},5819:{name:"SeekPreRoll",type:"Uint"},9764:{name:"TrackTranslate",type:"Container"},9980:{name:"TrackTranslateEditionUID",type:"Uint"},9919:{name:"TrackTranslateCodec",type:"Uint"},9893:{name:"TrackTranslateTrackID",type:"Binary"},96:{name:"Video",type:"Container"},26:{name:"FlagInterlaced",type:"Uint"},5048:{name:"StereoMode",type:"Uint"},5056:{name:"AlphaMode",type:"Uint"},5049:{name:"OldStereoMode",type:"Uint"},48:{name:"PixelWidth",type:"Uint"},58:{name:"PixelHeight",type:"Uint"},5290:{name:"PixelCropBottom",type:"Uint"},5307:{name:"PixelCropTop",type:"Uint"},5324:{name:"PixelCropLeft",type:"Uint"},5341:{name:"PixelCropRight",type:"Uint"},5296:{name:"DisplayWidth",type:"Uint"},5306:{name:"DisplayHeight",type:"Uint"},5298:{name:"DisplayUnit",type:"Uint"},5299:{name:"AspectRatioType",type:"Uint"},963876:{name:"ColourSpace",type:"Binary"},1029411:{name:"GammaValue",type:"Float"},230371:{name:"FrameRate",type:"Float"},97:{name:"Audio",type:"Container"},53:{name:"SamplingFrequency",type:"Float"},14517:{name:"OutputSamplingFrequency",type:"Float"},31:{name:"Channels",type:"Uint"},15739:{name:"ChannelPositions",type:"Binary"},8804:{name:"BitDepth",type:"Uint"},98:{name:"TrackOperation",type:"Container"},99:{name:"TrackCombinePlanes",type:"Container"},100:{name:"TrackPlane",type:"Container"},101:{name:"TrackPlaneUID",type:"Uint"},102:{name:"TrackPlaneType",type:"Uint"},105:{name:"TrackJoinBlocks",type:"Container"},109:{name:"TrackJoinUID",type:"Uint"},64:{name:"TrickTrackUID",type:"Uint"},65:{name:"TrickTrackSegmentUID",type:"Binary"},70:{name:"TrickTrackFlag",type:"Uint"},71:{name:"TrickMasterTrackUID",type:"Uint"},68:{name:"TrickMasterTrackSegmentUID",type:"Binary"},11648:{name:"ContentEncodings",type:"Container"},8768:{name:"ContentEncoding",type:"Container"},4145:{name:"ContentEncodingOrder",type:"Uint"},4146:{name:"ContentEncodingScope",type:"Uint"},4147:{name:"ContentEncodingType",type:"Uint"},4148:{name:"ContentCompression",type:"Container"},596:{name:"ContentCompAlgo",type:"Uint"},597:{name:"ContentCompSettings",type:"Binary"},4149:{name:"ContentEncryption",type:"Container"},2017:{name:"ContentEncAlgo",type:"Uint"},2018:{name:"ContentEncKeyID",type:"Binary"},2019:{name:"ContentSignature",type:"Binary"},2020:{name:"ContentSigKeyID",type:"Binary"},2021:{name:"ContentSigAlgo",type:"Uint"},2022:{name:"ContentSigHashAlgo",type:"Uint"},206814059:{name:"Cues",type:"Container"},59:{name:"CuePoint",type:"Container"},51:{name:"CueTime",type:"Uint"},55:{name:"CueTrackPositions",type:"Container"},119:{name:"CueTrack",type:"Uint"},113:{name:"CueClusterPosition",type:"Uint"},112:{name:"CueRelativePosition",type:"Uint"},50:{name:"CueDuration",type:"Uint"},4984:{name:"CueBlockNumber",type:"Uint"},106:{name:"CueCodecState",type:"Uint"},91:{name:"CueReference",type:"Container"},22:{name:"CueRefTime",type:"Uint"},23:{name:"CueRefCluster",type:"Uint"},4959:{name:"CueRefNumber",type:"Uint"},107:{name:"CueRefCodecState",type:"Uint"},155296873:{name:"Attachments",type:"Container"},8615:{name:"AttachedFile",type:"Container"},1662:{name:"FileDescription",type:"String"},1646:{name:"FileName",type:"String"},1632:{name:"FileMimeType",type:"String"},1628:{name:"FileData",type:"Binary"},1710:{name:"FileUID",type:"Uint"},1653:{name:"FileReferral",type:"Binary"},1633:{name:"FileUsedStartTime",type:"Uint"},1634:{name:"FileUsedEndTime",type:"Uint"},4433776:{name:"Chapters",type:"Container"},1465:{name:"EditionEntry",type:"Container"},1468:{name:"EditionUID",type:"Uint"},1469:{name:"EditionFlagHidden",type:"Uint"},1499:{name:"EditionFlagDefault",type:"Uint"},1501:{name:"EditionFlagOrdered",type:"Uint"},54:{name:"ChapterAtom",type:"Container"},13252:{name:"ChapterUID",type:"Uint"},5716:{name:"ChapterStringUID",type:"String"},17:{name:"ChapterTimeStart",type:"Uint"},18:{name:"ChapterTimeEnd",type:"Uint"},24:{name:"ChapterFlagHidden",type:"Uint"},1432:{name:"ChapterFlagEnabled",type:"Uint"},11879:{name:"ChapterSegmentUID",type:"Binary"},11964:{name:"ChapterSegmentEditionUID",type:"Uint"},9155:{name:"ChapterPhysicalEquiv",type:"Uint"},15:{name:"ChapterTrack",type:"Container"},9:{name:"ChapterTrackNumber",type:"Uint"},0:{name:"ChapterDisplay",type:"Container"},5:{name:"ChapString",type:"String"},892:{name:"ChapLanguage",type:"String"},894:{name:"ChapCountry",type:"String"},10564:{name:"ChapProcess",type:"Container"},10581:{name:"ChapProcessCodecID",type:"Uint"},1293:{name:"ChapProcessPrivate",type:"Binary"},10513:{name:"ChapProcessCommand",type:"Container"},10530:{name:"ChapProcessTime",type:"Uint"},10547:{name:"ChapProcessData",type:"Binary"},39109479:{name:"Tags",type:"Container"},13171:{name:"Tag",type:"Container"},9152:{name:"Targets",type:"Container"},10442:{name:"TargetTypeValue",type:"Uint"},9162:{name:"TargetType",type:"String"},9157:{name:"TagTrackUID",type:"Uint"},9161:{name:"TagEditionUID",type:"Uint"},9156:{name:"TagChapterUID",type:"Uint"},9158:{name:"TagAttachmentUID",type:"Uint"},10184:{name:"SimpleTag",type:"Container"},1443:{name:"TagName",type:"String"},1146:{name:"TagLanguage",type:"String"},1156:{name:"TagDefault",type:"Uint"},1159:{name:"TagString",type:"String"},1157:{name:"TagBinary",type:"Binary"}},ee=class{name;type;source;data;constructor(e="Unknown",t="Unknown"){this.name=e,this.type=t}updateBySource(){}setSource(e){this.source=e,this.updateBySource()}updateByData(){}setData(e){this.data=e,this.updateByData()}};function te(e){return e.length%2==1?"0"+e:e}var ne=class extends ee{constructor(e,t){super(e,t||"Uint")}updateBySource(){this.data="";for(let e=0;e<this.source.length;e++){const t=this.source[e].toString(16);this.data+=te(t)}}updateByData(){const e=this.data.length/2;this.source=new Uint8Array(e);for(let t=0;t<e;t++){const e=this.data.substr(2*t,2);this.source[t]=parseInt(e,16)}}getValue(){return parseInt(this.data,16)}setValue(e){this.setData(te(e.toString(16)))}},re=class extends ee{constructor(e,t){super(e,t||"Float")}getFloatArrayType(){return this.source&&4===this.source.length?Float32Array:Float64Array}updateBySource(){const e=this.source.reverse(),t=new(this.getFloatArrayType())(e.buffer);this.data=t[0]}updateByData(){const e=new(this.getFloatArrayType())([this.data]),t=new Uint8Array(e.buffer);this.source=t.reverse()}getValue(){return this.data}setValue(e){this.setData(e)}},ie=class e extends ee{offset=0;data=[];constructor(e,t){super(e,t||"Container")}readByte(){return this.source[this.offset++]}readUint(){const e=this.readByte(),t=8-e.toString(2).length;let n=e-(1<<7-t);for(let r=0;r<t;r++)n*=256,n+=this.readByte();return n}updateBySource(){let t;for(this.data=[],this.offset=0;this.offset<this.source.length;this.offset=t){const n=this.readUint(),r=this.readUint();t=Math.min(this.offset+r,this.source.length);const i=this.source.slice(this.offset,t),a=Z[n]||{name:"Unknown",type:"Unknown"};let s=ee;switch(a.type){case"Container":s=e;break;case"Uint":s=ne;break;case"Float":s=re}const o=new s(a.name,a.type);o.setSource(i),this.data.push({id:n,idHex:n.toString(16),data:o})}}writeUint(e,t=!1){let n=1,r=128;for(;e>=r&&n<8;)n++,r*=128;if(!t){let t=r+e;for(let e=n-1;e>=0;e--){const n=t%256;this.source[this.offset+e]=n,t=(t-n)/256}}this.offset+=n}writeSections(e=!1){this.offset=0;for(let t=0;t<this.data.length;t++){const n=this.data[t],r=n.data.source,i=r.length;this.writeUint(n.id,e),this.writeUint(i,e),e||this.source.set(r,this.offset),this.offset+=i}return this.offset}updateByData(){const e=this.writeSections(!0);this.source=new Uint8Array(e),this.writeSections()}getSectionById(e){for(let t=0;t<this.data.length;t++){const n=this.data[t];if(n.id===e)return n.data}}},ae=class extends ie{constructor(e){super("File","File"),this.setSource(e)}fixDuration(e){const t=this.getSectionById(139690087);if(!t)return!1;const n=t.getSectionById(88713574);if(!n)return!1;const r=n.getSectionById(710577);if(!r)return!1;let i=n.getSectionById(1161);if(i){if(!(i.getValue()<=0))return!1;i.setValue(e)}else i=new re("Duration","Float"),i.setValue(e),n.data.push({id:1161,data:i});return r.setValue(1e6),n.updateByData(),t.updateByData(),this.updateByData(),!0}toBlob(e="video/webm"){return new Blob([this.source.buffer],{type:e})}};var se=class{startTime;chunks;mediaRecorder;blob;constructor(){this.startTime=Date.now(),this.chunks=[],navigator.mediaDevices.getUserMedia({audio:!0}).then(e=>{this.init(e)}).catch(e=>{})}init(e){const t=function(){const e=["audio/webm","audio/mp4","audio/ogg","audio/wav","audio/aac"];for(let t=0;t<e.length;t++)if(MediaRecorder.isTypeSupported(e[t]))return e[t]}();this.mediaRecorder=new MediaRecorder(e,{mimeType:t}),this.mediaRecorder?.addEventListener("dataavailable",async e=>{if(e.data.size>0&&this.chunks.push(e.data),"inactive"===this.mediaRecorder?.state){const e=Date.now()-this.startTime;this.blob=new Blob(this.chunks,{type:t}),"audio/webm"===t&&(this.blob=await((e,t,n="video/webm")=>new Promise((r,i)=>{try{const a=new FileReader;a.addEventListener("loadend",()=>{try{const i=a.result,s=new ae(new Uint8Array(i));s.fixDuration(t)?r(s.toBlob(n)):r(e)}catch(s){i(s)}}),a.addEventListener("error",()=>i()),a.readAsArrayBuffer(e)}catch(a){i(a)}}))(this.blob,e,this.blob.type)),this.chunks=[]}}),this.mediaRecorder?.start()}start(){return"paused"===this.mediaRecorder?.state&&this.mediaRecorder.resume(),this.mediaRecorder}pause(){return"recording"===this.mediaRecorder?.state&&this.mediaRecorder.pause(),this.mediaRecorder}stop(){return this.mediaRecorder?.stop(),this.blob}},oe=new e,ce=(e,t={})=>{const{subscriber:n,equals:r}=t;let i=e;return[()=>i,e=>{var t,a;(t=i,a=e,!1!==r&&("function"==typeof r?r(t,a):Object.is(t,a)))||(i=e,n&&oe.call(n))}]},ue=()=>{const e=document.createElement("canvas").getContext("webgl2");return e?function(e){const t=e.getExtension("WEBGL_debug_renderer_info");return t?{vendor:e.getParameter(t.UNMASKED_VENDOR_WEBGL),renderer:e.getParameter(t.UNMASKED_RENDERER_WEBGL)}:null}(e):null},de=()=>{const e=document.createElement("canvas"),t=e.getContext("2d"),n="BrowserLeaks,com <canvas> 1.0";return t?(t.textBaseline="top",t.font="14px 'Arial'",t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(125,1,62,20),t.fillStyle="#069",t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.7)",t.fillText(n,4,17),e.toDataURL()):null},le=()=>new Promise((e,t)=>{o||t("window is undefined");const n=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,44100,44100),r=n.createOscillator();r.type="triangle",r.frequency.setValueAtTime(1e4,n.currentTime);const i=n.createDynamicsCompressor();!function(e,t){if(Array.prototype.forEach&&e.forEach===Array.prototype.forEach)e.forEach(t);else if(e.length===+e.length)for(let n=0,r=e.length;n<r;n++)t(e[n],n,e);else for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t(e[n],Number(n),e)}([["threshold",-50],["knee",40],["ratio",12],["reduction",-20],["attack",0],["release",.25]],function(e){if(i[e[0]]&&"number"!=typeof i[e[0]]){const{setValueAtTime:t}=i[e[0]];t(e[1],n.currentTime)}}),r.connect(i),i.connect(n.destination),r.start(0),n.startRendering();const a=setTimeout(function(){return n.oncomplete=()=>{},t("audioTimeout"),"audioTimeout"},100);n.oncomplete=n=>{try{clearTimeout(a);const t=n.renderedBuffer.getChannelData(0).slice(4500,5e3).reduce(function(e,t){return e+Math.abs(t)},0).toString();return r.disconnect(),i.disconnect(),e(t),t}catch(s){return void t(s)}}}),he="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function pe(e,t,n,r){let i,a,s;const o=t||[0],c=(n=n||0)>>>3,u=-1===r?3:0;for(i=0;i<e.length;i+=1)s=i+c,a=s>>>2,o.length<=a&&o.push(0),o[a]|=e[i]<<8*(u+r*(s%4));return{value:o,binLen:8*e.length+n}}function fe(e,t,n){switch(t){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(e){case"HEX":return function(e,t,r){return function(e,t,n,r){let i,a,s,o;if(0!=e.length%2)throw new Error("String of HEX type must be in byte increments");const c=t||[0],u=(n=n||0)>>>3,d=-1===r?3:0;for(i=0;i<e.length;i+=2){if(a=parseInt(e.substr(i,2),16),isNaN(a))throw new Error("String of HEX type contains invalid characters");for(o=(i>>>1)+u,s=o>>>2;c.length<=s;)c.push(0);c[s]|=a<<8*(d+r*(o%4))}return{value:c,binLen:4*e.length+n}}(e,t,r,n)};case"TEXT":return function(e,r,i){return function(e,t,n,r,i){let a,s,o,c,u,d,l,h,p=0;const f=n||[0],m=(r=r||0)>>>3;if("UTF8"===t)for(l=-1===i?3:0,o=0;o<e.length;o+=1)for(a=e.charCodeAt(o),s=[],128>a?s.push(a):2048>a?(s.push(192|a>>>6),s.push(128|63&a)):55296>a||57344<=a?s.push(224|a>>>12,128|a>>>6&63,128|63&a):(o+=1,a=65536+((1023&a)<<10|1023&e.charCodeAt(o)),s.push(240|a>>>18,128|a>>>12&63,128|a>>>6&63,128|63&a)),c=0;c<s.length;c+=1){for(d=p+m,u=d>>>2;f.length<=u;)f.push(0);f[u]|=s[c]<<8*(l+i*(d%4)),p+=1}else for(l=-1===i?2:0,h="UTF16LE"===t&&1!==i||"UTF16LE"!==t&&1===i,o=0;o<e.length;o+=1){for(a=e.charCodeAt(o),!0===h&&(c=255&a,a=c<<8|a>>>8),d=p+m,u=d>>>2;f.length<=u;)f.push(0);f[u]|=a<<8*(l+i*(d%4)),p+=2}return{value:f,binLen:8*p+r}}(e,t,r,i,n)};case"B64":return function(e,t,r){return function(e,t,n,r){let i,a,s,o,c,u,d,l=0;const h=t||[0],p=(n=n||0)>>>3,f=-1===r?3:0,m=e.indexOf("=");if(-1===e.search(/^[a-z\d=+/]+$/i))throw new Error("Invalid character in base-64 string");if(e=e.replace(/=/g,""),-1!==m&&m<e.length)throw new Error("Invalid '=' found in base-64 string");for(a=0;a<e.length;a+=4){for(c=e.substr(a,4),o=0,s=0;s<c.length;s+=1)i=he.indexOf(c.charAt(s)),o|=i<<18-6*s;for(s=0;s<c.length-1;s+=1){for(d=l+p,u=d>>>2;h.length<=u;)h.push(0);h[u]|=(o>>>16-8*s&255)<<8*(f+r*(d%4)),l+=1}}return{value:h,binLen:8*l+n}}(e,t,r,n)};case"BYTES":return function(e,t,r){return function(e,t,n,r){let i,a,s,o;const c=t||[0],u=(n=n||0)>>>3,d=-1===r?3:0;for(a=0;a<e.length;a+=1)i=e.charCodeAt(a),o=a+u,s=o>>>2,c.length<=s&&c.push(0),c[s]|=i<<8*(d+r*(o%4));return{value:c,binLen:8*e.length+n}}(e,t,r,n)};case"ARRAYBUFFER":return function(e,t,r){return function(e,t,n,r){return pe(new Uint8Array(e),t,n,r)}(e,t,r,n)};case"UINT8ARRAY":return function(e,t,r){return pe(e,t,r,n)};default:throw new Error("format must be HEX, TEXT, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}function me(e,t,n,r){switch(e){case"HEX":return function(e){return function(e,t,n,r){const i="0123456789abcdef";let a,s,o="";const c=t/8,u=-1===n?3:0;for(a=0;a<c;a+=1)s=e[a>>>2]>>>8*(u+n*(a%4)),o+=i.charAt(s>>>4&15)+i.charAt(15&s);return r.outputUpper?o.toUpperCase():o}(e,t,n,r)};case"B64":return function(e){return function(e,t,n,r){let i,a,s,o,c,u="";const d=t/8,l=-1===n?3:0;for(i=0;i<d;i+=3)for(o=i+1<d?e[i+1>>>2]:0,c=i+2<d?e[i+2>>>2]:0,s=(e[i>>>2]>>>8*(l+n*(i%4))&255)<<16|(o>>>8*(l+n*((i+1)%4))&255)<<8|c>>>8*(l+n*((i+2)%4))&255,a=0;a<4;a+=1)u+=8*i+6*a<=t?he.charAt(s>>>6*(3-a)&63):r.b64Pad;return u}(e,t,n,r)};case"BYTES":return function(e){return function(e,t,n){let r,i,a="";const s=t/8,o=-1===n?3:0;for(r=0;r<s;r+=1)i=e[r>>>2]>>>8*(o+n*(r%4))&255,a+=String.fromCharCode(i);return a}(e,t,n)};case"ARRAYBUFFER":return function(e){return function(e,t,n){let r;const i=t/8,a=new ArrayBuffer(i),s=new Uint8Array(a),o=-1===n?3:0;for(r=0;r<i;r+=1)s[r]=e[r>>>2]>>>8*(o+n*(r%4))&255;return a}(e,t,n)};case"UINT8ARRAY":return function(e){return function(e,t,n){let r;const i=t/8,a=-1===n?3:0,s=new Uint8Array(i);for(r=0;r<i;r+=1)s[r]=e[r>>>2]>>>8*(a+n*(r%4))&255;return s}(e,t,n)};default:throw new Error("format must be HEX, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}var ge=4294967296,ye=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],we=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],be=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],Se="Chosen SHA variant is not supported",Ce="Cannot set numRounds with MAC";function ve(e,t){let n,r;const i=e.binLen>>>3,a=t.binLen>>>3,s=i<<3,o=4-i<<3;if(i%4!=0){for(n=0;n<a;n+=4)r=i+n>>>2,e.value[r]|=t.value[n>>>2]<<s,e.value.push(0),e.value[r+1]|=t.value[n>>>2]>>>o;return(e.value.length<<2)-4>=a+i&&e.value.pop(),{value:e.value,binLen:e.binLen+t.binLen}}return{value:e.value.concat(t.value),binLen:e.binLen+t.binLen}}function Ue(e){const t={outputUpper:!1,b64Pad:"=",outputLen:-1},n=e||{},r="Output length must be a multiple of 8";if(t.outputUpper=n.outputUpper||!1,n.b64Pad&&(t.b64Pad=n.b64Pad),n.outputLen){if(n.outputLen%8!=0)throw new Error(r);t.outputLen=n.outputLen}else if(n.shakeLen){if(n.shakeLen%8!=0)throw new Error(r);t.outputLen=n.shakeLen}if("boolean"!=typeof t.outputUpper)throw new Error("Invalid outputUpper formatting option");if("string"!=typeof t.b64Pad)throw new Error("Invalid b64Pad formatting option");return t}function Ee(e,t,n,r){const i=e+" must include a value and format";if(!t){if(!r)throw new Error(i);return r}if(void 0===t.value||!t.format)throw new Error(i);return fe(t.format,t.encoding||"UTF8",n)(t.value)}var Oe=class{shaVariant;inputFormat;utfType;numRounds;keyWithIPad;keyWithOPad;remainder;remainderLen;updateCalled;processedLen;macKeySet;constructor(e,t,n){const r=n||{};if(this.inputFormat=t,this.utfType=r.encoding||"UTF8",this.numRounds=r.numRounds||1,isNaN(this.numRounds)||this.numRounds!==parseInt(this.numRounds,10)||1>this.numRounds)throw new Error("numRounds must a integer >= 1");this.shaVariant=e,this.remainder=[],this.remainderLen=0,this.updateCalled=!1,this.processedLen=0,this.macKeySet=!1,this.keyWithIPad=[],this.keyWithOPad=[]}update(e){let t,n=0;const r=this.variantBlockSize>>>5,i=this.converterFunc(e,this.remainder,this.remainderLen),a=i.binLen,s=i.value,o=a>>>5;for(t=0;t<o;t+=r)n+this.variantBlockSize<=a&&(this.intermediateState=this.roundFunc(s.slice(t,t+r),this.intermediateState),n+=this.variantBlockSize);return this.processedLen+=n,this.remainder=s.slice(n>>>5),this.remainderLen=a%this.variantBlockSize,this.updateCalled=!0,this}getHash(e,t){let n,r,i=this.outputBinLen;const a=Ue(t);if(this.isVariableLen){if(-1===a.outputLen)throw new Error("Output length must be specified in options");i=a.outputLen}const s=me(e,i,this.bigEndianMod,a);if(this.macKeySet&&this.getMAC)return s(this.getMAC(a));for(r=this.finalizeFunc(this.remainder.slice(),this.remainderLen,this.processedLen,this.stateCloneFunc(this.intermediateState),i),n=1;n<this.numRounds;n+=1)this.isVariableLen&&i%32!=0&&(r[r.length-1]&=16777215>>>24-i%32),r=this.finalizeFunc(r,i,0,this.newStateFunc(this.shaVariant),i);return s(r)}setHMACKey(e,t,n){if(!this.HMACSupported)throw new Error("Variant does not support HMAC");if(this.updateCalled)throw new Error("Cannot set MAC key after calling update");const r=fe(t,(n||{}).encoding||"UTF8",this.bigEndianMod);this._setHMACKey(r(e))}_setHMACKey(e){const t=this.variantBlockSize>>>3,n=t/4-1;let r;if(1!==this.numRounds)throw new Error(Ce);if(this.macKeySet)throw new Error("MAC key already set");for(t<e.binLen/8&&(e.value=this.finalizeFunc(e.value,e.binLen,0,this.newStateFunc(this.shaVariant),this.outputBinLen));e.value.length<=n;)e.value.push(0);for(r=0;r<=n;r+=1)this.keyWithIPad[r]=909522486^e.value[r],this.keyWithOPad[r]=1549556828^e.value[r];this.intermediateState=this.roundFunc(this.keyWithIPad,this.intermediateState),this.processedLen=this.variantBlockSize,this.macKeySet=!0}getHMAC(e,t){const n=Ue(t);return me(e,this.outputBinLen,this.bigEndianMod,n)(this._getHMAC())}_getHMAC(){let e;if(!this.macKeySet)throw new Error("Cannot call getHMAC without first setting MAC key");const t=this.finalizeFunc(this.remainder.slice(),this.remainderLen,this.processedLen,this.stateCloneFunc(this.intermediateState),this.outputBinLen);return e=this.roundFunc(this.keyWithOPad,this.newStateFunc(this.shaVariant)),e=this.finalizeFunc(t,this.outputBinLen,this.variantBlockSize,e,this.outputBinLen),e}};function Ae(e,t){return e<<t|e>>>32-t}function Me(e,t){return e>>>t|e<<32-t}function Te(e,t){return e>>>t}function ke(e,t,n){return e^t^n}function Be(e,t,n){return e&t^~e&n}function Le(e,t,n){return e&t^e&n^t&n}function Fe(e){return Me(e,2)^Me(e,13)^Me(e,22)}function Re(e,t){const n=(65535&e)+(65535&t);return((e>>>16)+(t>>>16)+(n>>>16)&65535)<<16|65535&n}function De(e,t,n,r){const i=(65535&e)+(65535&t)+(65535&n)+(65535&r);return((e>>>16)+(t>>>16)+(n>>>16)+(r>>>16)+(i>>>16)&65535)<<16|65535&i}function Pe(e,t,n,r,i){const a=(65535&e)+(65535&t)+(65535&n)+(65535&r)+(65535&i);return((e>>>16)+(t>>>16)+(n>>>16)+(r>>>16)+(i>>>16)+(a>>>16)&65535)<<16|65535&a}function He(e){return Me(e,17)^Me(e,19)^Te(e,10)}function Ie(e){return Me(e,7)^Me(e,18)^Te(e,3)}function xe(e){return Me(e,6)^Me(e,11)^Me(e,25)}function je(e){return[1732584193,4023233417,2562383102,271733878,3285377520]}function ze(e,t){let n,r,i,a,s,o,c;const u=[];for(n=t[0],r=t[1],i=t[2],a=t[3],s=t[4],c=0;c<80;c+=1)u[c]=c<16?e[c]:Ae(u[c-3]^u[c-8]^u[c-14]^u[c-16],1),o=c<20?Pe(Ae(n,5),Be(r,i,a),s,1518500249,u[c]):c<40?Pe(Ae(n,5),ke(r,i,a),s,1859775393,u[c]):c<60?Pe(Ae(n,5),Le(r,i,a),s,2400959708,u[c]):Pe(Ae(n,5),ke(r,i,a),s,3395469782,u[c]),s=a,a=i,i=Ae(r,30),r=n,n=o;return t[0]=Re(n,t[0]),t[1]=Re(r,t[1]),t[2]=Re(i,t[2]),t[3]=Re(a,t[3]),t[4]=Re(s,t[4]),t}function Ne(e,t,n,r){let i;const a=15+(t+65>>>9<<4),s=t+n;for(;e.length<=a;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[a]=4294967295&s,e[a-1]=s/ge|0,i=0;i<e.length;i+=16)r=ze(e.slice(i,i+16),r);return r}var Ke=class extends Oe{intermediateState;variantBlockSize;bigEndianMod;outputBinLen;isVariableLen;HMACSupported;converterFunc;roundFunc;finalizeFunc;stateCloneFunc;newStateFunc;getMAC;constructor(e,t,n){if("SHA-1"!==e)throw new Error(Se);super(e,t,n);const r=n||{};this.HMACSupported=!0,this.getMAC=this._getHMAC,this.bigEndianMod=-1,this.converterFunc=fe(this.inputFormat,this.utfType,this.bigEndianMod),this.roundFunc=ze,this.stateCloneFunc=function(e){return e.slice()},this.newStateFunc=je,this.finalizeFunc=Ne,this.intermediateState=[1732584193,4023233417,2562383102,271733878,3285377520],this.variantBlockSize=512,this.outputBinLen=160,this.isVariableLen=!1,r.hmacKey&&this._setHMACKey(Ee("hmacKey",r.hmacKey,this.bigEndianMod))}};function _e(e){let t;return t="SHA-224"===e?we.slice():be.slice(),t}function We(e,t){let n,r,i,a,s,o,c,u,d,l,h;const p=[];for(n=t[0],r=t[1],i=t[2],a=t[3],s=t[4],o=t[5],c=t[6],u=t[7],h=0;h<64;h+=1)p[h]=h<16?e[h]:De(He(p[h-2]),p[h-7],Ie(p[h-15]),p[h-16]),d=Pe(u,xe(s),Be(s,o,c),ye[h],p[h]),l=Re(Fe(n),Le(n,r,i)),u=c,c=o,o=s,s=Re(a,d),a=i,i=r,r=n,n=Re(d,l);return t[0]=Re(n,t[0]),t[1]=Re(r,t[1]),t[2]=Re(i,t[2]),t[3]=Re(a,t[3]),t[4]=Re(s,t[4]),t[5]=Re(o,t[5]),t[6]=Re(c,t[6]),t[7]=Re(u,t[7]),t}var qe=class extends Oe{intermediateState;variantBlockSize;bigEndianMod;outputBinLen;isVariableLen;HMACSupported;converterFunc;roundFunc;finalizeFunc;stateCloneFunc;newStateFunc;getMAC;constructor(e,t,n){if("SHA-224"!==e&&"SHA-256"!==e)throw new Error(Se);super(e,t,n);const r=n||{};this.getMAC=this._getHMAC,this.HMACSupported=!0,this.bigEndianMod=-1,this.converterFunc=fe(this.inputFormat,this.utfType,this.bigEndianMod),this.roundFunc=We,this.stateCloneFunc=function(e){return e.slice()},this.newStateFunc=_e,this.finalizeFunc=function(t,n,r,i){return function(e,t,n,r,i){let a,s;const o=15+(t+65>>>9<<4),c=t+n;for(;e.length<=o;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[o]=4294967295&c,e[o-1]=c/ge|0,a=0;a<e.length;a+=16)r=We(e.slice(a,a+16),r);return s="SHA-224"===i?[r[0],r[1],r[2],r[3],r[4],r[5],r[6]]:r,s}(t,n,r,i,e)},this.intermediateState=_e(e),this.variantBlockSize=512,this.outputBinLen="SHA-224"===e?224:256,this.isVariableLen=!1,r.hmacKey&&this._setHMACKey(Ee("hmacKey",r.hmacKey,this.bigEndianMod))}},Ve=class{highOrder;lowOrder;constructor(e,t){this.highOrder=e,this.lowOrder=t}};function $e(e,t){let n;return t>32?(n=64-t,new Ve(e.lowOrder<<t|e.highOrder>>>n,e.highOrder<<t|e.lowOrder>>>n)):0!==t?(n=32-t,new Ve(e.highOrder<<t|e.lowOrder>>>n,e.lowOrder<<t|e.highOrder>>>n)):e}function Xe(e,t){let n;return t<32?(n=32-t,new Ve(e.highOrder>>>t|e.lowOrder<<n,e.lowOrder>>>t|e.highOrder<<n)):(n=64-t,new Ve(e.lowOrder>>>t|e.highOrder<<n,e.highOrder>>>t|e.lowOrder<<n))}function Ye(e,t){return new Ve(e.highOrder>>>t,e.lowOrder>>>t|e.highOrder<<32-t)}function Ge(e,t,n){return new Ve(e.highOrder&t.highOrder^~e.highOrder&n.highOrder,e.lowOrder&t.lowOrder^~e.lowOrder&n.lowOrder)}function Je(e,t,n){return new Ve(e.highOrder&t.highOrder^e.highOrder&n.highOrder^t.highOrder&n.highOrder,e.lowOrder&t.lowOrder^e.lowOrder&n.lowOrder^t.lowOrder&n.lowOrder)}function Qe(e){const t=Xe(e,28),n=Xe(e,34),r=Xe(e,39);return new Ve(t.highOrder^n.highOrder^r.highOrder,t.lowOrder^n.lowOrder^r.lowOrder)}function Ze(e,t){let n,r;n=(65535&e.lowOrder)+(65535&t.lowOrder),r=(e.lowOrder>>>16)+(t.lowOrder>>>16)+(n>>>16);const i=(65535&r)<<16|65535&n;n=(65535&e.highOrder)+(65535&t.highOrder)+(r>>>16),r=(e.highOrder>>>16)+(t.highOrder>>>16)+(n>>>16);return new Ve((65535&r)<<16|65535&n,i)}function et(e,t,n,r){let i,a;i=(65535&e.lowOrder)+(65535&t.lowOrder)+(65535&n.lowOrder)+(65535&r.lowOrder),a=(e.lowOrder>>>16)+(t.lowOrder>>>16)+(n.lowOrder>>>16)+(r.lowOrder>>>16)+(i>>>16);const s=(65535&a)<<16|65535&i;i=(65535&e.highOrder)+(65535&t.highOrder)+(65535&n.highOrder)+(65535&r.highOrder)+(a>>>16),a=(e.highOrder>>>16)+(t.highOrder>>>16)+(n.highOrder>>>16)+(r.highOrder>>>16)+(i>>>16);return new Ve((65535&a)<<16|65535&i,s)}function tt(e,t,n,r,i){let a,s;a=(65535&e.lowOrder)+(65535&t.lowOrder)+(65535&n.lowOrder)+(65535&r.lowOrder)+(65535&i.lowOrder),s=(e.lowOrder>>>16)+(t.lowOrder>>>16)+(n.lowOrder>>>16)+(r.lowOrder>>>16)+(i.lowOrder>>>16)+(a>>>16);const o=(65535&s)<<16|65535&a;a=(65535&e.highOrder)+(65535&t.highOrder)+(65535&n.highOrder)+(65535&r.highOrder)+(65535&i.highOrder)+(s>>>16),s=(e.highOrder>>>16)+(t.highOrder>>>16)+(n.highOrder>>>16)+(r.highOrder>>>16)+(i.highOrder>>>16)+(a>>>16);return new Ve((65535&s)<<16|65535&a,o)}function nt(e,t){return new Ve(e.highOrder^t.highOrder,e.lowOrder^t.lowOrder)}function rt(e,t,n,r,i){return new Ve(e.highOrder^t.highOrder^n.highOrder^r.highOrder^i.highOrder,e.lowOrder^t.lowOrder^n.lowOrder^r.lowOrder^i.lowOrder)}function it(e){const t=Xe(e,19),n=Xe(e,61),r=Ye(e,6);return new Ve(t.highOrder^n.highOrder^r.highOrder,t.lowOrder^n.lowOrder^r.lowOrder)}function at(e){const t=Xe(e,1),n=Xe(e,8),r=Ye(e,7);return new Ve(t.highOrder^n.highOrder^r.highOrder,t.lowOrder^n.lowOrder^r.lowOrder)}function st(e){const t=Xe(e,14),n=Xe(e,18),r=Xe(e,41);return new Ve(t.highOrder^n.highOrder^r.highOrder,t.lowOrder^n.lowOrder^r.lowOrder)}var ot=[new Ve(ye[0],3609767458),new Ve(ye[1],602891725),new Ve(ye[2],3964484399),new Ve(ye[3],2173295548),new Ve(ye[4],4081628472),new Ve(ye[5],3053834265),new Ve(ye[6],2937671579),new Ve(ye[7],3664609560),new Ve(ye[8],2734883394),new Ve(ye[9],1164996542),new Ve(ye[10],1323610764),new Ve(ye[11],3590304994),new Ve(ye[12],4068182383),new Ve(ye[13],991336113),new Ve(ye[14],633803317),new Ve(ye[15],3479774868),new Ve(ye[16],2666613458),new Ve(ye[17],944711139),new Ve(ye[18],2341262773),new Ve(ye[19],2007800933),new Ve(ye[20],1495990901),new Ve(ye[21],1856431235),new Ve(ye[22],3175218132),new Ve(ye[23],2198950837),new Ve(ye[24],3999719339),new Ve(ye[25],766784016),new Ve(ye[26],2566594879),new Ve(ye[27],3203337956),new Ve(ye[28],1034457026),new Ve(ye[29],2466948901),new Ve(ye[30],3758326383),new Ve(ye[31],168717936),new Ve(ye[32],1188179964),new Ve(ye[33],1546045734),new Ve(ye[34],1522805485),new Ve(ye[35],2643833823),new Ve(ye[36],2343527390),new Ve(ye[37],1014477480),new Ve(ye[38],1206759142),new Ve(ye[39],344077627),new Ve(ye[40],1290863460),new Ve(ye[41],3158454273),new Ve(ye[42],3505952657),new Ve(ye[43],106217008),new Ve(ye[44],3606008344),new Ve(ye[45],1432725776),new Ve(ye[46],1467031594),new Ve(ye[47],851169720),new Ve(ye[48],3100823752),new Ve(ye[49],1363258195),new Ve(ye[50],3750685593),new Ve(ye[51],3785050280),new Ve(ye[52],3318307427),new Ve(ye[53],3812723403),new Ve(ye[54],2003034995),new Ve(ye[55],3602036899),new Ve(ye[56],1575990012),new Ve(ye[57],1125592928),new Ve(ye[58],2716904306),new Ve(ye[59],442776044),new Ve(ye[60],593698344),new Ve(ye[61],3733110249),new Ve(ye[62],2999351573),new Ve(ye[63],3815920427),new Ve(3391569614,3928383900),new Ve(3515267271,566280711),new Ve(3940187606,3454069534),new Ve(4118630271,4000239992),new Ve(116418474,1914138554),new Ve(174292421,2731055270),new Ve(289380356,3203993006),new Ve(460393269,320620315),new Ve(685471733,587496836),new Ve(852142971,1086792851),new Ve(1017036298,365543100),new Ve(1126000580,2618297676),new Ve(1288033470,3409855158),new Ve(1501505948,4234509866),new Ve(1607167915,987167468),new Ve(1816402316,1246189591)];function ct(e){return"SHA-384"===e?[new Ve(3418070365,we[0]),new Ve(1654270250,we[1]),new Ve(2438529370,we[2]),new Ve(355462360,we[3]),new Ve(1731405415,we[4]),new Ve(41048885895,we[5]),new Ve(3675008525,we[6]),new Ve(1203062813,we[7])]:[new Ve(be[0],4089235720),new Ve(be[1],2227873595),new Ve(be[2],4271175723),new Ve(be[3],1595750129),new Ve(be[4],2917565137),new Ve(be[5],725511199),new Ve(be[6],4215389547),new Ve(be[7],327033209)]}function ut(e,t){let n,r,i,a,s,o,c,u,d,l,h,p;const f=[];for(n=t[0],r=t[1],i=t[2],a=t[3],s=t[4],o=t[5],c=t[6],u=t[7],h=0;h<80;h+=1)h<16?(p=2*h,f[h]=new Ve(e[p],e[p+1])):f[h]=et(it(f[h-2]),f[h-7],at(f[h-15]),f[h-16]),d=tt(u,st(s),Ge(s,o,c),ot[h],f[h]),l=Ze(Qe(n),Je(n,r,i)),u=c,c=o,o=s,s=Ze(a,d),a=i,i=r,r=n,n=Ze(d,l);return t[0]=Ze(n,t[0]),t[1]=Ze(r,t[1]),t[2]=Ze(i,t[2]),t[3]=Ze(a,t[3]),t[4]=Ze(s,t[4]),t[5]=Ze(o,t[5]),t[6]=Ze(c,t[6]),t[7]=Ze(u,t[7]),t}var dt=class extends Oe{intermediateState;variantBlockSize;bigEndianMod;outputBinLen;isVariableLen;HMACSupported;converterFunc;roundFunc;finalizeFunc;stateCloneFunc;newStateFunc;getMAC;constructor(e,t,n){if("SHA-384"!==e&&"SHA-512"!==e)throw new Error(Se);super(e,t,n);const r=n||{};this.getMAC=this._getHMAC,this.HMACSupported=!0,this.bigEndianMod=-1,this.converterFunc=fe(this.inputFormat,this.utfType,this.bigEndianMod),this.roundFunc=ut,this.stateCloneFunc=function(e){return e.slice()},this.newStateFunc=ct,this.finalizeFunc=function(t,n,r,i){return function(e,t,n,r,i){let a,s;const o=31+(t+129>>>10<<5),c=t+n;for(;e.length<=o;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[o]=4294967295&c,e[o-1]=c/ge|0,a=0;a<e.length;a+=32)r=ut(e.slice(a,a+32),r);return s="SHA-384"===i?[r[0].highOrder,r[0].lowOrder,r[1].highOrder,r[1].lowOrder,r[2].highOrder,r[2].lowOrder,r[3].highOrder,r[3].lowOrder,r[4].highOrder,r[4].lowOrder,r[5].highOrder,r[5].lowOrder]:[r[0].highOrder,r[0].lowOrder,r[1].highOrder,r[1].lowOrder,r[2].highOrder,r[2].lowOrder,r[3].highOrder,r[3].lowOrder,r[4].highOrder,r[4].lowOrder,r[5].highOrder,r[5].lowOrder,r[6].highOrder,r[6].lowOrder,r[7].highOrder,r[7].lowOrder],s}(t,n,r,i,e)},this.intermediateState=ct(e),this.variantBlockSize=1024,this.outputBinLen="SHA-384"===e?384:512,this.isVariableLen=!1,r.hmacKey&&this._setHMACKey(Ee("hmacKey",r.hmacKey,this.bigEndianMod))}},lt=[new Ve(0,1),new Ve(0,32898),new Ve(2147483648,32906),new Ve(2147483648,2147516416),new Ve(0,32907),new Ve(0,2147483649),new Ve(2147483648,2147516545),new Ve(2147483648,32777),new Ve(0,138),new Ve(0,136),new Ve(0,2147516425),new Ve(0,2147483658),new Ve(0,2147516555),new Ve(2147483648,139),new Ve(2147483648,32905),new Ve(2147483648,32771),new Ve(2147483648,32770),new Ve(2147483648,128),new Ve(0,32778),new Ve(2147483648,2147483658),new Ve(2147483648,2147516545),new Ve(2147483648,32896),new Ve(0,2147483649),new Ve(2147483648,2147516424)],ht=[[0,36,3,41,18],[1,44,10,45,2],[62,6,43,15,61],[28,55,25,21,56],[27,20,39,8,14]];function pt(e){let t;const n=[];for(t=0;t<5;t+=1)n[t]=[new Ve(0,0),new Ve(0,0),new Ve(0,0),new Ve(0,0),new Ve(0,0)];return n}function ft(e){let t;const n=[];for(t=0;t<5;t+=1)n[t]=e[t].slice();return n}function mt(e,t){let n,r,i,a;const s=[],o=[];if(null!=e)for(r=0;r<e.length;r+=2)t[(r>>>1)%5][(r>>>1)/5|0]=nt(t[(r>>>1)%5][(r>>>1)/5|0],new Ve(e[r+1],e[r]));for(n=0;n<24;n+=1){for(a=pt(),r=0;r<5;r+=1)s[r]=rt(t[r][0],t[r][1],t[r][2],t[r][3],t[r][4]);for(r=0;r<5;r+=1)o[r]=nt(s[(r+4)%5],$e(s[(r+1)%5],1));for(r=0;r<5;r+=1)for(i=0;i<5;i+=1)t[r][i]=nt(t[r][i],o[r]);for(r=0;r<5;r+=1)for(i=0;i<5;i+=1)a[i][(2*r+3*i)%5]=$e(t[r][i],ht[r][i]);for(r=0;r<5;r+=1)for(i=0;i<5;i+=1)t[r][i]=nt(a[r][i],new Ve(~a[(r+1)%5][i].highOrder&a[(r+2)%5][i].highOrder,~a[(r+1)%5][i].lowOrder&a[(r+2)%5][i].lowOrder));t[0][0]=nt(t[0][0],lt[n])}return t}function gt(e){let t,n,r=0;const i=[0,0],a=[4294967295&e,e/ge&2097151];for(t=6;t>=0;t--)n=a[t>>2]>>>8*t&255,0===n&&0===r||(i[r+1>>2]|=n<<8*(r+1),r+=1);return r=0!==r?r:1,i[0]|=r,{value:r+1>4?i:[i[0]],binLen:8+8*r}}function yt(e){return ve(gt(e.binLen),e)}function wt(e,t){let n,r=gt(t);r=ve(r,e);const i=t>>>2,a=(i-r.value.length%i)%i;for(n=0;n<a;n++)r.value.push(0);return r.value}var bt=class extends Oe{intermediateState;variantBlockSize;bigEndianMod;outputBinLen;isVariableLen;HMACSupported;converterFunc;roundFunc;finalizeFunc;stateCloneFunc;newStateFunc;getMAC;constructor(e,t,n){let r=6,i=0;super(e,t,n);const a=n||{};if(1!==this.numRounds){if(a.kmacKey||a.hmacKey)throw new Error(Ce);if("CSHAKE128"===this.shaVariant||"CSHAKE256"===this.shaVariant)throw new Error("Cannot set numRounds for CSHAKE variants")}switch(this.bigEndianMod=1,this.converterFunc=fe(this.inputFormat,this.utfType,this.bigEndianMod),this.roundFunc=mt,this.stateCloneFunc=ft,this.newStateFunc=pt,this.intermediateState=pt(),this.isVariableLen=!1,e){case"SHA3-224":this.variantBlockSize=i=1152,this.outputBinLen=224,this.HMACSupported=!0,this.getMAC=this._getHMAC;break;case"SHA3-256":this.variantBlockSize=i=1088,this.outputBinLen=256,this.HMACSupported=!0,this.getMAC=this._getHMAC;break;case"SHA3-384":this.variantBlockSize=i=832,this.outputBinLen=384,this.HMACSupported=!0,this.getMAC=this._getHMAC;break;case"SHA3-512":this.variantBlockSize=i=576,this.outputBinLen=512,this.HMACSupported=!0,this.getMAC=this._getHMAC;break;case"SHAKE128":r=31,this.variantBlockSize=i=1344,this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=null;break;case"SHAKE256":r=31,this.variantBlockSize=i=1088,this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=null;break;case"KMAC128":r=4,this.variantBlockSize=i=1344,this._initializeKMAC(n),this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=this._getKMAC;break;case"KMAC256":r=4,this.variantBlockSize=i=1088,this._initializeKMAC(n),this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=this._getKMAC;break;case"CSHAKE128":this.variantBlockSize=i=1344,r=this._initializeCSHAKE(n),this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=null;break;case"CSHAKE256":this.variantBlockSize=i=1088,r=this._initializeCSHAKE(n),this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=null;break;default:throw new Error(Se)}this.finalizeFunc=function(e,t,n,a,s){return function(e,t,n,r,i,a,s){let o,c,u=0;const d=[],l=i>>>5,h=t>>>5;for(o=0;o<h&&t>=i;o+=l)r=mt(e.slice(o,o+l),r),t-=i;for(e=e.slice(o),t%=i;e.length<l;)e.push(0);for(o=t>>>3,e[o>>2]^=a<<o%4*8,e[l-1]^=2147483648,r=mt(e,r);32*d.length<s&&(c=r[u%5][u/5|0],d.push(c.lowOrder),!(32*d.length>=s));)d.push(c.highOrder),u+=1,0==64*u%i&&(mt(null,r),u=0);return d}(e,t,0,a,i,r,s)},a.hmacKey&&this._setHMACKey(Ee("hmacKey",a.hmacKey,this.bigEndianMod))}_initializeCSHAKE(e,t){const n=function(e){const t=e||{};return{funcName:Ee("funcName",t.funcName,1,{value:[],binLen:0}),customization:Ee("Customization",t.customization,1,{value:[],binLen:0})}}(e||{});t&&(n.funcName=t);const r=ve(yt(n.funcName),yt(n.customization));if(0!==n.customization.binLen||0!==n.funcName.binLen){const e=wt(r,this.variantBlockSize>>>3);for(let t=0;t<e.length;t+=this.variantBlockSize>>>5)this.intermediateState=this.roundFunc(e.slice(t,t+(this.variantBlockSize>>>5)),this.intermediateState),this.processedLen+=this.variantBlockSize;return 4}return 31}_initializeKMAC(e){const t=function(e){const t=e||{};return{kmacKey:Ee("kmacKey",t.kmacKey,1),funcName:{value:[1128353099],binLen:32},customization:Ee("Customization",t.customization,1,{value:[],binLen:0})}}(e||{});this._initializeCSHAKE(e,t.funcName);const n=wt(yt(t.kmacKey),this.variantBlockSize>>>3);for(let r=0;r<n.length;r+=this.variantBlockSize>>>5)this.intermediateState=this.roundFunc(n.slice(r,r+(this.variantBlockSize>>>5)),this.intermediateState),this.processedLen+=this.variantBlockSize;this.macKeySet=!0}_getKMAC(e){const t=ve({value:this.remainder.slice(),binLen:this.remainderLen},function(e){let t,n,r=0;const i=[0,0],a=[4294967295&e,e/ge&2097151];for(t=6;t>=0;t--)n=a[t>>2]>>>8*t&255,0===n&&0===r||(i[r>>2]|=n<<8*r,r+=1);return r=0!==r?r:1,i[r>>2]|=r<<8*r,{value:r+1>4?i:[i[0]],binLen:8+8*r}}(e.outputLen));return this.finalizeFunc(t.value,t.binLen,this.processedLen,this.stateCloneFunc(this.intermediateState),e.outputLen)}},St=class{shaObj;constructor(e,t,n){if("SHA-1"===e)this.shaObj=new Ke(e,t,n);else if("SHA-224"===e||"SHA-256"===e)this.shaObj=new qe(e,t,n);else if("SHA-384"===e||"SHA-512"===e)this.shaObj=new dt(e,t,n);else{if("SHA3-224"!==e&&"SHA3-256"!==e&&"SHA3-384"!==e&&"SHA3-512"!==e&&"SHAKE128"!==e&&"SHAKE256"!==e&&"CSHAKE128"!==e&&"CSHAKE256"!==e&&"KMAC128"!==e&&"KMAC256"!==e)throw new Error(Se);this.shaObj=new bt(e,t,n)}}update(e){return this.shaObj.update(e),this}getHash(e,t){return this.shaObj.getHash(e,t)}setHMACKey(e,t,n){this.shaObj.setHMACKey(e,t,n)}getHMAC(e,t){return this.shaObj.getHMAC(e,t)}},Ct=class{static generate(e,t){const n={digits:6,algorithm:"SHA-1",period:30,timestamp:Date.now(),...t},r=Math.floor(n.timestamp/1e3),i=this.leftpad(this.dec2hex(Math.floor(r/n.period)),16,"0"),a=new St(n.algorithm,"HEX");a.setHMACKey(this.base32tohex(e),"HEX"),a.update(i);const s=a.getHMAC("HEX"),o=this.hex2dec(s.substring(s.length-1));let c=(this.hex2dec(s.slice(2*o,2*o+8))&this.hex2dec("7fffffff"))+"";const u=Math.max(c.length-n.digits,0);c=c.substring(u,u+n.digits);return{otp:c,expires:Math.ceil((n.timestamp+1)/(1e3*n.period))*n.period*1e3}}static hex2dec(e){return parseInt(e,16)}static dec2hex(e){return(e<15.5?"0":"")+Math.round(e).toString(16)}static base32tohex(e){let t="",n="";const r=e.endsWith("=")?e.slice(0,e.lastIndexOf("=")):e;for(let i=0;i<r.length;i++){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".indexOf(e.charAt(i).toUpperCase());if(-1===n)throw new Error("Invalid base32 character in key");t+=this.leftpad(n.toString(2),5,"0")}for(let i=0;i+8<=t.length;i+=8){const e=t.slice(i,i+8);n+=this.leftpad(parseInt(e,2).toString(16),2,"0")}return n}static leftpad(e,t,n){return t+1>=e.length&&(e=Array(t+1-e.length).join(n)+e),e}};function vt(e){if(!Array.isArray(e))throw new TypeError("Middleware stack must be an array!");for(const t of e)if("function"!=typeof t)throw new TypeError("Middleware must be composed of functions!");return function(t,n){let r=-1;return function i(a){if(a<=r)return Promise.reject(/* @__PURE__ */new Error("next() called multiple times"));r=a;let s=e[a];a===e.length&&n&&(s=n);if(!s)return Promise.resolve();try{return Promise.resolve(s(t,i.bind(null,a+1)))}catch(o){return Promise.reject(o)}}(0)}}var Ut=["log","info","warn","error","assert"],Et=(e=d)=>{if("undefined"==typeof console)return d;const t=Ut.map(t=>$(console,t,n=>{if("function"!=typeof n)return;const r=n;return function(...n){e(t,...n),r.apply(console,n)}}));return()=>t.forEach(e=>e())},Ot=(e,t=500)=>{let n,r=null,i=null;const a=()=>{if(r=null,!i)return;const t=i,a=n;i=null,n=void 0,e.apply(a,t)},s=function(...e){n=this,i=e,null!==r&&clearTimeout(r),r=setTimeout(a,t)};return s.cancel=()=>{null!==r&&clearTimeout(r),r=null,i=null,n=void 0},s.flush=()=>{null!==r&&(clearTimeout(r),a())},s.pending=()=>null!==r,s},At=(e,t)=>{if("undefined"==typeof document)return;const n=e.classList;n.contains(t)||n.add(t)},Mt=(e,t)=>{if("undefined"==typeof document)return;const n=e.classList;n.contains(t)&&n.remove(t)},Tt=e=>{if("undefined"==typeof document)return;const t=document.createDocumentFragment();return e.forEach(e=>t.appendChild(e)),t},kt=/["'&<>]/;function Bt(e){const t=""+e,n=kt.exec(t);if(!n)return t;let r,i="",a=0,s=0;for(a=n.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:r="&quot;";break;case 38:r="&amp;";break;case 39:r="&#39;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}s!==a&&(i+=t.substring(s,a)),s=a+1,i+=r}return s!==a?i+t.substring(s,a):i}var Lt=(e=375)=>{let t=e;const{documentElement:n}=document,r=window.matchMedia("(orientation: portrait)");let i,a=667/375;function s(){const e=!r.matches;let i=window.screen.width,s=window.screen.height;i<s&&([i,s]=[s,i]);let o=n.clientWidth,c=s;o/c>=a?(o=c*a,n.classList.remove("adjustHeight"),n.classList.add("adjustWidth")):(c=o/a,n.classList.remove("adjustWidth"),n.classList.add("adjustHeight"));let u=o/t*16;e&&(u/=a),n.style.fontSize=`${u}px`;const d=window.getComputedStyle(n).fontSize.replace("px","")||0;u!==d&&(n.style.fontSize=u/Number(d)*u+"px")}c()===h.IPAD&&(a=1024/768,t=768),window.addEventListener("resize",function(){clearTimeout(i),i=setTimeout(s,300)},!1),window.addEventListener("pageshow",function(e){e.persisted&&(clearTimeout(i),i=setTimeout(s,300))},!1),window.addEventListener("orientationchange",function(){s()},!1),s()},Ft=(e=d)=>{if("undefined"==typeof window)return d;const t=t=>e(t),n=t=>e(t);return window.addEventListener("unhandledrejection",t,!0),window.addEventListener("error",n,!0),()=>{window.removeEventListener("unhandledrejection",t,!0),window.removeEventListener("error",n,!0)}},Rt=class{ac;constructor(){this.ac=new AbortController}get signal(){return this.ac.signal}on(e,t,n,r){return e.addEventListener(t,n,{...r,signal:this.ac.signal}),this}delegate(e,t,n,r,i){return e.addEventListener(n,n=>{const i=n.target?.closest(t);i&&e.contains(i)&&r(n,i)},{...i,signal:this.ac.signal}),this}abort(){this.ac.abort(),this.ac=new AbortController}},Dt={easeIn:function(e,t,n,r){return e>=r&&(e=r),n*(e/=r)*e+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),-n*(e/=r)*(e-2)+t}},Pt={easeIn:function(e,t,n,r){return e>=r&&(e=r),n*(e/=r)*e*e+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),n*((e=e/r-1)*e*e+1)+t}},Ht={easeIn:function(e,t,n,r){return e>=r&&(e=r),n*(e/=r)*e*e*e+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),-n*((e=e/r-1)*e*e*e-1)+t}},It={easeIn:function(e,t,n,r){return e>=r&&(e=r),n*(e/=r)*e*e*e*e+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),n*((e=e/r-1)*e*e*e*e+1)+t}},xt={easeIn:function(e,t,n,r){return e>=r&&(e=r),-n*Math.cos(e/r*(Math.PI/2))+n+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),n*Math.sin(e/r*(Math.PI/2))+t}},jt={easeIn:function(e,t,n,r){return e>=r&&(e=r),0===e?t:n*Math.pow(2,10*(e/r-1))+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),e===r?t+n:n*(1-Math.pow(2,-10*e/r))+t}},zt={easeIn:function(e,t,n,r){return e>=r&&(e=r),-n*(Math.sqrt(1-(e/=r)*e)-1)+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),n*Math.sqrt(1-(e=e/r-1)*e)+t}},Nt=e=>t*e,Kt=(e,t)=>[+(Math.cos(e)*t).toFixed(8),+(Math.sin(e)*t).toFixed(8)],_t=(e,t)=>{const n=-e/t;return[n,-n*e+t]},Wt=(e,t,n,r,i)=>{e.beginPath();const a=Nt(90/Math.PI/t*i),s=n+a,o=r-a;e.arc(0,0,t,s,o,!1),e.lineTo(...Kt((n+r)/2,i/2/Math.abs(Math.sin((n-r)/2)))),e.closePath()},qt=(e,...[t,n,r,i,a])=>{const s=Math.min(r,i),o=Math.PI;a>s/2&&(a=s/2),e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+a,n),e.lineTo(t+r-a,n),e.arc(t+r-a,n+a,a,-o/2,0),e.lineTo(t+r,n+i-a),e.arc(t+r-a,n+i-a,a,0,o/2),e.lineTo(t+a,n+i),e.arc(t+a,n+i-a,a,o/2,o),e.lineTo(t,n+a),e.arc(t+a,n+a,a,o,-o/2),e.closePath()},Vt=(e,t,n,r,i,a)=>{const s=/linear-gradient\((.+)\)/.exec(a)[1].split(",").map(e=>e.trim());let o=s.shift(),c=[0,0,0,0];if(o.includes("deg")){const e=Number(o.slice(0,-3))%360;o=`${e}`;const a=e=>Math.tan(e/180*Math.PI);e>=0&&e<45?c=[t,n+i,t+r,n+i-r*a(e-0)]:e>=45&&e<90?c=[t,n+i,t+r-i*a(e-45),n]:e>=90&&e<135?c=[t+r,n+i,t+r-i*a(e-90),n]:e>=135&&e<180?c=[t+r,n+i,t,n+r*a(e-135)]:e>=180&&e<225?c=[t+r,n,t,n+r*a(e-180)]:e>=225&&e<270?c=[t+r,n,t+i*a(e-225),n+i]:e>=270&&e<315?c=[t,n,t+i*a(e-270),n+i]:e>=315&&e<360&&(c=[t,n,t+r,n+i-r*a(e-315)])}else o.includes("top")?c=[t,n+i,t,n]:o.includes("bottom")?c=[t,n,t,n+i]:o.includes("left")?c=[t+r,n,t,n]:o.includes("right")&&(c=[t,n,t+r,n]);const u=e.createLinearGradient(...c.map(e=>e|0));return s.reduce((e,t,n)=>{const r=t.split(" ");return 1===r.length?e.addColorStop(n,r[0]):2===r.length&&e.addColorStop(Number(r[1]),r[0]),e},u)},$t=e=>new Promise((t,n)=>{const r=new Image;r.onload=()=>t(r),r.onerror=e=>n(e),r.src=e}),Xt=(e,t)=>{const n=document.createElement("canvas"),r=n.getContext("2d"),{width:i,height:a}=e;return n.width=i,n.height=a,qt(r,0,0,i,a,t),r.clip(),r.drawImage(e,0,0,i,a),n},Yt=(e,t)=>{const n=document.createElement("canvas"),r=n.getContext("2d"),{width:i,height:a}=e;if(n.width=i,n.height=a,"string"==typeof r.filter)r.filter=`opacity(${100*t}%)`,r.drawImage(e,0,0,i,a);else{r.drawImage(e,0,0,i,a);const n=r.getImageData(0,0,i,a),{data:s}=n,o=s.length;for(let e=0;e<o;e+=4){const n=s[e+3];0!==n&&(s[e+3]=n*t)}r.putImageData(n,0,0)}return n},Gt=(e,t)=>{t=t||e/3;const n=Math.ceil(e),r=t*t,i=2*r,a=1/(2*Math.PI*r),s=[];let o=0;for(let c=-n;c<=n;c++)for(let e=-n;e<=n;e++){const t=a*Math.exp(-(c*c+e*e)/i);s.push(t),o+=t}for(let c=0;c<s.length;c++)s[c]/=o;return s},Jt=(e,t,n)=>new Promise((r,i)=>{if("undefined"==typeof window)return void i(/* @__PURE__ */new Error("isImageSize is browser-only: window is undefined"));const a=window.URL||window.webkitURL,s=new Image,o=a.createObjectURL(e),c=()=>a.revokeObjectURL(o);s.onload=()=>{c();const e=void 0===t||s.width===t,i=void 0===n||s.height===n;r(e&&i)},s.onerror=()=>{c(),i(/* @__PURE__ */new Error("failed to decode image"))},s.src=o}),Qt=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=function(){t({success:!0,data:r.result,message:""})},r.onerror=e=>{n({success:!1,data:e,message:""})},r.readAsDataURL(e)}),Zt=/* @__PURE__ */new Map,en=/* @__PURE__ */new Map,tn="data-adopted-style",nn="data-adopted-sheet",rn=(e,t,n)=>{if("undefined"==typeof CSSStyleSheet)return!1;try{if(!n.has(t)){const e=new CSSStyleSheet;e.replaceSync(t),n.set(t,e)}const r=n.get(t);return e.adoptedStyleSheets.includes(r)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,r]),!0}catch{return!1}},an=(e,t,n=tn)=>{if("undefined"!=typeof document&&t&&!rn(e,t,Zt)&&!e.querySelector(`style[${n}]`)){const r=document.createElement("style");r.setAttribute(n,""),r.textContent=t,e.appendChild(r)}},sn=(e,t,n=nn)=>{if("undefined"!=typeof document&&t&&!rn(e,t,en)&&!Array.from(e.querySelectorAll(`style[${n}]`)).some(e=>e.textContent===t)){const r=document.createElement("style");r.setAttribute(n,""),r.textContent=t,e.appendChild(r)}},on=e=>({status:"success",code:0,data:e,error:!1}),cn=(e,t=null)=>({status:"error",code:1,data:t,error:!0,message:e}),un=class{database;version;dbName;stores;upgrade;constructor({dbName:e,version:t,stores:n,upgrade:r}){this.dbName=e,this.version=t||1,this.stores=n||[],this.upgrade=r}openDataBase=()=>new Promise((e,t)=>{if("undefined"==typeof indexedDB)return void t(cn("indexedDB is not available"));const n=indexedDB.open(this.dbName,this.version);n.onsuccess=()=>{this.database=n.result,this.version=this.database.version,this.database.onversionchange=()=>{this.database?.close(),this.database=void 0},e(on({db:this.database}))},n.onerror=()=>{if(n.error&&"VersionError"===n.error.name){const[,r]=(n.error.message||"").match(/\d+/g)||[];if(Number(r)>this.version)return this.version=Number(r),void this.refreshDatabase().then(e,t)}t(cn("open database error",n.error))},n.onupgradeneeded=e=>{const t=n.result;this.database=t,this.version=t.version;for(const r of this.stores){const e=t.objectStoreNames.contains(r.name)?n.transaction?.objectStore(r.name):t.createObjectStore(r.name,r.options);for(const t of r.indexes||[])e&&!e.indexNames.contains(t.name)&&e.createIndex(t.name,t.keyPath,t.options)}this.upgrade?.(t,e,n.transaction)}});closeDataBase=()=>{this.database?.close(),this.database=void 0};refreshDatabase=()=>(this.closeDataBase(),this.openDataBase());deleteDatabase=({dbName:e}={})=>new Promise((t,n)=>{const r=indexedDB.deleteDatabase(e??this.dbName);r.onsuccess=()=>t(on(null)),r.onerror=()=>n(cn("delete database error",r.error))});getObjectStore=(e,t="readonly")=>{if(this.database)return this.database.transaction([e],t).objectStore(e)};run=(e,t,n,r,i)=>new Promise((a,s)=>{let o;try{const r=this.database?.transaction(e,t).objectStore(e);o=r&&n(r)}catch(u){return void s(cn(`${r} error`,u))}if(!o)return void s(cn(`${r} error`));const c=o;c.onsuccess=()=>a(on(i(c))),c.onerror=()=>s(cn(`${r} error`,c.error))});add=({storeName:e,data:t})=>this.run(e,"readwrite",e=>e.add(t),"add",()=>t);update=({storeName:e,data:t})=>this.run(e,"readwrite",e=>e.put(t),"update",()=>null);readByKey=({storeName:e,key:t})=>this.run(e,"readonly",e=>e.get(t),"read",e=>e.result);readAll=({storeName:e,query:t,count:n})=>this.run(e,"readonly",e=>e.getAll(t,n),"read all",e=>e.result);count=({storeName:e,query:t})=>this.run(e,"readonly",e=>e.count(t),"count",e=>e.result);readByCursor=({storeName:e,keyRange:t,direction:n})=>new Promise((r,i)=>{const a=(this.database?.transaction(e,"readonly").objectStore(e))?.openCursor(t,n),s=[];a?(a.onsuccess=()=>{const e=a.result;e?(s.push(e.value),e.continue()):r(on(s))},a.onerror=()=>i(cn("read cursor error",a.error))):i(cn("read cursor error"))});delete=({storeName:e,key:t})=>this.run(e,"readwrite",e=>e.delete(t),"delete",()=>null);clear=({storeName:e})=>this.run(e,"readwrite",e=>e.clear(),"clear",()=>null)},dn=({dbName:e,storeName:t="files",key:n="pending"})=>{const r=()=>new Promise(n=>{if("undefined"==typeof indexedDB)return void n(null);let r;try{r=indexedDB.open(e,1)}catch{return void n(null)}r.onupgradeneeded=()=>{r.result.objectStoreNames.contains(t)||r.result.createObjectStore(t)},r.onerror=()=>n(null),r.onblocked=()=>n(null),r.onsuccess=()=>n(r.result)});return{put:async e=>{const i=await r();return!!i&&new Promise(r=>{try{const a=i.transaction(t,"readwrite");a.objectStore(t).put(e,n),a.oncomplete=()=>{i.close(),r(!0)},a.onerror=a.onabort=()=>{i.close(),r(!1)}}catch{i.close(),r(!1)}})},take:async()=>{const e=await r();return e?new Promise(r=>{try{const i=e.transaction(t,"readwrite"),a=i.objectStore(t),s=a.get(n);let o=null;s.onsuccess=()=>{o=s.result??null,null!==o&&a.delete(n)},i.oncomplete=()=>{e.close(),r(o)},i.onerror=i.onabort=()=>{e.close(),r(null)}}catch{e.close(),r(null)}}):null}}},ln=e=>{const t=Array.from({length:e.length});let n=0;for(let r=0;r<e.length;r++)t[r]=n,n+=e[r]||0;return t},hn=(e,t)=>{if(0===e.length)return 0;let n=0,r=e.length-1,i=0;for(;n<=r;){const a=n+r>>1;e[a]<=t?(i=a,n=a+1):r=a-1}return i},pn=(e,t,n)=>{const r=t+e.length,i=n.map(e=>({value:e.value,s:Math.max(e.start,t)-t,e:Math.min(e.end,r)-t})).filter(e=>e.e>e.s).sort((e,t)=>e.s-t.s||e.e-t.e),a=[],s=(n,r,i)=>{a.push({text:e.slice(n,r),start:t+n,end:t+r,value:i})};let o=0;for(const c of i){let e=c.s;if(e<o){if(c.e<=o)continue;e=o}e>o&&s(o,e,null),s(e,c.e,c.value),o=c.e}return o<e.length&&s(o,e.length,null),0===a.length&&s(0,e.length,null),a},fn=e=>{const t=e.search(/[?#]/);return-1===t?[e,""]:[e.slice(0,t),e.slice(t)]},mn=e=>{const t=e.locales.length>0?e.locales:[{code:"en"}],n=(e=>{const t=e.trim().replace(/\/+$/,"");return t?t.startsWith("/")?t:`/${t}`:""})(e.base??""),r=e.defaultLocale??(t.find(e=>!e.prefix)??t[0]).code,i=t.filter(e=>e.prefix).sort((e,t)=>t.prefix.length-e.prefix.length),a=e=>{const t=e||"/";return n?t===n?"/":t.startsWith(`${n}/`)?t.slice(n.length):t.startsWith("/")?t:`/${t}`:t.startsWith("/")?t:`/${t}`},s=e=>{const t=e.split("/").filter(Boolean)[0],n=t?i.find(e=>e.prefix===t):void 0;if(!n)return{code:r,rest:e};const a=e.slice(n.prefix.length+1)||"/";return{code:n.code,rest:a.startsWith("/")?a:`/${a}`}},o=(e,i=r)=>{const[o,c]=fn(e),{rest:u}=s(a(o)),{prefix:d}=(e=>t.find(t=>t.code===e)??{code:r})(i);return`${n}${d?`/${d}${u}`:u}${c}`||"/"};return{base:n,defaultLocale:r,localeFromPath:e=>s(a(fn(e)[0])).code,stripLocale:e=>{const[t,r]=fn(e);return`${n}${s(a(t)).rest}${r}`},href:o,hrefForLocale:(e,t)=>o(e,t),alternates:e=>t.map(t=>({code:t.code,href:o(e,t.code)}))}},gn=(e,t,n)=>new Promise((r,i)=>{if("undefined"==typeof FileReader)return void i(/* @__PURE__ */new Error("FileReader is not available"));const a=new FileReader;a.onload=()=>r(a.result),a.onerror=()=>i(a.error??/* @__PURE__ */new Error("read file error")),a.onabort=()=>i(/* @__PURE__ */new Error("read file aborted")),"arrayBuffer"===t?a.readAsArrayBuffer(e):"text"===t?a.readAsText(e,n):"dataURL"===t?a.readAsDataURL(e):a.readAsBinaryString(e)}),yn=e=>gn(e,"arrayBuffer"),wn=async e=>new Uint8Array(await yn(e)),bn=(e,t)=>gn(e,"text",t),Sn=e=>gn(e,"dataURL"),Cn=class{worker=null;nextOperationId=1;pending=/* @__PURE__ */new Map;options;constructor(e){this.options=e}get active(){return null!==this.worker}get pendingCount(){return this.pending.size}send=(e,t,n)=>{const r=this.nextOperationId++;return new Promise((i,a)=>{const s={resolve:i,reject:a,onProgress:t};this.options.timeout&&(s.timer=setTimeout(()=>{this.pending.delete(r),a(/* @__PURE__ */new Error(`worker request timed out after ${this.options.timeout}ms`))},this.options.timeout)),this.pending.set(r,s);try{this.getWorker().postMessage({...e,operationId:r},n??[])}catch(o){this.settle(r),a(o instanceof Error?o:new Error(String(o)))}})};dispose=()=>{this.worker?.terminate(),this.worker=null,this.rejectAll(/* @__PURE__ */new Error("worker disposed"))};getWorker=()=>(this.worker||(this.worker=this.options.create(),this.worker.onmessage=e=>this.handleMessage(e.data),this.worker.onerror=e=>this.rejectAll(new Error(e.message||"worker crashed"))),this.worker);settle=e=>{const t=this.pending.get(e);return t?.timer&&clearTimeout(t.timer),this.pending.delete(e),t};handleMessage=e=>{const t=this.pending.get(e.operationId);if(!t)return;const{isProgress:n,getProgress:r,isError:i,getErrorMessage:a}=this.options;if(n?n(e):"progress"===e.type){const n=r?r(e):e.progress;return void t.onProgress?.(n)}if(this.settle(e.operationId),i?i(e):"error"===e.type){const n=a?a(e):e.message;t.reject(new Error(n||"worker error"))}else t.resolve(e)};rejectAll=e=>{for(const[t,n]of this.pending)n.timer&&clearTimeout(n.timer),n.reject(e),this.pending.delete(t)}},vn=()=>"undefined"!=typeof window,Un=(e,t={})=>{const{timeout:n=8e3,fallbackDelay:r=2500}=t;if(!vn())return()=>{};const i=window.requestIdleCallback;if(i){const t=i(e,{timeout:n});return()=>window.cancelIdleCallback?.(t)}const a=setTimeout(e,r);return()=>clearTimeout(a)},En=(e={})=>{const{optOutKey:t,slowTypes:n=["slow-2g","2g"]}=e;if(!vn())return!1;if(t)try{if(localStorage.getItem(t))return!1}catch{}const r=navigator.connection;return!r?.saveData&&(!r?.effectiveType||!n.includes(r.effectiveType))},On=async e=>{if("undefined"==typeof caches)return!1;try{return Boolean(await caches.match(e))}catch{return!1}},An=async e=>{try{if(await On(e))return;await fetch(e,{cache:"force-cache"})}catch{}},Mn=async(e,t={})=>{if(!(0===e.length||t.serviceWorkerMessage&&((e,t)=>{try{const n="undefined"!=typeof navigator&&"serviceWorker"in navigator?navigator.serviceWorker.controller:null;return!!n&&(n.postMessage({type:t,urls:e}),!0)}catch{return!1}})(e,t.serviceWorkerMessage)))for(const n of e)await An(n)},Tn=(e,t={})=>En(t)?Un(()=>{Mn(e,t)},t):()=>{},kn=()=>{let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}},Bn=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Ln=(e,t,n={})=>{const{message:r=`operation timed out after ${t}ms`,onTimeout:i}=n;return new Promise((n,a)=>{const s=setTimeout(()=>{i?.(),a(new Bn(r))},t);e.then(e=>{clearTimeout(s),n(e)},e=>{clearTimeout(s),a(e)})})},Fn=(e,t,n,r)=>new Promise((i,a)=>{const s=setTimeout(()=>{r?.(),i(n)},t);e.then(e=>{clearTimeout(s),i(e)},e=>{clearTimeout(s),a(e)})}),Rn=e=>new Promise(t=>setTimeout(t,e)),Dn=67324752,Pn=33639248,Hn=101010256,In=30,xn=46,jn=0,zn=8,Nn=(e,t)=>e[t]|e[t+1]<<8,Kn=(e,t)=>(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0,_n=/* @__PURE__ */(()=>{const e=/* @__PURE__ */new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=1&n?3988292384^n>>>1:n>>>1;e[t]=n}return e})(),Wn=e=>{let t=4294967295;for(let n=0;n<e.length;n++)t=(_n[255&(t^e[n])]??0)^t>>>8;return(4294967295^t)>>>0},qn=async e=>{if("undefined"==typeof DecompressionStream)throw new Error("DecompressionStream is not available in this runtime");const t=new DecompressionStream("deflate-raw"),n=t.writable.getWriter(),r=t.readable.getReader();n.write(e),n.close();const i=[];for(;;){const{done:e,value:t}=await r.read();if(e)break;t&&i.push(t)}return Vn(i)},Vn=e=>{let t=0;for(const i of e)t+=i.length;const n=new Uint8Array(t);let r=0;for(const i of e)n.set(i,r),r+=i.length;return n},$n=e=>{const t=(e=>{const t=Math.max(0,e.length-65558);for(let n=e.length-22;n>=t;n--)if(Kn(e,n)===Hn)return n;return-1})(e);if(-1===t)return[];const n=Nn(e,t+10),r=[];let i=Kn(e,t+16);for(let a=0;a<n&&!(i+xn>e.length)&&Kn(e,i)===Pn;a++){const t=Nn(e,i+10),n=Nn(e,i+12),a=Nn(e,i+14),s=Kn(e,i+16),o=Kn(e,i+20),c=Kn(e,i+24),u=Nn(e,i+28),d=Nn(e,i+30),l=Nn(e,i+32),h=Kn(e,i+42),p=e.slice(i+xn,i+xn+u),f=new TextDecoder("utf-8",{fatal:!1}).decode(p),m=h+In<=e.length,g=m?Nn(e,h+26):0,y=m?Nn(e,h+28):0,w=i;i+=xn+u+d+l,r.push({name:f,compression:t,crc:s,compressedSize:o,uncompressedSize:c,modTime:n,modDate:a,directory:f.endsWith("/"),dataStart:h+In+g+y,nameBytes:p,localOffset:h,centralStart:w,centralEnd:i})}return r},Xn=(e,t)=>$n(e).some(e=>e.name===t),Yn=async(e,t)=>{const n="string"==typeof t?$n(e).find(e=>e.name===t):t;if(!n||n.directory)return null;if(n.dataStart+n.compressedSize>e.length)return null;const r=e.slice(n.dataStart,n.dataStart+n.compressedSize);if(0===n.compression)return r;if(8!==n.compression)return null;try{return await qn(r)}catch{return null}},Gn=(e,t,n,r=0,i=0)=>{const a=new Uint8Array(In+e.length),s=new DataView(a.buffer);return s.setUint32(0,Dn,!0),s.setUint16(4,20,!0),s.setUint16(6,0,!0),s.setUint16(8,0,!0),s.setUint16(10,r,!0),s.setUint16(12,i,!0),s.setUint32(14,n,!0),s.setUint32(18,t,!0),s.setUint32(22,t,!0),s.setUint16(26,e.length,!0),a.set(e,In),a},Jn=(e,t,n,r,i=0,a=0)=>{const s=new Uint8Array(xn+e.length),o=new DataView(s.buffer);return o.setUint32(0,Pn,!0),o.setUint16(4,20,!0),o.setUint16(6,20,!0),o.setUint16(8,0,!0),o.setUint16(10,0,!0),o.setUint16(12,i,!0),o.setUint16(14,a,!0),o.setUint32(16,n,!0),o.setUint32(20,t,!0),o.setUint32(24,t,!0),o.setUint16(28,e.length,!0),o.setUint32(42,r,!0),s.set(e,xn),s},Qn=e=>"string"==typeof e?(new TextEncoder).encode(e):e,Zn=async(e,t={})=>{const{filter:n,transform:r,inject:i}=t,a=$n(e);if(0===a.length)return e;const s=/* @__PURE__ */new Map;if(r)for(const g of a)if(!g.directory&&(!n||n(g)))try{const t=await Yn(e,g);if(!t)continue;const n=await r(t,g);if(null==n)continue;const i=Qn(n);if(i.length===t.length&&i.every((e,n)=>e===t[n]))continue;s.set(g,i)}catch{}const o=(i??[]).map(({name:e,data:t})=>({nameBytes:(new TextEncoder).encode(e),data:Qn(t)}));if(0===s.size&&0===o.length)return e;const c=[],u=[];let d=0;for(const g of a){u.push(d);const t=s.get(g);if(t){const e=Gn(g.nameBytes,t.length,Wn(t),g.modTime,g.modDate);c.push(e,t),d+=e.length+t.length;continue}const n=new Uint8Array(In+g.nameBytes.length),r=new DataView(n.buffer);r.setUint32(0,Dn,!0),r.setUint16(4,20,!0),r.setUint16(6,0,!0),r.setUint16(8,g.compression,!0),r.setUint16(10,g.modTime,!0),r.setUint16(12,g.modDate,!0),r.setUint32(14,g.crc,!0),r.setUint32(18,g.compressedSize,!0),r.setUint32(22,g.uncompressedSize,!0),r.setUint16(26,g.nameBytes.length,!0),n.set(g.nameBytes,In);const i=e.slice(g.dataStart,g.dataStart+g.compressedSize);c.push(n,i),d+=n.length+i.length}const l=[];for(const g of o){l.push(d);const e=Gn(g.nameBytes,g.data.length,Wn(g.data));c.push(e,g.data),d+=e.length+g.data.length}const h=d;for(let g=0;g<a.length;g++){const t=a[g],n=s.get(t);if(n){const e=Jn(t.nameBytes,n.length,Wn(n),u[g],t.modTime,t.modDate);c.push(e),d+=e.length;continue}const r=new Uint8Array(e.slice(t.centralStart,t.centralEnd)),i=new DataView(r.buffer);i.setUint16(8,-9&Nn(r,8),!0),i.setUint32(42,u[g],!0),c.push(r),d+=r.length}for(let g=0;g<o.length;g++){const e=o[g],t=Jn(e.nameBytes,e.data.length,Wn(e.data),l[g]);c.push(t),d+=t.length}const p=a.length+o.length,f=new Uint8Array(22),m=new DataView(f.buffer);return m.setUint32(0,Hn,!0),m.setUint16(8,p,!0),m.setUint16(10,p,!0),m.setUint32(12,d-h,!0),m.setUint32(16,h,!0),c.push(f),Vn(c)},er=e=>{const t=[],n=[];let r=0;for(const o of e){const e=(new TextEncoder).encode(o.name),i=Qn(o.data),a=Wn(i),s=Gn(e,i.length,a);n.push(Jn(e,i.length,a,r)),t.push(s,i),r+=s.length+i.length}const i=r;for(const o of n)t.push(o),r+=o.length;const a=new Uint8Array(22),s=new DataView(a.buffer);return s.setUint32(0,Hn,!0),s.setUint16(8,e.length,!0),s.setUint16(10,e.length,!0),s.setUint32(12,r-i,!0),s.setUint32(16,i,!0),t.push(a),Vn(t)};function tr(){if("undefined"!=typeof window){const[e]=performance.getEntriesByType("navigation"),[t={},n={}]=performance.getEntriesByType("paint"),{startTime:r}=t,{startTime:i}=n,{domainLookupEnd:a,domainLookupStart:s,connectEnd:o,connectStart:c,secureConnectionStart:u,loadEventStart:d,domInteractive:l,domContentLoadedEventEnd:h,duration:p,responseStart:f,requestStart:m,responseEnd:g,fetchStart:y,transferSize:w,encodedBodySize:b,redirectEnd:S,redirectStart:C,redirectCount:v}=e;return{dnsSearch:a-s,tcpConnect:o-c,sslConnect:o-u,request:f-m,response:g-f,parseDomTree:l-g,resource:d-h,domReady:h-y,interactive:l-y,complete:d-y,httpHead:w-b,redirect:v,redirectTime:S-C,duration:p,fp:r,fcp:i}}}var nr={},rr=e=>{"string"==typeof e?nr.url=e:Object.assign(nr,e)},ir=()=>nr.url??"",ar=({url:e,type:t="application/json; charset=UTF-8",payload:n={}})=>{const r=e||ir();return!!r&&((({url:e="",type:t="application/json; charset=UTF-8",payload:n={}})=>{if("undefined"==typeof navigator||!navigator.sendBeacon||!e)return!1;const r=new Blob([JSON.stringify(n)],{type:t});return navigator.sendBeacon(e,r)})({url:r,type:t,payload:n})||(({url:e="",payload:t={}})=>{if("undefined"==typeof document||!e)return!1;const n=new Image;return n.width=1,n.height=1,n.src=`${e}?${_(t)}`,!0})({url:r,payload:n}))};function sr(e={}){if("undefined"==typeof window)return{};const{width:t,height:n}=u();return{id:r(),path:window.location.href,time:Date.now(),referrer:document.referrer,ratio:`${t}x${n}`,userAgent:window.navigator.userAgent,...nr.userIdCookie?{userId:l(nr.userIdCookie)}:{},...e}}var or=(e={})=>{if("undefined"==typeof window)return d;const{requestHook:t=d,responseHook:n=d,errorHook:r=d}=e;return $(window,"fetch",e=>{if("function"!=typeof e)return;const i=e;return(e,a)=>(t(e,a),i.apply(window,[e,a]).then(t=>(n(e,a,t),t)).catch(t=>{throw r(e,t),t}))})},cr=(e={})=>{if("undefined"==typeof window||"undefined"==typeof XMLHttpRequest)return d;const t=XMLHttpRequest.prototype,{requestHook:n=d,responseHook:r=d,errorHook:i=d}=e,a=$(t,"open",e=>{if("function"!=typeof e)return;const t=e;return function(...e){n(e),t.apply(this,e)}}),s=$(t,"send",e=>{if("function"!=typeof e)return;const t=e;return function(...e){this.addEventListener("loadend",()=>r(this),{once:!0}),this.addEventListener("error",()=>i(this),{once:!0}),t.apply(this,e)}});return()=>{s(),a()}};function ur(e,t=300){let n,r=0,i=null,a=null;const s=()=>{if(i=null,!a)return;const t=a,s=n;a=null,n=void 0,r=Date.now(),e.apply(s,t)},o=function(...e){const o=t-(Date.now()-r);n=this,a=e,o<=0?(null!==i&&(clearTimeout(i),i=null),s()):null===i&&(i=setTimeout(s,o))};return o.cancel=()=>{null!==i&&clearTimeout(i),i=null,a=null,n=void 0},o.pending=()=>null!==i,o}var dr={click:!0,error:!0,fetch:!0,xhr:!0,performance:!0,console:!1},lr=class{options;teardown=[];send=d;constructor(e){this.options=e,rr({url:e.url,userIdCookie:e.userIdCookie}),this.send=ur(e=>ar(e),e.throttleMs??300)}get running(){return this.teardown.length>0}start=()=>{if(this.running)return this.stop;const e={...dr,...this.options.channels};return e.performance&&this.reportPerformance(),e.click&&this.teardown.push(this.reportClick()),e.error&&this.teardown.push(this.reportError()),e.fetch&&this.teardown.push(this.reportFetch()),e.xhr&&this.teardown.push(this.reportXhr()),e.console&&this.teardown.push(this.reportConsole()),this.stop};stop=()=>{const e=this.teardown.splice(0,this.teardown.length);for(const t of e)t()};event=(e,t)=>({payload:{...sr(),data:t,type:e}});log=e=>{this.send({payload:{...sr(),...e}})};reportPerformance=()=>{ar({payload:{...tr(),...sr(),type:"performance"}})};reportClick=()=>((e=d)=>{if("undefined"==typeof document)return d;const t=t=>e(t);return document.addEventListener("click",t,!0),()=>document.removeEventListener("click",t,!0)})(e=>{const{pageX:t,pageY:n,screenX:r,screenY:i,type:a}=e;this.send(this.event("click",{pageX:t,pageY:n,screenX:r,screenY:i,type:a}))});reportError=()=>Ft((...e)=>this.send(this.event("error",{...e})));reportFetch=()=>or({requestHook:(...e)=>this.send(this.event("fetchRequest",{...e})),responseHook:(...e)=>this.send(this.event("fetchResponse",{...e})),errorHook:(...e)=>this.send(this.event("fetchError",{...e}))});reportXhr=()=>cr({requestHook:(...e)=>this.send(this.event("xhrRequest",{...e})),responseHook:(...e)=>this.send(this.event("xhrResponse",{...e})),errorHook:(...e)=>this.send(this.event("xhrError",{...e}))});reportConsole=()=>Et((...e)=>this.send(this.event("console",{...e})))},hr=/* @__PURE__ */new Map([[100,"Continue"],[101,"Switching Protocols"],[102,"Processing"],[103,"Early Hints"],[200,"OK"],[201,"Created"],[202,"Accepted"],[203,"Non-Authoritative Information"],[204,"No Content"],[205,"Reset Content"],[206,"Partial Content"],[207,"Multi-Status"],[208,"Already Reported"],[226,"IM Used"],[300,"Multiple Choices"],[301,"Moved Permanently"],[302,"Found"],[303,"See Other"],[304,"Not Modified"],[305,"Use Proxy"],[307,"Temporary Redirect"],[308,"Permanent Redirect"],[400,"Bad Request"],[401,"Unauthorized"],[402,"Payment Required"],[403,"Forbidden"],[404,"Not Found"],[405,"Method Not Allowed"],[406,"Not Acceptable"],[407,"Proxy Authentication Required"],[408,"Request Timeout"],[409,"Conflict"],[410,"Gone"],[411,"Length Required"],[412,"Precondition Failed"],[413,"Payload Too Large"],[414,"URI Too Long"],[415,"Unsupported Media Type"],[416,"Range Not Satisfiable"],[417,"Expectation Failed"],[418,"I'm a Teapot"],[421,"Misdirected Request"],[422,"Unprocessable Entity"],[423,"Locked"],[424,"Failed Dependency"],[425,"Too Early"],[426,"Upgrade Required"],[428,"Precondition Required"],[429,"Too Many Requests"],[431,"Request Header Fields Too Large"],[451,"Unavailable For Legal Reasons"],[500,"Internal Server Error"],[501,"Not Implemented"],[502,"Bad Gateway"],[503,"Service Unavailable"],[504,"Gateway Timeout"],[505,"HTTP Version Not Supported"],[506,"Variant Also Negotiates"],[507,"Insufficient Storage"],[508,"Loop Detected"],[509,"Bandwidth Limit Exceeded"],[510,"Not Extended"],[511,"Network Authentication Required"]]),pr={message:hr,code:function(e){const t=/* @__PURE__ */new Map;for(const[n,r]of e)t.set(r.toLowerCase(),n);return t}(hr),codes:function(e){const t=[];for(const[n,r]of e)t.push(n);return t}(hr),redirect:{300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},empty:{204:!0,205:!0,304:!0},retry:{502:!0,503:!0,504:!0}};function fr(e){if(!pr.message.has(e))throw new Error("invalid status code: "+e);return pr.message.get(e)}function mr(e){if("number"==typeof e)return fr(e);if("string"!=typeof e)throw new TypeError("code must be a number or string");const t=parseInt(e,10);return!isNaN(t)&&pr.codes.includes(t)?fr(t):function(e){const t=e.toLowerCase();if(pr.code.has(t),!pr.code.has(t))throw new Error('invalid status message: "'+e+'"');return pr.code.get(t)}(e)}var gr=class{running=0;executed=0;simultaneous;queue=[];idleWaiters=[];constructor({simultaneous:e=1}={}){this.simultaneous=Math.max(1,e)}get pending(){return this.queue.length}get idle(){return 0===this.queue.length&&0===this.running}add=e=>"function"!=typeof e?Promise.reject(/* @__PURE__ */new TypeError("QuestQueue.add expects a function")):new Promise((t,n)=>{this.queue.push({task:e,resolve:t,reject:n}),this.next()});allSettled=e=>Promise.allSettled(e.map(e=>this.add(e)));onIdle=()=>this.idle?Promise.resolve():new Promise(e=>this.idleWaiters.push(e));clear=()=>{const e=this.queue.splice(0,this.queue.length);for(const t of e)t.reject(/* @__PURE__ */new Error("QuestQueue cleared"));this.settleIdle()};next=()=>{for(;this.running<this.simultaneous&&this.queue.length>0;){const e=this.queue.shift();this.running++,Promise.resolve().then(e.task).then(e.resolve,e.reject).finally(()=>{this.running--,this.executed++,this.settleIdle(),this.next()})}};settleIdle=()=>{if(!this.idle)return;const e=this.idleWaiters.splice(0,this.idleWaiters.length);for(const t of e)t()}},yr=/* @__PURE__ */new Set,wr=({type:e,content:t})=>new Promise((r,i)=>{const a=n(`${e}:${t}`);if(yr.has(a))return void r({success:!0});const s=document.createElement("script");if(s.onload=function(){yr.add(a),r({success:!0})},s.onerror=function(e){i({success:!1,error:e})},"content"===e)return s.textContent=t,document.body.append(s),yr.add(a),void r({success:!0});s.src=t,document.body.append(s)}),br=(e,t,n)=>{const r=(e=Array.isArray(e)?e:[e]).map(e=>{let n;if(e.toLowerCase().endsWith(".css")){const t=document.createElement("link");t.type="text/css",t.rel="stylesheet",t.href=e,n=t}else n=document.createElement("script"),n.type="text/javascript",n.src=e;const r=document.getElementsByTagName("body")[0];return(t||r).appendChild(n),new Promise(e=>{n.onload=()=>{e()}})});return new Promise(e=>{Promise.all(r).then(()=>{n&&n(),e()})})};export{Gt as $,x as $t,En as A,oe as At,mn as B,Y as Bt,Xn as C,Et as Ct,Ln as D,de as Dt,Rn as E,le as Et,Cn as F,J as Ft,dn as G,F as Gt,hn as H,z as Ht,yn as I,V as It,sn as J,P as Jt,nn as K,D as Kt,Sn as L,X as Lt,Mn as M,Q as Mt,Tn as N,q as Nt,Fn as O,ue as Ot,Un as P,W as Pt,$t as Q,I as Qt,bn as R,_ as Rt,Zn as S,Ot as St,kn as T,Ct as Tt,pn as U,K as Ut,ln as V,N as Vt,un as W,T as Wt,Qt as X,j as Xt,an as Y,L as Yt,Xt as Z,R as Zt,Wn as _,At as _t,pr as a,U as an,Vt as at,$n as b,Mt as bt,or as c,y as cn,zt as ct,ir as d,Dt as dt,m as en,Jt as et,ar as f,Ht as ft,jn as g,Ft as gt,zn as h,Rt as ht,mr as i,O as in,Kt as it,An as j,se as jt,On as k,ce as kt,cr as l,Pt as lt,tr as m,xt as mt,br as n,g as nn,Wt as nt,lr as o,p as on,_t as ot,rr as p,It as pt,tn as q,k as qt,gr as r,C as rn,Nt as rt,ur as s,f as sn,qt as st,wr as t,w as tn,Yt as tt,sr as u,jt as ut,er as v,Tt as vt,Bn as w,vt as wt,Yn as x,Lt as xt,qn as y,Bt as yt,wn as z,$ as zt};
1
+ import{i as e,t}from"./enums-BAgbyGdH.js";import{G as n,K as r,U as i,X as a,Z as s}from"./color-Dohr9BXX.js";import{F as o,N as c,S as u,W as d,_ as l,j as h}from"./i18n-Cf5TtRb4.js";var p=(e="")=>{if(0===e.length)return 0;if(e.endsWith("%")){const t=Number(e.replace("%",""));return t>1?t/100:t}return Number(e)},f=(e,t=0,n=1)=>Math.min(n,Math.max(t,e)),m=class e{getDecimalLength=e=>{const[t,n]=e.toString().split(".");return n?n.length:0};amend=(e,t=15)=>parseFloat(Number(e).toPrecision(t));power=(e,t)=>Math.pow(10,Math.max(this.getDecimalLength(e),this.getDecimalLength(t)));static handleMethod=(t,n)=>{const{power:r,amend:i}=new e,a=r(t,n),s=i(t*a),o=i(n*a);return e=>{switch(e){case"+":return(s+o)/a;case"-":return(s-o)/a;case"*":return s*o/(a*a);case"/":return s/o}}};static add=(e,t)=>this.handleMethod(e,t)("+");static divide=(e,t)=>this.handleMethod(e,t)("/");static multiply=(e,t)=>this.handleMethod(e,t)("*");static subtract=(e,t)=>this.handleMethod(e,t)("-")};function g(e,t,n){function r(e){const[t,n]=e.toString().split(".");return n?n.length:0}const i=(e,t=15)=>parseFloat(Number(e).toPrecision(t)),a=Math.pow(10,Math.max(r(e),r(n)));let s=0;switch(e=i(e*a),n=i(n*a),t){case"+":s=(e+n)/a;break;case"-":s=(e-n)/a;break;case"*":s=e*n/(a*a);break;case"/":s=e/n}return s=i(s),{result:s,next:(e,t)=>g(s,e,t)}}var y=(e,t="zh-CN",n=2,r=2)=>{let i=["","K","M","B","T"],a=3;if("zh-CN"===t&&(i=[""," 万"," 亿"," 万亿"],a=4),"zh-HK"===t&&(i=[""," 萬"," 億"," 萬億"],a=4),!/^[+-]?\d+(?:\.\d+)?$/.test(e))return"--";const s=parseInt(e).toString().length,o=Math.min(Math.floor((s-1)/a),i.length-1),c=m.divide(Number(e),10**(o*a))?.toFixed(n);return Number(c).toFixed(r)+i[o]},w=(e,t)=>s(e).startsWith("+")||s(e).startsWith("-")?s(e):t?Number(t||0)>0?`+${s(e)}`:s(e):Number(e||0)>0?`+${s(e)}`:s(e),b={"零":0,"〇":0,"一":1,"二":2,"两":2,"三":3,"四":4,"五":5,"六":6,"七":7,"八":8,"九":9},S={"十":10,"百":100,"千":1e3},C=e=>{const t=a(e.trim());if(/^\d+$/.test(t))return Number.parseInt(t,10);if(0===t.length)return null;let n=0,r=0,i=0;for(const a of t)if(void 0!==b[a])i=b[a];else if(void 0!==S[a])r+=(i||("十"===a?1:0))*S[a],i=0;else{if("万"!==a&&"萬"!==a)return null;n=1e4*(n+r+i),r=0,i=0}return n+r+i},v={I:1,V:5,X:10,L:50,C:100,D:500,M:1e3},U=e=>{const t=e.trim().toUpperCase();if(!/^[IVXLCDM]+$/.test(t))return null;let n=0;for(let r=0;r<t.length;r++){const e=v[t[r]],i=v[t[r+1]];i&&e<i?n-=e:n+=e}return n},E={one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20},O=e=>{const t=e.trim().toLowerCase();return/^\d+$/.test(t)?Number.parseInt(t,10):void 0!==E[t]?E[t]:U(t)},A=e=>"function"==typeof e,M=12e4,k="__ranuts_bridge__",T="default",B=new class{bridges=/* @__PURE__ */new Set;attachedWindow=null;handleMessage=e=>{for(const t of Array.from(this.bridges))t.receive(e)};add(e){this.bridges.add(e),"undefined"!=typeof window&&this.attachedWindow!==window&&(window.addEventListener("message",this.handleMessage),this.attachedWindow=window)}remove(e){this.bridges.delete(e),0===this.bridges.size&&this.attachedWindow&&(this.attachedWindow.removeEventListener("message",this.handleMessage),this.attachedWindow=null)}},L=class{targetWindow;targetOrigin;messageHandlers;pendingRequests;channel;senderId;available;constructor(e,t="*",n=T){this.targetOrigin=t,this.channel=n,this.senderId=i(12),this.messageHandlers=/* @__PURE__ */new Map,this.pendingRequests=/* @__PURE__ */new Map,this.available="undefined"!=typeof window,this.available?(this.targetWindow=e??window,B.add(this)):this.targetWindow=void 0}post(e,t){const n={...t,__bridge:k,channel:this.channel,senderId:this.senderId};e.postMessage(n,this.targetOrigin)}receive=e=>{if(!this.available)return;if("*"!==this.targetOrigin&&e.origin!==this.targetOrigin)return;if(e.source&&e.source!==this.targetWindow)return;const t=e.data;if(!t||"object"!=typeof t||"__ranuts_bridge__"!==t.__bridge)return;if((t.channel??"default")!==this.channel)return;const{type:n,payload:r,id:i,isResponse:a,isError:s,senderId:o}=t;if(a&&i){const e=this.pendingRequests.get(i);return void(e&&(s?e.reject(new Error("string"==typeof r?r:"Bridge request failed")):e.resolve(r),this.pendingRequests.delete(i)))}if(o&&o===this.senderId)return;if("string"!=typeof n||!this.messageHandlers.has(n))return;const c=this.messageHandlers.get(n);if(A(c)){const t=e.source??this.targetWindow;Promise.resolve(c(r)).then(e=>{i&&this.post(t,{type:n,payload:e,id:i,isResponse:!0})}).catch(e=>{i&&this.post(t,{type:n,payload:e instanceof Error?e.message:String(e),id:i,isResponse:!0,isError:!0})})}};on=(e,t)=>{this.messageHandlers.set(e,t)};off=e=>{this.messageHandlers.delete(e)};send=async(e,t)=>{if(!this.available)return Promise.reject(/* @__PURE__ */new Error("PostMessageBridge is unavailable outside a browser environment"));const n=i(10);return new Promise((r,i)=>{const a=setTimeout(()=>{this.pendingRequests.has(n)&&(this.pendingRequests.delete(n),i(/* @__PURE__ */new Error("Request timeout")))},M),s=e=>{clearTimeout(a),i(e)};this.pendingRequests.set(n,{resolve:e=>{clearTimeout(a),r(e)},reject:s});try{this.post(this.targetWindow,{type:e,payload:t,id:n})}catch(o){this.pendingRequests.delete(n),s(o instanceof Error?o:/* @__PURE__ */new Error("Failed to post message"))}})};broadcast=e=>{if(this.available)try{this.post(this.targetWindow,{type:e.type,payload:e.payload})}catch{}};destroy=()=>{B.remove(this),this.messageHandlers.clear(),this.pendingRequests.forEach(e=>{e.reject(/* @__PURE__ */new Error("Bridge destroyed"))}),this.pendingRequests.clear()}},F=class e{static instance;bridges=/* @__PURE__ */new Map;constructor(){}static getInstance(){return e.instance||(e.instance=new e),e.instance}connectClient=({id:e,targetOrigin:t,targetWindow:n,channel:r})=>{const a=new L(n,t,r);if(e||(e=i(10)),this.bridges.has(e))throw new Error(`Bridge ${e} already exists`);return this.bridges.set(e,a),{bridge:a,id:e}};getClient=e=>this.bridges.get(e);removeClient=e=>{const t=this.bridges.get(e);t&&(t.destroy(),this.bridges.delete(e))};removeAllClient=()=>{this.bridges.forEach(e=>{e.destroy()}),this.bridges.clear()};broadcast=e=>{this.bridges.forEach(t=>{t.broadcast(e)})};sendTo=(e,t,n)=>{const r=this.getClient(e);return r?r.send(t,n):Promise.reject(/* @__PURE__ */new Error(`Bridge ${e} not found`))}},P=F.getInstance(),R={connect:({id:e,targetWindow:t,targetOrigin:n,channel:r})=>P.connectClient({id:e,targetWindow:t,targetOrigin:n,channel:r}),remove:e=>{e&&P.removeClient(e)},removeAll:()=>{P.removeAllClient()},broadcast:e=>P.broadcast(e),call:({id:e,type:t,payload:n})=>P.sendTo(e,t,n),broadcastToAll:e=>{if("undefined"==typeof window)return;const t={__bridge:k,channel:T,type:e.type,payload:e.payload};return window.postMessage(t,"*")}},D={init:e=>{const t=new Map(Object.entries(e).filter(e=>A(e[1]))),n=async e=>{const n=e.data;if(!n||"object"!=typeof n||"__ranuts_bridge__"!==n.__bridge)return;const{type:r,payload:i,id:a}=n,s=n.channel??"default";if("string"!=typeof r||!t.has(r))return;const o=t.get(r);if(!o)return;const c=t=>{a&&e.source?.postMessage({__bridge:k,channel:s,type:r,id:a,isResponse:!0,...t},{targetOrigin:e.origin})};try{c({payload:await o(i)})}catch(u){c({payload:u instanceof Error?u.message:String(u),isError:!0})}};window.removeEventListener("message",n),window.addEventListener("message",n);return{destroy:()=>{window.removeEventListener("message",n)}}}},H="__ranuts_port_init__",I=e=>{const t=/* @__PURE__ */new Map,n=/* @__PURE__ */new Map,r=r=>{const i=r.data;if(!i||"object"!=typeof i||"string"!=typeof i.type)return;const{type:a,payload:s,id:o,isResponse:c,isError:u}=i;if(c&&o){const e=n.get(o);return void(e&&(u?e.reject(new Error("string"==typeof s?s:"Bridge request failed")):e.resolve(s),n.delete(o)))}if(!t.has(a))return;const d=t.get(a);A(d)&&Promise.resolve(d(s)).then(t=>{o&&e.postMessage({type:a,payload:t,id:o,isResponse:!0})}).catch(t=>{o&&e.postMessage({type:a,payload:t instanceof Error?t.message:String(t),id:o,isResponse:!0,isError:!0})})};return e.addEventListener("message",r),e.start(),{on:(e,n)=>{t.set(e,n)},off:e=>{t.delete(e)},send:(t,r)=>{const a=i(10);return new Promise((i,s)=>{const o=setTimeout(()=>{n.has(a)&&(n.delete(a),s(/* @__PURE__ */new Error("Request timeout")))},M),c=e=>{clearTimeout(o),s(e)};n.set(a,{resolve:e=>{clearTimeout(o),i(e)},reject:c});try{e.postMessage({type:t,payload:r,id:a})}catch(u){n.delete(a),c(u instanceof Error?u:/* @__PURE__ */new Error("Failed to post message"))}})},broadcast:t=>{try{e.postMessage({type:t.type,payload:t.payload})}catch{}},destroy:()=>{e.removeEventListener("message",r),t.clear(),n.forEach(e=>e.reject(/* @__PURE__ */new Error("Bridge destroyed"))),n.clear(),e.close()}}},x=({targetWindow:e,targetOrigin:t="*",name:n="default"})=>{const r=new MessageChannel;return e.postMessage({[H]:!0,name:n},t,[r.port2]),I(r.port1)},j=({targetOrigin:e="*",name:t="default"}={})=>"undefined"==typeof window?Promise.reject(/* @__PURE__ */new Error("acceptPortBridge is unavailable outside a browser environment")):new Promise(n=>{const r=i=>{if("*"!==e&&i.origin!==e)return;const a=i.data;if(!a||"object"!=typeof a||!0!==a[H]||a.name!==t)return;const s=i.ports?.[0];s&&(window.removeEventListener("message",r),n(I(s)))};window.addEventListener("message",r)}),N=e=>{let t,n=!1,r=e;return(...e)=>(n||(t="function"==typeof r?r(...e):r,n=!0,r=void 0),t)},z=N,K=e=>{let t=null;const n=()=>(t??=e().catch(e=>{throw t=null,e}),t);return n.reset=()=>{t=null},Object.defineProperty(n,"started",{get:()=>null!==t}),n};function _(e={}){if("object"!=typeof e)throw new TypeError("param must be object");return Object.entries(e).reduce((e,[t,n])=>(void 0===n||null==n||e.append(decodeURIComponent(t),decodeURIComponent(n)),e),new URLSearchParams).toString()}var W=(e,t=d,n=4)=>{try{const t="string"==typeof e?JSON.parse(e.replace(/'/g,'"')):e;return JSON.stringify(t,null,n)??""}catch(r){return t(r),""}},q=(e,t)=>{const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n},V=(e,t)=>{if(e&&t)for(const n in t)e[n]=t[n];return e};function $(e,t,n,r){if(void 0===e)return d;if(!(t in e)&&!r)return d;const i=t in e,a=e[t],s=n(a);if("function"!=typeof s)return d;e[t]=s;let o=!1;return()=>{o||(o=!0,e[t]===s&&(i?e[t]=a:delete e[t]))}}var X=(e,t)=>{const n=Object.getOwnPropertyDescriptors(t);for(const r of Object.keys(n)){const t=n[r];if(t.get){const n=t.get;Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:N(n)})}else{if("object"!=typeof t.value)throw new Error("Exposed values must be either a getter or an nested object");Object.defineProperty(e,r,{configurable:!1,enumerable:!0,writable:!1,value:X({},t.value)})}}return Object.freeze(e)},Y=(e,t)=>{"undefined"!=typeof window&&(window[e]=t),"undefined"!=typeof global&&(global[e]=t)};function G(e){return Object.prototype.toString.call(e)}function J(e,t,n=/* @__PURE__ */new Map){if(e===t)return!0;if(null==e||null==t)return e===t;if(e!=e&&t!=t)return!0;const r=typeof e;if(r!==typeof t)return!1;if("object"!==r)return e===t;const i=G(e);if(i!==G(t))return!1;if(n.has(e))return n.get(e)===t;if(n.set(e,t),"[object Array]"===i){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!J(e[r],t[r],n))return!1;return!0}if("[object Date]"===i)return+e===+t;if("[object RegExp]"===i)return e.toString()===t.toString();if("[object Map]"===i){if(e.size!==t.size)return!1;let r=!0;return e.forEach((e,i)=>{r&&(t.has(i)&&J(e,t.get(i),n)||(r=!1))}),r}if("[object Set]"===i){if(e.size!==t.size)return!1;const r=Array.from(e),i=Array.from(t);return r.every(e=>i.some(t=>J(e,t,n)))}const a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(const o of a)if(!Object.prototype.hasOwnProperty.call(t,o)||!J(e[o],t[o],n))return!1;return!0}var Q=(e,t=/* @__PURE__ */new WeakMap)=>{if(null===e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(Array.isArray(e)){const n=[];t.set(e,n);for(let r=0;r<e.length;r++)n[r]=Q(e[r],t);return n}if(e instanceof Map){const n=/* @__PURE__ */new Map;return t.set(e,n),e.forEach((e,r)=>{n.set("object"==typeof r&&null!==r?Q(r,t):r,Q(e,t))}),n}if(e instanceof Set){const n=/* @__PURE__ */new Set;return t.set(e,n),e.forEach(e=>{n.add(Q(e,t))}),n}if("object"==typeof e&&e.constructor===Object){const n={};return t.set(e,n),[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)].forEach(r=>{n[r]=Q(e[r],t)}),n}try{const n=new(0,Object.getPrototypeOf(e).constructor);t.set(e,n);for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=Q(e[r],t));return n}catch{return console.warn(`Unable to deeply clone object of type ${Object.prototype.toString.call(e)}. Fallback to shallow copy.`),{...e}}},Z={172351395:{name:"EBML",type:"Container"},646:{name:"EBMLVersion",type:"Uint"},759:{name:"EBMLReadVersion",type:"Uint"},754:{name:"EBMLMaxIDLength",type:"Uint"},755:{name:"EBMLMaxSizeLength",type:"Uint"},642:{name:"DocType",type:"String"},647:{name:"DocTypeVersion",type:"Uint"},645:{name:"DocTypeReadVersion",type:"Uint"},108:{name:"Void",type:"Binary"},63:{name:"CRC-32",type:"Binary"},190023271:{name:"SignatureSlot",type:"Container"},16010:{name:"SignatureAlgo",type:"Uint"},16026:{name:"SignatureHash",type:"Uint"},16037:{name:"SignaturePublicKey",type:"Binary"},16053:{name:"Signature",type:"Binary"},15963:{name:"SignatureElements",type:"Container"},15995:{name:"SignatureElementList",type:"Container"},9522:{name:"SignedElement",type:"Binary"},139690087:{name:"Segment",type:"Container"},21863284:{name:"SeekHead",type:"Container"},3515:{name:"Seek",type:"Container"},5035:{name:"SeekID",type:"Binary"},5036:{name:"SeekPosition",type:"Uint"},88713574:{name:"Info",type:"Container"},13220:{name:"SegmentUID",type:"Binary"},13188:{name:"SegmentFilename",type:"String"},1882403:{name:"PrevUID",type:"Binary"},1868715:{name:"PrevFilename",type:"String"},2013475:{name:"NextUID",type:"Binary"},1999803:{name:"NextFilename",type:"String"},1092:{name:"SegmentFamily",type:"Binary"},10532:{name:"ChapterTranslate",type:"Container"},10748:{name:"ChapterTranslateEditionUID",type:"Uint"},10687:{name:"ChapterTranslateCodec",type:"Uint"},10661:{name:"ChapterTranslateID",type:"Binary"},710577:{name:"TimecodeScale",type:"Uint"},1161:{name:"Duration",type:"Float"},1121:{name:"DateUTC",type:"Date"},15273:{name:"Title",type:"String"},3456:{name:"MuxingApp",type:"String"},5953:{name:"WritingApp",type:"String"},103:{name:"Timecode",type:"Uint"},6228:{name:"SilentTracks",type:"Container"},6359:{name:"SilentTrackNumber",type:"Uint"},39:{name:"Position",type:"Uint"},43:{name:"PrevSize",type:"Uint"},35:{name:"SimpleBlock",type:"Binary"},32:{name:"BlockGroup",type:"Container"},33:{name:"Block",type:"Binary"},34:{name:"BlockVirtual",type:"Binary"},13729:{name:"BlockAdditions",type:"Container"},38:{name:"BlockMore",type:"Container"},110:{name:"BlockAddID",type:"Uint"},37:{name:"BlockAdditional",type:"Binary"},27:{name:"BlockDuration",type:"Uint"},122:{name:"ReferencePriority",type:"Uint"},123:{name:"ReferenceBlock",type:"Int"},125:{name:"ReferenceVirtual",type:"Int"},36:{name:"CodecState",type:"Binary"},13730:{name:"DiscardPadding",type:"Int"},14:{name:"Slices",type:"Container"},104:{name:"TimeSlice",type:"Container"},76:{name:"LaceNumber",type:"Uint"},77:{name:"FrameNumber",type:"Uint"},75:{name:"BlockAdditionID",type:"Uint"},78:{name:"Delay",type:"Uint"},79:{name:"SliceDuration",type:"Uint"},72:{name:"ReferenceFrame",type:"Container"},73:{name:"ReferenceOffset",type:"Uint"},74:{name:"ReferenceTimeCode",type:"Uint"},47:{name:"EncryptedBlock",type:"Binary"},106212971:{name:"Tracks",type:"Container"},46:{name:"TrackEntry",type:"Container"},87:{name:"TrackNumber",type:"Uint"},13253:{name:"TrackUID",type:"Uint"},3:{name:"TrackType",type:"Uint"},57:{name:"FlagEnabled",type:"Uint"},8:{name:"FlagDefault",type:"Uint"},5546:{name:"FlagForced",type:"Uint"},28:{name:"FlagLacing",type:"Uint"},11751:{name:"MinCache",type:"Uint"},11768:{name:"MaxCache",type:"Uint"},254851:{name:"DefaultDuration",type:"Uint"},216698:{name:"DefaultDecodedFieldDuration",type:"Uint"},209231:{name:"TrackTimecodeScale",type:"Float"},4991:{name:"TrackOffset",type:"Int"},5614:{name:"MaxBlockAdditionID",type:"Uint"},4974:{name:"Name",type:"String"},177564:{name:"Language",type:"String"},6:{name:"CodecID",type:"String"},9122:{name:"CodecPrivate",type:"Binary"},362120:{name:"CodecName",type:"String"},13382:{name:"AttachmentLink",type:"Uint"},1742487:{name:"CodecSettings",type:"String"},1785920:{name:"CodecInfoURL",type:"String"},438848:{name:"CodecDownloadURL",type:"String"},42:{name:"CodecDecodeAll",type:"Uint"},12203:{name:"TrackOverlay",type:"Uint"},5802:{name:"CodecDelay",type:"Uint"},5819:{name:"SeekPreRoll",type:"Uint"},9764:{name:"TrackTranslate",type:"Container"},9980:{name:"TrackTranslateEditionUID",type:"Uint"},9919:{name:"TrackTranslateCodec",type:"Uint"},9893:{name:"TrackTranslateTrackID",type:"Binary"},96:{name:"Video",type:"Container"},26:{name:"FlagInterlaced",type:"Uint"},5048:{name:"StereoMode",type:"Uint"},5056:{name:"AlphaMode",type:"Uint"},5049:{name:"OldStereoMode",type:"Uint"},48:{name:"PixelWidth",type:"Uint"},58:{name:"PixelHeight",type:"Uint"},5290:{name:"PixelCropBottom",type:"Uint"},5307:{name:"PixelCropTop",type:"Uint"},5324:{name:"PixelCropLeft",type:"Uint"},5341:{name:"PixelCropRight",type:"Uint"},5296:{name:"DisplayWidth",type:"Uint"},5306:{name:"DisplayHeight",type:"Uint"},5298:{name:"DisplayUnit",type:"Uint"},5299:{name:"AspectRatioType",type:"Uint"},963876:{name:"ColourSpace",type:"Binary"},1029411:{name:"GammaValue",type:"Float"},230371:{name:"FrameRate",type:"Float"},97:{name:"Audio",type:"Container"},53:{name:"SamplingFrequency",type:"Float"},14517:{name:"OutputSamplingFrequency",type:"Float"},31:{name:"Channels",type:"Uint"},15739:{name:"ChannelPositions",type:"Binary"},8804:{name:"BitDepth",type:"Uint"},98:{name:"TrackOperation",type:"Container"},99:{name:"TrackCombinePlanes",type:"Container"},100:{name:"TrackPlane",type:"Container"},101:{name:"TrackPlaneUID",type:"Uint"},102:{name:"TrackPlaneType",type:"Uint"},105:{name:"TrackJoinBlocks",type:"Container"},109:{name:"TrackJoinUID",type:"Uint"},64:{name:"TrickTrackUID",type:"Uint"},65:{name:"TrickTrackSegmentUID",type:"Binary"},70:{name:"TrickTrackFlag",type:"Uint"},71:{name:"TrickMasterTrackUID",type:"Uint"},68:{name:"TrickMasterTrackSegmentUID",type:"Binary"},11648:{name:"ContentEncodings",type:"Container"},8768:{name:"ContentEncoding",type:"Container"},4145:{name:"ContentEncodingOrder",type:"Uint"},4146:{name:"ContentEncodingScope",type:"Uint"},4147:{name:"ContentEncodingType",type:"Uint"},4148:{name:"ContentCompression",type:"Container"},596:{name:"ContentCompAlgo",type:"Uint"},597:{name:"ContentCompSettings",type:"Binary"},4149:{name:"ContentEncryption",type:"Container"},2017:{name:"ContentEncAlgo",type:"Uint"},2018:{name:"ContentEncKeyID",type:"Binary"},2019:{name:"ContentSignature",type:"Binary"},2020:{name:"ContentSigKeyID",type:"Binary"},2021:{name:"ContentSigAlgo",type:"Uint"},2022:{name:"ContentSigHashAlgo",type:"Uint"},206814059:{name:"Cues",type:"Container"},59:{name:"CuePoint",type:"Container"},51:{name:"CueTime",type:"Uint"},55:{name:"CueTrackPositions",type:"Container"},119:{name:"CueTrack",type:"Uint"},113:{name:"CueClusterPosition",type:"Uint"},112:{name:"CueRelativePosition",type:"Uint"},50:{name:"CueDuration",type:"Uint"},4984:{name:"CueBlockNumber",type:"Uint"},106:{name:"CueCodecState",type:"Uint"},91:{name:"CueReference",type:"Container"},22:{name:"CueRefTime",type:"Uint"},23:{name:"CueRefCluster",type:"Uint"},4959:{name:"CueRefNumber",type:"Uint"},107:{name:"CueRefCodecState",type:"Uint"},155296873:{name:"Attachments",type:"Container"},8615:{name:"AttachedFile",type:"Container"},1662:{name:"FileDescription",type:"String"},1646:{name:"FileName",type:"String"},1632:{name:"FileMimeType",type:"String"},1628:{name:"FileData",type:"Binary"},1710:{name:"FileUID",type:"Uint"},1653:{name:"FileReferral",type:"Binary"},1633:{name:"FileUsedStartTime",type:"Uint"},1634:{name:"FileUsedEndTime",type:"Uint"},4433776:{name:"Chapters",type:"Container"},1465:{name:"EditionEntry",type:"Container"},1468:{name:"EditionUID",type:"Uint"},1469:{name:"EditionFlagHidden",type:"Uint"},1499:{name:"EditionFlagDefault",type:"Uint"},1501:{name:"EditionFlagOrdered",type:"Uint"},54:{name:"ChapterAtom",type:"Container"},13252:{name:"ChapterUID",type:"Uint"},5716:{name:"ChapterStringUID",type:"String"},17:{name:"ChapterTimeStart",type:"Uint"},18:{name:"ChapterTimeEnd",type:"Uint"},24:{name:"ChapterFlagHidden",type:"Uint"},1432:{name:"ChapterFlagEnabled",type:"Uint"},11879:{name:"ChapterSegmentUID",type:"Binary"},11964:{name:"ChapterSegmentEditionUID",type:"Uint"},9155:{name:"ChapterPhysicalEquiv",type:"Uint"},15:{name:"ChapterTrack",type:"Container"},9:{name:"ChapterTrackNumber",type:"Uint"},0:{name:"ChapterDisplay",type:"Container"},5:{name:"ChapString",type:"String"},892:{name:"ChapLanguage",type:"String"},894:{name:"ChapCountry",type:"String"},10564:{name:"ChapProcess",type:"Container"},10581:{name:"ChapProcessCodecID",type:"Uint"},1293:{name:"ChapProcessPrivate",type:"Binary"},10513:{name:"ChapProcessCommand",type:"Container"},10530:{name:"ChapProcessTime",type:"Uint"},10547:{name:"ChapProcessData",type:"Binary"},39109479:{name:"Tags",type:"Container"},13171:{name:"Tag",type:"Container"},9152:{name:"Targets",type:"Container"},10442:{name:"TargetTypeValue",type:"Uint"},9162:{name:"TargetType",type:"String"},9157:{name:"TagTrackUID",type:"Uint"},9161:{name:"TagEditionUID",type:"Uint"},9156:{name:"TagChapterUID",type:"Uint"},9158:{name:"TagAttachmentUID",type:"Uint"},10184:{name:"SimpleTag",type:"Container"},1443:{name:"TagName",type:"String"},1146:{name:"TagLanguage",type:"String"},1156:{name:"TagDefault",type:"Uint"},1159:{name:"TagString",type:"String"},1157:{name:"TagBinary",type:"Binary"}},ee=class{name;type;source;data;constructor(e="Unknown",t="Unknown"){this.name=e,this.type=t}updateBySource(){}setSource(e){this.source=e,this.updateBySource()}updateByData(){}setData(e){this.data=e,this.updateByData()}};function te(e){return e.length%2==1?"0"+e:e}var ne=class extends ee{constructor(e,t){super(e,t||"Uint")}updateBySource(){this.data="";for(let e=0;e<this.source.length;e++){const t=this.source[e].toString(16);this.data+=te(t)}}updateByData(){const e=this.data.length/2;this.source=new Uint8Array(e);for(let t=0;t<e;t++){const e=this.data.substr(2*t,2);this.source[t]=parseInt(e,16)}}getValue(){return parseInt(this.data,16)}setValue(e){this.setData(te(e.toString(16)))}},re=class extends ee{constructor(e,t){super(e,t||"Float")}getFloatArrayType(){return this.source&&4===this.source.length?Float32Array:Float64Array}updateBySource(){const e=this.source.reverse(),t=new(this.getFloatArrayType())(e.buffer);this.data=t[0]}updateByData(){const e=new(this.getFloatArrayType())([this.data]),t=new Uint8Array(e.buffer);this.source=t.reverse()}getValue(){return this.data}setValue(e){this.setData(e)}},ie=class e extends ee{offset=0;data=[];constructor(e,t){super(e,t||"Container")}readByte(){return this.source[this.offset++]}readUint(){const e=this.readByte(),t=8-e.toString(2).length;let n=e-(1<<7-t);for(let r=0;r<t;r++)n*=256,n+=this.readByte();return n}updateBySource(){let t;for(this.data=[],this.offset=0;this.offset<this.source.length;this.offset=t){const n=this.readUint(),r=this.readUint();t=Math.min(this.offset+r,this.source.length);const i=this.source.slice(this.offset,t),a=Z[n]||{name:"Unknown",type:"Unknown"};let s=ee;switch(a.type){case"Container":s=e;break;case"Uint":s=ne;break;case"Float":s=re}const o=new s(a.name,a.type);o.setSource(i),this.data.push({id:n,idHex:n.toString(16),data:o})}}writeUint(e,t=!1){let n=1,r=128;for(;e>=r&&n<8;)n++,r*=128;if(!t){let t=r+e;for(let e=n-1;e>=0;e--){const n=t%256;this.source[this.offset+e]=n,t=(t-n)/256}}this.offset+=n}writeSections(e=!1){this.offset=0;for(let t=0;t<this.data.length;t++){const n=this.data[t],r=n.data.source,i=r.length;this.writeUint(n.id,e),this.writeUint(i,e),e||this.source.set(r,this.offset),this.offset+=i}return this.offset}updateByData(){const e=this.writeSections(!0);this.source=new Uint8Array(e),this.writeSections()}getSectionById(e){for(let t=0;t<this.data.length;t++){const n=this.data[t];if(n.id===e)return n.data}}},ae=class extends ie{constructor(e){super("File","File"),this.setSource(e)}fixDuration(e){const t=this.getSectionById(139690087);if(!t)return!1;const n=t.getSectionById(88713574);if(!n)return!1;const r=n.getSectionById(710577);if(!r)return!1;let i=n.getSectionById(1161);if(i){if(!(i.getValue()<=0))return!1;i.setValue(e)}else i=new re("Duration","Float"),i.setValue(e),n.data.push({id:1161,data:i});return r.setValue(1e6),n.updateByData(),t.updateByData(),this.updateByData(),!0}toBlob(e="video/webm"){return new Blob([this.source.buffer],{type:e})}};var se=class{startTime;chunks;mediaRecorder;blob;constructor(){this.startTime=Date.now(),this.chunks=[],navigator.mediaDevices.getUserMedia({audio:!0}).then(e=>{this.init(e)}).catch(e=>{})}init(e){const t=function(){const e=["audio/webm","audio/mp4","audio/ogg","audio/wav","audio/aac"];for(let t=0;t<e.length;t++)if(MediaRecorder.isTypeSupported(e[t]))return e[t]}();this.mediaRecorder=new MediaRecorder(e,{mimeType:t}),this.mediaRecorder?.addEventListener("dataavailable",async e=>{if(e.data.size>0&&this.chunks.push(e.data),"inactive"===this.mediaRecorder?.state){const e=Date.now()-this.startTime;this.blob=new Blob(this.chunks,{type:t}),"audio/webm"===t&&(this.blob=await((e,t,n="video/webm")=>new Promise((r,i)=>{try{const a=new FileReader;a.addEventListener("loadend",()=>{try{const i=a.result,s=new ae(new Uint8Array(i));s.fixDuration(t)?r(s.toBlob(n)):r(e)}catch(s){i(s)}}),a.addEventListener("error",()=>i()),a.readAsArrayBuffer(e)}catch(a){i(a)}}))(this.blob,e,this.blob.type)),this.chunks=[]}}),this.mediaRecorder?.start()}start(){return"paused"===this.mediaRecorder?.state&&this.mediaRecorder.resume(),this.mediaRecorder}pause(){return"recording"===this.mediaRecorder?.state&&this.mediaRecorder.pause(),this.mediaRecorder}stop(){return this.mediaRecorder?.stop(),this.blob}},oe=new e,ce=(e,t={})=>{const{subscriber:n,equals:r}=t;let i=e;return[()=>i,e=>{var t,a;(t=i,a=e,!1!==r&&("function"==typeof r?r(t,a):Object.is(t,a)))||(i=e,n&&oe.call(n))}]},ue=()=>{const e=document.createElement("canvas").getContext("webgl2");return e?function(e){const t=e.getExtension("WEBGL_debug_renderer_info");return t?{vendor:e.getParameter(t.UNMASKED_VENDOR_WEBGL),renderer:e.getParameter(t.UNMASKED_RENDERER_WEBGL)}:null}(e):null},de=()=>{const e=document.createElement("canvas"),t=e.getContext("2d"),n="BrowserLeaks,com <canvas> 1.0";return t?(t.textBaseline="top",t.font="14px 'Arial'",t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(125,1,62,20),t.fillStyle="#069",t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.7)",t.fillText(n,4,17),e.toDataURL()):null},le=()=>new Promise((e,t)=>{o||t("window is undefined");const n=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,44100,44100),r=n.createOscillator();r.type="triangle",r.frequency.setValueAtTime(1e4,n.currentTime);const i=n.createDynamicsCompressor();!function(e,t){if(Array.prototype.forEach&&e.forEach===Array.prototype.forEach)e.forEach(t);else if(e.length===+e.length)for(let n=0,r=e.length;n<r;n++)t(e[n],n,e);else for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t(e[n],Number(n),e)}([["threshold",-50],["knee",40],["ratio",12],["reduction",-20],["attack",0],["release",.25]],function(e){if(i[e[0]]&&"number"!=typeof i[e[0]]){const{setValueAtTime:t}=i[e[0]];t(e[1],n.currentTime)}}),r.connect(i),i.connect(n.destination),r.start(0),n.startRendering();const a=setTimeout(function(){return n.oncomplete=()=>{},t("audioTimeout"),"audioTimeout"},100);n.oncomplete=n=>{try{clearTimeout(a);const t=n.renderedBuffer.getChannelData(0).slice(4500,5e3).reduce(function(e,t){return e+Math.abs(t)},0).toString();return r.disconnect(),i.disconnect(),e(t),t}catch(s){return void t(s)}}}),he="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function pe(e,t,n,r){let i,a,s;const o=t||[0],c=(n=n||0)>>>3,u=-1===r?3:0;for(i=0;i<e.length;i+=1)s=i+c,a=s>>>2,o.length<=a&&o.push(0),o[a]|=e[i]<<8*(u+r*(s%4));return{value:o,binLen:8*e.length+n}}function fe(e,t,n){switch(t){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(e){case"HEX":return function(e,t,r){return function(e,t,n,r){let i,a,s,o;if(0!=e.length%2)throw new Error("String of HEX type must be in byte increments");const c=t||[0],u=(n=n||0)>>>3,d=-1===r?3:0;for(i=0;i<e.length;i+=2){if(a=parseInt(e.substr(i,2),16),isNaN(a))throw new Error("String of HEX type contains invalid characters");for(o=(i>>>1)+u,s=o>>>2;c.length<=s;)c.push(0);c[s]|=a<<8*(d+r*(o%4))}return{value:c,binLen:4*e.length+n}}(e,t,r,n)};case"TEXT":return function(e,r,i){return function(e,t,n,r,i){let a,s,o,c,u,d,l,h,p=0;const f=n||[0],m=(r=r||0)>>>3;if("UTF8"===t)for(l=-1===i?3:0,o=0;o<e.length;o+=1)for(a=e.charCodeAt(o),s=[],128>a?s.push(a):2048>a?(s.push(192|a>>>6),s.push(128|63&a)):55296>a||57344<=a?s.push(224|a>>>12,128|a>>>6&63,128|63&a):(o+=1,a=65536+((1023&a)<<10|1023&e.charCodeAt(o)),s.push(240|a>>>18,128|a>>>12&63,128|a>>>6&63,128|63&a)),c=0;c<s.length;c+=1){for(d=p+m,u=d>>>2;f.length<=u;)f.push(0);f[u]|=s[c]<<8*(l+i*(d%4)),p+=1}else for(l=-1===i?2:0,h="UTF16LE"===t&&1!==i||"UTF16LE"!==t&&1===i,o=0;o<e.length;o+=1){for(a=e.charCodeAt(o),!0===h&&(c=255&a,a=c<<8|a>>>8),d=p+m,u=d>>>2;f.length<=u;)f.push(0);f[u]|=a<<8*(l+i*(d%4)),p+=2}return{value:f,binLen:8*p+r}}(e,t,r,i,n)};case"B64":return function(e,t,r){return function(e,t,n,r){let i,a,s,o,c,u,d,l=0;const h=t||[0],p=(n=n||0)>>>3,f=-1===r?3:0,m=e.indexOf("=");if(-1===e.search(/^[a-z\d=+/]+$/i))throw new Error("Invalid character in base-64 string");if(e=e.replace(/=/g,""),-1!==m&&m<e.length)throw new Error("Invalid '=' found in base-64 string");for(a=0;a<e.length;a+=4){for(c=e.substr(a,4),o=0,s=0;s<c.length;s+=1)i=he.indexOf(c.charAt(s)),o|=i<<18-6*s;for(s=0;s<c.length-1;s+=1){for(d=l+p,u=d>>>2;h.length<=u;)h.push(0);h[u]|=(o>>>16-8*s&255)<<8*(f+r*(d%4)),l+=1}}return{value:h,binLen:8*l+n}}(e,t,r,n)};case"BYTES":return function(e,t,r){return function(e,t,n,r){let i,a,s,o;const c=t||[0],u=(n=n||0)>>>3,d=-1===r?3:0;for(a=0;a<e.length;a+=1)i=e.charCodeAt(a),o=a+u,s=o>>>2,c.length<=s&&c.push(0),c[s]|=i<<8*(d+r*(o%4));return{value:c,binLen:8*e.length+n}}(e,t,r,n)};case"ARRAYBUFFER":return function(e,t,r){return function(e,t,n,r){return pe(new Uint8Array(e),t,n,r)}(e,t,r,n)};case"UINT8ARRAY":return function(e,t,r){return pe(e,t,r,n)};default:throw new Error("format must be HEX, TEXT, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}function me(e,t,n,r){switch(e){case"HEX":return function(e){return function(e,t,n,r){const i="0123456789abcdef";let a,s,o="";const c=t/8,u=-1===n?3:0;for(a=0;a<c;a+=1)s=e[a>>>2]>>>8*(u+n*(a%4)),o+=i.charAt(s>>>4&15)+i.charAt(15&s);return r.outputUpper?o.toUpperCase():o}(e,t,n,r)};case"B64":return function(e){return function(e,t,n,r){let i,a,s,o,c,u="";const d=t/8,l=-1===n?3:0;for(i=0;i<d;i+=3)for(o=i+1<d?e[i+1>>>2]:0,c=i+2<d?e[i+2>>>2]:0,s=(e[i>>>2]>>>8*(l+n*(i%4))&255)<<16|(o>>>8*(l+n*((i+1)%4))&255)<<8|c>>>8*(l+n*((i+2)%4))&255,a=0;a<4;a+=1)u+=8*i+6*a<=t?he.charAt(s>>>6*(3-a)&63):r.b64Pad;return u}(e,t,n,r)};case"BYTES":return function(e){return function(e,t,n){let r,i,a="";const s=t/8,o=-1===n?3:0;for(r=0;r<s;r+=1)i=e[r>>>2]>>>8*(o+n*(r%4))&255,a+=String.fromCharCode(i);return a}(e,t,n)};case"ARRAYBUFFER":return function(e){return function(e,t,n){let r;const i=t/8,a=new ArrayBuffer(i),s=new Uint8Array(a),o=-1===n?3:0;for(r=0;r<i;r+=1)s[r]=e[r>>>2]>>>8*(o+n*(r%4))&255;return a}(e,t,n)};case"UINT8ARRAY":return function(e){return function(e,t,n){let r;const i=t/8,a=-1===n?3:0,s=new Uint8Array(i);for(r=0;r<i;r+=1)s[r]=e[r>>>2]>>>8*(a+n*(r%4))&255;return s}(e,t,n)};default:throw new Error("format must be HEX, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}var ge=4294967296,ye=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],we=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],be=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],Se="Chosen SHA variant is not supported",Ce="Cannot set numRounds with MAC";function ve(e,t){let n,r;const i=e.binLen>>>3,a=t.binLen>>>3,s=i<<3,o=4-i<<3;if(i%4!=0){for(n=0;n<a;n+=4)r=i+n>>>2,e.value[r]|=t.value[n>>>2]<<s,e.value.push(0),e.value[r+1]|=t.value[n>>>2]>>>o;return(e.value.length<<2)-4>=a+i&&e.value.pop(),{value:e.value,binLen:e.binLen+t.binLen}}return{value:e.value.concat(t.value),binLen:e.binLen+t.binLen}}function Ue(e){const t={outputUpper:!1,b64Pad:"=",outputLen:-1},n=e||{},r="Output length must be a multiple of 8";if(t.outputUpper=n.outputUpper||!1,n.b64Pad&&(t.b64Pad=n.b64Pad),n.outputLen){if(n.outputLen%8!=0)throw new Error(r);t.outputLen=n.outputLen}else if(n.shakeLen){if(n.shakeLen%8!=0)throw new Error(r);t.outputLen=n.shakeLen}if("boolean"!=typeof t.outputUpper)throw new Error("Invalid outputUpper formatting option");if("string"!=typeof t.b64Pad)throw new Error("Invalid b64Pad formatting option");return t}function Ee(e,t,n,r){const i=e+" must include a value and format";if(!t){if(!r)throw new Error(i);return r}if(void 0===t.value||!t.format)throw new Error(i);return fe(t.format,t.encoding||"UTF8",n)(t.value)}var Oe=class{shaVariant;inputFormat;utfType;numRounds;keyWithIPad;keyWithOPad;remainder;remainderLen;updateCalled;processedLen;macKeySet;constructor(e,t,n){const r=n||{};if(this.inputFormat=t,this.utfType=r.encoding||"UTF8",this.numRounds=r.numRounds||1,isNaN(this.numRounds)||this.numRounds!==parseInt(this.numRounds,10)||1>this.numRounds)throw new Error("numRounds must a integer >= 1");this.shaVariant=e,this.remainder=[],this.remainderLen=0,this.updateCalled=!1,this.processedLen=0,this.macKeySet=!1,this.keyWithIPad=[],this.keyWithOPad=[]}update(e){let t,n=0;const r=this.variantBlockSize>>>5,i=this.converterFunc(e,this.remainder,this.remainderLen),a=i.binLen,s=i.value,o=a>>>5;for(t=0;t<o;t+=r)n+this.variantBlockSize<=a&&(this.intermediateState=this.roundFunc(s.slice(t,t+r),this.intermediateState),n+=this.variantBlockSize);return this.processedLen+=n,this.remainder=s.slice(n>>>5),this.remainderLen=a%this.variantBlockSize,this.updateCalled=!0,this}getHash(e,t){let n,r,i=this.outputBinLen;const a=Ue(t);if(this.isVariableLen){if(-1===a.outputLen)throw new Error("Output length must be specified in options");i=a.outputLen}const s=me(e,i,this.bigEndianMod,a);if(this.macKeySet&&this.getMAC)return s(this.getMAC(a));for(r=this.finalizeFunc(this.remainder.slice(),this.remainderLen,this.processedLen,this.stateCloneFunc(this.intermediateState),i),n=1;n<this.numRounds;n+=1)this.isVariableLen&&i%32!=0&&(r[r.length-1]&=16777215>>>24-i%32),r=this.finalizeFunc(r,i,0,this.newStateFunc(this.shaVariant),i);return s(r)}setHMACKey(e,t,n){if(!this.HMACSupported)throw new Error("Variant does not support HMAC");if(this.updateCalled)throw new Error("Cannot set MAC key after calling update");const r=fe(t,(n||{}).encoding||"UTF8",this.bigEndianMod);this._setHMACKey(r(e))}_setHMACKey(e){const t=this.variantBlockSize>>>3,n=t/4-1;let r;if(1!==this.numRounds)throw new Error(Ce);if(this.macKeySet)throw new Error("MAC key already set");for(t<e.binLen/8&&(e.value=this.finalizeFunc(e.value,e.binLen,0,this.newStateFunc(this.shaVariant),this.outputBinLen));e.value.length<=n;)e.value.push(0);for(r=0;r<=n;r+=1)this.keyWithIPad[r]=909522486^e.value[r],this.keyWithOPad[r]=1549556828^e.value[r];this.intermediateState=this.roundFunc(this.keyWithIPad,this.intermediateState),this.processedLen=this.variantBlockSize,this.macKeySet=!0}getHMAC(e,t){const n=Ue(t);return me(e,this.outputBinLen,this.bigEndianMod,n)(this._getHMAC())}_getHMAC(){let e;if(!this.macKeySet)throw new Error("Cannot call getHMAC without first setting MAC key");const t=this.finalizeFunc(this.remainder.slice(),this.remainderLen,this.processedLen,this.stateCloneFunc(this.intermediateState),this.outputBinLen);return e=this.roundFunc(this.keyWithOPad,this.newStateFunc(this.shaVariant)),e=this.finalizeFunc(t,this.outputBinLen,this.variantBlockSize,e,this.outputBinLen),e}};function Ae(e,t){return e<<t|e>>>32-t}function Me(e,t){return e>>>t|e<<32-t}function ke(e,t){return e>>>t}function Te(e,t,n){return e^t^n}function Be(e,t,n){return e&t^~e&n}function Le(e,t,n){return e&t^e&n^t&n}function Fe(e){return Me(e,2)^Me(e,13)^Me(e,22)}function Pe(e,t){const n=(65535&e)+(65535&t);return((e>>>16)+(t>>>16)+(n>>>16)&65535)<<16|65535&n}function Re(e,t,n,r){const i=(65535&e)+(65535&t)+(65535&n)+(65535&r);return((e>>>16)+(t>>>16)+(n>>>16)+(r>>>16)+(i>>>16)&65535)<<16|65535&i}function De(e,t,n,r,i){const a=(65535&e)+(65535&t)+(65535&n)+(65535&r)+(65535&i);return((e>>>16)+(t>>>16)+(n>>>16)+(r>>>16)+(i>>>16)+(a>>>16)&65535)<<16|65535&a}function He(e){return Me(e,17)^Me(e,19)^ke(e,10)}function Ie(e){return Me(e,7)^Me(e,18)^ke(e,3)}function xe(e){return Me(e,6)^Me(e,11)^Me(e,25)}function je(e){return[1732584193,4023233417,2562383102,271733878,3285377520]}function Ne(e,t){let n,r,i,a,s,o,c;const u=[];for(n=t[0],r=t[1],i=t[2],a=t[3],s=t[4],c=0;c<80;c+=1)u[c]=c<16?e[c]:Ae(u[c-3]^u[c-8]^u[c-14]^u[c-16],1),o=c<20?De(Ae(n,5),Be(r,i,a),s,1518500249,u[c]):c<40?De(Ae(n,5),Te(r,i,a),s,1859775393,u[c]):c<60?De(Ae(n,5),Le(r,i,a),s,2400959708,u[c]):De(Ae(n,5),Te(r,i,a),s,3395469782,u[c]),s=a,a=i,i=Ae(r,30),r=n,n=o;return t[0]=Pe(n,t[0]),t[1]=Pe(r,t[1]),t[2]=Pe(i,t[2]),t[3]=Pe(a,t[3]),t[4]=Pe(s,t[4]),t}function ze(e,t,n,r){let i;const a=15+(t+65>>>9<<4),s=t+n;for(;e.length<=a;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[a]=4294967295&s,e[a-1]=s/ge|0,i=0;i<e.length;i+=16)r=Ne(e.slice(i,i+16),r);return r}var Ke=class extends Oe{intermediateState;variantBlockSize;bigEndianMod;outputBinLen;isVariableLen;HMACSupported;converterFunc;roundFunc;finalizeFunc;stateCloneFunc;newStateFunc;getMAC;constructor(e,t,n){if("SHA-1"!==e)throw new Error(Se);super(e,t,n);const r=n||{};this.HMACSupported=!0,this.getMAC=this._getHMAC,this.bigEndianMod=-1,this.converterFunc=fe(this.inputFormat,this.utfType,this.bigEndianMod),this.roundFunc=Ne,this.stateCloneFunc=function(e){return e.slice()},this.newStateFunc=je,this.finalizeFunc=ze,this.intermediateState=[1732584193,4023233417,2562383102,271733878,3285377520],this.variantBlockSize=512,this.outputBinLen=160,this.isVariableLen=!1,r.hmacKey&&this._setHMACKey(Ee("hmacKey",r.hmacKey,this.bigEndianMod))}};function _e(e){let t;return t="SHA-224"===e?we.slice():be.slice(),t}function We(e,t){let n,r,i,a,s,o,c,u,d,l,h;const p=[];for(n=t[0],r=t[1],i=t[2],a=t[3],s=t[4],o=t[5],c=t[6],u=t[7],h=0;h<64;h+=1)p[h]=h<16?e[h]:Re(He(p[h-2]),p[h-7],Ie(p[h-15]),p[h-16]),d=De(u,xe(s),Be(s,o,c),ye[h],p[h]),l=Pe(Fe(n),Le(n,r,i)),u=c,c=o,o=s,s=Pe(a,d),a=i,i=r,r=n,n=Pe(d,l);return t[0]=Pe(n,t[0]),t[1]=Pe(r,t[1]),t[2]=Pe(i,t[2]),t[3]=Pe(a,t[3]),t[4]=Pe(s,t[4]),t[5]=Pe(o,t[5]),t[6]=Pe(c,t[6]),t[7]=Pe(u,t[7]),t}var qe=class extends Oe{intermediateState;variantBlockSize;bigEndianMod;outputBinLen;isVariableLen;HMACSupported;converterFunc;roundFunc;finalizeFunc;stateCloneFunc;newStateFunc;getMAC;constructor(e,t,n){if("SHA-224"!==e&&"SHA-256"!==e)throw new Error(Se);super(e,t,n);const r=n||{};this.getMAC=this._getHMAC,this.HMACSupported=!0,this.bigEndianMod=-1,this.converterFunc=fe(this.inputFormat,this.utfType,this.bigEndianMod),this.roundFunc=We,this.stateCloneFunc=function(e){return e.slice()},this.newStateFunc=_e,this.finalizeFunc=function(t,n,r,i){return function(e,t,n,r,i){let a,s;const o=15+(t+65>>>9<<4),c=t+n;for(;e.length<=o;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[o]=4294967295&c,e[o-1]=c/ge|0,a=0;a<e.length;a+=16)r=We(e.slice(a,a+16),r);return s="SHA-224"===i?[r[0],r[1],r[2],r[3],r[4],r[5],r[6]]:r,s}(t,n,r,i,e)},this.intermediateState=_e(e),this.variantBlockSize=512,this.outputBinLen="SHA-224"===e?224:256,this.isVariableLen=!1,r.hmacKey&&this._setHMACKey(Ee("hmacKey",r.hmacKey,this.bigEndianMod))}},Ve=class{highOrder;lowOrder;constructor(e,t){this.highOrder=e,this.lowOrder=t}};function $e(e,t){let n;return t>32?(n=64-t,new Ve(e.lowOrder<<t|e.highOrder>>>n,e.highOrder<<t|e.lowOrder>>>n)):0!==t?(n=32-t,new Ve(e.highOrder<<t|e.lowOrder>>>n,e.lowOrder<<t|e.highOrder>>>n)):e}function Xe(e,t){let n;return t<32?(n=32-t,new Ve(e.highOrder>>>t|e.lowOrder<<n,e.lowOrder>>>t|e.highOrder<<n)):(n=64-t,new Ve(e.lowOrder>>>t|e.highOrder<<n,e.highOrder>>>t|e.lowOrder<<n))}function Ye(e,t){return new Ve(e.highOrder>>>t,e.lowOrder>>>t|e.highOrder<<32-t)}function Ge(e,t,n){return new Ve(e.highOrder&t.highOrder^~e.highOrder&n.highOrder,e.lowOrder&t.lowOrder^~e.lowOrder&n.lowOrder)}function Je(e,t,n){return new Ve(e.highOrder&t.highOrder^e.highOrder&n.highOrder^t.highOrder&n.highOrder,e.lowOrder&t.lowOrder^e.lowOrder&n.lowOrder^t.lowOrder&n.lowOrder)}function Qe(e){const t=Xe(e,28),n=Xe(e,34),r=Xe(e,39);return new Ve(t.highOrder^n.highOrder^r.highOrder,t.lowOrder^n.lowOrder^r.lowOrder)}function Ze(e,t){let n,r;n=(65535&e.lowOrder)+(65535&t.lowOrder),r=(e.lowOrder>>>16)+(t.lowOrder>>>16)+(n>>>16);const i=(65535&r)<<16|65535&n;n=(65535&e.highOrder)+(65535&t.highOrder)+(r>>>16),r=(e.highOrder>>>16)+(t.highOrder>>>16)+(n>>>16);return new Ve((65535&r)<<16|65535&n,i)}function et(e,t,n,r){let i,a;i=(65535&e.lowOrder)+(65535&t.lowOrder)+(65535&n.lowOrder)+(65535&r.lowOrder),a=(e.lowOrder>>>16)+(t.lowOrder>>>16)+(n.lowOrder>>>16)+(r.lowOrder>>>16)+(i>>>16);const s=(65535&a)<<16|65535&i;i=(65535&e.highOrder)+(65535&t.highOrder)+(65535&n.highOrder)+(65535&r.highOrder)+(a>>>16),a=(e.highOrder>>>16)+(t.highOrder>>>16)+(n.highOrder>>>16)+(r.highOrder>>>16)+(i>>>16);return new Ve((65535&a)<<16|65535&i,s)}function tt(e,t,n,r,i){let a,s;a=(65535&e.lowOrder)+(65535&t.lowOrder)+(65535&n.lowOrder)+(65535&r.lowOrder)+(65535&i.lowOrder),s=(e.lowOrder>>>16)+(t.lowOrder>>>16)+(n.lowOrder>>>16)+(r.lowOrder>>>16)+(i.lowOrder>>>16)+(a>>>16);const o=(65535&s)<<16|65535&a;a=(65535&e.highOrder)+(65535&t.highOrder)+(65535&n.highOrder)+(65535&r.highOrder)+(65535&i.highOrder)+(s>>>16),s=(e.highOrder>>>16)+(t.highOrder>>>16)+(n.highOrder>>>16)+(r.highOrder>>>16)+(i.highOrder>>>16)+(a>>>16);return new Ve((65535&s)<<16|65535&a,o)}function nt(e,t){return new Ve(e.highOrder^t.highOrder,e.lowOrder^t.lowOrder)}function rt(e,t,n,r,i){return new Ve(e.highOrder^t.highOrder^n.highOrder^r.highOrder^i.highOrder,e.lowOrder^t.lowOrder^n.lowOrder^r.lowOrder^i.lowOrder)}function it(e){const t=Xe(e,19),n=Xe(e,61),r=Ye(e,6);return new Ve(t.highOrder^n.highOrder^r.highOrder,t.lowOrder^n.lowOrder^r.lowOrder)}function at(e){const t=Xe(e,1),n=Xe(e,8),r=Ye(e,7);return new Ve(t.highOrder^n.highOrder^r.highOrder,t.lowOrder^n.lowOrder^r.lowOrder)}function st(e){const t=Xe(e,14),n=Xe(e,18),r=Xe(e,41);return new Ve(t.highOrder^n.highOrder^r.highOrder,t.lowOrder^n.lowOrder^r.lowOrder)}var ot=[new Ve(ye[0],3609767458),new Ve(ye[1],602891725),new Ve(ye[2],3964484399),new Ve(ye[3],2173295548),new Ve(ye[4],4081628472),new Ve(ye[5],3053834265),new Ve(ye[6],2937671579),new Ve(ye[7],3664609560),new Ve(ye[8],2734883394),new Ve(ye[9],1164996542),new Ve(ye[10],1323610764),new Ve(ye[11],3590304994),new Ve(ye[12],4068182383),new Ve(ye[13],991336113),new Ve(ye[14],633803317),new Ve(ye[15],3479774868),new Ve(ye[16],2666613458),new Ve(ye[17],944711139),new Ve(ye[18],2341262773),new Ve(ye[19],2007800933),new Ve(ye[20],1495990901),new Ve(ye[21],1856431235),new Ve(ye[22],3175218132),new Ve(ye[23],2198950837),new Ve(ye[24],3999719339),new Ve(ye[25],766784016),new Ve(ye[26],2566594879),new Ve(ye[27],3203337956),new Ve(ye[28],1034457026),new Ve(ye[29],2466948901),new Ve(ye[30],3758326383),new Ve(ye[31],168717936),new Ve(ye[32],1188179964),new Ve(ye[33],1546045734),new Ve(ye[34],1522805485),new Ve(ye[35],2643833823),new Ve(ye[36],2343527390),new Ve(ye[37],1014477480),new Ve(ye[38],1206759142),new Ve(ye[39],344077627),new Ve(ye[40],1290863460),new Ve(ye[41],3158454273),new Ve(ye[42],3505952657),new Ve(ye[43],106217008),new Ve(ye[44],3606008344),new Ve(ye[45],1432725776),new Ve(ye[46],1467031594),new Ve(ye[47],851169720),new Ve(ye[48],3100823752),new Ve(ye[49],1363258195),new Ve(ye[50],3750685593),new Ve(ye[51],3785050280),new Ve(ye[52],3318307427),new Ve(ye[53],3812723403),new Ve(ye[54],2003034995),new Ve(ye[55],3602036899),new Ve(ye[56],1575990012),new Ve(ye[57],1125592928),new Ve(ye[58],2716904306),new Ve(ye[59],442776044),new Ve(ye[60],593698344),new Ve(ye[61],3733110249),new Ve(ye[62],2999351573),new Ve(ye[63],3815920427),new Ve(3391569614,3928383900),new Ve(3515267271,566280711),new Ve(3940187606,3454069534),new Ve(4118630271,4000239992),new Ve(116418474,1914138554),new Ve(174292421,2731055270),new Ve(289380356,3203993006),new Ve(460393269,320620315),new Ve(685471733,587496836),new Ve(852142971,1086792851),new Ve(1017036298,365543100),new Ve(1126000580,2618297676),new Ve(1288033470,3409855158),new Ve(1501505948,4234509866),new Ve(1607167915,987167468),new Ve(1816402316,1246189591)];function ct(e){return"SHA-384"===e?[new Ve(3418070365,we[0]),new Ve(1654270250,we[1]),new Ve(2438529370,we[2]),new Ve(355462360,we[3]),new Ve(1731405415,we[4]),new Ve(41048885895,we[5]),new Ve(3675008525,we[6]),new Ve(1203062813,we[7])]:[new Ve(be[0],4089235720),new Ve(be[1],2227873595),new Ve(be[2],4271175723),new Ve(be[3],1595750129),new Ve(be[4],2917565137),new Ve(be[5],725511199),new Ve(be[6],4215389547),new Ve(be[7],327033209)]}function ut(e,t){let n,r,i,a,s,o,c,u,d,l,h,p;const f=[];for(n=t[0],r=t[1],i=t[2],a=t[3],s=t[4],o=t[5],c=t[6],u=t[7],h=0;h<80;h+=1)h<16?(p=2*h,f[h]=new Ve(e[p],e[p+1])):f[h]=et(it(f[h-2]),f[h-7],at(f[h-15]),f[h-16]),d=tt(u,st(s),Ge(s,o,c),ot[h],f[h]),l=Ze(Qe(n),Je(n,r,i)),u=c,c=o,o=s,s=Ze(a,d),a=i,i=r,r=n,n=Ze(d,l);return t[0]=Ze(n,t[0]),t[1]=Ze(r,t[1]),t[2]=Ze(i,t[2]),t[3]=Ze(a,t[3]),t[4]=Ze(s,t[4]),t[5]=Ze(o,t[5]),t[6]=Ze(c,t[6]),t[7]=Ze(u,t[7]),t}var dt=class extends Oe{intermediateState;variantBlockSize;bigEndianMod;outputBinLen;isVariableLen;HMACSupported;converterFunc;roundFunc;finalizeFunc;stateCloneFunc;newStateFunc;getMAC;constructor(e,t,n){if("SHA-384"!==e&&"SHA-512"!==e)throw new Error(Se);super(e,t,n);const r=n||{};this.getMAC=this._getHMAC,this.HMACSupported=!0,this.bigEndianMod=-1,this.converterFunc=fe(this.inputFormat,this.utfType,this.bigEndianMod),this.roundFunc=ut,this.stateCloneFunc=function(e){return e.slice()},this.newStateFunc=ct,this.finalizeFunc=function(t,n,r,i){return function(e,t,n,r,i){let a,s;const o=31+(t+129>>>10<<5),c=t+n;for(;e.length<=o;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[o]=4294967295&c,e[o-1]=c/ge|0,a=0;a<e.length;a+=32)r=ut(e.slice(a,a+32),r);return s="SHA-384"===i?[r[0].highOrder,r[0].lowOrder,r[1].highOrder,r[1].lowOrder,r[2].highOrder,r[2].lowOrder,r[3].highOrder,r[3].lowOrder,r[4].highOrder,r[4].lowOrder,r[5].highOrder,r[5].lowOrder]:[r[0].highOrder,r[0].lowOrder,r[1].highOrder,r[1].lowOrder,r[2].highOrder,r[2].lowOrder,r[3].highOrder,r[3].lowOrder,r[4].highOrder,r[4].lowOrder,r[5].highOrder,r[5].lowOrder,r[6].highOrder,r[6].lowOrder,r[7].highOrder,r[7].lowOrder],s}(t,n,r,i,e)},this.intermediateState=ct(e),this.variantBlockSize=1024,this.outputBinLen="SHA-384"===e?384:512,this.isVariableLen=!1,r.hmacKey&&this._setHMACKey(Ee("hmacKey",r.hmacKey,this.bigEndianMod))}},lt=[new Ve(0,1),new Ve(0,32898),new Ve(2147483648,32906),new Ve(2147483648,2147516416),new Ve(0,32907),new Ve(0,2147483649),new Ve(2147483648,2147516545),new Ve(2147483648,32777),new Ve(0,138),new Ve(0,136),new Ve(0,2147516425),new Ve(0,2147483658),new Ve(0,2147516555),new Ve(2147483648,139),new Ve(2147483648,32905),new Ve(2147483648,32771),new Ve(2147483648,32770),new Ve(2147483648,128),new Ve(0,32778),new Ve(2147483648,2147483658),new Ve(2147483648,2147516545),new Ve(2147483648,32896),new Ve(0,2147483649),new Ve(2147483648,2147516424)],ht=[[0,36,3,41,18],[1,44,10,45,2],[62,6,43,15,61],[28,55,25,21,56],[27,20,39,8,14]];function pt(e){let t;const n=[];for(t=0;t<5;t+=1)n[t]=[new Ve(0,0),new Ve(0,0),new Ve(0,0),new Ve(0,0),new Ve(0,0)];return n}function ft(e){let t;const n=[];for(t=0;t<5;t+=1)n[t]=e[t].slice();return n}function mt(e,t){let n,r,i,a;const s=[],o=[];if(null!=e)for(r=0;r<e.length;r+=2)t[(r>>>1)%5][(r>>>1)/5|0]=nt(t[(r>>>1)%5][(r>>>1)/5|0],new Ve(e[r+1],e[r]));for(n=0;n<24;n+=1){for(a=pt(),r=0;r<5;r+=1)s[r]=rt(t[r][0],t[r][1],t[r][2],t[r][3],t[r][4]);for(r=0;r<5;r+=1)o[r]=nt(s[(r+4)%5],$e(s[(r+1)%5],1));for(r=0;r<5;r+=1)for(i=0;i<5;i+=1)t[r][i]=nt(t[r][i],o[r]);for(r=0;r<5;r+=1)for(i=0;i<5;i+=1)a[i][(2*r+3*i)%5]=$e(t[r][i],ht[r][i]);for(r=0;r<5;r+=1)for(i=0;i<5;i+=1)t[r][i]=nt(a[r][i],new Ve(~a[(r+1)%5][i].highOrder&a[(r+2)%5][i].highOrder,~a[(r+1)%5][i].lowOrder&a[(r+2)%5][i].lowOrder));t[0][0]=nt(t[0][0],lt[n])}return t}function gt(e){let t,n,r=0;const i=[0,0],a=[4294967295&e,e/ge&2097151];for(t=6;t>=0;t--)n=a[t>>2]>>>8*t&255,0===n&&0===r||(i[r+1>>2]|=n<<8*(r+1),r+=1);return r=0!==r?r:1,i[0]|=r,{value:r+1>4?i:[i[0]],binLen:8+8*r}}function yt(e){return ve(gt(e.binLen),e)}function wt(e,t){let n,r=gt(t);r=ve(r,e);const i=t>>>2,a=(i-r.value.length%i)%i;for(n=0;n<a;n++)r.value.push(0);return r.value}var bt=class extends Oe{intermediateState;variantBlockSize;bigEndianMod;outputBinLen;isVariableLen;HMACSupported;converterFunc;roundFunc;finalizeFunc;stateCloneFunc;newStateFunc;getMAC;constructor(e,t,n){let r=6,i=0;super(e,t,n);const a=n||{};if(1!==this.numRounds){if(a.kmacKey||a.hmacKey)throw new Error(Ce);if("CSHAKE128"===this.shaVariant||"CSHAKE256"===this.shaVariant)throw new Error("Cannot set numRounds for CSHAKE variants")}switch(this.bigEndianMod=1,this.converterFunc=fe(this.inputFormat,this.utfType,this.bigEndianMod),this.roundFunc=mt,this.stateCloneFunc=ft,this.newStateFunc=pt,this.intermediateState=pt(),this.isVariableLen=!1,e){case"SHA3-224":this.variantBlockSize=i=1152,this.outputBinLen=224,this.HMACSupported=!0,this.getMAC=this._getHMAC;break;case"SHA3-256":this.variantBlockSize=i=1088,this.outputBinLen=256,this.HMACSupported=!0,this.getMAC=this._getHMAC;break;case"SHA3-384":this.variantBlockSize=i=832,this.outputBinLen=384,this.HMACSupported=!0,this.getMAC=this._getHMAC;break;case"SHA3-512":this.variantBlockSize=i=576,this.outputBinLen=512,this.HMACSupported=!0,this.getMAC=this._getHMAC;break;case"SHAKE128":r=31,this.variantBlockSize=i=1344,this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=null;break;case"SHAKE256":r=31,this.variantBlockSize=i=1088,this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=null;break;case"KMAC128":r=4,this.variantBlockSize=i=1344,this._initializeKMAC(n),this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=this._getKMAC;break;case"KMAC256":r=4,this.variantBlockSize=i=1088,this._initializeKMAC(n),this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=this._getKMAC;break;case"CSHAKE128":this.variantBlockSize=i=1344,r=this._initializeCSHAKE(n),this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=null;break;case"CSHAKE256":this.variantBlockSize=i=1088,r=this._initializeCSHAKE(n),this.outputBinLen=-1,this.isVariableLen=!0,this.HMACSupported=!1,this.getMAC=null;break;default:throw new Error(Se)}this.finalizeFunc=function(e,t,n,a,s){return function(e,t,n,r,i,a,s){let o,c,u=0;const d=[],l=i>>>5,h=t>>>5;for(o=0;o<h&&t>=i;o+=l)r=mt(e.slice(o,o+l),r),t-=i;for(e=e.slice(o),t%=i;e.length<l;)e.push(0);for(o=t>>>3,e[o>>2]^=a<<o%4*8,e[l-1]^=2147483648,r=mt(e,r);32*d.length<s&&(c=r[u%5][u/5|0],d.push(c.lowOrder),!(32*d.length>=s));)d.push(c.highOrder),u+=1,0==64*u%i&&(mt(null,r),u=0);return d}(e,t,0,a,i,r,s)},a.hmacKey&&this._setHMACKey(Ee("hmacKey",a.hmacKey,this.bigEndianMod))}_initializeCSHAKE(e,t){const n=function(e){const t=e||{};return{funcName:Ee("funcName",t.funcName,1,{value:[],binLen:0}),customization:Ee("Customization",t.customization,1,{value:[],binLen:0})}}(e||{});t&&(n.funcName=t);const r=ve(yt(n.funcName),yt(n.customization));if(0!==n.customization.binLen||0!==n.funcName.binLen){const e=wt(r,this.variantBlockSize>>>3);for(let t=0;t<e.length;t+=this.variantBlockSize>>>5)this.intermediateState=this.roundFunc(e.slice(t,t+(this.variantBlockSize>>>5)),this.intermediateState),this.processedLen+=this.variantBlockSize;return 4}return 31}_initializeKMAC(e){const t=function(e){const t=e||{};return{kmacKey:Ee("kmacKey",t.kmacKey,1),funcName:{value:[1128353099],binLen:32},customization:Ee("Customization",t.customization,1,{value:[],binLen:0})}}(e||{});this._initializeCSHAKE(e,t.funcName);const n=wt(yt(t.kmacKey),this.variantBlockSize>>>3);for(let r=0;r<n.length;r+=this.variantBlockSize>>>5)this.intermediateState=this.roundFunc(n.slice(r,r+(this.variantBlockSize>>>5)),this.intermediateState),this.processedLen+=this.variantBlockSize;this.macKeySet=!0}_getKMAC(e){const t=ve({value:this.remainder.slice(),binLen:this.remainderLen},function(e){let t,n,r=0;const i=[0,0],a=[4294967295&e,e/ge&2097151];for(t=6;t>=0;t--)n=a[t>>2]>>>8*t&255,0===n&&0===r||(i[r>>2]|=n<<8*r,r+=1);return r=0!==r?r:1,i[r>>2]|=r<<8*r,{value:r+1>4?i:[i[0]],binLen:8+8*r}}(e.outputLen));return this.finalizeFunc(t.value,t.binLen,this.processedLen,this.stateCloneFunc(this.intermediateState),e.outputLen)}},St=class{shaObj;constructor(e,t,n){if("SHA-1"===e)this.shaObj=new Ke(e,t,n);else if("SHA-224"===e||"SHA-256"===e)this.shaObj=new qe(e,t,n);else if("SHA-384"===e||"SHA-512"===e)this.shaObj=new dt(e,t,n);else{if("SHA3-224"!==e&&"SHA3-256"!==e&&"SHA3-384"!==e&&"SHA3-512"!==e&&"SHAKE128"!==e&&"SHAKE256"!==e&&"CSHAKE128"!==e&&"CSHAKE256"!==e&&"KMAC128"!==e&&"KMAC256"!==e)throw new Error(Se);this.shaObj=new bt(e,t,n)}}update(e){return this.shaObj.update(e),this}getHash(e,t){return this.shaObj.getHash(e,t)}setHMACKey(e,t,n){this.shaObj.setHMACKey(e,t,n)}getHMAC(e,t){return this.shaObj.getHMAC(e,t)}},Ct=class{static generate(e,t){const n={digits:6,algorithm:"SHA-1",period:30,timestamp:Date.now(),...t},r=Math.floor(n.timestamp/1e3),i=this.leftpad(this.dec2hex(Math.floor(r/n.period)),16,"0"),a=new St(n.algorithm,"HEX");a.setHMACKey(this.base32tohex(e),"HEX"),a.update(i);const s=a.getHMAC("HEX"),o=this.hex2dec(s.substring(s.length-1));let c=(this.hex2dec(s.slice(2*o,2*o+8))&this.hex2dec("7fffffff"))+"";const u=Math.max(c.length-n.digits,0);c=c.substring(u,u+n.digits);return{otp:c,expires:Math.ceil((n.timestamp+1)/(1e3*n.period))*n.period*1e3}}static hex2dec(e){return parseInt(e,16)}static dec2hex(e){return(e<15.5?"0":"")+Math.round(e).toString(16)}static base32tohex(e){let t="",n="";const r=e.endsWith("=")?e.slice(0,e.lastIndexOf("=")):e;for(let i=0;i<r.length;i++){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".indexOf(e.charAt(i).toUpperCase());if(-1===n)throw new Error("Invalid base32 character in key");t+=this.leftpad(n.toString(2),5,"0")}for(let i=0;i+8<=t.length;i+=8){const e=t.slice(i,i+8);n+=this.leftpad(parseInt(e,2).toString(16),2,"0")}return n}static leftpad(e,t,n){return t+1>=e.length&&(e=Array(t+1-e.length).join(n)+e),e}};function vt(e){if(!Array.isArray(e))throw new TypeError("Middleware stack must be an array!");for(const t of e)if("function"!=typeof t)throw new TypeError("Middleware must be composed of functions!");return function(t,n){let r=-1;return function i(a){if(a<=r)return Promise.reject(/* @__PURE__ */new Error("next() called multiple times"));r=a;let s=e[a];a===e.length&&n&&(s=n);if(!s)return Promise.resolve();try{return Promise.resolve(s(t,i.bind(null,a+1)))}catch(o){return Promise.reject(o)}}(0)}}var Ut=["log","info","warn","error","assert"],Et=(e=d)=>{if("undefined"==typeof console)return d;const t=Ut.map(t=>$(console,t,n=>{if("function"!=typeof n)return;const r=n;return function(...n){e(t,...n),r.apply(console,n)}}));return()=>t.forEach(e=>e())},Ot=(e,t=500)=>{let n,r=null,i=null;const a=()=>{if(r=null,!i)return;const t=i,a=n;i=null,n=void 0,e.apply(a,t)},s=function(...e){n=this,i=e,null!==r&&clearTimeout(r),r=setTimeout(a,t)};return s.cancel=()=>{null!==r&&clearTimeout(r),r=null,i=null,n=void 0},s.flush=()=>{null!==r&&(clearTimeout(r),a())},s.pending=()=>null!==r,s},At=(e,t)=>{if("undefined"==typeof document)return;const n=e.classList;n.contains(t)||n.add(t)},Mt=(e,t)=>{if("undefined"==typeof document)return;const n=e.classList;n.contains(t)&&n.remove(t)},kt=e=>{if("undefined"==typeof document)return;const t=document.createDocumentFragment();return e.forEach(e=>t.appendChild(e)),t},Tt=/["'&<>]/;function Bt(e){const t=""+e,n=Tt.exec(t);if(!n)return t;let r,i="",a=0,s=0;for(a=n.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:r="&quot;";break;case 38:r="&amp;";break;case 39:r="&#39;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}s!==a&&(i+=t.substring(s,a)),s=a+1,i+=r}return s!==a?i+t.substring(s,a):i}var Lt=(e=375)=>{let t=e;const{documentElement:n}=document,r=window.matchMedia("(orientation: portrait)");let i,a=667/375;function s(){const e=!r.matches;let i=window.screen.width,s=window.screen.height;i<s&&([i,s]=[s,i]);let o=n.clientWidth,c=s;o/c>=a?(o=c*a,n.classList.remove("adjustHeight"),n.classList.add("adjustWidth")):(c=o/a,n.classList.remove("adjustWidth"),n.classList.add("adjustHeight"));let u=o/t*16;e&&(u/=a),n.style.fontSize=`${u}px`;const d=window.getComputedStyle(n).fontSize.replace("px","")||0;u!==d&&(n.style.fontSize=u/Number(d)*u+"px")}c()===h.IPAD&&(a=1024/768,t=768),window.addEventListener("resize",function(){clearTimeout(i),i=setTimeout(s,300)},!1),window.addEventListener("pageshow",function(e){e.persisted&&(clearTimeout(i),i=setTimeout(s,300))},!1),window.addEventListener("orientationchange",function(){s()},!1),s()},Ft=(e=d)=>{if("undefined"==typeof window)return d;const t=t=>e(t),n=t=>e(t);return window.addEventListener("unhandledrejection",t,!0),window.addEventListener("error",n,!0),()=>{window.removeEventListener("unhandledrejection",t,!0),window.removeEventListener("error",n,!0)}},Pt=class{ac;constructor(){this.ac=new AbortController}get signal(){return this.ac.signal}on(e,t,n,r){return e.addEventListener(t,n,{...r,signal:this.ac.signal}),this}delegate(e,t,n,r,i){return e.addEventListener(n,n=>{const i=n.target?.closest(t);i&&e.contains(i)&&r(n,i)},{...i,signal:this.ac.signal}),this}abort(){this.ac.abort(),this.ac=new AbortController}},Rt={easeIn:function(e,t,n,r){return e>=r&&(e=r),n*(e/=r)*e+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),-n*(e/=r)*(e-2)+t}},Dt={easeIn:function(e,t,n,r){return e>=r&&(e=r),n*(e/=r)*e*e+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),n*((e=e/r-1)*e*e+1)+t}},Ht={easeIn:function(e,t,n,r){return e>=r&&(e=r),n*(e/=r)*e*e*e+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),-n*((e=e/r-1)*e*e*e-1)+t}},It={easeIn:function(e,t,n,r){return e>=r&&(e=r),n*(e/=r)*e*e*e*e+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),n*((e=e/r-1)*e*e*e*e+1)+t}},xt={easeIn:function(e,t,n,r){return e>=r&&(e=r),-n*Math.cos(e/r*(Math.PI/2))+n+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),n*Math.sin(e/r*(Math.PI/2))+t}},jt={easeIn:function(e,t,n,r){return e>=r&&(e=r),0===e?t:n*Math.pow(2,10*(e/r-1))+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),e===r?t+n:n*(1-Math.pow(2,-10*e/r))+t}},Nt={easeIn:function(e,t,n,r){return e>=r&&(e=r),-n*(Math.sqrt(1-(e/=r)*e)-1)+t},easeOut:function(e,t,n,r){return e>=r&&(e=r),n*Math.sqrt(1-(e=e/r-1)*e)+t}},zt=e=>t*e,Kt=(e,t)=>[+(Math.cos(e)*t).toFixed(8),+(Math.sin(e)*t).toFixed(8)],_t=(e,t)=>{const n=-e/t;return[n,-n*e+t]},Wt=(e,t,n,r,i)=>{e.beginPath();const a=zt(90/Math.PI/t*i),s=n+a,o=r-a;e.arc(0,0,t,s,o,!1),e.lineTo(...Kt((n+r)/2,i/2/Math.abs(Math.sin((n-r)/2)))),e.closePath()},qt=(e,...[t,n,r,i,a])=>{const s=Math.min(r,i),o=Math.PI;a>s/2&&(a=s/2),e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+a,n),e.lineTo(t+r-a,n),e.arc(t+r-a,n+a,a,-o/2,0),e.lineTo(t+r,n+i-a),e.arc(t+r-a,n+i-a,a,0,o/2),e.lineTo(t+a,n+i),e.arc(t+a,n+i-a,a,o/2,o),e.lineTo(t,n+a),e.arc(t+a,n+a,a,o,-o/2),e.closePath()},Vt=(e,t,n,r,i,a)=>{const s=/linear-gradient\((.+)\)/.exec(a)[1].split(",").map(e=>e.trim());let o=s.shift(),c=[0,0,0,0];if(o.includes("deg")){const e=Number(o.slice(0,-3))%360;o=`${e}`;const a=e=>Math.tan(e/180*Math.PI);e>=0&&e<45?c=[t,n+i,t+r,n+i-r*a(e-0)]:e>=45&&e<90?c=[t,n+i,t+r-i*a(e-45),n]:e>=90&&e<135?c=[t+r,n+i,t+r-i*a(e-90),n]:e>=135&&e<180?c=[t+r,n+i,t,n+r*a(e-135)]:e>=180&&e<225?c=[t+r,n,t,n+r*a(e-180)]:e>=225&&e<270?c=[t+r,n,t+i*a(e-225),n+i]:e>=270&&e<315?c=[t,n,t+i*a(e-270),n+i]:e>=315&&e<360&&(c=[t,n,t+r,n+i-r*a(e-315)])}else o.includes("top")?c=[t,n+i,t,n]:o.includes("bottom")?c=[t,n,t,n+i]:o.includes("left")?c=[t+r,n,t,n]:o.includes("right")&&(c=[t,n,t+r,n]);const u=e.createLinearGradient(...c.map(e=>e|0));return s.reduce((e,t,n)=>{const r=t.split(" ");return 1===r.length?e.addColorStop(n,r[0]):2===r.length&&e.addColorStop(Number(r[1]),r[0]),e},u)},$t=e=>new Promise((t,n)=>{const r=new Image;r.onload=()=>t(r),r.onerror=e=>n(e),r.src=e}),Xt=(e,t)=>{const n=document.createElement("canvas"),r=n.getContext("2d"),{width:i,height:a}=e;return n.width=i,n.height=a,qt(r,0,0,i,a,t),r.clip(),r.drawImage(e,0,0,i,a),n},Yt=(e,t)=>{const n=document.createElement("canvas"),r=n.getContext("2d"),{width:i,height:a}=e;if(n.width=i,n.height=a,"string"==typeof r.filter)r.filter=`opacity(${100*t}%)`,r.drawImage(e,0,0,i,a);else{r.drawImage(e,0,0,i,a);const n=r.getImageData(0,0,i,a),{data:s}=n,o=s.length;for(let e=0;e<o;e+=4){const n=s[e+3];0!==n&&(s[e+3]=n*t)}r.putImageData(n,0,0)}return n},Gt=(e,t)=>{t=t||e/3;const n=Math.ceil(e),r=t*t,i=2*r,a=1/(2*Math.PI*r),s=[];let o=0;for(let c=-n;c<=n;c++)for(let e=-n;e<=n;e++){const t=a*Math.exp(-(c*c+e*e)/i);s.push(t),o+=t}for(let c=0;c<s.length;c++)s[c]/=o;return s},Jt=(e,t,n)=>new Promise((r,i)=>{if("undefined"==typeof window)return void i(/* @__PURE__ */new Error("isImageSize is browser-only: window is undefined"));const a=window.URL||window.webkitURL,s=new Image,o=a.createObjectURL(e),c=()=>a.revokeObjectURL(o);s.onload=()=>{c();const e=void 0===t||s.width===t,i=void 0===n||s.height===n;r(e&&i)},s.onerror=()=>{c(),i(/* @__PURE__ */new Error("failed to decode image"))},s.src=o}),Qt=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=function(){t({success:!0,data:r.result,message:""})},r.onerror=e=>{n({success:!1,data:e,message:""})},r.readAsDataURL(e)}),Zt=/* @__PURE__ */new Map,en=/* @__PURE__ */new Map,tn="data-adopted-style",nn="data-adopted-sheet",rn=(e,t,n)=>{if("undefined"==typeof CSSStyleSheet)return!1;try{if(!n.has(t)){const e=new CSSStyleSheet;e.replaceSync(t),n.set(t,e)}const r=n.get(t);return e.adoptedStyleSheets.includes(r)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,r]),!0}catch{return!1}},an=(e,t,n=tn)=>{if("undefined"!=typeof document&&t&&!rn(e,t,Zt)&&!e.querySelector(`style[${n}]`)){const r=document.createElement("style");r.setAttribute(n,""),r.textContent=t,e.appendChild(r)}},sn=(e,t,n=nn)=>{if("undefined"!=typeof document&&t&&!rn(e,t,en)&&!Array.from(e.querySelectorAll(`style[${n}]`)).some(e=>e.textContent===t)){const r=document.createElement("style");r.setAttribute(n,""),r.textContent=t,e.appendChild(r)}},on=e=>({status:"success",code:0,data:e,error:!1}),cn=(e,t=null)=>({status:"error",code:1,data:t,error:!0,message:e}),un=class{database;version;dbName;stores;upgrade;constructor({dbName:e,version:t,stores:n,upgrade:r}){this.dbName=e,this.version=t||1,this.stores=n||[],this.upgrade=r}openDataBase=()=>new Promise((e,t)=>{if("undefined"==typeof indexedDB)return void t(cn("indexedDB is not available"));const n=indexedDB.open(this.dbName,this.version);n.onsuccess=()=>{this.database=n.result,this.version=this.database.version,this.database.onversionchange=()=>{this.database?.close(),this.database=void 0},e(on({db:this.database}))},n.onerror=()=>{if(n.error&&"VersionError"===n.error.name){const[,r]=(n.error.message||"").match(/\d+/g)||[];if(Number(r)>this.version)return this.version=Number(r),void this.refreshDatabase().then(e,t)}t(cn("open database error",n.error))},n.onupgradeneeded=e=>{const t=n.result;this.database=t,this.version=t.version;for(const r of this.stores){const e=t.objectStoreNames.contains(r.name)?n.transaction?.objectStore(r.name):t.createObjectStore(r.name,r.options);for(const t of r.indexes||[])e&&!e.indexNames.contains(t.name)&&e.createIndex(t.name,t.keyPath,t.options)}this.upgrade?.(t,e,n.transaction)}});closeDataBase=()=>{this.database?.close(),this.database=void 0};refreshDatabase=()=>(this.closeDataBase(),this.openDataBase());deleteDatabase=({dbName:e}={})=>new Promise((t,n)=>{const r=indexedDB.deleteDatabase(e??this.dbName);r.onsuccess=()=>t(on(null)),r.onerror=()=>n(cn("delete database error",r.error))});getObjectStore=(e,t="readonly")=>{if(this.database)return this.database.transaction([e],t).objectStore(e)};run=(e,t,n,r,i)=>new Promise((a,s)=>{let o;try{const r=this.database?.transaction(e,t).objectStore(e);o=r&&n(r)}catch(u){return void s(cn(`${r} error`,u))}if(!o)return void s(cn(`${r} error`));const c=o;c.onsuccess=()=>a(on(i(c))),c.onerror=()=>s(cn(`${r} error`,c.error))});add=({storeName:e,data:t})=>this.run(e,"readwrite",e=>e.add(t),"add",()=>t);update=({storeName:e,data:t})=>this.run(e,"readwrite",e=>e.put(t),"update",()=>null);readByKey=({storeName:e,key:t})=>this.run(e,"readonly",e=>e.get(t),"read",e=>e.result);readAll=({storeName:e,query:t,count:n})=>this.run(e,"readonly",e=>e.getAll(t,n),"read all",e=>e.result);count=({storeName:e,query:t})=>this.run(e,"readonly",e=>e.count(t),"count",e=>e.result);readByCursor=({storeName:e,keyRange:t,direction:n})=>new Promise((r,i)=>{const a=(this.database?.transaction(e,"readonly").objectStore(e))?.openCursor(t,n),s=[];a?(a.onsuccess=()=>{const e=a.result;e?(s.push(e.value),e.continue()):r(on(s))},a.onerror=()=>i(cn("read cursor error",a.error))):i(cn("read cursor error"))});delete=({storeName:e,key:t})=>this.run(e,"readwrite",e=>e.delete(t),"delete",()=>null);clear=({storeName:e})=>this.run(e,"readwrite",e=>e.clear(),"clear",()=>null);collection=e=>{const t=(e,t)=>e.then(e=>e.data??t).catch(()=>t),n=e=>e.then(()=>!0).catch(()=>!1);return{name:e,get:t=>this.readByKey({storeName:e,key:t}).then(e=>e.data??null).catch(()=>null),all:()=>t(this.readByCursor({storeName:e}),[]),count:()=>t(this.count({storeName:e}),0),add:t=>n(this.add({storeName:e,data:t})),put:t=>n(this.update({storeName:e,data:t})),remove:t=>n(this.delete({storeName:e,key:t})),clear:()=>n(this.clear({storeName:e}))}}},dn=({dbName:e,storeName:t="files",key:n="pending"})=>{const r=()=>new Promise(n=>{if("undefined"==typeof indexedDB)return void n(null);let r;try{r=indexedDB.open(e,1)}catch{return void n(null)}r.onupgradeneeded=()=>{r.result.objectStoreNames.contains(t)||r.result.createObjectStore(t)},r.onerror=()=>n(null),r.onblocked=()=>n(null),r.onsuccess=()=>n(r.result)});return{put:async e=>{const i=await r();return!!i&&new Promise(r=>{try{const a=i.transaction(t,"readwrite");a.objectStore(t).put(e,n),a.oncomplete=()=>{i.close(),r(!0)},a.onerror=a.onabort=()=>{i.close(),r(!1)}}catch{i.close(),r(!1)}})},take:async()=>{const e=await r();return e?new Promise(r=>{try{const i=e.transaction(t,"readwrite"),a=i.objectStore(t),s=a.get(n);let o=null;s.onsuccess=()=>{o=s.result??null,null!==o&&a.delete(n)},i.oncomplete=()=>{e.close(),r(o)},i.onerror=i.onabort=()=>{e.close(),r(null)}}catch{e.close(),r(null)}}):null}}},ln=e=>{const t=Array.from({length:e.length});let n=0;for(let r=0;r<e.length;r++)t[r]=n,n+=e[r]||0;return t},hn=(e,t)=>{if(0===e.length)return 0;let n=0,r=e.length-1,i=0;for(;n<=r;){const a=n+r>>1;e[a]<=t?(i=a,n=a+1):r=a-1}return i},pn=(e,t,n)=>{const r=t+e.length,i=n.map(e=>({value:e.value,s:Math.max(e.start,t)-t,e:Math.min(e.end,r)-t})).filter(e=>e.e>e.s).sort((e,t)=>e.s-t.s||e.e-t.e),a=[],s=(n,r,i)=>{a.push({text:e.slice(n,r),start:t+n,end:t+r,value:i})};let o=0;for(const c of i){let e=c.s;if(e<o){if(c.e<=o)continue;e=o}e>o&&s(o,e,null),s(e,c.e,c.value),o=c.e}return o<e.length&&s(o,e.length,null),0===a.length&&s(0,e.length,null),a},fn=(()=>{const e=/* @__PURE__ */new Uint8Array(128);for(let t=0;t<78;t++)e["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-.,!?;:'\"()[]{}".charCodeAt(t)]=1;return e})(),mn=e=>e<128&&1===fn[e],gn={pages:[],charsPerLine:0,linesPerPage:0,charsPerPage:0},yn=(e,t,n,r={})=>{const i=e.replace(/(?:\r\n|\r|\n)+/g,"\n")||"",a=i.length,s=r.minBox??30,{charWidth:o,lineHeight:c}=n,u=n.narrowRatio??.5625;if(t.width<s||t.height<s||o<=0||c<=0)return{...gn,total:a};const d=Math.floor(t.width/o),l=Math.floor(t.height/c),h=d*l;if(d<=0||l<=0)return{...gn,total:a};const p=e=>{let t=e,n=e;for(;t<a;){const e=i.charCodeAt(t);if(mn(e))t++;else{if(32===e){n=t,t++;break}t++}}return n},f=e=>{let t=e,n=e;for(;t>0;){const e=i.charCodeAt(t-1);if(mn(e))n=t-1,t--;else{if(32===e)break;t--}}return n},m=[];let g=0;for(;a>g;){let e=0,t=0;const n=g;let r=h;for(;e<l&&t<h&&g<a;){const n=i.charCodeAt(g);if(10===n||13===n){e++,t=0,g++,r--;continue}const a=mn(n);if(t>=d){if(a){const n=f(g);if(p(g)-n>d){e++,t=0;continue}}e++,t=0}else g++,t+=a?u:1,r--}if(g<a&&mn(i.charCodeAt(g))){const e=f(g);p(g)-e>r&&e>n&&(g=e)}if(g===n)break;m.push({text:i.slice(n,g),start:n,end:g,index:m.length})}return{pages:m,total:a,charsPerLine:d,linesPerPage:l,charsPerPage:h}},wn=e=>{const t=e.search(/[?#]/);return-1===t?[e,""]:[e.slice(0,t),e.slice(t)]},bn=e=>{const t=e.locales.length>0?e.locales:[{code:"en"}],n=(e=>{const t=e.trim().replace(/\/+$/,"");return t?t.startsWith("/")?t:`/${t}`:""})(e.base??""),r=e.defaultLocale??(t.find(e=>!e.prefix)??t[0]).code,i=t.filter(e=>e.prefix).sort((e,t)=>t.prefix.length-e.prefix.length),a=e=>{const t=e||"/";return n?t===n?"/":t.startsWith(`${n}/`)?t.slice(n.length):t.startsWith("/")?t:`/${t}`:t.startsWith("/")?t:`/${t}`},s=e=>{const t=e.split("/").filter(Boolean)[0],n=t?i.find(e=>e.prefix===t):void 0;if(!n)return{code:r,rest:e};const a=e.slice(n.prefix.length+1)||"/";return{code:n.code,rest:a.startsWith("/")?a:`/${a}`}},o=(e,i=r)=>{const[o,c]=wn(e),{rest:u}=s(a(o)),{prefix:d}=(e=>t.find(t=>t.code===e)??{code:r})(i);return`${n}${d?`/${d}${u}`:u}${c}`||"/"};return{base:n,defaultLocale:r,localeFromPath:e=>s(a(wn(e)[0])).code,stripLocale:e=>{const[t,r]=wn(e);return`${n}${s(a(t)).rest}${r}`},href:o,hrefForLocale:(e,t)=>o(e,t),alternates:e=>t.map(t=>({code:t.code,href:o(e,t.code)}))}},Sn=(e,t,n)=>new Promise((r,i)=>{if("undefined"==typeof FileReader)return void i(/* @__PURE__ */new Error("FileReader is not available"));const a=new FileReader;a.onload=()=>r(a.result),a.onerror=()=>i(a.error??/* @__PURE__ */new Error("read file error")),a.onabort=()=>i(/* @__PURE__ */new Error("read file aborted")),"arrayBuffer"===t?a.readAsArrayBuffer(e):"text"===t?a.readAsText(e,n):"dataURL"===t?a.readAsDataURL(e):a.readAsBinaryString(e)}),Cn=e=>Sn(e,"arrayBuffer"),vn=async e=>new Uint8Array(await Cn(e)),Un=(e,t)=>Sn(e,"text",t),En=e=>Sn(e,"dataURL"),On=class{worker=null;nextOperationId=1;pending=/* @__PURE__ */new Map;options;constructor(e){this.options=e}get active(){return null!==this.worker}get pendingCount(){return this.pending.size}send=(e,t,n)=>{const r=this.nextOperationId++;return new Promise((i,a)=>{const s={resolve:i,reject:a,onProgress:t};this.options.timeout&&(s.timer=setTimeout(()=>{this.pending.delete(r),a(/* @__PURE__ */new Error(`worker request timed out after ${this.options.timeout}ms`))},this.options.timeout)),this.pending.set(r,s);try{this.getWorker().postMessage({...e,operationId:r},n??[])}catch(o){this.settle(r),a(o instanceof Error?o:new Error(String(o)))}})};dispose=()=>{this.worker?.terminate(),this.worker=null,this.rejectAll(/* @__PURE__ */new Error("worker disposed"))};getWorker=()=>(this.worker||(this.worker=this.options.create(),this.worker.onmessage=e=>this.handleMessage(e.data),this.worker.onerror=e=>this.rejectAll(new Error(e.message||"worker crashed"))),this.worker);settle=e=>{const t=this.pending.get(e);return t?.timer&&clearTimeout(t.timer),this.pending.delete(e),t};handleMessage=e=>{const t=this.pending.get(e.operationId);if(!t)return;const{isProgress:n,getProgress:r,isError:i,getErrorMessage:a}=this.options;if(n?n(e):"progress"===e.type){const n=r?r(e):e.progress;return void t.onProgress?.(n)}if(this.settle(e.operationId),i?i(e):"error"===e.type){const n=a?a(e):e.message;t.reject(new Error(n||"worker error"))}else t.resolve(e)};rejectAll=e=>{for(const[t,n]of this.pending)n.timer&&clearTimeout(n.timer),n.reject(e),this.pending.delete(t)}},An=(e,t={})=>{const n=t.scope??globalThis;if(!n||"function"!=typeof n.addEventListener)return()=>{};const r=t.resultType??"result",i=t=>{const i=t.data;if(!i||"number"!=typeof i.operationId)return;const{operationId:a}=i,s=e=>n.postMessage({...e,operationId:a}),o={progress:e=>s({type:"progress",progress:e})};Promise.resolve().then(()=>e(i,o)).then(e=>s("object"==typeof e&&null!==e?e:{type:r,result:e}),e=>s({type:"error",message:e instanceof Error?e.message:String(e)}))};return n.addEventListener("message",i),()=>n.removeEventListener("message",i)},Mn=()=>"undefined"!=typeof window,kn=(e,t={})=>{const{timeout:n=8e3,fallbackDelay:r=2500}=t;if(!Mn())return()=>{};const i=window.requestIdleCallback;if(i){const t=i(e,{timeout:n});return()=>window.cancelIdleCallback?.(t)}const a=setTimeout(e,r);return()=>clearTimeout(a)},Tn=(e={})=>{const{optOutKey:t,slowTypes:n=["slow-2g","2g"]}=e;if(!Mn())return!1;if(t)try{if(localStorage.getItem(t))return!1}catch{}const r=navigator.connection;return!r?.saveData&&(!r?.effectiveType||!n.includes(r.effectiveType))},Bn=async e=>{if("undefined"==typeof caches)return!1;try{return Boolean(await caches.match(e))}catch{return!1}},Ln=async e=>{try{if(await Bn(e))return;await fetch(e,{cache:"force-cache"})}catch{}},Fn=async(e,t={})=>{if(!(0===e.length||t.serviceWorkerMessage&&((e,t)=>{try{const n="undefined"!=typeof navigator&&"serviceWorker"in navigator?navigator.serviceWorker.controller:null;return!!n&&(n.postMessage({type:t,urls:e}),!0)}catch{return!1}})(e,t.serviceWorkerMessage)))for(const n of e)await Ln(n)},Pn=(e,t={})=>Tn(t)?kn(()=>{Fn(e,t)},t):()=>{},Rn=()=>{let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}},Dn=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Hn=(e,t,n={})=>{const{message:r=`operation timed out after ${t}ms`,onTimeout:i}=n;return new Promise((n,a)=>{const s=setTimeout(()=>{i?.(),a(new Dn(r))},t);e.then(e=>{clearTimeout(s),n(e)},e=>{clearTimeout(s),a(e)})})},In=(e,t,n,r)=>new Promise((i,a)=>{const s=setTimeout(()=>{r?.(),i(n)},t);e.then(e=>{clearTimeout(s),i(e)},e=>{clearTimeout(s),a(e)})}),xn=e=>new Promise(t=>setTimeout(t,e)),jn=67324752,Nn=33639248,zn=101010256,Kn=30,_n=46,Wn=0,qn=8,Vn=(e,t)=>e[t]|e[t+1]<<8,$n=(e,t)=>(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0,Xn=/* @__PURE__ */(()=>{const e=/* @__PURE__ */new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=1&n?3988292384^n>>>1:n>>>1;e[t]=n}return e})(),Yn=e=>{let t=4294967295;for(let n=0;n<e.length;n++)t=(Xn[255&(t^e[n])]??0)^t>>>8;return(4294967295^t)>>>0},Gn=async e=>{if("undefined"==typeof DecompressionStream)throw new Error("DecompressionStream is not available in this runtime");const t=new DecompressionStream("deflate-raw"),n=t.writable.getWriter(),r=t.readable.getReader();n.write(e),n.close();const i=[];for(;;){const{done:e,value:t}=await r.read();if(e)break;t&&i.push(t)}return Jn(i)},Jn=e=>{let t=0;for(const i of e)t+=i.length;const n=new Uint8Array(t);let r=0;for(const i of e)n.set(i,r),r+=i.length;return n},Qn=e=>{const t=(e=>{const t=Math.max(0,e.length-65558);for(let n=e.length-22;n>=t;n--)if($n(e,n)===zn)return n;return-1})(e);if(-1===t)return[];const n=Vn(e,t+10),r=[];let i=$n(e,t+16);for(let a=0;a<n&&!(i+_n>e.length)&&$n(e,i)===Nn;a++){const t=Vn(e,i+10),n=Vn(e,i+12),a=Vn(e,i+14),s=$n(e,i+16),o=$n(e,i+20),c=$n(e,i+24),u=Vn(e,i+28),d=Vn(e,i+30),l=Vn(e,i+32),h=$n(e,i+42),p=e.slice(i+_n,i+_n+u),f=new TextDecoder("utf-8",{fatal:!1}).decode(p),m=h+Kn<=e.length,g=m?Vn(e,h+26):0,y=m?Vn(e,h+28):0,w=i;i+=_n+u+d+l,r.push({name:f,compression:t,crc:s,compressedSize:o,uncompressedSize:c,modTime:n,modDate:a,directory:f.endsWith("/"),dataStart:h+Kn+g+y,nameBytes:p,localOffset:h,centralStart:w,centralEnd:i})}return r},Zn=(e,t)=>Qn(e).some(e=>e.name===t),er=async(e,t)=>{const n="string"==typeof t?Qn(e).find(e=>e.name===t):t;if(!n||n.directory)return null;if(n.dataStart+n.compressedSize>e.length)return null;const r=e.slice(n.dataStart,n.dataStart+n.compressedSize);if(0===n.compression)return r;if(8!==n.compression)return null;try{return await Gn(r)}catch{return null}},tr=(e,t,n,r=0,i=0)=>{const a=new Uint8Array(Kn+e.length),s=new DataView(a.buffer);return s.setUint32(0,jn,!0),s.setUint16(4,20,!0),s.setUint16(6,0,!0),s.setUint16(8,0,!0),s.setUint16(10,r,!0),s.setUint16(12,i,!0),s.setUint32(14,n,!0),s.setUint32(18,t,!0),s.setUint32(22,t,!0),s.setUint16(26,e.length,!0),a.set(e,Kn),a},nr=(e,t,n,r,i=0,a=0)=>{const s=new Uint8Array(_n+e.length),o=new DataView(s.buffer);return o.setUint32(0,Nn,!0),o.setUint16(4,20,!0),o.setUint16(6,20,!0),o.setUint16(8,0,!0),o.setUint16(10,0,!0),o.setUint16(12,i,!0),o.setUint16(14,a,!0),o.setUint32(16,n,!0),o.setUint32(20,t,!0),o.setUint32(24,t,!0),o.setUint16(28,e.length,!0),o.setUint32(42,r,!0),s.set(e,_n),s},rr=e=>"string"==typeof e?(new TextEncoder).encode(e):e,ir=async(e,t={})=>{const{filter:n,transform:r,inject:i}=t,a=Qn(e);if(0===a.length)return e;const s=/* @__PURE__ */new Map;if(r)for(const g of a)if(!g.directory&&(!n||n(g)))try{const t=await er(e,g);if(!t)continue;const n=await r(t,g);if(null==n)continue;const i=rr(n);if(i.length===t.length&&i.every((e,n)=>e===t[n]))continue;s.set(g,i)}catch{}const o=(i??[]).map(({name:e,data:t})=>({nameBytes:(new TextEncoder).encode(e),data:rr(t)}));if(0===s.size&&0===o.length)return e;const c=[],u=[];let d=0;for(const g of a){u.push(d);const t=s.get(g);if(t){const e=tr(g.nameBytes,t.length,Yn(t),g.modTime,g.modDate);c.push(e,t),d+=e.length+t.length;continue}const n=new Uint8Array(Kn+g.nameBytes.length),r=new DataView(n.buffer);r.setUint32(0,jn,!0),r.setUint16(4,20,!0),r.setUint16(6,0,!0),r.setUint16(8,g.compression,!0),r.setUint16(10,g.modTime,!0),r.setUint16(12,g.modDate,!0),r.setUint32(14,g.crc,!0),r.setUint32(18,g.compressedSize,!0),r.setUint32(22,g.uncompressedSize,!0),r.setUint16(26,g.nameBytes.length,!0),n.set(g.nameBytes,Kn);const i=e.slice(g.dataStart,g.dataStart+g.compressedSize);c.push(n,i),d+=n.length+i.length}const l=[];for(const g of o){l.push(d);const e=tr(g.nameBytes,g.data.length,Yn(g.data));c.push(e,g.data),d+=e.length+g.data.length}const h=d;for(let g=0;g<a.length;g++){const t=a[g],n=s.get(t);if(n){const e=nr(t.nameBytes,n.length,Yn(n),u[g],t.modTime,t.modDate);c.push(e),d+=e.length;continue}const r=new Uint8Array(e.slice(t.centralStart,t.centralEnd)),i=new DataView(r.buffer);i.setUint16(8,-9&Vn(r,8),!0),i.setUint32(42,u[g],!0),c.push(r),d+=r.length}for(let g=0;g<o.length;g++){const e=o[g],t=nr(e.nameBytes,e.data.length,Yn(e.data),l[g]);c.push(t),d+=t.length}const p=a.length+o.length,f=new Uint8Array(22),m=new DataView(f.buffer);return m.setUint32(0,zn,!0),m.setUint16(8,p,!0),m.setUint16(10,p,!0),m.setUint32(12,d-h,!0),m.setUint32(16,h,!0),c.push(f),Jn(c)},ar=e=>{const t=[],n=[];let r=0;for(const o of e){const e=(new TextEncoder).encode(o.name),i=rr(o.data),a=Yn(i),s=tr(e,i.length,a);n.push(nr(e,i.length,a,r)),t.push(s,i),r+=s.length+i.length}const i=r;for(const o of n)t.push(o),r+=o.length;const a=new Uint8Array(22),s=new DataView(a.buffer);return s.setUint32(0,zn,!0),s.setUint16(8,e.length,!0),s.setUint16(10,e.length,!0),s.setUint32(12,r-i,!0),s.setUint32(16,i,!0),t.push(a),Jn(t)};function sr(){if("undefined"!=typeof window){const[e]=performance.getEntriesByType("navigation"),[t={},n={}]=performance.getEntriesByType("paint"),{startTime:r}=t,{startTime:i}=n,{domainLookupEnd:a,domainLookupStart:s,connectEnd:o,connectStart:c,secureConnectionStart:u,loadEventStart:d,domInteractive:l,domContentLoadedEventEnd:h,duration:p,responseStart:f,requestStart:m,responseEnd:g,fetchStart:y,transferSize:w,encodedBodySize:b,redirectEnd:S,redirectStart:C,redirectCount:v}=e;return{dnsSearch:a-s,tcpConnect:o-c,sslConnect:o-u,request:f-m,response:g-f,parseDomTree:l-g,resource:d-h,domReady:h-y,interactive:l-y,complete:d-y,httpHead:w-b,redirect:v,redirectTime:S-C,duration:p,fp:r,fcp:i}}}var or={},cr=e=>{"string"==typeof e?or.url=e:Object.assign(or,e)},ur=()=>or.url??"",dr=({url:e,type:t="application/json; charset=UTF-8",payload:n={}})=>{const r=e||ur();return!!r&&((({url:e="",type:t="application/json; charset=UTF-8",payload:n={}})=>{if("undefined"==typeof navigator||!navigator.sendBeacon||!e)return!1;const r=new Blob([JSON.stringify(n)],{type:t});return navigator.sendBeacon(e,r)})({url:r,type:t,payload:n})||(({url:e="",payload:t={}})=>{if("undefined"==typeof document||!e)return!1;const n=new Image;return n.width=1,n.height=1,n.src=`${e}?${_(t)}`,!0})({url:r,payload:n}))};function lr(e={}){if("undefined"==typeof window)return{};const{width:t,height:n}=u();return{id:r(),path:window.location.href,time:Date.now(),referrer:document.referrer,ratio:`${t}x${n}`,userAgent:window.navigator.userAgent,...or.userIdCookie?{userId:l(or.userIdCookie)}:{},...e}}var hr=(e={})=>{if("undefined"==typeof window)return d;const{requestHook:t=d,responseHook:n=d,errorHook:r=d}=e;return $(window,"fetch",e=>{if("function"!=typeof e)return;const i=e;return(e,a)=>(t(e,a),i.apply(window,[e,a]).then(t=>(n(e,a,t),t)).catch(t=>{throw r(e,t),t}))})},pr=(e={})=>{if("undefined"==typeof window||"undefined"==typeof XMLHttpRequest)return d;const t=XMLHttpRequest.prototype,{requestHook:n=d,responseHook:r=d,errorHook:i=d}=e,a=$(t,"open",e=>{if("function"!=typeof e)return;const t=e;return function(...e){n(e),t.apply(this,e)}}),s=$(t,"send",e=>{if("function"!=typeof e)return;const t=e;return function(...e){this.addEventListener("loadend",()=>r(this),{once:!0}),this.addEventListener("error",()=>i(this),{once:!0}),t.apply(this,e)}});return()=>{s(),a()}};function fr(e,t=300){let n,r=0,i=null,a=null;const s=()=>{if(i=null,!a)return;const t=a,s=n;a=null,n=void 0,r=Date.now(),e.apply(s,t)},o=function(...e){const o=t-(Date.now()-r);n=this,a=e,o<=0?(null!==i&&(clearTimeout(i),i=null),s()):null===i&&(i=setTimeout(s,o))};return o.cancel=()=>{null!==i&&clearTimeout(i),i=null,a=null,n=void 0},o.pending=()=>null!==i,o}var mr={click:!0,error:!0,fetch:!0,xhr:!0,performance:!0,console:!1},gr=class{options;teardown=[];send=d;constructor(e){this.options=e,cr({url:e.url,userIdCookie:e.userIdCookie}),this.send=fr(e=>dr(e),e.throttleMs??300)}get running(){return this.teardown.length>0}start=()=>{if(this.running)return this.stop;const e={...mr,...this.options.channels};return e.performance&&this.reportPerformance(),e.click&&this.teardown.push(this.reportClick()),e.error&&this.teardown.push(this.reportError()),e.fetch&&this.teardown.push(this.reportFetch()),e.xhr&&this.teardown.push(this.reportXhr()),e.console&&this.teardown.push(this.reportConsole()),this.stop};stop=()=>{const e=this.teardown.splice(0,this.teardown.length);for(const t of e)t()};event=(e,t)=>({payload:{...lr(),data:t,type:e}});log=e=>{this.send({payload:{...lr(),...e}})};reportPerformance=()=>{dr({payload:{...sr(),...lr(),type:"performance"}})};reportClick=()=>((e=d)=>{if("undefined"==typeof document)return d;const t=t=>e(t);return document.addEventListener("click",t,!0),()=>document.removeEventListener("click",t,!0)})(e=>{const{pageX:t,pageY:n,screenX:r,screenY:i,type:a}=e;this.send(this.event("click",{pageX:t,pageY:n,screenX:r,screenY:i,type:a}))});reportError=()=>Ft((...e)=>this.send(this.event("error",{...e})));reportFetch=()=>hr({requestHook:(...e)=>this.send(this.event("fetchRequest",{...e})),responseHook:(...e)=>this.send(this.event("fetchResponse",{...e})),errorHook:(...e)=>this.send(this.event("fetchError",{...e}))});reportXhr=()=>pr({requestHook:(...e)=>this.send(this.event("xhrRequest",{...e})),responseHook:(...e)=>this.send(this.event("xhrResponse",{...e})),errorHook:(...e)=>this.send(this.event("xhrError",{...e}))});reportConsole=()=>Et((...e)=>this.send(this.event("console",{...e})))},yr=/* @__PURE__ */new Map([[100,"Continue"],[101,"Switching Protocols"],[102,"Processing"],[103,"Early Hints"],[200,"OK"],[201,"Created"],[202,"Accepted"],[203,"Non-Authoritative Information"],[204,"No Content"],[205,"Reset Content"],[206,"Partial Content"],[207,"Multi-Status"],[208,"Already Reported"],[226,"IM Used"],[300,"Multiple Choices"],[301,"Moved Permanently"],[302,"Found"],[303,"See Other"],[304,"Not Modified"],[305,"Use Proxy"],[307,"Temporary Redirect"],[308,"Permanent Redirect"],[400,"Bad Request"],[401,"Unauthorized"],[402,"Payment Required"],[403,"Forbidden"],[404,"Not Found"],[405,"Method Not Allowed"],[406,"Not Acceptable"],[407,"Proxy Authentication Required"],[408,"Request Timeout"],[409,"Conflict"],[410,"Gone"],[411,"Length Required"],[412,"Precondition Failed"],[413,"Payload Too Large"],[414,"URI Too Long"],[415,"Unsupported Media Type"],[416,"Range Not Satisfiable"],[417,"Expectation Failed"],[418,"I'm a Teapot"],[421,"Misdirected Request"],[422,"Unprocessable Entity"],[423,"Locked"],[424,"Failed Dependency"],[425,"Too Early"],[426,"Upgrade Required"],[428,"Precondition Required"],[429,"Too Many Requests"],[431,"Request Header Fields Too Large"],[451,"Unavailable For Legal Reasons"],[500,"Internal Server Error"],[501,"Not Implemented"],[502,"Bad Gateway"],[503,"Service Unavailable"],[504,"Gateway Timeout"],[505,"HTTP Version Not Supported"],[506,"Variant Also Negotiates"],[507,"Insufficient Storage"],[508,"Loop Detected"],[509,"Bandwidth Limit Exceeded"],[510,"Not Extended"],[511,"Network Authentication Required"]]),wr={message:yr,code:function(e){const t=/* @__PURE__ */new Map;for(const[n,r]of e)t.set(r.toLowerCase(),n);return t}(yr),codes:function(e){const t=[];for(const[n,r]of e)t.push(n);return t}(yr),redirect:{300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},empty:{204:!0,205:!0,304:!0},retry:{502:!0,503:!0,504:!0}};function br(e){if(!wr.message.has(e))throw new Error("invalid status code: "+e);return wr.message.get(e)}function Sr(e){if("number"==typeof e)return br(e);if("string"!=typeof e)throw new TypeError("code must be a number or string");const t=parseInt(e,10);return!isNaN(t)&&wr.codes.includes(t)?br(t):function(e){const t=e.toLowerCase();if(wr.code.has(t),!wr.code.has(t))throw new Error('invalid status message: "'+e+'"');return wr.code.get(t)}(e)}var Cr=class{running=0;executed=0;simultaneous;queue=[];idleWaiters=[];constructor({simultaneous:e=1}={}){this.simultaneous=Math.max(1,e)}get pending(){return this.queue.length}get idle(){return 0===this.queue.length&&0===this.running}add=e=>"function"!=typeof e?Promise.reject(/* @__PURE__ */new TypeError("QuestQueue.add expects a function")):new Promise((t,n)=>{this.queue.push({task:e,resolve:t,reject:n}),this.next()});allSettled=e=>Promise.allSettled(e.map(e=>this.add(e)));onIdle=()=>this.idle?Promise.resolve():new Promise(e=>this.idleWaiters.push(e));clear=()=>{const e=this.queue.splice(0,this.queue.length);for(const t of e)t.reject(/* @__PURE__ */new Error("QuestQueue cleared"));this.settleIdle()};next=()=>{for(;this.running<this.simultaneous&&this.queue.length>0;){const e=this.queue.shift();this.running++,Promise.resolve().then(e.task).then(e.resolve,e.reject).finally(()=>{this.running--,this.executed++,this.settleIdle(),this.next()})}};settleIdle=()=>{if(!this.idle)return;const e=this.idleWaiters.splice(0,this.idleWaiters.length);for(const t of e)t()}},vr=/* @__PURE__ */new Set,Ur=({type:e,content:t})=>new Promise((r,i)=>{const a=n(`${e}:${t}`);if(vr.has(a))return void r({success:!0});const s=document.createElement("script");if(s.onload=function(){vr.add(a),r({success:!0})},s.onerror=function(e){i({success:!1,error:e})},"content"===e)return s.textContent=t,document.body.append(s),vr.add(a),void r({success:!0});s.src=t,document.body.append(s)}),Er=(e,t,n)=>{const r=(e=Array.isArray(e)?e:[e]).map(e=>{let n;if(e.toLowerCase().endsWith(".css")){const t=document.createElement("link");t.type="text/css",t.rel="stylesheet",t.href=e,n=t}else n=document.createElement("script"),n.type="text/javascript",n.src=e;const r=document.getElementsByTagName("body")[0];return(t||r).appendChild(n),new Promise(e=>{n.onload=()=>{e()}})});return new Promise(e=>{Promise.all(r).then(()=>{n&&n(),e()})})};export{Xt as $,P as $t,Tn as A,ue as At,vn as B,_ as Bt,Zn as C,Lt as Ct,Hn as D,Ct as Dt,xn as E,vt as Et,On as F,q as Ft,pn as G,K as Gt,yn as H,Y as Ht,An as I,W as It,nn as J,R as Jt,un as K,k as Kt,Cn as L,J as Lt,Fn as M,oe as Mt,Pn as N,se as Nt,In as O,le as Ot,kn as P,Q as Pt,Qt as Q,j as Qt,En as R,V as Rt,ir as S,Mt as St,Rn as T,Et as Tt,ln as U,z as Ut,bn as V,$ as Vt,hn as W,N as Wt,sn as X,D as Xt,tn as Y,T as Yt,an as Z,L as Zt,Yn as _,Pt as _t,wr as a,C as an,zt as at,Qn as b,kt as bt,hr as c,p as cn,_t as ct,ur as d,Dt as dt,I as en,$t as et,dr as f,jt as ft,Wn as g,xt as gt,qn as h,It as ht,Sr as i,g as in,Wt as it,Ln as j,ce as jt,Bn as k,de as kt,pr as l,f as ln,qt as lt,sr as m,Ht as mt,Er as n,m as nn,Jt as nt,gr as o,O as on,Kt as ot,cr as p,Rt as pt,dn as q,F as qt,Cr as r,w as rn,Yt as rt,fr as s,U as sn,Vt as st,Ur as t,x as tn,Gt as tt,lr as u,y as un,Nt as ut,ar as v,Ft as vt,Dn as w,Ot as wt,er as x,Bt as xt,Gn as y,At as yt,Un as z,X as zt};
package/docs/API.md CHANGED
@@ -8,11 +8,12 @@ constraints, conventions) read [../CLAUDE.md](../CLAUDE.md) first.
8
8
  Import from the **subpath** that owns the symbol, e.g. `import { debounce } from
9
9
  'ranuts/utils'`. The root `ranuts` barrel re-exports the utils + visual surface.
10
10
 
11
- **332 exports** across 5 entry points. Generated at 2026-07-25T10:17:15.788Z.
11
+ **352 exports** across 6 entry points. Generated at 2026-07-25T13:06:04.393Z.
12
12
 
13
13
  ## Entry points
14
14
 
15
- - [`ranuts/utils`](#ranutsutils) — Browser and general-purpose utilities · _browser + node_ · 260 exports
15
+ - [`ranuts/utils`](#ranutsutils) — Browser and general-purpose utilities · _browser + node_ · 271 exports
16
+ - [`ranuts/sw`](#ranutssw) — Service Worker caching strategies and the precache protocol · _service worker only_ · 9 exports
16
17
  - [`ranuts/node`](#ranutsnode) — Node server utilities (fs / http / ws / middleware) · _node only_ · 26 exports
17
18
  - [`ranuts/visual`](#ranutsvisual) — 2D rendering engine (Canvas / WebGL / WebGPU) · _browser only_ · 12 exports
18
19
  - [`ranuts/i18n`](#ranutsi18n) — Framework-agnostic i18n engine (also re-exported from ranuts/utils) · _browser + node_ · 8 exports
@@ -137,6 +138,7 @@ import { /* … */ } from 'ranuts/utils';
137
138
  - `once<T extends Func>(fn: T | unknown) => ((...args: Parameters<T>) => ReturnType<T>)` — Run once — evaluate on the first call, cache the result, and return that
138
139
  - `opacity(img: ImgSource, opacity: number) => ImgSource` — Apply an overall opacity to an image, returning an offscreen canvas.
139
140
  - `openPortBridge({ targetWindow, targetOrigin, name, }: OpenPortBridgeOptions) => PortBridge` — Initiator: create a MessageChannel, hand one port to the target window and keep the other.
141
+ - `paginateText(text: string, box: TextBox, metrics: TextGridMetrics, options?: PaginateOptions) => PaginateResult` — Cut text into pages that fit `box`, given the type metrics.
140
142
  - `parseChineseNumber(value: string) => number | null` — Chinese numerals to Arabic, covering 「十五」「二十三」「一百零三」「一千零一」「三万」.
141
143
  - `parseEnglishNumber(value: string) => number | null` — English ordinals to numbers, tried in order: Arabic digits, number words
142
144
  - `parseRomanNumber(value: string) => number | null` — Roman numerals to Arabic (either case, handling subtractive forms such as IV / IX). Returns null for invalid input.
@@ -153,7 +155,7 @@ import { /* … */ } from 'ranuts/utils';
153
155
  - `readFileAsArrayBuffer(blob: Blob) => Promise<ArrayBuffer>` — Read a File / Blob as an ArrayBuffer
154
156
  - `readFileAsDataURL(blob: Blob) => Promise<string>` — Read a File / Blob as a data: URL (image previews and the like)
155
157
  - `readFileAsText(blob: Blob, encoding?: string) => Promise<string>` — Read a File / Blob as text
156
- - `readFileAsUint8Array(blob: Blob) => Promise<Uint8Array>` — Read a File / Blob as a Uint8Array (pair with checkEncoding / arrayBufferToString for encoding sniffing)
158
+ - `readFileAsUint8Array(blob: Blob) => Promise<Uint8Array<ArrayBuffer>>` — Read a File / Blob as a Uint8Array (pair with checkEncoding / arrayBufferToString for encoding sniffing)
157
159
  - `readZipEntries(bytes: Uint8Array) => ZipEntry[]` — Read an archive's central directory. Returns `[]` for anything that is not
158
160
  - `readZipEntry(bytes: Uint8Array, entry: string | ZipEntry) => Promise<Uint8Array | null>` — Extract one entry's decompressed bytes. Resolves `null` when the entry is
159
161
  - `removeClassToElement(element: Element, removeClass: string) => void` — Remove a class from an element
@@ -174,6 +176,7 @@ import { /* … */ } from 'ranuts/utils';
174
176
  - `roundRectByArc(ctx: CanvasRenderingContext2D, ...[x, y, w, h, r]: number[]) => void` — Trace a rounded rectangle with arc(). A corner radius larger than half the
175
177
  - `scriptOnLoad(urls: string[], append?: HTMLElement, callback?: () => void) => Promise<void>` — Insert script/link tags dynamically
176
178
  - `segmentByRanges<T>(text: string, chunkStart: number, ranges: readonly OffsetRange<T>[]) => Segment<T>[]` — Split one chunk of text into a sequence of plain / matched spans according
179
+ - `serveWorker<Req extends WorkerRequestBase, Res extends object = object, Progress = unknown>(handler: (request: Req, context: WorkerHandlerContext<Progress>) =>…` — Serve requests inside a Web Worker, mirroring {@link WorkerClient} on the
177
180
  - `setAttributeByGlobal(name: string, value: unknown) => void` — Define a property on the global object
178
181
  - `setFontSize2html(designWidth?: number) => void` — Set the root font size from the design mock's width
179
182
  - `setMime(ext: string, mimeType: string) => Map<string, string>`
@@ -232,6 +235,7 @@ import { /* … */ } from 'ranuts/utils';
232
235
  - `interface Handoff`
233
236
  - `interface HandoffOptions`
234
237
  - `interface I18nConfig`
238
+ - `interface IDBCollection` — A store name bound once, values unwrapped, failures folded into the empty case
235
239
  - `interface IDBResult` — The uniform result shape of every IndexedDB operation. Every method
236
240
  - `interface IDBStoreSchema` — Declarative schema for object stores. `openDataBase` creates the missing
237
241
  - `interface JsonStore`
@@ -244,6 +248,8 @@ import { /* … */ } from 'ranuts/utils';
244
248
  - `interface NetworkAllowanceOptions`
245
249
  - `interface OffsetRange` — An annotation in global coordinates: the half-open interval `[start, end)` plus any payload
246
250
  - `interface OpenPortBridgeOptions`
251
+ - `interface PaginateOptions`
252
+ - `interface PaginateResult`
247
253
  - `interface PendingRequest`
248
254
  - `interface PortBridge` — A point-to-point bridge over MessagePort.
249
255
  - `interface PrefetchOptions`
@@ -251,13 +257,19 @@ import { /* … */ } from 'ranuts/utils';
251
257
  - `interface ResolveLocaleOptions`
252
258
  - `interface RewriteZipOptions`
253
259
  - `interface Segment` — One piece of the split result: `value === null` marks a plain span covered by no range
260
+ - `interface ServeWorkerOptions`
254
261
  - `interface SingleFlight`
255
262
  - `interface SpeedType` — The ease-in / ease-out pair of one easing family
263
+ - `interface TextBox` — The box each page must fit into, in px.
264
+ - `interface TextGridMetrics`
265
+ - `interface TextPage`
256
266
  - `interface Throttled`
257
267
  - `interface TransformText`
258
268
  - `interface WebDBOptions`
259
269
  - `interface WhenIdleOptions`
260
270
  - `interface WorkerClientOptions`
271
+ - `interface WorkerHandlerContext` — Handed to the handler so it can stream progress for the request it is currently serving
272
+ - `interface WorkerRequestBase` — A request always carries the id the client stamped on it
261
273
  - `interface WorkerResponseBase` — A response must at least echo the request id so the two can be paired
262
274
  - `interface ZipEntry` — One entry as described by the archive's central directory.
263
275
 
@@ -301,6 +313,29 @@ import { /* … */ } from 'ranuts/utils';
301
313
  - `const ZIP_DEFLATE: 8`
302
314
  - `const ZIP_STORED: 0` — Compression methods this module understands.
303
315
 
316
+ ## `ranuts/sw`
317
+
318
+ Service Worker caching strategies and the precache protocol · runtime: **service worker only** · source: `src/sw/index.ts`
319
+
320
+ ```ts
321
+ import { /* … */ } from 'ranuts/sw';
322
+ ```
323
+
324
+ ### Functions
325
+
326
+ - `cacheFirst(request: Request, options: CacheStrategyOptions) => Promise<Response>` — Cache-first: serve the stored copy when there is one, otherwise fetch and
327
+ - `dropCachesExcept(keep: readonly string[], options?: { scope?: SWScope; }) => Promise<string[]>` — Delete every cache except the ones named. Call it on `activate` so a new
328
+ - `networkFirst(request: Request, options: CacheStrategyOptions) => Promise<Response>` — Network-first: go to the network, store what comes back, and fall back to the
329
+ - `precache(cacheName: string, urls: readonly string[], options?: { scope?: SWScope; }) => Promise<void>` — Fill a cache with a list of URLs, skipping what is already there. Failures are
330
+ - `servePrecache(options: ServePrecacheOptions) => (() => void)` — Answer the precache messages that `prefetchUrls({ serviceWorkerMessage })`
331
+
332
+ ### Interfaces
333
+
334
+ - `interface CacheStrategyOptions`
335
+ - `interface PrecacheMessageEvent` — The bit of `ExtendableMessageEvent` used here, declared locally rather than pulled from
336
+ - `interface ServePrecacheOptions`
337
+ - `interface SWScope` — Minimal view of the SW global the helpers touch, so they can be unit-tested with a stub.
338
+
304
339
  ## `ranuts/node`
305
340
 
306
341
  Node server utilities (fs / http / ws / middleware) · runtime: **node only** · source: `src/node/index.ts`