@loaders.gl/tile-converter 4.5.1 → 4.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/converter.min.cjs +3 -3
- package/package.json +17 -17
package/dist/converter.min.cjs
CHANGED
|
@@ -151,13 +151,13 @@ Calls to async() callback can have unexpected results.`),l=!0,function(h,m){h?u(
|
|
|
151
151
|
|| ${o} === "boolean" || ${a} === null`).assign(s,(0,Ct._)`[${a}]`)}}}function SFt({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,Ct._)`${t} !== undefined`,()=>e.assign((0,Ct._)`${t}[${r}]`,n))}function hz(e,t,r,n=ub.Correct){let a=n===ub.Correct?Ct.operators.EQ:Ct.operators.NEQ,i;switch(e){case"null":return(0,Ct._)`${t} ${a} null`;case"array":i=(0,Ct._)`Array.isArray(${t})`;break;case"object":i=(0,Ct._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":i=o((0,Ct._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":i=o();break;default:return(0,Ct._)`typeof ${t} ${a} ${e}`}return n===ub.Correct?i:(0,Ct.not)(i);function o(s=Ct.nil){return(0,Ct.and)((0,Ct._)`typeof ${t} == "number"`,s,r?(0,Ct._)`isFinite(${t})`:Ct.nil)}}Ya.checkDataType=hz;function mz(e,t,r,n){if(e.length===1)return hz(e[0],t,r,n);let a,i=(0,pEe.toHash)(e);if(i.array&&i.object){let o=(0,Ct._)`typeof ${t} != "object"`;a=i.null?o:(0,Ct._)`!${t} || ${o}`,delete i.null,delete i.array,delete i.object}else a=Ct.nil;i.number&&delete i.integer;for(let o in i)a=(0,Ct.and)(a,hz(o,t,r,n));return a}Ya.checkDataTypes=mz;var AFt={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,Ct._)`{type: ${e}}`:(0,Ct._)`{type: ${t}}`};function gz(e){let t=kFt(e);(0,yFt.reportError)(t,AFt)}Ya.reportTypeError=gz;function kFt(e){let{gen:t,data:r,schema:n}=e,a=(0,pEe.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:a,schemaValue:a,parentSchema:n,params:{},it:e}}});var gEe=b(Vk=>{"use strict";Object.defineProperty(Vk,"__esModule",{value:!0});Vk.assignDefaults=void 0;var lb=Mt(),DFt=ar();function OFt(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let a in r)mEe(e,a,r[a].default);else t==="array"&&Array.isArray(n)&&n.forEach((a,i)=>mEe(e,i,a.default))}Vk.assignDefaults=OFt;function mEe(e,t,r){let{gen:n,compositeRule:a,data:i,opts:o}=e;if(r===void 0)return;let s=(0,lb._)`${i}${(0,lb.getProperty)(t)}`;if(a){(0,DFt.checkStrictMode)(e,`default is ignored for: ${s}`);return}let c=(0,lb._)`${s} === undefined`;o.useDefaults==="empty"&&(c=(0,lb._)`${c} || ${s} === null || ${s} === ""`),n.if(c,(0,lb._)`${s} = ${(0,lb.stringify)(r)}`)}});var Ho=b(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.validateUnion=kr.validateArray=kr.usePattern=kr.callValidateCode=kr.schemaProperties=kr.allSchemaProperties=kr.noPropertyInData=kr.propertyInData=kr.isOwnProperty=kr.hasPropFunc=kr.reportMissingProp=kr.checkMissingProp=kr.checkReportMissingProp=void 0;var Yr=Mt(),bz=ar(),rp=gl(),FFt=ar();function PFt(e,t){let{gen:r,data:n,it:a}=e;r.if(xz(r,n,t,a.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Yr._)`${t}`},!0),e.error()})}kr.checkReportMissingProp=PFt;function CFt({gen:e,data:t,it:{opts:r}},n,a){return(0,Yr.or)(...n.map(i=>(0,Yr.and)(xz(e,t,i,r.ownProperties),(0,Yr._)`${a} = ${i}`)))}kr.checkMissingProp=CFt;function IFt(e,t){e.setParams({missingProperty:t},!0),e.error()}kr.reportMissingProp=IFt;function bEe(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Yr._)`Object.prototype.hasOwnProperty`})}kr.hasPropFunc=bEe;function vz(e,t,r){return(0,Yr._)`${bEe(e)}.call(${t}, ${r})`}kr.isOwnProperty=vz;function jFt(e,t,r,n){let a=(0,Yr._)`${t}${(0,Yr.getProperty)(r)} !== undefined`;return n?(0,Yr._)`${a} && ${vz(e,t,r)}`:a}kr.propertyInData=jFt;function xz(e,t,r,n){let a=(0,Yr._)`${t}${(0,Yr.getProperty)(r)} === undefined`;return n?(0,Yr.or)(a,(0,Yr.not)(vz(e,t,r))):a}kr.noPropertyInData=xz;function vEe(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}kr.allSchemaProperties=vEe;function RFt(e,t){return vEe(t).filter(r=>!(0,bz.alwaysValidSchema)(e,t[r]))}kr.schemaProperties=RFt;function LFt({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:a,errorPath:i},it:o},s,c,u){let l=u?(0,Yr._)`${e}, ${t}, ${n}${a}`:t,f=[[rp.default.instancePath,(0,Yr.strConcat)(rp.default.instancePath,i)],[rp.default.parentData,o.parentData],[rp.default.parentDataProperty,o.parentDataProperty],[rp.default.rootData,rp.default.rootData]];o.opts.dynamicRef&&f.push([rp.default.dynamicAnchors,rp.default.dynamicAnchors]);let p=(0,Yr._)`${l}, ${r.object(...f)}`;return c!==Yr.nil?(0,Yr._)`${s}.call(${c}, ${p})`:(0,Yr._)`${s}(${p})`}kr.callValidateCode=LFt;var BFt=(0,Yr._)`new RegExp`;function MFt({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:a}=t.code,i=a(r,n);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Yr._)`${a.code==="new RegExp"?BFt:(0,FFt.useFunc)(e,a)}(${r}, ${n})`})}kr.usePattern=MFt;function qFt(e){let{gen:t,data:r,keyword:n,it:a}=e,i=t.name("valid");if(a.allErrors){let s=t.let("valid",!0);return o(()=>t.assign(s,!1)),s}return t.var(i,!0),o(()=>t.break()),i;function o(s){let c=t.const("len",(0,Yr._)`${r}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:n,dataProp:u,dataPropType:bz.Type.Num},i),t.if((0,Yr.not)(i),s)})}}kr.validateArray=qFt;function NFt(e){let{gen:t,schema:r,keyword:n,it:a}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,bz.alwaysValidSchema)(a,c))&&!a.opts.unevaluated)return;let o=t.let("valid",!1),s=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let l=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},s);t.assign(o,(0,Yr._)`${o} || ${s}`),e.mergeValidEvaluated(l,s)||t.if((0,Yr.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}kr.validateUnion=NFt});var _Ee=b(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.validateKeywordUsage=Qc.validSchemaType=Qc.funcKeywordCode=Qc.macroKeywordCode=void 0;var di=Mt(),oh=gl(),zFt=Ho(),UFt=Yy();function GFt(e,t){let{gen:r,keyword:n,schema:a,parentSchema:i,it:o}=e,s=t.macro.call(o.self,a,i,o),c=yEe(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let u=r.name("valid");e.subschema({schema:s,schemaPath:di.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}Qc.macroKeywordCode=GFt;function VFt(e,t){var r;let{gen:n,keyword:a,schema:i,parentSchema:o,$data:s,it:c}=e;HFt(c,t);let u=!s&&t.compile?t.compile.call(c.self,i,o,c):t.validate,l=yEe(n,a,u),f=n.let("valid");e.block$data(f,p),e.ok((r=t.valid)!==null&&r!==void 0?r:f);function p(){if(t.errors===!1)m(),t.modifying&&xEe(e),g(()=>e.error());else{let x=t.async?d():h();t.modifying&&xEe(e),g(()=>$Ft(e,x))}}function d(){let x=n.let("ruleErrs",null);return n.try(()=>m((0,di._)`await `),y=>n.assign(f,!1).if((0,di._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(x,(0,di._)`${y}.errors`),()=>n.throw(y))),x}function h(){let x=(0,di._)`${l}.errors`;return n.assign(x,null),m(di.nil),x}function m(x=t.async?(0,di._)`await `:di.nil){let y=c.opts.passContext?oh.default.this:oh.default.self,_=!("compile"in t&&!s||t.schema===!1);n.assign(f,(0,di._)`${x}${(0,zFt.callValidateCode)(e,l,y,_)}`,t.modifying)}function g(x){var y;n.if((0,di.not)((y=t.valid)!==null&&y!==void 0?y:f),x)}}Qc.funcKeywordCode=VFt;function xEe(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,di._)`${n.parentData}[${n.parentDataProperty}]`))}function $Ft(e,t){let{gen:r}=e;r.if((0,di._)`Array.isArray(${t})`,()=>{r.assign(oh.default.vErrors,(0,di._)`${oh.default.vErrors} === null ? ${t} : ${oh.default.vErrors}.concat(${t})`).assign(oh.default.errors,(0,di._)`${oh.default.vErrors}.length`),(0,UFt.extendErrors)(e)},()=>e.error())}function HFt({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function yEe(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,di.stringify)(r)})}function WFt(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}Qc.validSchemaType=WFt;function KFt({schema:e,opts:t,self:r,errSchemaPath:n},a,i){if(Array.isArray(a.keyword)?!a.keyword.includes(i):a.keyword!==i)throw new Error("ajv implementation error");let o=a.dependencies;if(o!=null&&o.some(s=>!Object.prototype.hasOwnProperty.call(e,s)))throw new Error(`parent schema must have dependencies of ${i}: ${o.join(",")}`);if(a.validateSchema&&!a.validateSchema(e[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(a.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Qc.validateKeywordUsage=KFt});var TEe=b(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});np.extendSubschemaMode=np.extendSubschemaData=np.getSubschema=void 0;var Jc=Mt(),wEe=ar();function XFt(e,{keyword:t,schemaProp:r,schema:n,schemaPath:a,errSchemaPath:i,topSchemaRef:o}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let s=e.schema[t];return r===void 0?{schema:s,schemaPath:(0,Jc._)`${e.schemaPath}${(0,Jc.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,Jc._)`${e.schemaPath}${(0,Jc.getProperty)(t)}${(0,Jc.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,wEe.escapeFragment)(r)}`}}if(n!==void 0){if(a===void 0||i===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:a,topSchemaRef:o,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}np.getSubschema=XFt;function YFt(e,t,{dataProp:r,dataPropType:n,data:a,dataTypes:i,propertyName:o}){if(a!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=t;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:f}=t,p=s.let("data",(0,Jc._)`${t.data}${(0,Jc.getProperty)(r)}`,!0);c(p),e.errorPath=(0,Jc.str)`${u}${(0,wEe.getErrorPath)(r,n,f.jsPropertySyntax)}`,e.parentDataProperty=(0,Jc._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(a!==void 0){let u=a instanceof Jc.Name?a:s.let("data",a,!0);c(u),o!==void 0&&(e.propertyName=o)}i&&(e.dataTypes=i);function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}np.extendSubschemaData=YFt;function QFt(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:a,allErrors:i}){n!==void 0&&(e.compositeRule=n),a!==void 0&&(e.createErrors=a),i!==void 0&&(e.allErrors=i),e.jtdDiscriminator=t,e.jtdMetadata=r}np.extendSubschemaMode=QFt});var SEe=b((Cgr,EEe)=>{"use strict";var ap=EEe.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},a=r.post||function(){};$k(t,n,a,e,"",e)};ap.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ap.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ap.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ap.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function $k(e,t,r,n,a,i,o,s,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,a,i,o,s,c,u);for(var l in n){var f=n[l];if(Array.isArray(f)){if(l in ap.arrayKeywords)for(var p=0;p<f.length;p++)$k(e,t,r,f[p],a+"/"+l+"/"+p,i,a,l,n,p)}else if(l in ap.propsKeywords){if(f&&typeof f=="object")for(var d in f)$k(e,t,r,f[d],a+"/"+l+"/"+JFt(d),i,a,l,n,d)}else(l in ap.keywords||e.allKeys&&!(l in ap.skipKeywords))&&$k(e,t,r,f,a+"/"+l,i,a,l,n)}r(n,a,i,o,s,c,u)}}function JFt(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var Jy=b(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.getSchemaRefs=Ri.resolveUrl=Ri.normalizeId=Ri._getFullPath=Ri.getFullPath=Ri.inlineRef=void 0;var ZFt=ar(),ePt=t0(),tPt=SEe(),rPt=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function nPt(e,t=!0){return typeof e=="boolean"?!0:t===!0?!yz(e):t?AEe(e)<=t:!1}Ri.inlineRef=nPt;var aPt=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function yz(e){for(let t in e){if(aPt.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(yz)||typeof r=="object"&&yz(r))return!0}return!1}function AEe(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!rPt.has(r)&&(typeof e[r]=="object"&&(0,ZFt.eachItem)(e[r],n=>t+=AEe(n)),t===1/0))return 1/0}return t}function kEe(e,t="",r){r!==!1&&(t=fb(t));let n=e.parse(t);return DEe(e,n)}Ri.getFullPath=kEe;function DEe(e,t){return e.serialize(t).split("#")[0]+"#"}Ri._getFullPath=DEe;var iPt=/#\/?$/;function fb(e){return e?e.replace(iPt,""):""}Ri.normalizeId=fb;function oPt(e,t,r){return r=fb(r),e.resolve(t,r)}Ri.resolveUrl=oPt;var sPt=/^[a-z_][-a-z0-9._]*$/i;function cPt(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,a=fb(e[r]||t),i={"":a},o=kEe(n,a,!1),s={},c=new Set;return tPt(e,{allKeys:!0},(f,p,d,h)=>{if(h===void 0)return;let m=o+p,g=i[h];typeof f[r]=="string"&&(g=x.call(this,f[r])),y.call(this,f.$anchor),y.call(this,f.$dynamicAnchor),i[p]=g;function x(_){let S=this.opts.uriResolver.resolve;if(_=fb(g?S(g,_):_),c.has(_))throw l(_);c.add(_);let T=this.refs[_];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?u(f,T.schema,_):_!==fb(m)&&(_[0]==="#"?(u(f,s[_],_),s[_]=f):this.refs[_]=m),_}function y(_){if(typeof _=="string"){if(!sPt.test(_))throw new Error(`invalid anchor "${_}"`);x.call(this,`#${_}`)}}}),s;function u(f,p,d){if(p!==void 0&&!ePt(f,p))throw l(d)}function l(f){return new Error(`reference "${f}" resolves to more than one schema`)}}Ri.getSchemaRefs=cPt});var t_=b(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.getData=ip.KeywordCxt=ip.validateFunctionCode=void 0;var IEe=uEe(),OEe=Qy(),wz=dz(),Hk=Qy(),uPt=gEe(),e_=_Ee(),_z=TEe(),at=Mt(),_t=gl(),lPt=Jy(),bl=ar(),Zy=Yy();function fPt(e){if(LEe(e)&&(BEe(e),REe(e))){hPt(e);return}jEe(e,()=>(0,IEe.topBoolOrEmptySchema)(e))}ip.validateFunctionCode=fPt;function jEe({gen:e,validateName:t,schema:r,schemaEnv:n,opts:a},i){a.code.es5?e.func(t,(0,at._)`${_t.default.data}, ${_t.default.valCxt}`,n.$async,()=>{e.code((0,at._)`"use strict"; ${FEe(r,a)}`),dPt(e,a),e.code(i)}):e.func(t,(0,at._)`${_t.default.data}, ${pPt(a)}`,n.$async,()=>e.code(FEe(r,a)).code(i))}function pPt(e){return(0,at._)`{${_t.default.instancePath}="", ${_t.default.parentData}, ${_t.default.parentDataProperty}, ${_t.default.rootData}=${_t.default.data}${e.dynamicRef?(0,at._)`, ${_t.default.dynamicAnchors}={}`:at.nil}}={}`}function dPt(e,t){e.if(_t.default.valCxt,()=>{e.var(_t.default.instancePath,(0,at._)`${_t.default.valCxt}.${_t.default.instancePath}`),e.var(_t.default.parentData,(0,at._)`${_t.default.valCxt}.${_t.default.parentData}`),e.var(_t.default.parentDataProperty,(0,at._)`${_t.default.valCxt}.${_t.default.parentDataProperty}`),e.var(_t.default.rootData,(0,at._)`${_t.default.valCxt}.${_t.default.rootData}`),t.dynamicRef&&e.var(_t.default.dynamicAnchors,(0,at._)`${_t.default.valCxt}.${_t.default.dynamicAnchors}`)},()=>{e.var(_t.default.instancePath,(0,at._)`""`),e.var(_t.default.parentData,(0,at._)`undefined`),e.var(_t.default.parentDataProperty,(0,at._)`undefined`),e.var(_t.default.rootData,_t.default.data),t.dynamicRef&&e.var(_t.default.dynamicAnchors,(0,at._)`{}`)})}function hPt(e){let{schema:t,opts:r,gen:n}=e;jEe(e,()=>{r.$comment&&t.$comment&&qEe(e),xPt(e),n.let(_t.default.vErrors,null),n.let(_t.default.errors,0),r.unevaluated&&mPt(e),MEe(e),wPt(e)})}function mPt(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,at._)`${r}.evaluated`),t.if((0,at._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,at._)`${e.evaluated}.props`,(0,at._)`undefined`)),t.if((0,at._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,at._)`${e.evaluated}.items`,(0,at._)`undefined`))}function FEe(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,at._)`/*# sourceURL=${r} */`:at.nil}function gPt(e,t){if(LEe(e)&&(BEe(e),REe(e))){bPt(e,t);return}(0,IEe.boolOrEmptySchema)(e,t)}function REe({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function LEe(e){return typeof e.schema!="boolean"}function bPt(e,t){let{schema:r,gen:n,opts:a}=e;a.$comment&&r.$comment&&qEe(e),yPt(e),_Pt(e);let i=n.const("_errs",_t.default.errors);MEe(e,i),n.var(t,(0,at._)`${i} === ${_t.default.errors}`)}function BEe(e){(0,bl.checkUnknownRules)(e),vPt(e)}function MEe(e,t){if(e.opts.jtd)return PEe(e,[],!1,t);let r=(0,OEe.getSchemaTypes)(e.schema),n=(0,OEe.coerceAndCheckDataType)(e,r);PEe(e,r,!n,t)}function vPt(e){let{schema:t,errSchemaPath:r,opts:n,self:a}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,bl.schemaHasRulesButRef)(t,a.RULES)&&a.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function xPt(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,bl.checkStrictMode)(e,"default is ignored in the schema root")}function yPt(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,lPt.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function _Pt(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function qEe({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:a}){let i=r.$comment;if(a.$comment===!0)e.code((0,at._)`${_t.default.self}.logger.log(${i})`);else if(typeof a.$comment=="function"){let o=(0,at.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,at._)`${_t.default.self}.opts.$comment(${i}, ${o}, ${s}.schema)`)}}function wPt(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:a,opts:i}=e;r.$async?t.if((0,at._)`${_t.default.errors} === 0`,()=>t.return(_t.default.data),()=>t.throw((0,at._)`new ${a}(${_t.default.vErrors})`)):(t.assign((0,at._)`${n}.errors`,_t.default.vErrors),i.unevaluated&&TPt(e),t.return((0,at._)`${_t.default.errors} === 0`))}function TPt({gen:e,evaluated:t,props:r,items:n}){r instanceof at.Name&&e.assign((0,at._)`${t}.props`,r),n instanceof at.Name&&e.assign((0,at._)`${t}.items`,n)}function PEe(e,t,r,n){let{gen:a,schema:i,data:o,allErrors:s,opts:c,self:u}=e,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,bl.schemaHasRulesButRef)(i,l))){a.block(()=>zEe(e,"$ref",l.all.$ref.definition));return}c.jtd||EPt(e,t),a.block(()=>{for(let p of l.rules)f(p);f(l.post)});function f(p){(0,wz.shouldUseGroup)(i,p)&&(p.type?(a.if((0,Hk.checkDataType)(p.type,o,c.strictNumbers)),CEe(e,p),t.length===1&&t[0]===p.type&&r&&(a.else(),(0,Hk.reportTypeError)(e)),a.endIf()):CEe(e,p),s||a.if((0,at._)`${_t.default.errors} === ${n||0}`))}}function CEe(e,t){let{gen:r,schema:n,opts:{useDefaults:a}}=e;a&&(0,uPt.assignDefaults)(e,t.type),r.block(()=>{for(let i of t.rules)(0,wz.shouldUseRule)(n,i)&&zEe(e,i.keyword,i.definition,t.type)})}function EPt(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(SPt(e,t),e.opts.allowUnionTypes||APt(e,t),kPt(e,e.dataTypes))}function SPt(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{NEe(e.dataTypes,r)||Tz(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),OPt(e,t)}}function APt(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Tz(e,"use allowUnionTypes to allow union type keyword")}function kPt(e,t){let r=e.self.RULES.all;for(let n in r){let a=r[n];if(typeof a=="object"&&(0,wz.shouldUseRule)(e.schema,a)){let{type:i}=a.definition;i.length&&!i.some(o=>DPt(t,o))&&Tz(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function DPt(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function NEe(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function OPt(e,t){let r=[];for(let n of e.dataTypes)NEe(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function Tz(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,bl.checkStrictMode)(e,t,e.opts.strictTypes)}var Wk=class{constructor(t,r,n){if((0,e_.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,bl.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",UEe(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,e_.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",_t.default.errors))}result(t,r,n){this.failResult((0,at.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,at.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,at._)`${r} !== undefined && (${(0,at.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?Zy.reportExtraError:Zy.reportError)(this,this.def.error,r)}$dataError(){(0,Zy.reportError)(this,this.def.$dataError||Zy.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Zy.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=at.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=at.nil,r=at.nil){if(!this.$data)return;let{gen:n,schemaCode:a,schemaType:i,def:o}=this;n.if((0,at.or)((0,at._)`${a} === undefined`,r)),t!==at.nil&&n.assign(t,!0),(i.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==at.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:a,it:i}=this;return(0,at.or)(o(),s());function o(){if(n.length){if(!(r instanceof at.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,at._)`${(0,Hk.checkDataTypes)(c,r,i.opts.strictNumbers,Hk.DataType.Wrong)}`}return at.nil}function s(){if(a.validateSchema){let c=t.scopeValue("validate$data",{ref:a.validateSchema});return(0,at._)`!${c}(${r})`}return at.nil}}subschema(t,r){let n=(0,_z.getSubschema)(this.it,t);(0,_z.extendSubschemaData)(n,this.it,t),(0,_z.extendSubschemaMode)(n,t);let a={...this.it,...n,items:void 0,props:void 0};return gPt(a,r),a}mergeEvaluated(t,r){let{it:n,gen:a}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=bl.mergeEvaluated.props(a,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=bl.mergeEvaluated.items(a,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:a}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return a.if(r,()=>this.mergeEvaluated(t,at.Name)),!0}};ip.KeywordCxt=Wk;function zEe(e,t,r,n){let a=new Wk(e,r,t);"code"in r?r.code(a,n):a.$data&&r.validate?(0,e_.funcKeywordCode)(a,r):"macro"in r?(0,e_.macroKeywordCode)(a,r):(r.compile||r.validate)&&(0,e_.funcKeywordCode)(a,r)}var FPt=/^\/(?:[^~]|~0|~1)*$/,PPt=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function UEe(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let a,i;if(e==="")return _t.default.rootData;if(e[0]==="/"){if(!FPt.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);a=e,i=_t.default.rootData}else{let u=PPt.exec(e);if(!u)throw new Error(`Invalid JSON-pointer: ${e}`);let l=+u[1];if(a=u[2],a==="#"){if(l>=t)throw new Error(c("property/index",l));return n[t-l]}if(l>t)throw new Error(c("data",l));if(i=r[t-l],!a)return i}let o=i,s=a.split("/");for(let u of s)u&&(i=(0,at._)`${i}${(0,at.getProperty)((0,bl.unescapeJsonPointer)(u))}`,o=(0,at._)`${o} && ${i}`);return o;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${t}`}}ip.getData=UEe});var Kk=b(Sz=>{"use strict";Object.defineProperty(Sz,"__esModule",{value:!0});var Ez=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};Sz.default=Ez});var r_=b(Dz=>{"use strict";Object.defineProperty(Dz,"__esModule",{value:!0});var Az=Jy(),kz=class extends Error{constructor(t,r,n,a){super(a||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Az.resolveUrl)(t,r,n),this.missingSchema=(0,Az.normalizeId)((0,Az.getFullPath)(t,this.missingRef))}};Dz.default=kz});var Yk=b(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.resolveSchema=Wo.getCompilingSchema=Wo.resolveRef=Wo.compileSchema=Wo.SchemaEnv=void 0;var Ms=Mt(),CPt=Kk(),sh=gl(),qs=Jy(),GEe=ar(),IPt=t_(),pb=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,qs.normalizeId)(n==null?void 0:n[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n==null?void 0:n.$async,this.refs={}}};Wo.SchemaEnv=pb;function Fz(e){let t=VEe.call(this,e);if(t)return t;let r=(0,qs.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:a}=this.opts.code,{ownProperties:i}=this.opts,o=new Ms.CodeGen(this.scope,{es5:n,lines:a,ownProperties:i}),s;e.$async&&(s=o.scopeValue("Error",{ref:CPt.default,code:(0,Ms._)`require("ajv/dist/runtime/validation_error").default`}));let c=o.scopeName("validate");e.validateName=c;let u={gen:o,allErrors:this.opts.allErrors,data:sh.default.data,parentData:sh.default.parentData,parentDataProperty:sh.default.parentDataProperty,dataNames:[sh.default.data],dataPathArr:[Ms.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Ms.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Ms.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ms._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,IPt.validateFunctionCode)(u),o.optimize(this.opts.code.optimize);let f=o.toString();l=`${o.scopeRefs(sh.default.scope)}return ${f}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let d=new Function(`${sh.default.self}`,`${sh.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:d}),d.errors=null,d.schema=e.schema,d.schemaEnv=e,e.$async&&(d.$async=!0),this.opts.code.source===!0&&(d.source={validateName:c,validateCode:f,scopeValues:o._values}),this.opts.unevaluated){let{props:h,items:m}=u;d.evaluated={props:h instanceof Ms.Name?void 0:h,items:m instanceof Ms.Name?void 0:m,dynamicProps:h instanceof Ms.Name,dynamicItems:m instanceof Ms.Name},d.source&&(d.source.evaluated=(0,Ms.stringify)(d.evaluated))}return e.validate=d,e}catch(f){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),f}finally{this._compilations.delete(e)}}Wo.compileSchema=Fz;function jPt(e,t,r){var n;r=(0,qs.resolveUrl)(this.opts.uriResolver,t,r);let a=e.refs[r];if(a)return a;let i=BPt.call(this,e,r);if(i===void 0){let o=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;o&&(i=new pb({schema:o,schemaId:s,root:e,baseId:t}))}if(i!==void 0)return e.refs[r]=RPt.call(this,i)}Wo.resolveRef=jPt;function RPt(e){return(0,qs.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Fz.call(this,e)}function VEe(e){for(let t of this._compilations)if(LPt(t,e))return t}Wo.getCompilingSchema=VEe;function LPt(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function BPt(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||Xk.call(this,e,t)}function Xk(e,t){let r=this.opts.uriResolver.parse(t),n=(0,qs._getFullPath)(this.opts.uriResolver,r),a=(0,qs.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===a)return Oz.call(this,r,e);let i=(0,qs.normalizeId)(n),o=this.refs[i]||this.schemas[i];if(typeof o=="string"){let s=Xk.call(this,e,o);return typeof(s==null?void 0:s.schema)!="object"?void 0:Oz.call(this,r,s)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||Fz.call(this,o),i===(0,qs.normalizeId)(t)){let{schema:s}=o,{schemaId:c}=this.opts,u=s[c];return u&&(a=(0,qs.resolveUrl)(this.opts.uriResolver,a,u)),new pb({schema:s,schemaId:c,root:e,baseId:a})}return Oz.call(this,r,o)}}Wo.resolveSchema=Xk;var MPt=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Oz(e,{baseId:t,schema:r,root:n}){var a;if(((a=e.fragment)===null||a===void 0?void 0:a[0])!=="/")return;for(let s of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,GEe.unescapeFragment)(s)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!MPt.has(s)&&u&&(t=(0,qs.resolveUrl)(this.opts.uriResolver,t,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,GEe.schemaHasRulesButRef)(r,this.RULES)){let s=(0,qs.resolveUrl)(this.opts.uriResolver,t,r.$ref);i=Xk.call(this,n,s)}let{schemaId:o}=this.opts;if(i=i||new pb({schema:r,schemaId:o,root:n,baseId:t}),i.schema!==i.root.schema)return i}});var $Ee=b((Mgr,qPt)=>{qPt.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Cz=b((qgr,XEe)=>{"use strict";var NPt=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),WEe=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function Pz(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var zPt=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function HEe(e){return e.length=0,!0}function UPt(e,t,r){if(e.length){let n=Pz(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function GPt(e){let t=0,r={error:!1,address:"",zone:""},n=[],a=[],i=!1,o=!1,s=UPt;for(let c=0;c<e.length;c++){let u=e[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(o=!0),!s(a,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!s(a,n,r))break;s=HEe}else{a.push(u);continue}}return a.length&&(s===HEe?r.zone=a.join(""):o?n.push(a.join("")):n.push(Pz(a))),r.address=n.join(""),r}function KEe(e){if(VPt(e,":")<2)return{host:e,isIPV6:!1};let t=GPt(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function VPt(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function $Pt(e){let t=e,r=[],n=-1,a=0;for(;a=t.length;){if(a===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(a===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(a===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}function HPt(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function WPt(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!WEe(r)){let n=KEe(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=e.host}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}XEe.exports={nonSimpleDomain:zPt,recomposeAuthority:WPt,normalizeComponentEncoding:HPt,removeDotSegments:$Pt,isIPv4:WEe,isUUID:NPt,normalizeIPv6:KEe,stringArrayToHexStripped:Pz}});var e3e=b((Ngr,ZEe)=>{"use strict";var{isUUID:KPt}=Cz(),XPt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,YPt=["http","https","ws","wss","urn","urn:uuid"];function QPt(e){return YPt.indexOf(e)!==-1}function Iz(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function YEe(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function QEe(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function JPt(e){return e.secure=Iz(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function ZPt(e){if((e.port===(Iz(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function eCt(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(XPt);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let a=`${n}:${t.nid||e.nid}`,i=jz(a);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function tCt(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),a=`${r}:${t.nid||n}`,i=jz(a);i&&(e=i.serialize(e,t));let o=e,s=e.nss;return o.path=`${n||t.nid}:${s}`,t.skipEscape=!0,o}function rCt(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!KPt(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function nCt(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var JEe={scheme:"http",domainHost:!0,parse:YEe,serialize:QEe},aCt={scheme:"https",domainHost:JEe.domainHost,parse:YEe,serialize:QEe},Qk={scheme:"ws",domainHost:!0,parse:JPt,serialize:ZPt},iCt={scheme:"wss",domainHost:Qk.domainHost,parse:Qk.parse,serialize:Qk.serialize},oCt={scheme:"urn",parse:eCt,serialize:tCt,skipNormalize:!0},sCt={scheme:"urn:uuid",parse:rCt,serialize:nCt,skipNormalize:!0},Jk={http:JEe,https:aCt,ws:Qk,wss:iCt,urn:oCt,"urn:uuid":sCt};Object.setPrototypeOf(Jk,null);function jz(e){return e&&(Jk[e]||Jk[e.toLowerCase()])||void 0}ZEe.exports={wsIsSecure:Iz,SCHEMES:Jk,isValidSchemeName:QPt,getSchemeHandler:jz}});var n3e=b((zgr,e4)=>{"use strict";var{normalizeIPv6:cCt,removeDotSegments:n_,recomposeAuthority:uCt,normalizeComponentEncoding:Zk,isIPv4:lCt,nonSimpleDomain:fCt}=Cz(),{SCHEMES:pCt,getSchemeHandler:t3e}=e3e();function dCt(e,t){return typeof e=="string"?e=Zc(vl(e,t),t):typeof e=="object"&&(e=vl(Zc(e,t),t)),e}function hCt(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},a=r3e(vl(e,n),vl(t,n),n,!0);return n.skipEscape=!0,Zc(a,n)}function r3e(e,t,r,n){let a={};return n||(e=vl(Zc(e,r),r),t=vl(Zc(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(a.scheme=t.scheme,a.userinfo=t.userinfo,a.host=t.host,a.port=t.port,a.path=n_(t.path||""),a.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(a.userinfo=t.userinfo,a.host=t.host,a.port=t.port,a.path=n_(t.path||""),a.query=t.query):(t.path?(t.path[0]==="/"?a.path=n_(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?a.path="/"+t.path:e.path?a.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:a.path=t.path,a.path=n_(a.path)),a.query=t.query):(a.path=e.path,t.query!==void 0?a.query=t.query:a.query=e.query),a.userinfo=e.userinfo,a.host=e.host,a.port=e.port),a.scheme=e.scheme),a.fragment=t.fragment,a}function mCt(e,t,r){return typeof e=="string"?(e=unescape(e),e=Zc(Zk(vl(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Zc(Zk(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=Zc(Zk(vl(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Zc(Zk(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function Zc(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),a=[],i=t3e(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&a.push(r.scheme,":");let o=uCt(r);if(o!==void 0&&(n.reference!=="suffix"&&a.push("//"),a.push(o),r.path&&r.path[0]!=="/"&&a.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(s=n_(s)),o===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),a.push(s)}return r.query!==void 0&&a.push("?",r.query),r.fragment!==void 0&&a.push("#",r.fragment),a.join("")}var gCt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function vl(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},a=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let i=e.match(gCt);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(lCt(n.host)===!1){let c=cCt(n.host);n.host=c.host.toLowerCase(),a=c.isIPV6}else a=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let o=t3e(r.scheme||n.scheme);if(!r.unicodeSupport&&(!o||!o.unicodeSupport)&&n.host&&(r.domainHost||o&&o.domainHost)&&a===!1&&fCt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(s){n.error=n.error||"Host's domain name can not be converted to ASCII: "+s}(!o||o&&!o.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),o&&o.parse&&o.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var Rz={SCHEMES:pCt,normalize:dCt,resolve:hCt,resolveComponent:r3e,equal:mCt,serialize:Zc,parse:vl};e4.exports=Rz;e4.exports.default=Rz;e4.exports.fastUri=Rz});var i3e=b(Lz=>{"use strict";Object.defineProperty(Lz,"__esModule",{value:!0});var a3e=n3e();a3e.code='require("ajv/dist/runtime/uri").default';Lz.default=a3e});var d3e=b(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.CodeGen=Fa.Name=Fa.nil=Fa.stringify=Fa.str=Fa._=Fa.KeywordCxt=void 0;var bCt=t_();Object.defineProperty(Fa,"KeywordCxt",{enumerable:!0,get:function(){return bCt.KeywordCxt}});var db=Mt();Object.defineProperty(Fa,"_",{enumerable:!0,get:function(){return db._}});Object.defineProperty(Fa,"str",{enumerable:!0,get:function(){return db.str}});Object.defineProperty(Fa,"stringify",{enumerable:!0,get:function(){return db.stringify}});Object.defineProperty(Fa,"nil",{enumerable:!0,get:function(){return db.nil}});Object.defineProperty(Fa,"Name",{enumerable:!0,get:function(){return db.Name}});Object.defineProperty(Fa,"CodeGen",{enumerable:!0,get:function(){return db.CodeGen}});var vCt=Kk(),l3e=r_(),xCt=pz(),a_=Yk(),yCt=Mt(),i_=Jy(),t4=Qy(),Mz=ar(),o3e=$Ee(),_Ct=i3e(),f3e=(e,t)=>new RegExp(e,t);f3e.code="new RegExp";var wCt=["removeAdditional","useDefaults","coerceTypes"],TCt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),ECt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},SCt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},s3e=200;function ACt(e){var t,r,n,a,i,o,s,c,u,l,f,p,d,h,m,g,x,y,_,S,T,O,I,B,D;let A=e.strict,P=(t=e.code)===null||t===void 0?void 0:t.optimize,R=P===!0||P===void 0?1:P||0,U=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:f3e,G=(a=e.uriResolver)!==null&&a!==void 0?a:_Ct.default;return{strictSchema:(o=(i=e.strictSchema)!==null&&i!==void 0?i:A)!==null&&o!==void 0?o:!0,strictNumbers:(c=(s=e.strictNumbers)!==null&&s!==void 0?s:A)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=e.strictTypes)!==null&&u!==void 0?u:A)!==null&&l!==void 0?l:"log",strictTuples:(p=(f=e.strictTuples)!==null&&f!==void 0?f:A)!==null&&p!==void 0?p:"log",strictRequired:(h=(d=e.strictRequired)!==null&&d!==void 0?d:A)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:R,regExp:U}:{optimize:R,regExp:U},loopRequired:(m=e.loopRequired)!==null&&m!==void 0?m:s3e,loopEnum:(g=e.loopEnum)!==null&&g!==void 0?g:s3e,meta:(x=e.meta)!==null&&x!==void 0?x:!0,messages:(y=e.messages)!==null&&y!==void 0?y:!0,inlineRefs:(_=e.inlineRefs)!==null&&_!==void 0?_:!0,schemaId:(S=e.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:(T=e.addUsedSchema)!==null&&T!==void 0?T:!0,validateSchema:(O=e.validateSchema)!==null&&O!==void 0?O:!0,validateFormats:(I=e.validateFormats)!==null&&I!==void 0?I:!0,unicodeRegExp:(B=e.unicodeRegExp)!==null&&B!==void 0?B:!0,int32range:(D=e.int32range)!==null&&D!==void 0?D:!0,uriResolver:G}}var o_=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...ACt(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new yCt.ValueScope({scope:{},prefixes:TCt,es5:r,lines:n}),this.logger=CCt(t.logger);let a=t.validateFormats;t.validateFormats=!1,this.RULES=(0,xCt.getRules)(),c3e.call(this,ECt,t,"NOT SUPPORTED"),c3e.call(this,SCt,t,"DEPRECATED","warn"),this._metaOpts=FCt.call(this),t.formats&&DCt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&OCt.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),kCt.call(this),t.validateFormats=a}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,a=o3e;n==="id"&&(a={...o3e},a.id=a.$id,delete a.$id),r&&t&&this.addMetaSchema(a,a[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let a=n(r);return"$async"in n||(this.errors=n.errors),a}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return a.call(this,t,r);async function a(l,f){await i.call(this,l.$schema);let p=this._addSchema(l,f);return p.validate||o.call(this,p)}async function i(l){l&&!this.getSchema(l)&&await a.call(this,{$ref:l},!0)}async function o(l){try{return this._compileSchemaEnv(l)}catch(f){if(!(f instanceof l3e.default))throw f;return s.call(this,f),await c.call(this,f.missingSchema),o.call(this,l)}}function s({missingSchema:l,missingRef:f}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${f} cannot be resolved`)}async function c(l){let f=await u.call(this,l);this.refs[l]||await i.call(this,f.$schema),this.refs[l]||this.addSchema(f,l,r)}async function u(l){let f=this._loading[l];if(f)return f;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(t,r,n,a=this.opts.validateSchema){if(Array.isArray(t)){for(let o of t)this.addSchema(o,void 0,n,a);return this}let i;if(typeof t=="object"){let{schemaId:o}=this.opts;if(i=t[o],i!==void 0&&typeof i!="string")throw new Error(`schema ${o} must be string`)}return r=(0,i_.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,a,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let a=this.validate(n,t);if(!a&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return a}getSchema(t){let r;for(;typeof(r=u3e.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,a=new a_.SchemaEnv({schema:{},schemaId:n});if(r=a_.resolveSchema.call(this,a,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=u3e.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,i_.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(jCt.call(this,n,r),!r)return(0,Mz.eachItem)(n,i=>Bz.call(this,i)),this;LCt.call(this,r);let a={...r,type:(0,t4.getJSONTypes)(r.type),schemaType:(0,t4.getJSONTypes)(r.schemaType)};return(0,Mz.eachItem)(n,a.type.length===0?i=>Bz.call(this,i,a):i=>a.type.forEach(o=>Bz.call(this,i,a,o))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let a=n.rules.findIndex(i=>i.keyword===t);a>=0&&n.rules.splice(a,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(a=>`${n}${a.instancePath} ${a.message}`).reduce((a,i)=>a+r+i)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let a of r){let i=a.split("/").slice(1),o=t;for(let s of i)o=o[s];for(let s in n){let c=n[s];if(typeof c!="object")continue;let{$data:u}=c.definition,l=o[s];u&&l&&(o[s]=p3e(l))}}return t}_removeAllSchemas(t,r){for(let n in t){let a=t[n];(!r||r.test(n))&&(typeof a=="string"?delete t[n]:a&&!a.meta&&(this._cache.delete(a.schema),delete t[n]))}}_addSchema(t,r,n,a=this.opts.validateSchema,i=this.opts.addUsedSchema){let o,{schemaId:s}=this.opts;if(typeof t=="object")o=t[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,i_.normalizeId)(o||n);let u=i_.getSchemaRefs.call(this,t,n);return c=new a_.SchemaEnv({schema:t,schemaId:s,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),a&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):a_.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{a_.compileSchema.call(this,t)}finally{this.opts=r}}};o_.ValidationError=vCt.default;o_.MissingRefError=l3e.default;Fa.default=o_;function c3e(e,t,r,n="error"){for(let a in e){let i=a;i in t&&this.logger[n](`${r}: option ${a}. ${e[i]}`)}}function u3e(e){return e=(0,i_.normalizeId)(e),this.schemas[e]||this.refs[e]}function kCt(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function DCt(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function OCt(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function FCt(){let e={...this.opts};for(let t of wCt)delete e[t];return e}var PCt={log(){},warn(){},error(){}};function CCt(e){if(e===!1)return PCt;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var ICt=/^[a-z_$][a-z0-9_$:-]*$/i;function jCt(e,t){let{RULES:r}=this;if((0,Mz.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!ICt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function Bz(e,t,r){var n;let a=t==null?void 0:t.post;if(r&&a)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,o=a?i.post:i.rules.find(({type:c})=>c===r);if(o||(o={type:r,rules:[]},i.rules.push(o)),i.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,t4.getJSONTypes)(t.type),schemaType:(0,t4.getJSONTypes)(t.schemaType)}};t.before?RCt.call(this,o,s,t.before):o.rules.push(s),i.all[e]=s,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function RCt(e,t,r){let n=e.rules.findIndex(a=>a.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function LCt(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=p3e(t)),e.validateSchema=this.compile(t,!0))}var BCt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function p3e(e){return{anyOf:[e,BCt]}}});var h3e=b(qz=>{"use strict";Object.defineProperty(qz,"__esModule",{value:!0});var MCt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};qz.default=MCt});var v3e=b(ch=>{"use strict";Object.defineProperty(ch,"__esModule",{value:!0});ch.callRef=ch.getValidate=void 0;var qCt=r_(),m3e=Ho(),Li=Mt(),hb=gl(),g3e=Yk(),r4=ar(),NCt={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:a,schemaEnv:i,validateName:o,opts:s,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&a===u.baseId)return f();let l=g3e.resolveRef.call(c,u,a,r);if(l===void 0)throw new qCt.default(n.opts.uriResolver,a,r);if(l instanceof g3e.SchemaEnv)return p(l);return d(l);function f(){if(i===u)return n4(e,o,i,i.$async);let h=t.scopeValue("root",{ref:u});return n4(e,(0,Li._)`${h}.validate`,u,u.$async)}function p(h){let m=b3e(e,h);n4(e,m,h,h.$async)}function d(h){let m=t.scopeValue("schema",s.code.source===!0?{ref:h,code:(0,Li.stringify)(h)}:{ref:h}),g=t.name("valid"),x=e.subschema({schema:h,dataTypes:[],schemaPath:Li.nil,topSchemaRef:m,errSchemaPath:r},g);e.mergeEvaluated(x),e.ok(g)}}};function b3e(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Li._)`${r.scopeValue("wrapper",{ref:t})}.validate`}ch.getValidate=b3e;function n4(e,t,r,n){let{gen:a,it:i}=e,{allErrors:o,schemaEnv:s,opts:c}=i,u=c.passContext?hb.default.this:Li.nil;n?l():f();function l(){if(!s.$async)throw new Error("async schema referenced by sync schema");let h=a.let("valid");a.try(()=>{a.code((0,Li._)`await ${(0,m3e.callValidateCode)(e,t,u)}`),d(t),o||a.assign(h,!0)},m=>{a.if((0,Li._)`!(${m} instanceof ${i.ValidationError})`,()=>a.throw(m)),p(m),o||a.assign(h,!1)}),e.ok(h)}function f(){e.result((0,m3e.callValidateCode)(e,t,u),()=>d(t),()=>p(t))}function p(h){let m=(0,Li._)`${h}.errors`;a.assign(hb.default.vErrors,(0,Li._)`${hb.default.vErrors} === null ? ${m} : ${hb.default.vErrors}.concat(${m})`),a.assign(hb.default.errors,(0,Li._)`${hb.default.vErrors}.length`)}function d(h){var m;if(!i.opts.unevaluated)return;let g=(m=r==null?void 0:r.validate)===null||m===void 0?void 0:m.evaluated;if(i.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(i.props=r4.mergeEvaluated.props(a,g.props,i.props));else{let x=a.var("props",(0,Li._)`${h}.evaluated.props`);i.props=r4.mergeEvaluated.props(a,x,i.props,Li.Name)}if(i.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(i.items=r4.mergeEvaluated.items(a,g.items,i.items));else{let x=a.var("items",(0,Li._)`${h}.evaluated.items`);i.items=r4.mergeEvaluated.items(a,x,i.items,Li.Name)}}}ch.callRef=n4;ch.default=NCt});var x3e=b(Nz=>{"use strict";Object.defineProperty(Nz,"__esModule",{value:!0});var zCt=h3e(),UCt=v3e(),GCt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",zCt.default,UCt.default];Nz.default=GCt});var y3e=b(zz=>{"use strict";Object.defineProperty(zz,"__esModule",{value:!0});var a4=Mt(),op=a4.operators,i4={maximum:{okStr:"<=",ok:op.LTE,fail:op.GT},minimum:{okStr:">=",ok:op.GTE,fail:op.LT},exclusiveMaximum:{okStr:"<",ok:op.LT,fail:op.GTE},exclusiveMinimum:{okStr:">",ok:op.GT,fail:op.LTE}},VCt={message:({keyword:e,schemaCode:t})=>(0,a4.str)`must be ${i4[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,a4._)`{comparison: ${i4[e].okStr}, limit: ${t}}`},$Ct={keyword:Object.keys(i4),type:"number",schemaType:"number",$data:!0,error:VCt,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,a4._)`${r} ${i4[t].fail} ${n} || isNaN(${r})`)}};zz.default=$Ct});var _3e=b(Uz=>{"use strict";Object.defineProperty(Uz,"__esModule",{value:!0});var s_=Mt(),HCt={message:({schemaCode:e})=>(0,s_.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,s_._)`{multipleOf: ${e}}`},WCt={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:HCt,code(e){let{gen:t,data:r,schemaCode:n,it:a}=e,i=a.opts.multipleOfPrecision,o=t.let("res"),s=i?(0,s_._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${i}`:(0,s_._)`${o} !== parseInt(${o})`;e.fail$data((0,s_._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};Uz.default=WCt});var T3e=b(Gz=>{"use strict";Object.defineProperty(Gz,"__esModule",{value:!0});function w3e(e){let t=e.length,r=0,n=0,a;for(;n<t;)r++,a=e.charCodeAt(n++),a>=55296&&a<=56319&&n<t&&(a=e.charCodeAt(n),(a&64512)===56320&&n++);return r}Gz.default=w3e;w3e.code='require("ajv/dist/runtime/ucs2length").default'});var E3e=b(Vz=>{"use strict";Object.defineProperty(Vz,"__esModule",{value:!0});var uh=Mt(),KCt=ar(),XCt=T3e(),YCt={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,uh.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,uh._)`{limit: ${e}}`},QCt={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:YCt,code(e){let{keyword:t,data:r,schemaCode:n,it:a}=e,i=t==="maxLength"?uh.operators.GT:uh.operators.LT,o=a.opts.unicode===!1?(0,uh._)`${r}.length`:(0,uh._)`${(0,KCt.useFunc)(e.gen,XCt.default)}(${r})`;e.fail$data((0,uh._)`${o} ${i} ${n}`)}};Vz.default=QCt});var S3e=b($z=>{"use strict";Object.defineProperty($z,"__esModule",{value:!0});var JCt=Ho(),ZCt=ar(),mb=Mt(),eIt={message:({schemaCode:e})=>(0,mb.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,mb._)`{pattern: ${e}}`},tIt={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:eIt,code(e){let{gen:t,data:r,$data:n,schema:a,schemaCode:i,it:o}=e,s=o.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=o.opts.code,u=c.code==="new RegExp"?(0,mb._)`new RegExp`:(0,ZCt.useFunc)(t,c),l=t.let("valid");t.try(()=>t.assign(l,(0,mb._)`${u}(${i}, ${s}).test(${r})`),()=>t.assign(l,!1)),e.fail$data((0,mb._)`!${l}`)}else{let c=(0,JCt.usePattern)(e,a);e.fail$data((0,mb._)`!${c}.test(${r})`)}}};$z.default=tIt});var A3e=b(Hz=>{"use strict";Object.defineProperty(Hz,"__esModule",{value:!0});var c_=Mt(),rIt={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,c_.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,c_._)`{limit: ${e}}`},nIt={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:rIt,code(e){let{keyword:t,data:r,schemaCode:n}=e,a=t==="maxProperties"?c_.operators.GT:c_.operators.LT;e.fail$data((0,c_._)`Object.keys(${r}).length ${a} ${n}`)}};Hz.default=nIt});var k3e=b(Wz=>{"use strict";Object.defineProperty(Wz,"__esModule",{value:!0});var u_=Ho(),l_=Mt(),aIt=ar(),iIt={message:({params:{missingProperty:e}})=>(0,l_.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,l_._)`{missingProperty: ${e}}`},oIt={keyword:"required",type:"object",schemaType:"array",$data:!0,error:iIt,code(e){let{gen:t,schema:r,schemaCode:n,data:a,$data:i,it:o}=e,{opts:s}=o;if(!i&&r.length===0)return;let c=r.length>=s.loopRequired;if(o.allErrors?u():l(),s.strictRequired){let d=e.parentSchema.properties,{definedProperties:h}=e.it;for(let m of r)if((d==null?void 0:d[m])===void 0&&!h.has(m)){let g=o.schemaEnv.baseId+o.errSchemaPath,x=`required property "${m}" is not defined at "${g}" (strictRequired)`;(0,aIt.checkStrictMode)(o,x,o.opts.strictRequired)}}function u(){if(c||i)e.block$data(l_.nil,f);else for(let d of r)(0,u_.checkReportMissingProp)(e,d)}function l(){let d=t.let("missing");if(c||i){let h=t.let("valid",!0);e.block$data(h,()=>p(d,h)),e.ok(h)}else t.if((0,u_.checkMissingProp)(e,r,d)),(0,u_.reportMissingProp)(e,d),t.else()}function f(){t.forOf("prop",n,d=>{e.setParams({missingProperty:d}),t.if((0,u_.noPropertyInData)(t,a,d,s.ownProperties),()=>e.error())})}function p(d,h){e.setParams({missingProperty:d}),t.forOf(d,n,()=>{t.assign(h,(0,u_.propertyInData)(t,a,d,s.ownProperties)),t.if((0,l_.not)(h),()=>{e.error(),t.break()})},l_.nil)}}};Wz.default=oIt});var D3e=b(Kz=>{"use strict";Object.defineProperty(Kz,"__esModule",{value:!0});var f_=Mt(),sIt={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,f_.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,f_._)`{limit: ${e}}`},cIt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:sIt,code(e){let{keyword:t,data:r,schemaCode:n}=e,a=t==="maxItems"?f_.operators.GT:f_.operators.LT;e.fail$data((0,f_._)`${r}.length ${a} ${n}`)}};Kz.default=cIt});var o4=b(Xz=>{"use strict";Object.defineProperty(Xz,"__esModule",{value:!0});var O3e=t0();O3e.code='require("ajv/dist/runtime/equal").default';Xz.default=O3e});var F3e=b(Qz=>{"use strict";Object.defineProperty(Qz,"__esModule",{value:!0});var Yz=Qy(),Pa=Mt(),uIt=ar(),lIt=o4(),fIt={message:({params:{i:e,j:t}})=>(0,Pa.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Pa._)`{i: ${e}, j: ${t}}`},pIt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:fIt,code(e){let{gen:t,data:r,$data:n,schema:a,parentSchema:i,schemaCode:o,it:s}=e;if(!n&&!a)return;let c=t.let("valid"),u=i.items?(0,Yz.getSchemaTypes)(i.items):[];e.block$data(c,l,(0,Pa._)`${o} === false`),e.ok(c);function l(){let h=t.let("i",(0,Pa._)`${r}.length`),m=t.let("j");e.setParams({i:h,j:m}),t.assign(c,!0),t.if((0,Pa._)`${h} > 1`,()=>(f()?p:d)(h,m))}function f(){return u.length>0&&!u.some(h=>h==="object"||h==="array")}function p(h,m){let g=t.name("item"),x=(0,Yz.checkDataTypes)(u,g,s.opts.strictNumbers,Yz.DataType.Wrong),y=t.const("indices",(0,Pa._)`{}`);t.for((0,Pa._)`;${h}--;`,()=>{t.let(g,(0,Pa._)`${r}[${h}]`),t.if(x,(0,Pa._)`continue`),u.length>1&&t.if((0,Pa._)`typeof ${g} == "string"`,(0,Pa._)`${g} += "_"`),t.if((0,Pa._)`typeof ${y}[${g}] == "number"`,()=>{t.assign(m,(0,Pa._)`${y}[${g}]`),e.error(),t.assign(c,!1).break()}).code((0,Pa._)`${y}[${g}] = ${h}`)})}function d(h,m){let g=(0,uIt.useFunc)(t,lIt.default),x=t.name("outer");t.label(x).for((0,Pa._)`;${h}--;`,()=>t.for((0,Pa._)`${m} = ${h}; ${m}--;`,()=>t.if((0,Pa._)`${g}(${r}[${h}], ${r}[${m}])`,()=>{e.error(),t.assign(c,!1).break(x)})))}}};Qz.default=pIt});var P3e=b(Zz=>{"use strict";Object.defineProperty(Zz,"__esModule",{value:!0});var Jz=Mt(),dIt=ar(),hIt=o4(),mIt={message:"must be equal to constant",params:({schemaCode:e})=>(0,Jz._)`{allowedValue: ${e}}`},gIt={keyword:"const",$data:!0,error:mIt,code(e){let{gen:t,data:r,$data:n,schemaCode:a,schema:i}=e;n||i&&typeof i=="object"?e.fail$data((0,Jz._)`!${(0,dIt.useFunc)(t,hIt.default)}(${r}, ${a})`):e.fail((0,Jz._)`${i} !== ${r}`)}};Zz.default=gIt});var C3e=b(eU=>{"use strict";Object.defineProperty(eU,"__esModule",{value:!0});var p_=Mt(),bIt=ar(),vIt=o4(),xIt={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,p_._)`{allowedValues: ${e}}`},yIt={keyword:"enum",schemaType:"array",$data:!0,error:xIt,code(e){let{gen:t,data:r,$data:n,schema:a,schemaCode:i,it:o}=e;if(!n&&a.length===0)throw new Error("enum must have non-empty array");let s=a.length>=o.opts.loopEnum,c,u=()=>c??(c=(0,bIt.useFunc)(t,vIt.default)),l;if(s||n)l=t.let("valid"),e.block$data(l,f);else{if(!Array.isArray(a))throw new Error("ajv implementation error");let d=t.const("vSchema",i);l=(0,p_.or)(...a.map((h,m)=>p(d,m)))}e.pass(l);function f(){t.assign(l,!1),t.forOf("v",i,d=>t.if((0,p_._)`${u()}(${r}, ${d})`,()=>t.assign(l,!0).break()))}function p(d,h){let m=a[h];return typeof m=="object"&&m!==null?(0,p_._)`${u()}(${r}, ${d}[${h}])`:(0,p_._)`${r} === ${m}`}}};eU.default=yIt});var I3e=b(tU=>{"use strict";Object.defineProperty(tU,"__esModule",{value:!0});var _It=y3e(),wIt=_3e(),TIt=E3e(),EIt=S3e(),SIt=A3e(),AIt=k3e(),kIt=D3e(),DIt=F3e(),OIt=P3e(),FIt=C3e(),PIt=[_It.default,wIt.default,TIt.default,EIt.default,SIt.default,AIt.default,kIt.default,DIt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},OIt.default,FIt.default];tU.default=PIt});var nU=b(d_=>{"use strict";Object.defineProperty(d_,"__esModule",{value:!0});d_.validateAdditionalItems=void 0;var lh=Mt(),rU=ar(),CIt={message:({params:{len:e}})=>(0,lh.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,lh._)`{limit: ${e}}`},IIt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:CIt,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,rU.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}j3e(e,n)}};function j3e(e,t){let{gen:r,schema:n,data:a,keyword:i,it:o}=e;o.items=!0;let s=r.const("len",(0,lh._)`${a}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,lh._)`${s} <= ${t.length}`);else if(typeof n=="object"&&!(0,rU.alwaysValidSchema)(o,n)){let u=r.var("valid",(0,lh._)`${s} <= ${t.length}`);r.if((0,lh.not)(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,s,l=>{e.subschema({keyword:i,dataProp:l,dataPropType:rU.Type.Num},u),o.allErrors||r.if((0,lh.not)(u),()=>r.break())})}}d_.validateAdditionalItems=j3e;d_.default=IIt});var aU=b(h_=>{"use strict";Object.defineProperty(h_,"__esModule",{value:!0});h_.validateTuple=void 0;var R3e=Mt(),s4=ar(),jIt=Ho(),RIt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return L3e(e,"additionalItems",t);r.items=!0,!(0,s4.alwaysValidSchema)(r,t)&&e.ok((0,jIt.validateArray)(e))}};function L3e(e,t,r=e.schema){let{gen:n,parentSchema:a,data:i,keyword:o,it:s}=e;l(a),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=s4.mergeEvaluated.items(n,r.length,s.items));let c=n.name("valid"),u=n.const("len",(0,R3e._)`${i}.length`);r.forEach((f,p)=>{(0,s4.alwaysValidSchema)(s,f)||(n.if((0,R3e._)`${u} > ${p}`,()=>e.subschema({keyword:o,schemaProp:p,dataProp:p},c)),e.ok(c))});function l(f){let{opts:p,errSchemaPath:d}=s,h=r.length,m=h===f.minItems&&(h===f.maxItems||f[t]===!1);if(p.strictTuples&&!m){let g=`"${o}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${d}"`;(0,s4.checkStrictMode)(s,g,p.strictTuples)}}}h_.validateTuple=L3e;h_.default=RIt});var B3e=b(iU=>{"use strict";Object.defineProperty(iU,"__esModule",{value:!0});var LIt=aU(),BIt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,LIt.validateTuple)(e,"items")};iU.default=BIt});var q3e=b(oU=>{"use strict";Object.defineProperty(oU,"__esModule",{value:!0});var M3e=Mt(),MIt=ar(),qIt=Ho(),NIt=nU(),zIt={message:({params:{len:e}})=>(0,M3e.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,M3e._)`{limit: ${e}}`},UIt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:zIt,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:a}=r;n.items=!0,!(0,MIt.alwaysValidSchema)(n,t)&&(a?(0,NIt.validateAdditionalItems)(e,a):e.ok((0,qIt.validateArray)(e)))}};oU.default=UIt});var N3e=b(sU=>{"use strict";Object.defineProperty(sU,"__esModule",{value:!0});var Ko=Mt(),c4=ar(),GIt={message:({params:{min:e,max:t}})=>t===void 0?(0,Ko.str)`must contain at least ${e} valid item(s)`:(0,Ko.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,Ko._)`{minContains: ${e}}`:(0,Ko._)`{minContains: ${e}, maxContains: ${t}}`},VIt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:GIt,code(e){let{gen:t,schema:r,parentSchema:n,data:a,it:i}=e,o,s,{minContains:c,maxContains:u}=n;i.opts.next?(o=c===void 0?1:c,s=u):o=1;let l=t.const("len",(0,Ko._)`${a}.length`);if(e.setParams({min:o,max:s}),s===void 0&&o===0){(0,c4.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,c4.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,c4.alwaysValidSchema)(i,r)){let m=(0,Ko._)`${l} >= ${o}`;s!==void 0&&(m=(0,Ko._)`${m} && ${l} <= ${s}`),e.pass(m);return}i.items=!0;let f=t.name("valid");s===void 0&&o===1?d(f,()=>t.if(f,()=>t.break())):o===0?(t.let(f,!0),s!==void 0&&t.if((0,Ko._)`${a}.length > 0`,p)):(t.let(f,!1),p()),e.result(f,()=>e.reset());function p(){let m=t.name("_valid"),g=t.let("count",0);d(m,()=>t.if(m,()=>h(g)))}function d(m,g){t.forRange("i",0,l,x=>{e.subschema({keyword:"contains",dataProp:x,dataPropType:c4.Type.Num,compositeRule:!0},m),g()})}function h(m){t.code((0,Ko._)`${m}++`),s===void 0?t.if((0,Ko._)`${m} >= ${o}`,()=>t.assign(f,!0).break()):(t.if((0,Ko._)`${m} > ${s}`,()=>t.assign(f,!1).break()),o===1?t.assign(f,!0):t.if((0,Ko._)`${m} >= ${o}`,()=>t.assign(f,!0)))}}};sU.default=VIt});var G3e=b(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});eu.validateSchemaDeps=eu.validatePropertyDeps=eu.error=void 0;var cU=Mt(),$It=ar(),m_=Ho();eu.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,cU.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,cU._)`{property: ${e},
|
|
152
152
|
missingProperty: ${n},
|
|
153
153
|
depsCount: ${t},
|
|
154
|
-
deps: ${r}}`};var HIt={keyword:"dependencies",type:"object",schemaType:"object",error:eu.error,code(e){let[t,r]=WIt(e);z3e(e,t),U3e(e,r)}};function WIt({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let a=Array.isArray(e[n])?t:r;a[n]=e[n]}return[t,r]}function z3e(e,t=e.schema){let{gen:r,data:n,it:a}=e;if(Object.keys(t).length===0)return;let i=r.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let c=(0,m_.propertyInData)(r,n,o,a.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),a.allErrors?r.if(c,()=>{for(let u of s)(0,m_.checkReportMissingProp)(e,u)}):(r.if((0,cU._)`${c} && (${(0,m_.checkMissingProp)(e,s,i)})`),(0,m_.reportMissingProp)(e,i),r.else())}}eu.validatePropertyDeps=z3e;function U3e(e,t=e.schema){let{gen:r,data:n,keyword:a,it:i}=e,o=r.name("valid");for(let s in t)(0,$It.alwaysValidSchema)(i,t[s])||(r.if((0,m_.propertyInData)(r,n,s,i.opts.ownProperties),()=>{let c=e.subschema({keyword:a,schemaProp:s},o);e.mergeValidEvaluated(c,o)},()=>r.var(o,!0)),e.ok(o))}eu.validateSchemaDeps=U3e;eu.default=HIt});var $3e=b(uU=>{"use strict";Object.defineProperty(uU,"__esModule",{value:!0});var V3e=Mt(),KIt=ar(),XIt={message:"property name must be valid",params:({params:e})=>(0,V3e._)`{propertyName: ${e.propertyName}}`},YIt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:XIt,code(e){let{gen:t,schema:r,data:n,it:a}=e;if((0,KIt.alwaysValidSchema)(a,r))return;let i=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},i),t.if((0,V3e.not)(i),()=>{e.error(!0),a.allErrors||t.break()})}),e.ok(i)}};uU.default=YIt});var fU=b(lU=>{"use strict";Object.defineProperty(lU,"__esModule",{value:!0});var u4=Ho(),Ns=Mt(),QIt=gl(),l4=ar(),JIt={message:"must NOT have additional properties",params:({params:e})=>(0,Ns._)`{additionalProperty: ${e.additionalProperty}}`},ZIt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:JIt,code(e){let{gen:t,schema:r,parentSchema:n,data:a,errsCount:i,it:o}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:s,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,l4.alwaysValidSchema)(o,r))return;let u=(0,u4.allSchemaProperties)(n.properties),l=(0,u4.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Ns._)`${i} === ${QIt.default.errors}`);function f(){t.forIn("key",a,g=>{!u.length&&!l.length?h(g):t.if(p(g),()=>h(g))})}function p(g){let x;if(u.length>8){let y=(0,l4.schemaRefOrVal)(o,n.properties,"properties");x=(0,u4.isOwnProperty)(t,y,g)}else u.length?x=(0,Ns.or)(...u.map(y=>(0,Ns._)`${g} === ${y}`)):x=Ns.nil;return l.length&&(x=(0,Ns.or)(x,...l.map(y=>(0,Ns._)`${(0,u4.usePattern)(e,y)}.test(${g})`))),(0,Ns.not)(x)}function d(g){t.code((0,Ns._)`delete ${a}[${g}]`)}function h(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){d(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,l4.alwaysValidSchema)(o,r)){let x=t.name("valid");c.removeAdditional==="failing"?(m(g,x,!1),t.if((0,Ns.not)(x),()=>{e.reset(),d(g)})):(m(g,x),s||t.if((0,Ns.not)(x),()=>t.break()))}}function m(g,x,y){let _={keyword:"additionalProperties",dataProp:g,dataPropType:l4.Type.Str};y===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(_,x)}}};lU.default=ZIt});var K3e=b(dU=>{"use strict";Object.defineProperty(dU,"__esModule",{value:!0});var ejt=t_(),H3e=Ho(),pU=ar(),W3e=fU(),tjt={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:a,it:i}=e;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&W3e.default.code(new ejt.KeywordCxt(i,W3e.default,"additionalProperties"));let o=(0,H3e.allSchemaProperties)(r);for(let f of o)i.definedProperties.add(f);i.opts.unevaluated&&o.length&&i.props!==!0&&(i.props=pU.mergeEvaluated.props(t,(0,pU.toHash)(o),i.props));let s=o.filter(f=>!(0,pU.alwaysValidSchema)(i,r[f]));if(s.length===0)return;let c=t.name("valid");for(let f of s)u(f)?l(f):(t.if((0,H3e.propertyInData)(t,a,f,i.opts.ownProperties)),l(f),i.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(c);function u(f){return i.opts.useDefaults&&!i.compositeRule&&r[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},c)}}};dU.default=tjt});var J3e=b(hU=>{"use strict";Object.defineProperty(hU,"__esModule",{value:!0});var X3e=Ho(),f4=Mt(),Y3e=ar(),Q3e=ar(),rjt={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:a,it:i}=e,{opts:o}=i,s=(0,X3e.allSchemaProperties)(r),c=s.filter(m=>(0,Y3e.alwaysValidSchema)(i,r[m]));if(s.length===0||c.length===s.length&&(!i.opts.unevaluated||i.props===!0))return;let u=o.strictSchema&&!o.allowMatchingProperties&&a.properties,l=t.name("valid");i.props!==!0&&!(i.props instanceof f4.Name)&&(i.props=(0,Q3e.evaluatedPropsToName)(t,i.props));let{props:f}=i;p();function p(){for(let m of s)u&&d(m),i.allErrors?h(m):(t.var(l,!0),h(m),t.if(l))}function d(m){for(let g in u)new RegExp(m).test(g)&&(0,Y3e.checkStrictMode)(i,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function h(m){t.forIn("key",n,g=>{t.if((0,f4._)`${(0,X3e.usePattern)(e,m)}.test(${g})`,()=>{let x=c.includes(m);x||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:Q3e.Type.Str},l),i.opts.unevaluated&&f!==!0?t.assign((0,f4._)`${f}[${g}]`,!0):!x&&!i.allErrors&&t.if((0,f4.not)(l),()=>t.break())})})}}};hU.default=rjt});var Z3e=b(mU=>{"use strict";Object.defineProperty(mU,"__esModule",{value:!0});var njt=ar(),ajt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,njt.alwaysValidSchema)(n,r)){e.fail();return}let a=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},a),e.failResult(a,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};mU.default=ajt});var eSe=b(gU=>{"use strict";Object.defineProperty(gU,"__esModule",{value:!0});var ijt=Ho(),ojt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:ijt.validateUnion,error:{message:"must match a schema in anyOf"}};gU.default=ojt});var tSe=b(bU=>{"use strict";Object.defineProperty(bU,"__esModule",{value:!0});var p4=Mt(),sjt=ar(),cjt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,p4._)`{passingSchemas: ${e.passing}}`},ujt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:cjt,code(e){let{gen:t,schema:r,parentSchema:n,it:a}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(a.opts.discriminator&&n.discriminator)return;let i=r,o=t.let("valid",!1),s=t.let("passing",null),c=t.name("_valid");e.setParams({passing:s}),t.block(u),e.result(o,()=>e.reset(),()=>e.error(!0));function u(){i.forEach((l,f)=>{let p;(0,sjt.alwaysValidSchema)(a,l)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},c),f>0&&t.if((0,p4._)`${c} && ${o}`).assign(o,!1).assign(s,(0,p4._)`[${s}, ${f}]`).else(),t.if(c,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,p4.Name)})})}}};bU.default=ujt});var rSe=b(vU=>{"use strict";Object.defineProperty(vU,"__esModule",{value:!0});var ljt=ar(),fjt={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let a=t.name("valid");r.forEach((i,o)=>{if((0,ljt.alwaysValidSchema)(n,i))return;let s=e.subschema({keyword:"allOf",schemaProp:o},a);e.ok(a),e.mergeEvaluated(s)})}};vU.default=fjt});var iSe=b(xU=>{"use strict";Object.defineProperty(xU,"__esModule",{value:!0});var d4=Mt(),aSe=ar(),pjt={message:({params:e})=>(0,d4.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,d4._)`{failingKeyword: ${e.ifClause}}`},djt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:pjt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,aSe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let a=nSe(n,"then"),i=nSe(n,"else");if(!a&&!i)return;let o=t.let("valid",!0),s=t.name("_valid");if(c(),e.reset(),a&&i){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,u("then",l),u("else",l))}else a?t.if(s,u("then")):t.if((0,d4.not)(s),u("else"));e.pass(o,()=>e.error(!0));function c(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function u(l,f){return()=>{let p=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(p,o),f?t.assign(f,(0,d4._)`${l}`):e.setParams({ifClause:l})}}}};function nSe(e,t){let r=e.schema[t];return r!==void 0&&!(0,aSe.alwaysValidSchema)(e,r)}xU.default=djt});var oSe=b(yU=>{"use strict";Object.defineProperty(yU,"__esModule",{value:!0});var hjt=ar(),mjt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,hjt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};yU.default=mjt});var sSe=b(_U=>{"use strict";Object.defineProperty(_U,"__esModule",{value:!0});var gjt=nU(),bjt=B3e(),vjt=aU(),xjt=q3e(),yjt=N3e(),_jt=G3e(),wjt=$3e(),Tjt=fU(),Ejt=K3e(),Sjt=J3e(),Ajt=Z3e(),kjt=eSe(),Djt=tSe(),Ojt=rSe(),Fjt=iSe(),Pjt=oSe();function Cjt(e=!1){let t=[Ajt.default,kjt.default,Djt.default,Ojt.default,Fjt.default,Pjt.default,wjt.default,Tjt.default,_jt.default,Ejt.default,Sjt.default];return e?t.push(bjt.default,xjt.default):t.push(gjt.default,vjt.default),t.push(yjt.default),t}_U.default=Cjt});var cSe=b(wU=>{"use strict";Object.defineProperty(wU,"__esModule",{value:!0});var Dn=Mt(),Ijt={message:({schemaCode:e})=>(0,Dn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Dn._)`{format: ${e}}`},jjt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Ijt,code(e,t){let{gen:r,data:n,$data:a,schema:i,schemaCode:o,it:s}=e,{opts:c,errSchemaPath:u,schemaEnv:l,self:f}=s;if(!c.validateFormats)return;a?p():d();function p(){let h=r.scopeValue("formats",{ref:f.formats,code:c.code.formats}),m=r.const("fDef",(0,Dn._)`${h}[${o}]`),g=r.let("fType"),x=r.let("format");r.if((0,Dn._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Dn._)`${m}.type || "string"`).assign(x,(0,Dn._)`${m}.validate`),()=>r.assign(g,(0,Dn._)`"string"`).assign(x,m)),e.fail$data((0,Dn.or)(y(),_()));function y(){return c.strictSchema===!1?Dn.nil:(0,Dn._)`${o} && !${x}`}function _(){let S=l.$async?(0,Dn._)`(${m}.async ? await ${x}(${n}) : ${x}(${n}))`:(0,Dn._)`${x}(${n})`,T=(0,Dn._)`(typeof ${x} == "function" ? ${S} : ${x}.test(${n}))`;return(0,Dn._)`${x} && ${x} !== true && ${g} === ${t} && !${T}`}}function d(){let h=f.formats[i];if(!h){y();return}if(h===!0)return;let[m,g,x]=_(h);m===t&&e.pass(S());function y(){if(c.strictSchema===!1){f.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function _(T){let O=T instanceof RegExp?(0,Dn.regexpCode)(T):c.code.formats?(0,Dn._)`${c.code.formats}${(0,Dn.getProperty)(i)}`:void 0,I=r.scopeValue("formats",{key:i,ref:T,code:O});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Dn._)`${I}.validate`]:["string",T,I]}function S(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Dn._)`await ${x}(${n})`}return typeof g=="function"?(0,Dn._)`${x}(${n})`:(0,Dn._)`${x}.test(${n})`}}}};wU.default=jjt});var uSe=b(TU=>{"use strict";Object.defineProperty(TU,"__esModule",{value:!0});var Rjt=cSe(),Ljt=[Rjt.default];TU.default=Ljt});var lSe=b(gb=>{"use strict";Object.defineProperty(gb,"__esModule",{value:!0});gb.contentVocabulary=gb.metadataVocabulary=void 0;gb.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];gb.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var pSe=b(EU=>{"use strict";Object.defineProperty(EU,"__esModule",{value:!0});var Bjt=x3e(),Mjt=I3e(),qjt=sSe(),Njt=uSe(),fSe=lSe(),zjt=[Bjt.default,Mjt.default,(0,qjt.default)(),Njt.default,fSe.metadataVocabulary,fSe.contentVocabulary];EU.default=zjt});var hSe=b(h4=>{"use strict";Object.defineProperty(h4,"__esModule",{value:!0});h4.DiscrError=void 0;var dSe;(function(e){e.Tag="tag",e.Mapping="mapping"})(dSe||(h4.DiscrError=dSe={}))});var gSe=b(AU=>{"use strict";Object.defineProperty(AU,"__esModule",{value:!0});var bb=Mt(),SU=hSe(),mSe=Yk(),Ujt=r_(),Gjt=ar(),Vjt={message:({params:{discrError:e,tagName:t}})=>e===SU.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,bb._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},$jt={keyword:"discriminator",type:"object",schemaType:"object",error:Vjt,code(e){let{gen:t,data:r,schema:n,parentSchema:a,it:i}=e,{oneOf:o}=a;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",(0,bb._)`${r}${(0,bb.getProperty)(s)}`);t.if((0,bb._)`typeof ${u} == "string"`,()=>l(),()=>e.error(!1,{discrError:SU.DiscrError.Tag,tag:u,tagName:s})),e.ok(c);function l(){let d=p();t.if(!1);for(let h in d)t.elseIf((0,bb._)`${u} === ${h}`),t.assign(c,f(d[h]));t.else(),e.error(!1,{discrError:SU.DiscrError.Mapping,tag:u,tagName:s}),t.endIf()}function f(d){let h=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:d},h);return e.mergeEvaluated(m,bb.Name),h}function p(){var d;let h={},m=x(a),g=!0;for(let S=0;S<o.length;S++){let T=o[S];if(T!=null&&T.$ref&&!(0,Gjt.schemaHasRulesButRef)(T,i.self.RULES)){let I=T.$ref;if(T=mSe.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,I),T instanceof mSe.SchemaEnv&&(T=T.schema),T===void 0)throw new Ujt.default(i.opts.uriResolver,i.baseId,I)}let O=(d=T==null?void 0:T.properties)===null||d===void 0?void 0:d[s];if(typeof O!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);g=g&&(m||x(T)),y(O,S)}if(!g)throw new Error(`discriminator: "${s}" must be required`);return h;function x({required:S}){return Array.isArray(S)&&S.includes(s)}function y(S,T){if(S.const)_(S.const,T);else if(S.enum)for(let O of S.enum)_(O,T);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function _(S,T){if(typeof S!="string"||S in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[S]=T}}}};AU.default=$jt});var bSe=b((Obr,Hjt)=>{Hjt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var xSe=b((Qr,kU)=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.MissingRefError=Qr.ValidationError=Qr.CodeGen=Qr.Name=Qr.nil=Qr.stringify=Qr.str=Qr._=Qr.KeywordCxt=Qr.Ajv=void 0;var Wjt=d3e(),Kjt=pSe(),Xjt=gSe(),vSe=bSe(),Yjt=["/properties"],m4="http://json-schema.org/draft-07/schema",vb=class extends Wjt.default{_addVocabularies(){super._addVocabularies(),Kjt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Xjt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(vSe,Yjt):vSe;this.addMetaSchema(t,m4,!1),this.refs["http://json-schema.org/schema"]=m4}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(m4)?m4:void 0)}};Qr.Ajv=vb;kU.exports=Qr=vb;kU.exports.Ajv=vb;Object.defineProperty(Qr,"__esModule",{value:!0});Qr.default=vb;var Qjt=t_();Object.defineProperty(Qr,"KeywordCxt",{enumerable:!0,get:function(){return Qjt.KeywordCxt}});var xb=Mt();Object.defineProperty(Qr,"_",{enumerable:!0,get:function(){return xb._}});Object.defineProperty(Qr,"str",{enumerable:!0,get:function(){return xb.str}});Object.defineProperty(Qr,"stringify",{enumerable:!0,get:function(){return xb.stringify}});Object.defineProperty(Qr,"nil",{enumerable:!0,get:function(){return xb.nil}});Object.defineProperty(Qr,"Name",{enumerable:!0,get:function(){return xb.Name}});Object.defineProperty(Qr,"CodeGen",{enumerable:!0,get:function(){return xb.CodeGen}});var Jjt=Kk();Object.defineProperty(Qr,"ValidationError",{enumerable:!0,get:function(){return Jjt.default}});var Zjt=r_();Object.defineProperty(Qr,"MissingRefError",{enumerable:!0,get:function(){return Zjt.default}})});var BU=typeof process!="object"||String(process)!=="[object process]"||process.browser;var MU={ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]};globalThis["encoding-indexes"]=MU||{};function St(e,t,r){return t<=e&&e<=r}function pAe(e,t){return e.indexOf(t)!==-1}var nu=Math.floor;function __(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function dAe(e){for(var t=String(e),r=t.length,n=0,a=[];n<r;){var i=t.charCodeAt(n);if(i<55296||i>57343)a.push(i);else if(56320<=i&&i<=57343)a.push(65533);else if(55296<=i&&i<=56319)if(n===r-1)a.push(65533);else{var o=t.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=i&1023,c=o&1023;a.push(65536+(s<<10)+c),n+=1}else a.push(65533)}n+=1}return a}function hAe(e){for(var t="",r=0;r<e.length;++r){var n=e[r];n<=65535?t+=String.fromCharCode(n):(n-=65536,t+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return t}function co(e){return 0<=e&&e<=127}var so=co,Kt=-1;function F4(e){this.tokens=[].slice.call(e),this.tokens.reverse()}F4.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Kt},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.shift());else this.tokens.unshift(e)}};var Fr=-1;function Wt(e,t){if(e)throw TypeError("Decoder error");return t||65533}function Jo(e){throw TypeError("The code point "+e+" could not be encoded.")}function mAe(){}mAe.prototype={handler:function(e,t){}};function gAe(){}gAe.prototype={handler:function(e,t){}};function D4(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(O4,e)?O4[e]:null}var qU=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],O4={};qU.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){O4[r]=t})})});var mi={},gi={};function hh(e,t){return t&&t[e]||null}function mh(e,t){var r=t.indexOf(e);return r===-1?null:r}function Za(e){if(!("encoding-indexes"in globalThis))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return globalThis["encoding-indexes"][e]}function bAe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=Za("gb18030-ranges"),a;for(a=0;a<n.length;++a){var i=n[a];if(i[0]<=e)t=i[0],r=i[1];else break}return r+e-t}function vAe(e){if(e===59335)return 7457;var t=0,r=0,n=Za("gb18030-ranges"),a;for(a=0;a<n.length;++a){var i=n[a];if(i[1]<=e)t=i[1],r=i[0];else break}return r+e-t}function xAe(e){A4=A4||Za("jis0208").map(function(r,n){return St(n,8272,8835)?null:r});var t=A4;return t.indexOf(e)}var A4;function yAe(e){k4=k4||Za("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=k4;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):mh(e,t)}var k4,NU="utf-8";function up(e,t){if(!(this instanceof up))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):NU,t=__(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=D4(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!gi[r.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var n=this;return n._encoding=r,Boolean(t.fatal)&&(n._error_mode="fatal"),Boolean(t.ignoreBOM)&&(n._ignoreBOM=!0),Object.defineProperty||(this.encoding=n._encoding.name.toLowerCase(),this.fatal=n._error_mode==="fatal",this.ignoreBOM=n._ignoreBOM),n}Object.defineProperty&&(Object.defineProperty(up.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(up.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(up.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));up.prototype.decode=function(t,r){var n;typeof t=="object"&&t instanceof ArrayBuffer?n=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):n=new Uint8Array(0),r=__(r),this._do_not_flush||(this._decoder=gi[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var a=new F4(n),i=[],o;;){var s=a.read();if(s===Kt||(o=this._decoder.handler(a,s),o===Fr))break;o!==null&&(Array.isArray(o)?i.push.apply(i,o):i.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(a,a.read()),o===Fr)break;o!==null&&(Array.isArray(o)?i.push.apply(i,o):i.push(o))}while(!a.endOfStream());this._decoder=null}function c(u){return pAe(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(u.length>0&&u[0]===65279?(this._BOMseen=!0,u.shift()):u.length>0&&(this._BOMseen=!0)),hAe(u)}return c.call(this,i)};function Db(e,t){if(!(this instanceof Db))throw TypeError("Called as a function. Did you forget 'new'?");t=__(t),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(t.fatal)?"fatal":"replacement";var r=this;if(Boolean(t.NONSTANDARD_allowLegacyEncoding)){e=e!==void 0?String(e):NU;var n=D4(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!mi[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=D4("utf-8"),e!==void 0&&"console"in globalThis&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=r._encoding.name.toLowerCase()),r}Object.defineProperty&&Object.defineProperty(Db.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});Db.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=__(r),this._do_not_flush||(this._encoder=mi[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new F4(dAe(t)),a=[],i;;){var o=n.read();if(o===Kt||(i=this._encoder.handler(n,o),i===Fr))break;Array.isArray(i)?a.push.apply(a,i):a.push(i)}if(!this._do_not_flush){for(;i=this._encoder.handler(n,n.read()),i!==Fr;)Array.isArray(i)?a.push.apply(a,i):a.push(i);this._encoder=null}return new Uint8Array(a)};function _Ae(e){var t=e.fatal,r=0,n=0,a=0,i=128,o=191;this.handler=function(s,c){if(c===Kt&&a!==0)return a=0,Wt(t);if(c===Kt)return Fr;if(a===0){if(St(c,0,127))return c;if(St(c,194,223))a=1,r=c&31;else if(St(c,224,239))c===224&&(i=160),c===237&&(o=159),a=2,r=c&15;else if(St(c,240,244))c===240&&(i=144),c===244&&(o=143),a=3,r=c&7;else return Wt(t);return null}if(!St(c,i,o))return r=a=n=0,i=128,o=191,s.prepend(c),Wt(t);if(i=128,o=191,r=r<<6|c&63,n+=1,n!==a)return null;var u=r;return r=a=n=0,u}}function wAe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Fr;if(so(n))return n;var a,i;St(n,128,2047)?(a=1,i=192):St(n,2048,65535)?(a=2,i=224):St(n,65536,1114111)&&(a=3,i=240);for(var o=[(n>>6*a)+i];a>0;){var s=n>>6*(a-1);o.push(128|s&63),a-=1}return o}}mi["UTF-8"]=function(e){return new wAe(e)};gi["UTF-8"]=function(e){return new _Ae(e)};function TAe(e,t){var r=t.fatal;this.handler=function(n,a){if(a===Kt)return Fr;if(co(a))return a;var i=e[a-128];return i===null?Wt(r):i}}function EAe(e,t){var r=t.fatal;this.handler=function(n,a){if(a===Kt)return Fr;if(so(a))return a;var i=mh(a,e);return i===null&&Jo(a),i+128}}(function(){"encoding-indexes"in globalThis&&qU.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=Za(r.toLowerCase());gi[r]=function(a){return new TAe(n,a)},mi[r]=function(a){return new EAe(n,a)}})})})();gi.GBK=function(e){return new zU(e)};mi.GBK=function(e){return new UU(e,!0)};function zU(e){var t=e.fatal,r=0,n=0,a=0;this.handler=function(i,o){if(o===Kt&&r===0&&n===0&&a===0)return Fr;o===Kt&&(r!==0||n!==0||a!==0)&&(r=0,n=0,a=0,Wt(t));var s;if(a!==0){s=null,St(o,48,57)&&(s=bAe((((r-129)*10+n-48)*126+a-129)*10+o-48));var c=[n,a,o];return r=0,n=0,a=0,s===null?(i.prepend(c),Wt(t)):s}if(n!==0)return St(o,129,254)?(a=o,null):(i.prepend([n,o]),r=0,n=0,Wt(t));if(r!==0){if(St(o,48,57))return n=o,null;var u=r,l=null;r=0;var f=o<127?64:65;return(St(o,64,126)||St(o,128,254))&&(l=(u-129)*190+(o-f)),s=l===null?null:hh(l,Za("gb18030")),s===null&&co(o)&&i.prepend(o),s===null?Wt(t):s}return co(o)?o:o===128?8364:St(o,129,254)?(r=o,null):Wt(t)}}function UU(e,t){var r=e.fatal;this.handler=function(n,a){if(a===Kt)return Fr;if(so(a))return a;if(a===58853)return Jo(a);if(t&&a===8364)return 128;var i=mh(a,Za("gb18030"));if(i!==null){var o=nu(i/190)+129,s=i%190,c=s<63?64:65;return[o,s+c]}if(t)return Jo(a);i=vAe(a);var u=nu(i/10/126/10);i=i-u*10*126*10;var l=nu(i/10/126);i=i-l*10*126;var f=nu(i/10),p=i-f*10;return[u+129,l+48,f+129,p+48]}}mi.gb18030=function(e){return new UU(e)};gi.gb18030=function(e){return new zU(e)};function SAe(e){var t=e.fatal,r=0;this.handler=function(n,a){if(a===Kt&&r!==0)return r=0,Wt(t);if(a===Kt&&r===0)return Fr;if(r!==0){var i=r,o=null;r=0;var s=a<127?64:98;switch((St(a,64,126)||St(a,161,254))&&(o=(i-129)*157+(a-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var c=o===null?null:hh(o,Za("big5"));return c===null&&co(a)&&n.prepend(a),c===null?Wt(t):c}return co(a)?a:St(a,129,254)?(r=a,null):Wt(t)}}function AAe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Fr;if(so(n))return n;var a=yAe(n);if(a===null)return Jo(n);var i=nu(a/157)+129;if(i<161)return Jo(n);var o=a%157,s=o<63?64:98;return[i,o+s]}}mi.Big5=function(e){return new AAe(e)};gi.Big5=function(e){return new SAe(e)};function kAe(e){var t=e.fatal,r=!1,n=0;this.handler=function(a,i){if(i===Kt&&n!==0)return n=0,Wt(t);if(i===Kt&&n===0)return Fr;if(n===142&&St(i,161,223))return n=0,65377-161+i;if(n===143&&St(i,161,254))return r=!0,n=i,null;if(n!==0){var o=n;n=0;var s=null;return St(o,161,254)&&St(i,161,254)&&(s=hh((o-161)*94+(i-161),Za(r?"jis0212":"jis0208"))),r=!1,St(i,161,254)||a.prepend(i),s===null?Wt(t):s}return co(i)?i:i===142||i===143||St(i,161,254)?(n=i,null):Wt(t)}}function DAe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Fr;if(so(n))return n;if(n===165)return 92;if(n===8254)return 126;if(St(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var a=mh(n,Za("jis0208"));if(a===null)return Jo(n);var i=nu(a/94)+161,o=a%94+161;return[i,o]}}mi["EUC-JP"]=function(e){return new DAe(e)};gi["EUC-JP"]=function(e){return new kAe(e)};function OAe(e){var t=e.fatal,r={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=r.ASCII,a=r.ASCII,i=0,o=!1;this.handler=function(s,c){switch(n){default:case r.ASCII:return c===27?(n=r.EscapeStart,null):St(c,0,127)&&c!==14&&c!==15&&c!==27?(o=!1,c):c===Kt?Fr:(o=!1,Wt(t));case r.Roman:return c===27?(n=r.EscapeStart,null):c===92?(o=!1,165):c===126?(o=!1,8254):St(c,0,127)&&c!==14&&c!==15&&c!==27&&c!==92&&c!==126?(o=!1,c):c===Kt?Fr:(o=!1,Wt(t));case r.Katakana:return c===27?(n=r.EscapeStart,null):St(c,33,95)?(o=!1,65377-33+c):c===Kt?Fr:(o=!1,Wt(t));case r.LeadByte:return c===27?(n=r.EscapeStart,null):St(c,33,126)?(o=!1,i=c,n=r.TrailByte,null):c===Kt?Fr:(o=!1,Wt(t));case r.TrailByte:if(c===27)return n=r.EscapeStart,Wt(t);if(St(c,33,126)){n=r.LeadByte;var u=(i-33)*94+c-33,l=hh(u,Za("jis0208"));return l===null?Wt(t):l}return c===Kt?(n=r.LeadByte,s.prepend(c),Wt(t)):(n=r.LeadByte,Wt(t));case r.EscapeStart:return c===36||c===40?(i=c,n=r.Escape,null):(s.prepend(c),o=!1,n=a,Wt(t));case r.Escape:var f=i;i=0;var p=null;if(f===40&&c===66&&(p=r.ASCII),f===40&&c===74&&(p=r.Roman),f===40&&c===73&&(p=r.Katakana),f===36&&(c===64||c===66)&&(p=r.LeadByte),p!==null){n=n=p;var d=o;return o=!0,d?Wt(t):null}return s.prepend([f,c]),o=!1,n=a,Wt(t)}}}function FAe(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(a,i){if(i===Kt&&n!==r.ASCII)return a.prepend(i),n=r.ASCII,[27,40,66];if(i===Kt&&n===r.ASCII)return Fr;if((n===r.ASCII||n===r.Roman)&&(i===14||i===15||i===27))return Jo(65533);if(n===r.ASCII&&so(i))return i;if(n===r.Roman&&(so(i)&&i!==92&&i!==126||i==165||i==8254)){if(so(i))return i;if(i===165)return 92;if(i===8254)return 126}if(so(i)&&n!==r.ASCII)return a.prepend(i),n=r.ASCII,[27,40,66];if((i===165||i===8254)&&n!==r.Roman)return a.prepend(i),n=r.Roman,[27,40,74];i===8722&&(i=65293);var o=mh(i,Za("jis0208"));if(o===null)return Jo(i);if(n!==r.jis0208)return a.prepend(i),n=r.jis0208,[27,36,66];var s=nu(o/94)+33,c=o%94+33;return[s,c]}}mi["ISO-2022-JP"]=function(e){return new FAe(e)};gi["ISO-2022-JP"]=function(e){return new OAe(e)};function PAe(e){var t=e.fatal,r=0;this.handler=function(n,a){if(a===Kt&&r!==0)return r=0,Wt(t);if(a===Kt&&r===0)return Fr;if(r!==0){var i=r,o=null;r=0;var s=a<127?64:65,c=i<160?129:193;if((St(a,64,126)||St(a,128,252))&&(o=(i-c)*188+a-s),St(o,8836,10715))return 57344-8836+o;var u=o===null?null:hh(o,Za("jis0208"));return u===null&&co(a)&&n.prepend(a),u===null?Wt(t):u}return co(a)||a===128?a:St(a,161,223)?65377-161+a:St(a,129,159)||St(a,224,252)?(r=a,null):Wt(t)}}function CAe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Fr;if(so(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(St(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var a=xAe(n);if(a===null)return Jo(n);var i=nu(a/188),o=i<31?129:193,s=a%188,c=s<63?64:65;return[i+o,s+c]}}mi.Shift_JIS=function(e){return new CAe(e)};gi.Shift_JIS=function(e){return new PAe(e)};function IAe(e){var t=e.fatal,r=0;this.handler=function(n,a){if(a===Kt&&r!==0)return r=0,Wt(t);if(a===Kt&&r===0)return Fr;if(r!==0){var i=r,o=null;r=0,St(a,65,254)&&(o=(i-129)*190+(a-65));var s=o===null?null:hh(o,Za("euc-kr"));return o===null&&co(a)&&n.prepend(a),s===null?Wt(t):s}return co(a)?a:St(a,129,254)?(r=a,null):Wt(t)}}function jAe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Fr;if(so(n))return n;var a=mh(n,Za("euc-kr"));if(a===null)return Jo(n);var i=nu(a/190)+129,o=a%190+65;return[i,o]}}mi["EUC-KR"]=function(e){return new jAe(e)};gi["EUC-KR"]=function(e){return new IAe(e)};function y_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function GU(e,t){var r=t.fatal,n=null,a=null;this.handler=function(i,o){if(o===Kt&&(n!==null||a!==null))return Wt(r);if(o===Kt&&n===null&&a===null)return Fr;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,a!==null){var c=a;return a=null,St(s,56320,57343)?65536+(c-55296)*1024+(s-56320):(i.prepend(y_(s,e)),Wt(r))}return St(s,55296,56319)?(a=s,null):St(s,56320,57343)?Wt(r):s}}function VU(e,t){var r=t.fatal;this.handler=function(n,a){if(a===Kt)return Fr;if(St(a,0,65535))return y_(a,e);var i=y_((a-65536>>10)+55296,e),o=y_((a-65536&1023)+56320,e);return i.concat(o)}}mi["UTF-16BE"]=function(e){return new VU(!0,e)};gi["UTF-16BE"]=function(e){return new GU(!0,e)};mi["UTF-16LE"]=function(e){return new VU(!1,e)};gi["UTF-16LE"]=function(e){return new GU(!1,e)};function RAe(e){var t=e.fatal;this.handler=function(r,n){return n===Kt?Fr:co(n)?n:63360+n-128}}function LAe(e){var t=e.fatal;this.handler=function(r,n){return n===Kt?Fr:so(n)?n:St(n,63360,63487)?n-63360+128:Jo(n)}}mi["x-user-defined"]=function(e){return new LAe(e)};gi["x-user-defined"]=function(e){return new RAe(e)};function Ob(e){return Buffer.from(e).toString("base64")}function P4(e){return Buffer.from(e,"base64").toString("ascii")}var N$=Dt(M$(),1),z$=Dt(Lb(),1);function q$(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function t5e(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,z$.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,N$.default)(n,r,t)}function U$(e,t){let r=t5e(e,t);return new Promise(n=>{let a=[];r.on("data",i=>a.push(i)),r.on("end",()=>{let i=Buffer.concat(a);n(q$(i))})})}var Tte=Dt(wte(),1),MF=["image/png","image/jpeg","image/gif"];async function qF(e,t){if(!t)throw new Error("MIMEType is required to parse image under Node.js");let r=e instanceof Buffer?e:Buffer.from(e);return await _7e(r,t)}function _7e(e,t){return new Promise(r=>(0,Tte.default)(e,t,(n,a)=>{if(n)throw n;let i=[...a.shape],o=a.shape.length===4?a.shape.shift():1,s=a.data instanceof Buffer?new Uint8Array(a.data):a.data;r({shape:i,data:s,width:a.shape[0],height:a.shape[1],components:a.shape[2],layers:o?[o]:[]})}))}async function Vi(e,t,r,n){return n._parse(e,t,r,n)}function yt(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var cc={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Ste=cc.self||cc.window||cc.global||{},Ate=cc.window||cc.self||cc.global||{},kte=cc.global||cc.self||cc.window||{},Dte=cc.document||{};var cr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Ete=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),w7e=Ete&&parseFloat(Ete[1])||0;var gw=globalThis,T7e=globalThis.document||{},bw=globalThis.process||{},E7e=globalThis.console,Zqt=globalThis.navigator||{};function Ote(e){var n,a;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&Boolean((a=process.versions)==null?void 0:a.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Fp(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||Ote()}var NF="4.1.1";function o0(e,t){if(!e)throw new Error(t||"Assertion failed")}function zF(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return o0(Number.isFinite(t)&&t>=0),t}function Fte(e){let{logLevel:t,message:r}=e;e.logLevel=zF(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let a=typeof e.message;return o0(a==="string"||a==="object"),Object.assign(e,{args:n},e.opts)}var Pp=()=>{},vw=class{constructor({level:t=0}={}){this.userData={},this._onceCache=new Set,this._level=t}set level(t){this.setLevel(t)}get level(){return this.getLevel()}setLevel(t){return this._level=t,this}getLevel(){return this._level}warn(t,...r){return this._log("warn",0,t,r,{once:!0})}error(t,...r){return this._log("error",0,t,r)}log(t,r,...n){return this._log("log",t,r,n)}info(t,r,...n){return this._log("info",t,r,n)}once(t,r,...n){return this._log("once",t,r,n,{once:!0})}_log(t,r,n,a,i={}){let o=Fte({logLevel:r,message:n,args:this._buildArgs(r,n,a),opts:i});return this._createLogFunction(t,o,i)}_buildArgs(t,r,n){return[t,r,...n]}_createLogFunction(t,r,n){if(!this._shouldLog(r.logLevel))return Pp;let a=this._getOnceTag(n.tag??r.tag??r.message);if((n.once||r.once)&&a!==void 0){if(this._onceCache.has(a))return Pp;this._onceCache.add(a)}return this._emit(t,r)}_shouldLog(t){return this.getLevel()>=zF(t)}_getOnceTag(t){if(t!==void 0)try{return typeof t=="string"?t:String(t)}catch{return}}};function A7e(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var xw=class{constructor(t,r,n="sessionStorage"){this.storage=A7e(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Pte(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function Cte(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var yw;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(yw||(yw={}));var k7e=10;function Ite(e){return typeof e!="string"?e:(e=e.toUpperCase(),yw[e]||yw.WHITE)}function jte(e,t,r){return!Fp&&typeof e=="string"&&(t&&(e=`\x1B[${Ite(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${Ite(r)+k7e}m${e}\x1B[49m`)),e}function Rte(e,t=["constructor"]){let r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),a=e;for(let i of n){let o=a[i];typeof o=="function"&&(t.find(s=>i===s)||(a[i]=o.bind(e)))}}function s0(){var t,r,n,a,i;let e;if(Fp()&&gw.performance)e=(n=(r=(t=gw)==null?void 0:t.performance)==null?void 0:r.now)==null?void 0:n.call(r);else if("hrtime"in bw){let o=(i=(a=bw)==null?void 0:a.hrtime)==null?void 0:i.call(a);e=o[0]*1e3+o[1]/1e6}else e=Date.now();return e}var c0={debug:Fp()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},UF={enabled:!0,level:0},ds=class extends vw{constructor({id:t}={id:""}){super({level:0}),this.VERSION=NF,this._startTs=s0(),this._deltaTs=s0(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new xw(`__probe-${this.id}__`,{[this.id]:UF}),this.timeStamp(`${this.id} started`),Rte(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((s0()-this._startTs).toPrecision(10))}getDelta(){return Number((s0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._updateConfiguration({enabled:t}),this}setLevel(t){return this._updateConfiguration({level:t}),this}get(t){return this._getConfiguration()[t]}set(t,r){this._updateConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){if(!t)throw new Error(r||"Assertion failed")}warn(t,...r){return this._log("warn",0,t,r,{method:c0.warn,once:!0})}error(t,...r){return this._log("error",0,t,r,{method:c0.error})}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r,...n){return this._log("log",t,r,n,{method:c0.log,time:!0,once:!0})}log(t,r,...n){return this._log("log",t,r,n,{method:c0.debug})}info(t,r,...n){return this._log("info",t,r,n,{method:console.info})}once(t,r,...n){return this._log("once",t,r,n,{method:c0.debug||c0.info,once:!0})}table(t,r,n){return r?this._log("table",t,r,n&&[n]||[],{method:console.table||Pp,tag:O7e(r)}):Pp}time(t,r){return this._log("time",t,r,[],{method:console.time?console.time:console.info})}timeEnd(t,r){return this._log("time",t,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(t,r){return this._log("time",t,r,[],{method:console.timeStamp||Pp})}group(t,r,n={collapsed:!1}){let a=(n.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",t,r,[],{method:a})}groupCollapsed(t,r,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._log("groupEnd",t,"",[],{method:console.groupEnd||Pp})}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&super._shouldLog(t)}_emit(t,r){let n=r.method;o0(n),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=s0();let a=D7e(this.id,r.message,r);return n.bind(console,a,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(UF),this._storage.config[this.id]}_updateConfiguration(t){let r=this._storage.config[this.id]||{...UF};this._storage.setConfiguration({[this.id]:{...r,...t}})}};ds.VERSION=NF;function D7e(e,t,r){if(typeof t=="string"){let n=r.time?Cte(Pte(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=jte(t,r.color,r.background)}return t}function O7e(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var GF=new ds({id:"@probe.gl/log"});var VF="4.5.1",F7e=VF[0]>="0"&&VF[0]<="9"?`v${VF}`:"";function P7e(){let e=new ds({id:"loaders.gl"});return globalThis.loaders||(globalThis.loaders={}),globalThis.loaders.log=e,globalThis.loaders.version=F7e,globalThis.probe||(globalThis.probe={}),globalThis.probe.loaders=e,e}var Cv=P7e();var C7e=e=>typeof e=="boolean",uc=e=>typeof e=="function",lc=e=>e!==null&&typeof e=="object",_w=e=>lc(e)&&e.constructor==={}.constructor;var $F=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,u0=e=>lc(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function";var HF=e=>Boolean(e)&&uc(e[Symbol.iterator]),WF=e=>Boolean(e)&&uc(e[Symbol.asyncIterator]);var $i=e=>typeof Response<"u"&&e instanceof Response||lc(e)&&uc(e.arrayBuffer)&&uc(e.text)&&uc(e.json);var Hi=e=>typeof Blob<"u"&&e instanceof Blob;var Lte=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||lc(e)&&uc(e.tee)&&uc(e.cancel)&&uc(e.getReader);var Bte=e=>lc(e)&&uc(e.read)&&uc(e.pipe)&&C7e(e.readable),Iv=e=>Lte(e)||Bte(e);function KF(e,t){return Mte(e||{},t)}function Mte(e,t,r=0){if(r>3)return t;let n={...e};for(let[a,i]of Object.entries(t))i&&typeof i=="object"&&!Array.isArray(i)?n[a]=Mte(n[a]||{},t[a],r+1):n[a]=t[a];return n}function l0(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function XF(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var qte="latest";function I7e(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.5.1"),globalThis._loadersgl_.version}var Cp=I7e();function ya(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var fc={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},NNt=fc.self||fc.window||fc.global||{},zNt=fc.window||fc.self||fc.global||{},UNt=fc.global||fc.self||fc.window||{},GNt=fc.document||{};var Rn=typeof process!="object"||String(process)!=="[object process]"||process.browser,jv=typeof importScripts=="function",zte=typeof window<"u"&&typeof window.orientation<"u",Nte=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),VNt=Nte&&parseFloat(Nte[1])||0;var Rv=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((n,a)=>{this._resolve=n,this._reject=a})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){ya(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){ya(this.isRunning),this.isRunning=!1,this._reject(t)}};var Ip={};Jn(Ip,{NodeWorker:()=>Bv,parentPort:()=>j7e});var Lv=Dt(require("worker_threads"),1);kb(Ip,require("worker_threads"));var j7e=Lv==null?void 0:Lv.parentPort,Bv=Lv.Worker;var YF=new Map;function Ute(e){ya(e.source&&!e.url||!e.source&&e.url);let t=YF.get(e.source||e.url);return t||(e.url&&(t=R7e(e.url),YF.set(e.url,t)),e.source&&(t=Gte(e.source),YF.set(e.source,t))),ya(t),t}function R7e(e){if(!e.startsWith("http"))return e;let t=L7e(e);return Gte(t)}function Gte(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function L7e(e){return`try {
|
|
154
|
+
deps: ${r}}`};var HIt={keyword:"dependencies",type:"object",schemaType:"object",error:eu.error,code(e){let[t,r]=WIt(e);z3e(e,t),U3e(e,r)}};function WIt({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let a=Array.isArray(e[n])?t:r;a[n]=e[n]}return[t,r]}function z3e(e,t=e.schema){let{gen:r,data:n,it:a}=e;if(Object.keys(t).length===0)return;let i=r.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let c=(0,m_.propertyInData)(r,n,o,a.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),a.allErrors?r.if(c,()=>{for(let u of s)(0,m_.checkReportMissingProp)(e,u)}):(r.if((0,cU._)`${c} && (${(0,m_.checkMissingProp)(e,s,i)})`),(0,m_.reportMissingProp)(e,i),r.else())}}eu.validatePropertyDeps=z3e;function U3e(e,t=e.schema){let{gen:r,data:n,keyword:a,it:i}=e,o=r.name("valid");for(let s in t)(0,$It.alwaysValidSchema)(i,t[s])||(r.if((0,m_.propertyInData)(r,n,s,i.opts.ownProperties),()=>{let c=e.subschema({keyword:a,schemaProp:s},o);e.mergeValidEvaluated(c,o)},()=>r.var(o,!0)),e.ok(o))}eu.validateSchemaDeps=U3e;eu.default=HIt});var $3e=b(uU=>{"use strict";Object.defineProperty(uU,"__esModule",{value:!0});var V3e=Mt(),KIt=ar(),XIt={message:"property name must be valid",params:({params:e})=>(0,V3e._)`{propertyName: ${e.propertyName}}`},YIt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:XIt,code(e){let{gen:t,schema:r,data:n,it:a}=e;if((0,KIt.alwaysValidSchema)(a,r))return;let i=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},i),t.if((0,V3e.not)(i),()=>{e.error(!0),a.allErrors||t.break()})}),e.ok(i)}};uU.default=YIt});var fU=b(lU=>{"use strict";Object.defineProperty(lU,"__esModule",{value:!0});var u4=Ho(),Ns=Mt(),QIt=gl(),l4=ar(),JIt={message:"must NOT have additional properties",params:({params:e})=>(0,Ns._)`{additionalProperty: ${e.additionalProperty}}`},ZIt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:JIt,code(e){let{gen:t,schema:r,parentSchema:n,data:a,errsCount:i,it:o}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:s,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,l4.alwaysValidSchema)(o,r))return;let u=(0,u4.allSchemaProperties)(n.properties),l=(0,u4.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Ns._)`${i} === ${QIt.default.errors}`);function f(){t.forIn("key",a,g=>{!u.length&&!l.length?h(g):t.if(p(g),()=>h(g))})}function p(g){let x;if(u.length>8){let y=(0,l4.schemaRefOrVal)(o,n.properties,"properties");x=(0,u4.isOwnProperty)(t,y,g)}else u.length?x=(0,Ns.or)(...u.map(y=>(0,Ns._)`${g} === ${y}`)):x=Ns.nil;return l.length&&(x=(0,Ns.or)(x,...l.map(y=>(0,Ns._)`${(0,u4.usePattern)(e,y)}.test(${g})`))),(0,Ns.not)(x)}function d(g){t.code((0,Ns._)`delete ${a}[${g}]`)}function h(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){d(g);return}if(r===!1){e.setParams({additionalProperty:g}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,l4.alwaysValidSchema)(o,r)){let x=t.name("valid");c.removeAdditional==="failing"?(m(g,x,!1),t.if((0,Ns.not)(x),()=>{e.reset(),d(g)})):(m(g,x),s||t.if((0,Ns.not)(x),()=>t.break()))}}function m(g,x,y){let _={keyword:"additionalProperties",dataProp:g,dataPropType:l4.Type.Str};y===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(_,x)}}};lU.default=ZIt});var K3e=b(dU=>{"use strict";Object.defineProperty(dU,"__esModule",{value:!0});var ejt=t_(),H3e=Ho(),pU=ar(),W3e=fU(),tjt={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:a,it:i}=e;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&W3e.default.code(new ejt.KeywordCxt(i,W3e.default,"additionalProperties"));let o=(0,H3e.allSchemaProperties)(r);for(let f of o)i.definedProperties.add(f);i.opts.unevaluated&&o.length&&i.props!==!0&&(i.props=pU.mergeEvaluated.props(t,(0,pU.toHash)(o),i.props));let s=o.filter(f=>!(0,pU.alwaysValidSchema)(i,r[f]));if(s.length===0)return;let c=t.name("valid");for(let f of s)u(f)?l(f):(t.if((0,H3e.propertyInData)(t,a,f,i.opts.ownProperties)),l(f),i.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(c);function u(f){return i.opts.useDefaults&&!i.compositeRule&&r[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},c)}}};dU.default=tjt});var J3e=b(hU=>{"use strict";Object.defineProperty(hU,"__esModule",{value:!0});var X3e=Ho(),f4=Mt(),Y3e=ar(),Q3e=ar(),rjt={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:a,it:i}=e,{opts:o}=i,s=(0,X3e.allSchemaProperties)(r),c=s.filter(m=>(0,Y3e.alwaysValidSchema)(i,r[m]));if(s.length===0||c.length===s.length&&(!i.opts.unevaluated||i.props===!0))return;let u=o.strictSchema&&!o.allowMatchingProperties&&a.properties,l=t.name("valid");i.props!==!0&&!(i.props instanceof f4.Name)&&(i.props=(0,Q3e.evaluatedPropsToName)(t,i.props));let{props:f}=i;p();function p(){for(let m of s)u&&d(m),i.allErrors?h(m):(t.var(l,!0),h(m),t.if(l))}function d(m){for(let g in u)new RegExp(m).test(g)&&(0,Y3e.checkStrictMode)(i,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function h(m){t.forIn("key",n,g=>{t.if((0,f4._)`${(0,X3e.usePattern)(e,m)}.test(${g})`,()=>{let x=c.includes(m);x||e.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:Q3e.Type.Str},l),i.opts.unevaluated&&f!==!0?t.assign((0,f4._)`${f}[${g}]`,!0):!x&&!i.allErrors&&t.if((0,f4.not)(l),()=>t.break())})})}}};hU.default=rjt});var Z3e=b(mU=>{"use strict";Object.defineProperty(mU,"__esModule",{value:!0});var njt=ar(),ajt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,njt.alwaysValidSchema)(n,r)){e.fail();return}let a=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},a),e.failResult(a,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};mU.default=ajt});var eSe=b(gU=>{"use strict";Object.defineProperty(gU,"__esModule",{value:!0});var ijt=Ho(),ojt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:ijt.validateUnion,error:{message:"must match a schema in anyOf"}};gU.default=ojt});var tSe=b(bU=>{"use strict";Object.defineProperty(bU,"__esModule",{value:!0});var p4=Mt(),sjt=ar(),cjt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,p4._)`{passingSchemas: ${e.passing}}`},ujt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:cjt,code(e){let{gen:t,schema:r,parentSchema:n,it:a}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(a.opts.discriminator&&n.discriminator)return;let i=r,o=t.let("valid",!1),s=t.let("passing",null),c=t.name("_valid");e.setParams({passing:s}),t.block(u),e.result(o,()=>e.reset(),()=>e.error(!0));function u(){i.forEach((l,f)=>{let p;(0,sjt.alwaysValidSchema)(a,l)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},c),f>0&&t.if((0,p4._)`${c} && ${o}`).assign(o,!1).assign(s,(0,p4._)`[${s}, ${f}]`).else(),t.if(c,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,p4.Name)})})}}};bU.default=ujt});var rSe=b(vU=>{"use strict";Object.defineProperty(vU,"__esModule",{value:!0});var ljt=ar(),fjt={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let a=t.name("valid");r.forEach((i,o)=>{if((0,ljt.alwaysValidSchema)(n,i))return;let s=e.subschema({keyword:"allOf",schemaProp:o},a);e.ok(a),e.mergeEvaluated(s)})}};vU.default=fjt});var iSe=b(xU=>{"use strict";Object.defineProperty(xU,"__esModule",{value:!0});var d4=Mt(),aSe=ar(),pjt={message:({params:e})=>(0,d4.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,d4._)`{failingKeyword: ${e.ifClause}}`},djt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:pjt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,aSe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let a=nSe(n,"then"),i=nSe(n,"else");if(!a&&!i)return;let o=t.let("valid",!0),s=t.name("_valid");if(c(),e.reset(),a&&i){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,u("then",l),u("else",l))}else a?t.if(s,u("then")):t.if((0,d4.not)(s),u("else"));e.pass(o,()=>e.error(!0));function c(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function u(l,f){return()=>{let p=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(p,o),f?t.assign(f,(0,d4._)`${l}`):e.setParams({ifClause:l})}}}};function nSe(e,t){let r=e.schema[t];return r!==void 0&&!(0,aSe.alwaysValidSchema)(e,r)}xU.default=djt});var oSe=b(yU=>{"use strict";Object.defineProperty(yU,"__esModule",{value:!0});var hjt=ar(),mjt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,hjt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};yU.default=mjt});var sSe=b(_U=>{"use strict";Object.defineProperty(_U,"__esModule",{value:!0});var gjt=nU(),bjt=B3e(),vjt=aU(),xjt=q3e(),yjt=N3e(),_jt=G3e(),wjt=$3e(),Tjt=fU(),Ejt=K3e(),Sjt=J3e(),Ajt=Z3e(),kjt=eSe(),Djt=tSe(),Ojt=rSe(),Fjt=iSe(),Pjt=oSe();function Cjt(e=!1){let t=[Ajt.default,kjt.default,Djt.default,Ojt.default,Fjt.default,Pjt.default,wjt.default,Tjt.default,_jt.default,Ejt.default,Sjt.default];return e?t.push(bjt.default,xjt.default):t.push(gjt.default,vjt.default),t.push(yjt.default),t}_U.default=Cjt});var cSe=b(wU=>{"use strict";Object.defineProperty(wU,"__esModule",{value:!0});var Dn=Mt(),Ijt={message:({schemaCode:e})=>(0,Dn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Dn._)`{format: ${e}}`},jjt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Ijt,code(e,t){let{gen:r,data:n,$data:a,schema:i,schemaCode:o,it:s}=e,{opts:c,errSchemaPath:u,schemaEnv:l,self:f}=s;if(!c.validateFormats)return;a?p():d();function p(){let h=r.scopeValue("formats",{ref:f.formats,code:c.code.formats}),m=r.const("fDef",(0,Dn._)`${h}[${o}]`),g=r.let("fType"),x=r.let("format");r.if((0,Dn._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Dn._)`${m}.type || "string"`).assign(x,(0,Dn._)`${m}.validate`),()=>r.assign(g,(0,Dn._)`"string"`).assign(x,m)),e.fail$data((0,Dn.or)(y(),_()));function y(){return c.strictSchema===!1?Dn.nil:(0,Dn._)`${o} && !${x}`}function _(){let S=l.$async?(0,Dn._)`(${m}.async ? await ${x}(${n}) : ${x}(${n}))`:(0,Dn._)`${x}(${n})`,T=(0,Dn._)`(typeof ${x} == "function" ? ${S} : ${x}.test(${n}))`;return(0,Dn._)`${x} && ${x} !== true && ${g} === ${t} && !${T}`}}function d(){let h=f.formats[i];if(!h){y();return}if(h===!0)return;let[m,g,x]=_(h);m===t&&e.pass(S());function y(){if(c.strictSchema===!1){f.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function _(T){let O=T instanceof RegExp?(0,Dn.regexpCode)(T):c.code.formats?(0,Dn._)`${c.code.formats}${(0,Dn.getProperty)(i)}`:void 0,I=r.scopeValue("formats",{key:i,ref:T,code:O});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Dn._)`${I}.validate`]:["string",T,I]}function S(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Dn._)`await ${x}(${n})`}return typeof g=="function"?(0,Dn._)`${x}(${n})`:(0,Dn._)`${x}.test(${n})`}}}};wU.default=jjt});var uSe=b(TU=>{"use strict";Object.defineProperty(TU,"__esModule",{value:!0});var Rjt=cSe(),Ljt=[Rjt.default];TU.default=Ljt});var lSe=b(gb=>{"use strict";Object.defineProperty(gb,"__esModule",{value:!0});gb.contentVocabulary=gb.metadataVocabulary=void 0;gb.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];gb.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var pSe=b(EU=>{"use strict";Object.defineProperty(EU,"__esModule",{value:!0});var Bjt=x3e(),Mjt=I3e(),qjt=sSe(),Njt=uSe(),fSe=lSe(),zjt=[Bjt.default,Mjt.default,(0,qjt.default)(),Njt.default,fSe.metadataVocabulary,fSe.contentVocabulary];EU.default=zjt});var hSe=b(h4=>{"use strict";Object.defineProperty(h4,"__esModule",{value:!0});h4.DiscrError=void 0;var dSe;(function(e){e.Tag="tag",e.Mapping="mapping"})(dSe||(h4.DiscrError=dSe={}))});var gSe=b(AU=>{"use strict";Object.defineProperty(AU,"__esModule",{value:!0});var bb=Mt(),SU=hSe(),mSe=Yk(),Ujt=r_(),Gjt=ar(),Vjt={message:({params:{discrError:e,tagName:t}})=>e===SU.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,bb._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},$jt={keyword:"discriminator",type:"object",schemaType:"object",error:Vjt,code(e){let{gen:t,data:r,schema:n,parentSchema:a,it:i}=e,{oneOf:o}=a;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",(0,bb._)`${r}${(0,bb.getProperty)(s)}`);t.if((0,bb._)`typeof ${u} == "string"`,()=>l(),()=>e.error(!1,{discrError:SU.DiscrError.Tag,tag:u,tagName:s})),e.ok(c);function l(){let d=p();t.if(!1);for(let h in d)t.elseIf((0,bb._)`${u} === ${h}`),t.assign(c,f(d[h]));t.else(),e.error(!1,{discrError:SU.DiscrError.Mapping,tag:u,tagName:s}),t.endIf()}function f(d){let h=t.name("valid"),m=e.subschema({keyword:"oneOf",schemaProp:d},h);return e.mergeEvaluated(m,bb.Name),h}function p(){var d;let h={},m=x(a),g=!0;for(let S=0;S<o.length;S++){let T=o[S];if(T!=null&&T.$ref&&!(0,Gjt.schemaHasRulesButRef)(T,i.self.RULES)){let I=T.$ref;if(T=mSe.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,I),T instanceof mSe.SchemaEnv&&(T=T.schema),T===void 0)throw new Ujt.default(i.opts.uriResolver,i.baseId,I)}let O=(d=T==null?void 0:T.properties)===null||d===void 0?void 0:d[s];if(typeof O!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);g=g&&(m||x(T)),y(O,S)}if(!g)throw new Error(`discriminator: "${s}" must be required`);return h;function x({required:S}){return Array.isArray(S)&&S.includes(s)}function y(S,T){if(S.const)_(S.const,T);else if(S.enum)for(let O of S.enum)_(O,T);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function _(S,T){if(typeof S!="string"||S in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[S]=T}}}};AU.default=$jt});var bSe=b((Obr,Hjt)=>{Hjt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var xSe=b((Qr,kU)=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.MissingRefError=Qr.ValidationError=Qr.CodeGen=Qr.Name=Qr.nil=Qr.stringify=Qr.str=Qr._=Qr.KeywordCxt=Qr.Ajv=void 0;var Wjt=d3e(),Kjt=pSe(),Xjt=gSe(),vSe=bSe(),Yjt=["/properties"],m4="http://json-schema.org/draft-07/schema",vb=class extends Wjt.default{_addVocabularies(){super._addVocabularies(),Kjt.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Xjt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(vSe,Yjt):vSe;this.addMetaSchema(t,m4,!1),this.refs["http://json-schema.org/schema"]=m4}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(m4)?m4:void 0)}};Qr.Ajv=vb;kU.exports=Qr=vb;kU.exports.Ajv=vb;Object.defineProperty(Qr,"__esModule",{value:!0});Qr.default=vb;var Qjt=t_();Object.defineProperty(Qr,"KeywordCxt",{enumerable:!0,get:function(){return Qjt.KeywordCxt}});var xb=Mt();Object.defineProperty(Qr,"_",{enumerable:!0,get:function(){return xb._}});Object.defineProperty(Qr,"str",{enumerable:!0,get:function(){return xb.str}});Object.defineProperty(Qr,"stringify",{enumerable:!0,get:function(){return xb.stringify}});Object.defineProperty(Qr,"nil",{enumerable:!0,get:function(){return xb.nil}});Object.defineProperty(Qr,"Name",{enumerable:!0,get:function(){return xb.Name}});Object.defineProperty(Qr,"CodeGen",{enumerable:!0,get:function(){return xb.CodeGen}});var Jjt=Kk();Object.defineProperty(Qr,"ValidationError",{enumerable:!0,get:function(){return Jjt.default}});var Zjt=r_();Object.defineProperty(Qr,"MissingRefError",{enumerable:!0,get:function(){return Zjt.default}})});var BU=typeof process!="object"||String(process)!=="[object process]"||process.browser;var MU={ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]};globalThis["encoding-indexes"]=MU||{};function St(e,t,r){return t<=e&&e<=r}function pAe(e,t){return e.indexOf(t)!==-1}var nu=Math.floor;function __(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function dAe(e){for(var t=String(e),r=t.length,n=0,a=[];n<r;){var i=t.charCodeAt(n);if(i<55296||i>57343)a.push(i);else if(56320<=i&&i<=57343)a.push(65533);else if(55296<=i&&i<=56319)if(n===r-1)a.push(65533);else{var o=t.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=i&1023,c=o&1023;a.push(65536+(s<<10)+c),n+=1}else a.push(65533)}n+=1}return a}function hAe(e){for(var t="",r=0;r<e.length;++r){var n=e[r];n<=65535?t+=String.fromCharCode(n):(n-=65536,t+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return t}function co(e){return 0<=e&&e<=127}var so=co,Kt=-1;function F4(e){this.tokens=[].slice.call(e),this.tokens.reverse()}F4.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Kt},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.shift());else this.tokens.unshift(e)}};var Fr=-1;function Wt(e,t){if(e)throw TypeError("Decoder error");return t||65533}function Jo(e){throw TypeError("The code point "+e+" could not be encoded.")}function mAe(){}mAe.prototype={handler:function(e,t){}};function gAe(){}gAe.prototype={handler:function(e,t){}};function D4(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(O4,e)?O4[e]:null}var qU=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],O4={};qU.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){O4[r]=t})})});var mi={},gi={};function hh(e,t){return t&&t[e]||null}function mh(e,t){var r=t.indexOf(e);return r===-1?null:r}function Za(e){if(!("encoding-indexes"in globalThis))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return globalThis["encoding-indexes"][e]}function bAe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=Za("gb18030-ranges"),a;for(a=0;a<n.length;++a){var i=n[a];if(i[0]<=e)t=i[0],r=i[1];else break}return r+e-t}function vAe(e){if(e===59335)return 7457;var t=0,r=0,n=Za("gb18030-ranges"),a;for(a=0;a<n.length;++a){var i=n[a];if(i[1]<=e)t=i[1],r=i[0];else break}return r+e-t}function xAe(e){A4=A4||Za("jis0208").map(function(r,n){return St(n,8272,8835)?null:r});var t=A4;return t.indexOf(e)}var A4;function yAe(e){k4=k4||Za("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=k4;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):mh(e,t)}var k4,NU="utf-8";function up(e,t){if(!(this instanceof up))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):NU,t=__(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=D4(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!gi[r.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var n=this;return n._encoding=r,Boolean(t.fatal)&&(n._error_mode="fatal"),Boolean(t.ignoreBOM)&&(n._ignoreBOM=!0),Object.defineProperty||(this.encoding=n._encoding.name.toLowerCase(),this.fatal=n._error_mode==="fatal",this.ignoreBOM=n._ignoreBOM),n}Object.defineProperty&&(Object.defineProperty(up.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(up.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(up.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));up.prototype.decode=function(t,r){var n;typeof t=="object"&&t instanceof ArrayBuffer?n=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):n=new Uint8Array(0),r=__(r),this._do_not_flush||(this._decoder=gi[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var a=new F4(n),i=[],o;;){var s=a.read();if(s===Kt||(o=this._decoder.handler(a,s),o===Fr))break;o!==null&&(Array.isArray(o)?i.push.apply(i,o):i.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(a,a.read()),o===Fr)break;o!==null&&(Array.isArray(o)?i.push.apply(i,o):i.push(o))}while(!a.endOfStream());this._decoder=null}function c(u){return pAe(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(u.length>0&&u[0]===65279?(this._BOMseen=!0,u.shift()):u.length>0&&(this._BOMseen=!0)),hAe(u)}return c.call(this,i)};function Db(e,t){if(!(this instanceof Db))throw TypeError("Called as a function. Did you forget 'new'?");t=__(t),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(t.fatal)?"fatal":"replacement";var r=this;if(Boolean(t.NONSTANDARD_allowLegacyEncoding)){e=e!==void 0?String(e):NU;var n=D4(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!mi[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=D4("utf-8"),e!==void 0&&"console"in globalThis&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=r._encoding.name.toLowerCase()),r}Object.defineProperty&&Object.defineProperty(Db.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});Db.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=__(r),this._do_not_flush||(this._encoder=mi[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new F4(dAe(t)),a=[],i;;){var o=n.read();if(o===Kt||(i=this._encoder.handler(n,o),i===Fr))break;Array.isArray(i)?a.push.apply(a,i):a.push(i)}if(!this._do_not_flush){for(;i=this._encoder.handler(n,n.read()),i!==Fr;)Array.isArray(i)?a.push.apply(a,i):a.push(i);this._encoder=null}return new Uint8Array(a)};function _Ae(e){var t=e.fatal,r=0,n=0,a=0,i=128,o=191;this.handler=function(s,c){if(c===Kt&&a!==0)return a=0,Wt(t);if(c===Kt)return Fr;if(a===0){if(St(c,0,127))return c;if(St(c,194,223))a=1,r=c&31;else if(St(c,224,239))c===224&&(i=160),c===237&&(o=159),a=2,r=c&15;else if(St(c,240,244))c===240&&(i=144),c===244&&(o=143),a=3,r=c&7;else return Wt(t);return null}if(!St(c,i,o))return r=a=n=0,i=128,o=191,s.prepend(c),Wt(t);if(i=128,o=191,r=r<<6|c&63,n+=1,n!==a)return null;var u=r;return r=a=n=0,u}}function wAe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Fr;if(so(n))return n;var a,i;St(n,128,2047)?(a=1,i=192):St(n,2048,65535)?(a=2,i=224):St(n,65536,1114111)&&(a=3,i=240);for(var o=[(n>>6*a)+i];a>0;){var s=n>>6*(a-1);o.push(128|s&63),a-=1}return o}}mi["UTF-8"]=function(e){return new wAe(e)};gi["UTF-8"]=function(e){return new _Ae(e)};function TAe(e,t){var r=t.fatal;this.handler=function(n,a){if(a===Kt)return Fr;if(co(a))return a;var i=e[a-128];return i===null?Wt(r):i}}function EAe(e,t){var r=t.fatal;this.handler=function(n,a){if(a===Kt)return Fr;if(so(a))return a;var i=mh(a,e);return i===null&&Jo(a),i+128}}(function(){"encoding-indexes"in globalThis&&qU.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=Za(r.toLowerCase());gi[r]=function(a){return new TAe(n,a)},mi[r]=function(a){return new EAe(n,a)}})})})();gi.GBK=function(e){return new zU(e)};mi.GBK=function(e){return new UU(e,!0)};function zU(e){var t=e.fatal,r=0,n=0,a=0;this.handler=function(i,o){if(o===Kt&&r===0&&n===0&&a===0)return Fr;o===Kt&&(r!==0||n!==0||a!==0)&&(r=0,n=0,a=0,Wt(t));var s;if(a!==0){s=null,St(o,48,57)&&(s=bAe((((r-129)*10+n-48)*126+a-129)*10+o-48));var c=[n,a,o];return r=0,n=0,a=0,s===null?(i.prepend(c),Wt(t)):s}if(n!==0)return St(o,129,254)?(a=o,null):(i.prepend([n,o]),r=0,n=0,Wt(t));if(r!==0){if(St(o,48,57))return n=o,null;var u=r,l=null;r=0;var f=o<127?64:65;return(St(o,64,126)||St(o,128,254))&&(l=(u-129)*190+(o-f)),s=l===null?null:hh(l,Za("gb18030")),s===null&&co(o)&&i.prepend(o),s===null?Wt(t):s}return co(o)?o:o===128?8364:St(o,129,254)?(r=o,null):Wt(t)}}function UU(e,t){var r=e.fatal;this.handler=function(n,a){if(a===Kt)return Fr;if(so(a))return a;if(a===58853)return Jo(a);if(t&&a===8364)return 128;var i=mh(a,Za("gb18030"));if(i!==null){var o=nu(i/190)+129,s=i%190,c=s<63?64:65;return[o,s+c]}if(t)return Jo(a);i=vAe(a);var u=nu(i/10/126/10);i=i-u*10*126*10;var l=nu(i/10/126);i=i-l*10*126;var f=nu(i/10),p=i-f*10;return[u+129,l+48,f+129,p+48]}}mi.gb18030=function(e){return new UU(e)};gi.gb18030=function(e){return new zU(e)};function SAe(e){var t=e.fatal,r=0;this.handler=function(n,a){if(a===Kt&&r!==0)return r=0,Wt(t);if(a===Kt&&r===0)return Fr;if(r!==0){var i=r,o=null;r=0;var s=a<127?64:98;switch((St(a,64,126)||St(a,161,254))&&(o=(i-129)*157+(a-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var c=o===null?null:hh(o,Za("big5"));return c===null&&co(a)&&n.prepend(a),c===null?Wt(t):c}return co(a)?a:St(a,129,254)?(r=a,null):Wt(t)}}function AAe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Fr;if(so(n))return n;var a=yAe(n);if(a===null)return Jo(n);var i=nu(a/157)+129;if(i<161)return Jo(n);var o=a%157,s=o<63?64:98;return[i,o+s]}}mi.Big5=function(e){return new AAe(e)};gi.Big5=function(e){return new SAe(e)};function kAe(e){var t=e.fatal,r=!1,n=0;this.handler=function(a,i){if(i===Kt&&n!==0)return n=0,Wt(t);if(i===Kt&&n===0)return Fr;if(n===142&&St(i,161,223))return n=0,65377-161+i;if(n===143&&St(i,161,254))return r=!0,n=i,null;if(n!==0){var o=n;n=0;var s=null;return St(o,161,254)&&St(i,161,254)&&(s=hh((o-161)*94+(i-161),Za(r?"jis0212":"jis0208"))),r=!1,St(i,161,254)||a.prepend(i),s===null?Wt(t):s}return co(i)?i:i===142||i===143||St(i,161,254)?(n=i,null):Wt(t)}}function DAe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Fr;if(so(n))return n;if(n===165)return 92;if(n===8254)return 126;if(St(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var a=mh(n,Za("jis0208"));if(a===null)return Jo(n);var i=nu(a/94)+161,o=a%94+161;return[i,o]}}mi["EUC-JP"]=function(e){return new DAe(e)};gi["EUC-JP"]=function(e){return new kAe(e)};function OAe(e){var t=e.fatal,r={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=r.ASCII,a=r.ASCII,i=0,o=!1;this.handler=function(s,c){switch(n){default:case r.ASCII:return c===27?(n=r.EscapeStart,null):St(c,0,127)&&c!==14&&c!==15&&c!==27?(o=!1,c):c===Kt?Fr:(o=!1,Wt(t));case r.Roman:return c===27?(n=r.EscapeStart,null):c===92?(o=!1,165):c===126?(o=!1,8254):St(c,0,127)&&c!==14&&c!==15&&c!==27&&c!==92&&c!==126?(o=!1,c):c===Kt?Fr:(o=!1,Wt(t));case r.Katakana:return c===27?(n=r.EscapeStart,null):St(c,33,95)?(o=!1,65377-33+c):c===Kt?Fr:(o=!1,Wt(t));case r.LeadByte:return c===27?(n=r.EscapeStart,null):St(c,33,126)?(o=!1,i=c,n=r.TrailByte,null):c===Kt?Fr:(o=!1,Wt(t));case r.TrailByte:if(c===27)return n=r.EscapeStart,Wt(t);if(St(c,33,126)){n=r.LeadByte;var u=(i-33)*94+c-33,l=hh(u,Za("jis0208"));return l===null?Wt(t):l}return c===Kt?(n=r.LeadByte,s.prepend(c),Wt(t)):(n=r.LeadByte,Wt(t));case r.EscapeStart:return c===36||c===40?(i=c,n=r.Escape,null):(s.prepend(c),o=!1,n=a,Wt(t));case r.Escape:var f=i;i=0;var p=null;if(f===40&&c===66&&(p=r.ASCII),f===40&&c===74&&(p=r.Roman),f===40&&c===73&&(p=r.Katakana),f===36&&(c===64||c===66)&&(p=r.LeadByte),p!==null){n=n=p;var d=o;return o=!0,d?Wt(t):null}return s.prepend([f,c]),o=!1,n=a,Wt(t)}}}function FAe(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(a,i){if(i===Kt&&n!==r.ASCII)return a.prepend(i),n=r.ASCII,[27,40,66];if(i===Kt&&n===r.ASCII)return Fr;if((n===r.ASCII||n===r.Roman)&&(i===14||i===15||i===27))return Jo(65533);if(n===r.ASCII&&so(i))return i;if(n===r.Roman&&(so(i)&&i!==92&&i!==126||i==165||i==8254)){if(so(i))return i;if(i===165)return 92;if(i===8254)return 126}if(so(i)&&n!==r.ASCII)return a.prepend(i),n=r.ASCII,[27,40,66];if((i===165||i===8254)&&n!==r.Roman)return a.prepend(i),n=r.Roman,[27,40,74];i===8722&&(i=65293);var o=mh(i,Za("jis0208"));if(o===null)return Jo(i);if(n!==r.jis0208)return a.prepend(i),n=r.jis0208,[27,36,66];var s=nu(o/94)+33,c=o%94+33;return[s,c]}}mi["ISO-2022-JP"]=function(e){return new FAe(e)};gi["ISO-2022-JP"]=function(e){return new OAe(e)};function PAe(e){var t=e.fatal,r=0;this.handler=function(n,a){if(a===Kt&&r!==0)return r=0,Wt(t);if(a===Kt&&r===0)return Fr;if(r!==0){var i=r,o=null;r=0;var s=a<127?64:65,c=i<160?129:193;if((St(a,64,126)||St(a,128,252))&&(o=(i-c)*188+a-s),St(o,8836,10715))return 57344-8836+o;var u=o===null?null:hh(o,Za("jis0208"));return u===null&&co(a)&&n.prepend(a),u===null?Wt(t):u}return co(a)||a===128?a:St(a,161,223)?65377-161+a:St(a,129,159)||St(a,224,252)?(r=a,null):Wt(t)}}function CAe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Fr;if(so(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(St(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var a=xAe(n);if(a===null)return Jo(n);var i=nu(a/188),o=i<31?129:193,s=a%188,c=s<63?64:65;return[i+o,s+c]}}mi.Shift_JIS=function(e){return new CAe(e)};gi.Shift_JIS=function(e){return new PAe(e)};function IAe(e){var t=e.fatal,r=0;this.handler=function(n,a){if(a===Kt&&r!==0)return r=0,Wt(t);if(a===Kt&&r===0)return Fr;if(r!==0){var i=r,o=null;r=0,St(a,65,254)&&(o=(i-129)*190+(a-65));var s=o===null?null:hh(o,Za("euc-kr"));return o===null&&co(a)&&n.prepend(a),s===null?Wt(t):s}return co(a)?a:St(a,129,254)?(r=a,null):Wt(t)}}function jAe(e){var t=e.fatal;this.handler=function(r,n){if(n===Kt)return Fr;if(so(n))return n;var a=mh(n,Za("euc-kr"));if(a===null)return Jo(n);var i=nu(a/190)+129,o=a%190+65;return[i,o]}}mi["EUC-KR"]=function(e){return new jAe(e)};gi["EUC-KR"]=function(e){return new IAe(e)};function y_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function GU(e,t){var r=t.fatal,n=null,a=null;this.handler=function(i,o){if(o===Kt&&(n!==null||a!==null))return Wt(r);if(o===Kt&&n===null&&a===null)return Fr;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,a!==null){var c=a;return a=null,St(s,56320,57343)?65536+(c-55296)*1024+(s-56320):(i.prepend(y_(s,e)),Wt(r))}return St(s,55296,56319)?(a=s,null):St(s,56320,57343)?Wt(r):s}}function VU(e,t){var r=t.fatal;this.handler=function(n,a){if(a===Kt)return Fr;if(St(a,0,65535))return y_(a,e);var i=y_((a-65536>>10)+55296,e),o=y_((a-65536&1023)+56320,e);return i.concat(o)}}mi["UTF-16BE"]=function(e){return new VU(!0,e)};gi["UTF-16BE"]=function(e){return new GU(!0,e)};mi["UTF-16LE"]=function(e){return new VU(!1,e)};gi["UTF-16LE"]=function(e){return new GU(!1,e)};function RAe(e){var t=e.fatal;this.handler=function(r,n){return n===Kt?Fr:co(n)?n:63360+n-128}}function LAe(e){var t=e.fatal;this.handler=function(r,n){return n===Kt?Fr:so(n)?n:St(n,63360,63487)?n-63360+128:Jo(n)}}mi["x-user-defined"]=function(e){return new LAe(e)};gi["x-user-defined"]=function(e){return new RAe(e)};function Ob(e){return Buffer.from(e).toString("base64")}function P4(e){return Buffer.from(e,"base64").toString("ascii")}var N$=Dt(M$(),1),z$=Dt(Lb(),1);function q$(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function t5e(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,z$.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,N$.default)(n,r,t)}function U$(e,t){let r=t5e(e,t);return new Promise(n=>{let a=[];r.on("data",i=>a.push(i)),r.on("end",()=>{let i=Buffer.concat(a);n(q$(i))})})}var Tte=Dt(wte(),1),MF=["image/png","image/jpeg","image/gif"];async function qF(e,t){if(!t)throw new Error("MIMEType is required to parse image under Node.js");let r=e instanceof Buffer?e:Buffer.from(e);return await _7e(r,t)}function _7e(e,t){return new Promise(r=>(0,Tte.default)(e,t,(n,a)=>{if(n)throw n;let i=[...a.shape],o=a.shape.length===4?a.shape.shift():1,s=a.data instanceof Buffer?new Uint8Array(a.data):a.data;r({shape:i,data:s,width:a.shape[0],height:a.shape[1],components:a.shape[2],layers:o?[o]:[]})}))}async function Vi(e,t,r,n){return n._parse(e,t,r,n)}function yt(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var cc={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Ste=cc.self||cc.window||cc.global||{},Ate=cc.window||cc.self||cc.global||{},kte=cc.global||cc.self||cc.window||{},Dte=cc.document||{};var cr=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Ete=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),w7e=Ete&&parseFloat(Ete[1])||0;var gw=globalThis,T7e=globalThis.document||{},bw=globalThis.process||{},E7e=globalThis.console,Zqt=globalThis.navigator||{};function Ote(e){var n,a;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&Boolean((a=process.versions)==null?void 0:a.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function Fp(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||Ote()}var NF="4.1.1";function o0(e,t){if(!e)throw new Error(t||"Assertion failed")}function zF(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return o0(Number.isFinite(t)&&t>=0),t}function Fte(e){let{logLevel:t,message:r}=e;e.logLevel=zF(t);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&n.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let a=typeof e.message;return o0(a==="string"||a==="object"),Object.assign(e,{args:n},e.opts)}var Pp=()=>{},vw=class{constructor({level:t=0}={}){this.userData={},this._onceCache=new Set,this._level=t}set level(t){this.setLevel(t)}get level(){return this.getLevel()}setLevel(t){return this._level=t,this}getLevel(){return this._level}warn(t,...r){return this._log("warn",0,t,r,{once:!0})}error(t,...r){return this._log("error",0,t,r)}log(t,r,...n){return this._log("log",t,r,n)}info(t,r,...n){return this._log("info",t,r,n)}once(t,r,...n){return this._log("once",t,r,n,{once:!0})}_log(t,r,n,a,i={}){let o=Fte({logLevel:r,message:n,args:this._buildArgs(r,n,a),opts:i});return this._createLogFunction(t,o,i)}_buildArgs(t,r,n){return[t,r,...n]}_createLogFunction(t,r,n){if(!this._shouldLog(r.logLevel))return Pp;let a=this._getOnceTag(n.tag??r.tag??r.message);if((n.once||r.once)&&a!==void 0){if(this._onceCache.has(a))return Pp;this._onceCache.add(a)}return this._emit(t,r)}_shouldLog(t){return this.getLevel()>=zF(t)}_getOnceTag(t){if(t!==void 0)try{return typeof t=="string"?t:String(t)}catch{return}}};function A7e(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var xw=class{constructor(t,r,n="sessionStorage"){this.storage=A7e(n),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Pte(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function Cte(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var yw;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(yw||(yw={}));var k7e=10;function Ite(e){return typeof e!="string"?e:(e=e.toUpperCase(),yw[e]||yw.WHITE)}function jte(e,t,r){return!Fp&&typeof e=="string"&&(t&&(e=`\x1B[${Ite(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${Ite(r)+k7e}m${e}\x1B[49m`)),e}function Rte(e,t=["constructor"]){let r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),a=e;for(let i of n){let o=a[i];typeof o=="function"&&(t.find(s=>i===s)||(a[i]=o.bind(e)))}}function s0(){var t,r,n,a,i;let e;if(Fp()&&gw.performance)e=(n=(r=(t=gw)==null?void 0:t.performance)==null?void 0:r.now)==null?void 0:n.call(r);else if("hrtime"in bw){let o=(i=(a=bw)==null?void 0:a.hrtime)==null?void 0:i.call(a);e=o[0]*1e3+o[1]/1e6}else e=Date.now();return e}var c0={debug:Fp()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},UF={enabled:!0,level:0},ds=class extends vw{constructor({id:t}={id:""}){super({level:0}),this.VERSION=NF,this._startTs=s0(),this._deltaTs=s0(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new xw(`__probe-${this.id}__`,{[this.id]:UF}),this.timeStamp(`${this.id} started`),Rte(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((s0()-this._startTs).toPrecision(10))}getDelta(){return Number((s0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._updateConfiguration({enabled:t}),this}setLevel(t){return this._updateConfiguration({level:t}),this}get(t){return this._getConfiguration()[t]}set(t,r){this._updateConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){if(!t)throw new Error(r||"Assertion failed")}warn(t,...r){return this._log("warn",0,t,r,{method:c0.warn,once:!0})}error(t,...r){return this._log("error",0,t,r,{method:c0.error})}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r,...n){return this._log("log",t,r,n,{method:c0.log,time:!0,once:!0})}log(t,r,...n){return this._log("log",t,r,n,{method:c0.debug})}info(t,r,...n){return this._log("info",t,r,n,{method:console.info})}once(t,r,...n){return this._log("once",t,r,n,{method:c0.debug||c0.info,once:!0})}table(t,r,n){return r?this._log("table",t,r,n&&[n]||[],{method:console.table||Pp,tag:O7e(r)}):Pp}time(t,r){return this._log("time",t,r,[],{method:console.time?console.time:console.info})}timeEnd(t,r){return this._log("time",t,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(t,r){return this._log("time",t,r,[],{method:console.timeStamp||Pp})}group(t,r,n={collapsed:!1}){let a=(n.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",t,r,[],{method:a})}groupCollapsed(t,r,n={}){return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._log("groupEnd",t,"",[],{method:console.groupEnd||Pp})}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&super._shouldLog(t)}_emit(t,r){let n=r.method;o0(n),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=s0();let a=D7e(this.id,r.message,r);return n.bind(console,a,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(UF),this._storage.config[this.id]}_updateConfiguration(t){let r=this._storage.config[this.id]||{...UF};this._storage.setConfiguration({[this.id]:{...r,...t}})}};ds.VERSION=NF;function D7e(e,t,r){if(typeof t=="string"){let n=r.time?Cte(Pte(r.total)):"";t=r.time?`${e}: ${n} ${t}`:`${e}: ${t}`,t=jte(t,r.color,r.background)}return t}function O7e(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var GF=new ds({id:"@probe.gl/log"});var VF="4.5.3",F7e=VF[0]>="0"&&VF[0]<="9"?`v${VF}`:"";function P7e(){let e=new ds({id:"loaders.gl"});return globalThis.loaders||(globalThis.loaders={}),globalThis.loaders.log=e,globalThis.loaders.version=F7e,globalThis.probe||(globalThis.probe={}),globalThis.probe.loaders=e,e}var Cv=P7e();var C7e=e=>typeof e=="boolean",uc=e=>typeof e=="function",lc=e=>e!==null&&typeof e=="object",_w=e=>lc(e)&&e.constructor==={}.constructor;var $F=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,u0=e=>lc(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function";var HF=e=>Boolean(e)&&uc(e[Symbol.iterator]),WF=e=>Boolean(e)&&uc(e[Symbol.asyncIterator]);var $i=e=>typeof Response<"u"&&e instanceof Response||lc(e)&&uc(e.arrayBuffer)&&uc(e.text)&&uc(e.json);var Hi=e=>typeof Blob<"u"&&e instanceof Blob;var Lte=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||lc(e)&&uc(e.tee)&&uc(e.cancel)&&uc(e.getReader);var Bte=e=>lc(e)&&uc(e.read)&&uc(e.pipe)&&C7e(e.readable),Iv=e=>Lte(e)||Bte(e);function KF(e,t){return Mte(e||{},t)}function Mte(e,t,r=0){if(r>3)return t;let n={...e};for(let[a,i]of Object.entries(t))i&&typeof i=="object"&&!Array.isArray(i)?n[a]=Mte(n[a]||{},t[a],r+1):n[a]=t[a];return n}function l0(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function XF(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var qte="latest";function I7e(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.5.3"),globalThis._loadersgl_.version}var Cp=I7e();function ya(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var fc={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},NNt=fc.self||fc.window||fc.global||{},zNt=fc.window||fc.self||fc.global||{},UNt=fc.global||fc.self||fc.window||{},GNt=fc.document||{};var Rn=typeof process!="object"||String(process)!=="[object process]"||process.browser,jv=typeof importScripts=="function",zte=typeof window<"u"&&typeof window.orientation<"u",Nte=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),VNt=Nte&&parseFloat(Nte[1])||0;var Rv=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((n,a)=>{this._resolve=n,this._reject=a})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){ya(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){ya(this.isRunning),this.isRunning=!1,this._reject(t)}};var Ip={};Jn(Ip,{NodeWorker:()=>Bv,parentPort:()=>j7e});var Lv=Dt(require("worker_threads"),1);kb(Ip,require("worker_threads"));var j7e=Lv==null?void 0:Lv.parentPort,Bv=Lv.Worker;var YF=new Map;function Ute(e){ya(e.source&&!e.url||!e.source&&e.url);let t=YF.get(e.source||e.url);return t||(e.url&&(t=R7e(e.url),YF.set(e.url,t)),e.source&&(t=Gte(e.source),YF.set(e.source,t))),ya(t),t}function R7e(e){if(!e.startsWith("http"))return e;let t=L7e(e);return Gte(t)}function Gte(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function L7e(e){return`try {
|
|
155
155
|
importScripts('${e}');
|
|
156
156
|
} catch (error) {
|
|
157
157
|
console.error(error);
|
|
158
158
|
throw error;
|
|
159
|
-
}`}function QF(e,t=!0,r){let n=r||new Set;if(e){if(Vte(e))n.add(e);else if(Vte(e.buffer))n.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e=="object")for(let a in e)QF(e[a],t,n)}}return r===void 0?Array.from(n):[]}function Vte(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function JF(e){if(e===null)return{};let t=Object.assign({},e);return Object.keys(t).forEach(r=>{typeof e[r]=="object"&&!ArrayBuffer.isView(e[r])&&!(e[r]instanceof Array)?t[r]=JF(e[r]):typeof t[r]=="function"||t[r]instanceof RegExp?t[r]={}:t[r]=e[r]}),t}var ZF=()=>{},Vl=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&Rn||typeof Bv<"u"&&!Rn}constructor(t){let{name:r,source:n,url:a}=t;ya(n||a),this.name=r,this.source=n,this.url=a,this.onMessage=ZF,this.onError=i=>console.log(i),this.worker=Rn?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=ZF,this.onError=ZF,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,r){r=r||QF(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r="Failed to load ";return r+=`worker ${this.name} from ${this.url}. `,t.message&&(r+=`${t.message} in `),t.lineno&&(r+=`:${t.lineno}:${t.colno}`),new Error(r)}_createBrowserWorker(){this._loadableURL=Ute({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error("No data received"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let n=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,a=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";t=new Bv(n,{eval:!1,type:a})}else if(this.source)t=new Bv(this.source,{eval:!0});else throw new Error("no worker");return t.on("message",r=>{this.onMessage(r)}),t.on("error",r=>{this.onError(r)}),t.on("exit",r=>{}),t}};var Mv=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return Vl.isSupported()}constructor(t){this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t,r=(a,i,o)=>a.done(o),n=(a,i)=>a.error(i)){let a=new Promise(i=>(this.jobQueue.push({name:t,onMessage:r,onError:n,onStart:i}),this));return this._startQueuedJob(),await a}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:"Starting job",name:r.name,workerThread:t,backlog:this.jobQueue.length});let n=new Rv(r.name,t);t.onMessage=a=>r.onMessage(n,a.type,a.payload),t.onError=a=>r.onError(n,a),r.onStart(n);try{await n.result}catch(a){console.error(`Worker exception: ${a}`)}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){!Rn||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let t=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new Vl({name:t,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return zte?this.maxMobileConcurrency:this.maxConcurrency}};var B7e={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},jp=class{props;workerPools=new Map;static isSupported(){return Vl.isSupported()}static getWorkerFarm(t={}){return jp._workerFarm=jp._workerFarm||new jp({}),jp._workerFarm.setProps(t),jp._workerFarm}constructor(t){this.props={...B7e},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:n,url:a}=t,i=this.workerPools.get(r);return i||(i=new Mv({name:r,source:n,url:a}),i.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,i)),i}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},za=jp;LU(za,"_workerFarm");function $te(e){let t=e.version!==Cp?` (worker-utils@${Cp})`:"";return`${e.name}@${e.version}${t}`}function qv(e,t={}){var o;let r=t[e.id]||{},n=Rn
|
|
160
|
-
`).forEach(s=>{let c=i.exec(s);c&&a.push(Number(c[1]))});let o=e;for(;a.includes(o);)o++;t(o)})})}async function G7e(){var e;if(typeof process>"u"||!((e=process.versions)!=null&&e.node))throw new Error("ChildProcessProxy is only available in Node.js environments");return await import("child_process")}var Xte={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},f0=class{id;props={...Xte};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Xte,...t},this.props=t;let r=await G7e(),n=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await Kte(t.port)),n.push(t.portArg,String(this.port))),await new Promise((a,i)=>{var o,s;try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),a({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let c=t.spawn||{},u=r.spawn(t.command,n,c);this.childProcess=u,(o=u.stdout)==null||o.on("data",l=>{console.log(l.toString())}),(s=u.stderr)==null||s.on("data",l=>{console.log(`Child process wrote to stderr: "${l}".`),t.ignoreStderr||(this._clearTimeout(),i(new Error(l)))}),u.on("error",l=>{console.log(`Child process errored with ${l}`),this._clearTimeout(),i(l)}),u.on("close",l=>{console.log(`Child process exited with ${l}`),this.childProcess=null,this._clearTimeout(),a({})})}catch(c){i(c)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};function nP(e,t){var a,i;if(!za.isSupported())return!1;let r=(t==null?void 0:t._nodeWorkers)??((a=t==null?void 0:t.core)==null?void 0:a._nodeWorkers);if(!Rn&&!r)return!1;let n=(t==null?void 0:t.worker)??((i=t==null?void 0:t.core)==null?void 0:i.worker);return Boolean(e.worker&&n)}async function aP(e,t,r,n,a){let i=e.id,o=qv(e,r),c=za.getWorkerFarm(r==null?void 0:r.core).getWorkerPool({name:i,url:o});r=JSON.parse(JSON.stringify(r)),n=JSON.parse(JSON.stringify(n||{}));let u=await c.startJob("process-on-worker",V7e.bind(null,a));return u.postMessage("process",{input:t,options:r,context:n}),await(await u.result).result}async function V7e(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:a,input:i,options:o}=n;try{let s=await e(i,o);t.postMessage("done",{id:a,result:s})}catch(s){let c=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:a,error:c})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function iP(e,t){var a,i;if(!za.isSupported())return!1;let r=(t==null?void 0:t._nodeWorkers)??((a=t==null?void 0:t.core)==null?void 0:a._nodeWorkers),n=(t==null?void 0:t.worker)??((i=t==null?void 0:t.core)==null?void 0:i.worker);return!cr&&!r?!1:Boolean(e.worker&&n)}function Qte(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Yte(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Yte(e,0,t):""}function Yte(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),a="";for(let i=0;i<r;i++)a+=String.fromCharCode(n.getUint8(t+i));return a}function oP(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Qte(e)}"`)}}function pc(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),a=new Uint8Array(t);for(let i=0;i<n.length;++i)if(n[i]!==a[i])return!1;return!0}function bn(...e){return ww(e)}function ww(e){let t=e.map(i=>i instanceof ArrayBuffer?new Uint8Array(i):i),r=t.reduce((i,o)=>i+o.byteLength,0),n=new Uint8Array(r),a=0;for(let i of t)n.set(i,a),a+=i.byteLength;return n.buffer}function Wi(...e){let t=e,r=t&&t.length>1&&t[0].constructor||null;if(!r)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let n=t.reduce((o,s)=>o+s.length,0),a=new r(n),i=0;for(let o of t)a.set(o,i),i+=o.length;return a}function Rp(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function Ki(e,t){return yt(e>=0),yt(t>0),e+(t-1)&~(t-1)}function sP(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let a=e.byteOffset,i=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,a,i)}return t.set(n,r),r+Ki(n.byteLength,4)}function cP(e,t){let r=e.length,a=Math.ceil(r/t)*t-r,i="";for(let o=0;o<a;++o)i+=" ";return e+i}function p0(e,t,r,n){if(e)for(let a=0;a<n;a++)e.setUint8(t+a,r.charCodeAt(a));return t+n}function zv(e,t,r,n){if(e)for(let a=0;a<n;a++)e.setUint8(t+a,r[a]);return t+n}function Tw(e,t,r,n){let a=Ki(r.byteLength,n),i=a-r.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),s=new Uint8Array(r);o.set(s);for(let c=0;c<i;++c)e.setUint8(t+r.byteLength+c,32)}return t+=a,t}function d0(e,t,r,n){let i=new TextEncoder().encode(r);return t=Tw(e,t,i,n),t}async function Lp(e){let t=[];for await(let r of e)t.push($7e(r));return bn(...t)}function $7e(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:r,byteLength:n}=e;return Jte(t,r,n)}return Jte(e)}function Jte(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),a=new Uint8Array(n.length);return a.set(n),a.buffer}var H7e="",Zte={};function dc(e){for(let t in Zte)if(e.startsWith(t)){let r=Zte[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${H7e}${e}`),e}var W7e="4.5.1",uP={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:W7e,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:ere,parse:async e=>ere(new TextDecoder().decode(e)),options:{}};function ere(e){return JSON.parse(e)}function tre(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function Ew(e){return e&&typeof e=="object"&&e.isBuffer}function Kn(e){if(Ew(e))return tre(e);if(e instanceof ArrayBuffer)return e;if($F(e))return yu(e);if(ArrayBuffer.isView(e)){let t=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?t:t.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function ii(e){if(e instanceof ArrayBuffer)return e;if($F(e))return yu(e);let{buffer:t,byteOffset:r,byteLength:n}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:yu(t,r,n)}function yu(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),a=new Uint8Array(n.length);return a.set(n),a.buffer}function lP(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}function h0(e){return t=>new Promise((r,n)=>e(t,(a,i)=>a?n(a):r(i)))}var Ua={};Jn(Ua,{dirname:()=>Y7e,filename:()=>X7e,join:()=>Q7e,resolve:()=>J7e});function rre(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)==null?void 0:t.pathname;return(e==null?void 0:e.slice(0,e.lastIndexOf("/")+1))||""}function X7e(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):e}function Y7e(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function Q7e(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function J7e(...e){let t=[];for(let i=0;i<e.length;i++)t[i]=e[i];let r="",n=!1,a;for(let i=t.length-1;i>=-1&&!n;i--){let o;i>=0?o=t[i]:(a===void 0&&(a=rre()),o=a),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Uv)}return r=Z7e(r,!n),n?`/${r}`:r.length>0?r:"."}var Uv=47,fP=46;function Z7e(e,t){let r="",n=-1,a=0,i,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)i=e.charCodeAt(s);else{if(i===Uv)break;i=Uv}if(i===Uv){if(!(n===s-1||a===1))if(n!==s-1&&a===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==fP||r.charCodeAt(r.length-2)!==fP){if(r.length>2){let c=r.length-1,u=c;for(;u>=0&&r.charCodeAt(u)!==Uv;--u);if(u!==c){r=u===-1?"":r.slice(0,u),n=s,a=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=s,a=0,o=!1;continue}}t&&(r.length>0?r+="/..":r="..",o=!0)}else{let c=e.slice(n+1,s);r.length>0?r+=`/${c}`:r=c,o=!1}n=s,a=0}else i===fP&&a!==-1?++a:a=-1}return r}var Gv=class{handle;size;bigsize;url;constructor(t){this.handle=t instanceof ArrayBuffer?new Blob([t]):t,this.size=t instanceof ArrayBuffer?t.byteLength:t.size,this.bigsize=BigInt(this.size),this.url=t instanceof File?t.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(t,r){return await this.handle.slice(Number(t),Number(t)+Number(r)).arrayBuffer()}};var m0=class{handle;size=0;bigsize=0n;url;constructor(t){this.handle=t,this.url=t}async close(){}async stat(){let t=await fetch(this.handle,{method:"HEAD"});if(!t.ok)throw new Error(`Failed to fetch HEAD ${this.handle}`);let r=parseInt(t.headers.get("Content-Length")||"0");return{size:r,bigsize:BigInt(r),isDirectory:!1}}async read(t=0,r=0){return await(await this.fetchRange(t,r)).arrayBuffer()}async fetchRange(t,r,n){let a=Number(t),i=Number(r),o;n||(o=new AbortController,n=o.signal);let s=this.handle,c=await fetch(s,{signal:n,headers:{Range:`bytes=${a}-${a+i-1}`}});switch(c.status){case 206:break;case 200:let u=c.headers.get("Content-Length");if(!u||Number(u)>r)throw o&&o.abort(),Error("content-length header missing or exceeding request. Server must support HTTP Byte Serving.");case 416:if(t===0){let l=c.headers.get("Content-Range");if(!l||!l.startsWith("bytes *"))throw Error("Missing content-length on 416 response");let f=Number(l.substr(8));c=await fetch(this.url,{signal:n,headers:{Range:`bytes=0-${f-1}`}})}break;default:if(c.status>=300)throw Error(`Bad response code: ${c.status}`)}return c}};var Vv=new Error("Not implemented"),Ga=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){var a;if((a=globalThis.loaders)!=null&&a.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw cr?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw Vv}async write(t,r,n){throw Vv}async stat(){throw Vv}async truncate(t){throw Vv}async append(t){throw Vv}async close(){}};var g0=new Error("Not implemented"),$v=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw cr?new Error("Can't instantiate NodeFileSystem in browser."):new Error("Can't instantiate NodeFileSystem. Make sure to import @loaders.gl/polyfills first.")}readable=!0;writable=!0;async openReadableFile(t,r){throw g0}async openWritableFile(t,r,n){throw g0}async readdir(t=".",r){throw g0}async stat(t,r){throw g0}async unlink(t){throw g0}async fetch(t,r){throw g0}};var _u=Dt(require("fs"),1),Bp=class{handle;size;bigsize;url;constructor(t,r,n){t=dc(t),this.handle=_u.default.openSync(t,r,n);let a=_u.default.fstatSync(this.handle,{bigint:!0});this.size=Number(a.size),this.bigsize=a.size,this.url=t}async close(){return new Promise((t,r)=>{_u.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{_u.default.ftruncate(this.handle,t,a=>{a?n(a):(this.bigsize=BigInt(t),this.size=Number(this.bigsize),r())})})}async append(t){return new Promise((r,n)=>{_u.default.appendFile(this.handle,t,a=>{a?n(a):(this.bigsize=this.bigsize+BigInt(t.length),this.size=Number(this.bigsize),r())})})}async stat(){return await new Promise((t,r)=>_u.default.fstat(this.handle,{bigint:!0},(n,a)=>{let i={size:Number(a.size),bigsize:a.size,isDirectory:a.isDirectory()};n?r(n):t(i)}))}async read(t,r){let n=new ArrayBuffer(r),a=BigInt(t),i=0,o=new Uint8Array(n),s;for(;r>0;){let c=await nMe(this.handle,o,0,r,a);if(c===0)break;i+=c,a+=BigInt(c),r-=c,s!==void 0&&(s+=c)}return i<r?n.slice(0,i):n}async write(t,r=0,n=t.byteLength){return new Promise((a,i)=>{let o=Number(r),s=new Uint8Array(t,Number(r),n);_u.default.write(this.handle,s,0,n,o,(c,u)=>c?i(c):a(u))})}};async function nMe(e,t,r,n,a){return await new Promise((i,o)=>_u.default.read(e,t,r,n,a,(s,c)=>s?o(s):i(c)))}var Dw=Dt(require("fs/promises"),1);var dP=Dt(require("fs"),1),pP=require("stream");var Sw=Dt(require("zlib"),1);function Aw(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(Sw.default.createBrotliDecompress());case"gzip":return e.pipe(Sw.default.createGunzip());case"deflate":return e.pipe(Sw.default.createDeflate());default:return e}}async function nre(e){let t=[];return await new Promise((r,n)=>{e.on("error",a=>n(a)),e.on("readable",()=>e.read()),e.on("data",a=>{typeof a=="string"&&n(new Error("Read stream not binary")),t.push(Kn(a))}),e.on("end",()=>{let a=aMe(t);r(a)})})}function aMe(e){let t=e.map(i=>i instanceof ArrayBuffer?new Uint8Array(i):i),r=t.reduce((i,o)=>i+o.byteLength,0),n=new Uint8Array(r),a=0;for(let i of t)n.set(i,a),a+=i.byteLength;return n.buffer}var iMe=e=>typeof e=="boolean",are=e=>typeof e=="function",oMe=e=>e!==null&&typeof e=="object",sMe=e=>oMe(e)&&are(e.read)&&are(e.pipe)&&iMe(e.readable);async function kw(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=dc(n);let a=new Headers;e.endsWith(".gz")&&a.set("content-encoding","gzip"),e.endsWith(".br")&&a.set("content-encoding","br");try{let i=await new Promise((f,p)=>{let d=dP.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",h=>p(h))}),o=i;sMe(i)?o=Aw(i,a):typeof i=="string"?o=pP.Readable.from([new TextEncoder().encode(i)]):o=pP.Readable.from([i||new ArrayBuffer(0)]);let s=200,c="OK",u=cMe(n),l=new Response(o,{headers:u,status:s,statusText:c});return Object.defineProperty(l,"url",{value:e}),l}catch(i){let o=i.message,s=400,c=o,u={},l=new Response(o,{headers:u,status:s,statusText:c});return Object.defineProperty(l,"url",{value:e}),l}}function cMe(e){let t={};if(!t["content-length"]){let r=dP.default.statSync(e);t["content-length"]=r.size}return e.endsWith(".gz")&&(e=e.slice(0,-3),t["content-encoding"]="gzip"),new Headers(t)}var Ow=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await Dw.default.readdir(t,r)}async stat(t){let r=await Dw.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await Dw.default.unlink(t)}async fetch(t,r){return await kw(t,r)}async openReadableFile(t,r="r"){return new Bp(t,r)}async openWritableFile(t,r="w",n){return new Bp(t,r,n)}};var wu=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){var o,s;let n=[];for await(let c of t)n.push(c),yield c;let a=await this.concatenate(n),i=await this.hash(a,r);(s=(o=this.options.crypto)==null?void 0:o.onEnd)==null||s.call(o,{hash:i})}async concatenate(t){return await Lp(t)}};var b0=class{crc;constructor(){this.crc=-1}update(t){let r=lMe(),n=new Uint8Array(t);for(let a=0;a<n.byteLength;a++)this.crc=this.crc>>>8^r[(this.crc^n[a])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},uMe=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function lMe(){return uMe}function ire(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let a=0;a<n.length;a++)typeof n[a]>"u"?t+="=":t+=fMe(n[a])}return t}function fMe(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function hP(e,t){switch(t){case"hex":return ore(e);case"base64":return cre(ore(e));default:throw new Error(t)}}function sre(e,t){switch(t){case"hex":return e;case"base64":return cre(e);default:throw new Error(t)}}function cre(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return ire(r)||""}function ore(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var Hv=class extends wu{name="crc32";options;constructor(t={}){super(),this.options={crypto:{},...t},this.hashBatches=this.hashBatches.bind(this)}async hash(t,r){return this.hashSync(t,r)}hashSync(t,r){let n=new b0;n.update(t);let a=n.finalize();return hP(a,r)}async*hashBatches(t,r="base64"){var i,o;let n=new b0;for await(let s of t)n.update(s),yield s;let a=n.finalize();(o=(i=this.options.crypto)==null?void 0:i.onEnd)==null||o.call(i,{hash:hP(a,r)})}};var Fw="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ure=bMe("AGFzbQEAAAABDANgAX8AYAAAYAABfwIeAgdpbXBvcnRzA2xvZwAAB2ltcG9ydHMDbWVtAgABAzIxAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAgICAgIAAAAAAAaYARt/AUGBxpS6Bgt/AUGJ17b+fgt/AUH+uevFeQt/AUH2qMmBAQt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALB7oCJQhvbmVGdWxsQQAYCG9uZUZ1bGxCABkIb25lRnVsbEMAGghvbmVGdWxsRAAbBWxvb3BzAAEEbG9vcAACBXByaW1lAAMFbG9vcEEABAZsb29wQTEABQZsb29wQTIABgZsb29wQTMABwZsb29wQTQACAVsb29wQgAJBmxvb3BCMQAKBmxvb3BCMgALBmxvb3BCMwAMBmxvb3BCNAANBWxvb3BDAA4GbG9vcEMxAA8GbG9vcEMyABAGbG9vcEMzABEGbG9vcEM0ABIFbG9vcEQAEwZsb29wRDEAFAZsb29wRDIAFQZsb29wRDMAFgZsb29wRDQAFwRnZXRBACgEZ2V0QgApBGdldEMAKgRnZXREACsEZ2V0WAAsBHNldEEALQRzZXRCAC4Ec2V0QwAvBHNldEQAMARzZXRYADEKzA0xWwEBf0EAJAggAEEGdCEBAkADQCMIIAFGDQEjACQEIwEkBSMCJAYjAyQHEAIjBCMAaiQAIwUjAWokASMGIwJqJAIjByMDaiQDIwhBwABqJAgMAAsLIwgjGmokGgsTACMIIxpqJAkQAxAEEAkQDhATC6IBAEEAIwlqKAIAJApBBCMJaigCACQLQQgjCWooAgAkDEEMIwlqKAIAJA1BECMJaigCACQOQRQjCWooAgAkD0EYIwlqKAIAJBBBHCMJaigCACQRQSAjCWooAgAkEkEkIwlqKAIAJBNBKCMJaigCACQUQSwjCWooAgAkFUEwIwlqKAIAJBZBNCMJaigCACQXQTgjCWooAgAkGEE8IwlqKAIAJBkLCgAQBRAGEAcQCAsuAEH4yKq7fSMKahAYQdbunsZ+IwtqEBtB2+GBoQIjDGoQGkHunfeNfCMNahAZCy0AQa+f8Kt/Iw5qEBhBqoyfvAQjD2oQG0GTjMHBeiMQahAaQYGqmmojEWoQGQssAEHYsYLMBiMSahAYQa/vk9p4IxNqEBtBsbd9IxRqEBpBvq/zyngjFWoQGQstAEGiosDcBiMWahAYQZPj4WwjF2oQG0GOh+WzeiMYahAaQaGQ0M0EIxlqEBkLCgAQChALEAwQDQsuAEHiyviwfyMLahAcQcDmgoJ8IxBqEB9B0bT5sgIjFWoQHkGqj9vNfiMKahAdCy0AQd2gvLF9Iw9qEBxB06iQEiMUahAfQYHNh8V9IxlqEB5ByPfPvn4jDmoQHQsuAEHmm4ePAiMTahAcQdaP3Jl8IxhqEB9Bh5vUpn8jDWoQHkHtqeiqBCMSahAdCy0AQYXSj896IxdqEBxB+Me+ZyMMahAfQdmFvLsGIxFqEB5Bipmp6XgjFmoQHQsKABAPEBAQERASCysAQcLyaCMPahAgQYHtx7t4IxJqECNBosL17AYjFWoQIkGM8JRvIxhqECELLgBBxNT7pXojC2oQIEGpn/veBCMOahAjQeCW7bV/IxFqECJB8Pj+9XsjFGoQIQstAEHG/e3EAiMXahAgQfrPhNV+IwpqECNBheG8p30jDWoQIkGFuqAkIxBqECELLgBBuaDTzn0jE2oQIEHls+62fiMWahAjQfj5if0BIxlqECJB5ayxpXwjDGoQIQsKABAUEBUQFhAXCy0AQcTEpKF/IwpqECRBl/+rmQQjEWoQJ0Gnx9DceiMYahAmQbnAzmQjD2oQJQstAEHDs+2qBiMWahAkQZKZs/h4Iw1qECdB/ei/fyMUahAmQdG7kax4IwtqECULLQBBz/yh/QYjEmoQJEHgzbNxIxlqECdBlIaFmHojEGoQJkGho6DwBCMXahAlCy4AQYL9zbp/Iw5qECRBteTr6XsjFWoQJ0G7pd/WAiMMahAmQZGnm9x+IxNqECULKAEBf0F/IwFzIwNxIwEjAnFyIwBqIABqIgFBB3QgAUEZdnIjAWokAAsoAQF/QX8jAnMjAHEjAiMDcXIjAWogAGoiAUEWdCABQQp2ciMCaiQBCygBAX9BfyMDcyMBcSMDIwBxciMCaiAAaiIBQRF0IAFBD3ZyIwNqJAILKAEBf0F/IwBzIwJxIwAjAXFyIwNqIABqIgFBDHQgAUEUdnIjAGokAwsoAQF/IwJBfyMDc3EjASMDcXIjAGogAGoiAUEFdCABQRt2ciMBaiQACygBAX8jA0F/IwBzcSMCIwBxciMBaiAAaiIBQRR0IAFBDHZyIwJqJAELKAEBfyMAQX8jAXNxIwMjAXFyIwJqIABqIgFBDnQgAUESdnIjA2okAgsoAQF/IwFBfyMCc3EjACMCcXIjA2ogAGoiAUEJdCABQRd2ciMAaiQDCyIBAX8jASMCcyMDcyMAaiAAaiIBQQR0IAFBHHZyIwFqJAALIgEBfyMCIwNzIwBzIwFqIABqIgFBF3QgAUEJdnIjAmokAQsiAQF/IwMjAHMjAXMjAmogAGoiAUEQdCABQRB2ciMDaiQCCyIBAX8jACMBcyMCcyMDaiAAaiIBQQt0IAFBFXZyIwBqJAMLJQEBf0F/IwNzIwFyIwJzIwBqIABqIgFBBnQgAUEadnIjAWokAAslAQF/QX8jAHMjAnIjA3MjAWogAGoiAUEVdCABQQt2ciMCaiQBCyUBAX9BfyMBcyMDciMAcyMCaiAAaiIBQQ90IAFBEXZyIwNqJAILJQEBf0F/IwJzIwByIwFzIwNqIABqIgFBCnQgAUEWdnIjAGokAwsEACMACwQAIwELBAAjAgsEACMDCwQAIxoLBgAgACQACwYAIAAkAQsGACAAJAILBgAgACQDCwYAIAAkGgsA6gQEbmFtZQGSAzIAA2xvZwEFbG9vcHMCBGxvb3ADBXByaW1lBAVsb29wQQUGbG9vcEExBgZsb29wQTIHBmxvb3BBMwgGbG9vcEE0CQVsb29wQgoGbG9vcEIxCwZsb29wQjIMBmxvb3BCMw0GbG9vcEI0DgVsb29wQw8GbG9vcEMxEAZsb29wQzIRBmxvb3BDMxIGbG9vcEM0EwVsb29wRBQGbG9vcEQxFQZsb29wRDIWBmxvb3BEMxcGbG9vcEQ0GAhvbmVGdWxsQRkIb25lRnVsbEIaCG9uZUZ1bGxDGwhvbmVGdWxsRBwIdHdvRnVsbEEdCHR3b0Z1bGxCHgh0d29GdWxsQx8IdHdvRnVsbEQgCHRyZUZ1bGxBIQh0cmVGdWxsQiIIdHJlRnVsbEMjCHRyZUZ1bGxEJAhxdWFGdWxsQSUIcXVhRnVsbEImCHF1YUZ1bGxDJwhxdWFGdWxsRCgEZ2V0QSkEZ2V0QioEZ2V0QysEZ2V0RCwEZ2V0WC0Ec2V0QS4Ec2V0Qi8Ec2V0QzAEc2V0RDEEc2V0WALNATIAAQAAAQIAAAEIbnVtbG9vcHMCAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgCAAABAW4ZAgAAAQFuGgIAAAEBbhsCAAABAW4cAgAAAQFuHQIAAAEBbh4CAAABAW4fAgAAAQFuIAIAAAEBbiECAAABAW4iAgAAAQFuIwIAAAEBbiQCAAABAW4lAgAAAQFuJgIAAAEBbicCAAABAW4oACkAKgArACwALQEAAC4BAAAvAQAAMAEAADEBAAA="),mP=typeof WebAssembly<"u"&&ure?ure.buffer:!1,hc=wMe(),gP=240*16*16,lre=Math.floor(gP*16*1.066666667),pMe=268435456-65536,dMe="Parameter must be ArrayBuffer, ArrayBufferView or string",hMe="Parameter exceeds max size of 255.9 Mbytes";mP||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function bP(e){var t,r,n,a,i,o,s,c,u,l;let f=gMe(),p=mMe(),d={},h=new Date().getTime();return d.then=function(y){return s=y,g(),d},d.catch=function(y){return c=y,d},o=_Me(e),o||x(new TypeError(dMe)),o&&(i=o.length,mP&&i>lre?i>pMe?x(new Error(hMe)):(t=new WebAssembly.Memory({initial:i>32e6?i>64e6?i>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),a={mem:t,log:console.log},n={imports:a},WebAssembly.instantiate(mP,n).then(m)):g(f(o))),d;function m(y){g(p(o,y.instance.exports,r))}function g(y){var _=Boolean(y)?y:u;Boolean(y)&&(l=new Date().getTime()),typeof s=="function"?Boolean(_)&&(s(_,l-h),s=c=null):Boolean(y)&&(u=y)}function x(y){typeof c=="function"&&c(y)}}function mMe(){var e,t,r,n,a,i,o,s,c,u,l,f,p,d=function(h){var m,g,x,y,_,S,T,O,I,B,D,A,P,R,U,G,W,Q,ce,ie,le,fe,me=new Date().getTime(),ye=0,Y=1732584193,N=-271733879,K=-1732584194,J=271733878,Pe=0,Be=h.length*8,Ke;for(Ke=ve(h,p),p[Be>>>5]|=128<<Be%32,p[(Be+64>>>9<<4)+14]=Be,Ke=(Be+64>>>9<<4)+15,le=p;Pe<Ke;)Ke>Pe+lre?(n(Y),i(N),s(K),u(J),t(gP),Pe=Pe+gP*16,Y=r(),N=a(),K=o(),J=c(),ye++):(W=Y,Q=N,ce=K,ie=J,m=le[Pe+0]>>>0,g=le[Pe+1]>>>0,x=le[Pe+2]>>>0,y=le[Pe+3]>>>0,_=le[Pe+4]>>>0,S=le[Pe+5]>>>0,T=le[Pe+6]>>>0,O=le[Pe+7]>>>0,I=le[Pe+8]>>>0,B=le[Pe+9]>>>0,D=le[Pe+10]>>>0,A=le[Pe+11]>>>0,P=le[Pe+12]>>>0,R=le[Pe+13]>>>0,U=le[Pe+14]>>>0,G=le[Pe+15]>>>0,Y=ae(7,25,Y+(N&K|~N&J)+m-680876936)+N,J=ae(12,20,J+(Y&N|~Y&K)+g-389564586)+Y,K=ae(17,15,K+(J&Y|~J&N)+x+606105819)+J,N=ae(22,10,N+(K&J|~K&Y)+y-1044525330)+K,Y=ae(7,25,Y+(N&K|~N&J)+_-176418897)+N,J=ae(12,20,J+(Y&N|~Y&K)+S+1200080426)+Y,K=ae(17,15,K+(J&Y|~J&N)+T-1473231341)+J,N=ae(22,10,N+(K&J|~K&Y)+O-45705983)+K,Y=ae(7,25,Y+(N&K|~N&J)+I+1770035416)+N,J=ae(12,20,J+(Y&N|~Y&K)+B-1958414417)+Y,K=ae(17,15,K+(J&Y|~J&N)+D-42063)+J,N=ae(22,10,N+(K&J|~K&Y)+A-1990404162)+K,Y=ae(7,25,Y+(N&K|~N&J)+P+1804603682)+N,J=ae(12,20,J+(Y&N|~Y&K)+R-40341101)+Y,K=ae(17,15,K+(J&Y|~J&N)+U-1502002290)+J,N=ae(22,10,N+(K&J|~K&Y)+G+1236535329)+K,Y=ae(5,27,Y+(N&J|K&~J)+g-165796510)+N,J=ae(9,23,J+(Y&K|N&~K)+T-1069501632)+Y,K=ae(14,18,K+(J&N|Y&~N)+A+643717713)+J,N=ae(20,12,N+(K&Y|J&~Y)+m-373897302)+K,Y=ae(5,27,Y+(N&J|K&~J)+S-701558691)+N,J=ae(9,23,J+(Y&K|N&~K)+D+38016083)+Y,K=ae(14,18,K+(J&N|Y&~N)+G-660478335)+J,N=ae(20,12,N+(K&Y|J&~Y)+_-405537848)+K,Y=ae(5,27,Y+(N&J|K&~J)+B+568446438)+N,J=ae(9,23,J+(Y&K|N&~K)+U-1019803690)+Y,K=ae(14,18,K+(J&N|Y&~N)+y-187363961)+J,N=ae(20,12,N+(K&Y|J&~Y)+I+1163531501)+K,Y=ae(5,27,Y+(N&J|K&~J)+R-1444681467)+N,J=ae(9,23,J+(Y&K|N&~K)+x-51403784)+Y,K=ae(14,18,K+(J&N|Y&~N)+O+1735328473)+J,N=ae(20,12,N+(K&Y|J&~Y)+P-1926607734)+K,Y=ae(4,28,Y+(N^K^J)+S-378558)+N,J=ae(11,21,J+(Y^N^K)+I-2022574463)+Y,K=ae(16,16,K+(J^Y^N)+A+1839030562)+J,N=ae(23,9,N+(K^J^Y)+U-35309556)+K,Y=ae(4,28,Y+(N^K^J)+g-1530992060)+N,J=ae(11,21,J+(Y^N^K)+_+1272893353)+Y,K=ae(16,16,K+(J^Y^N)+O-155497632)+J,N=ae(23,9,N+(K^J^Y)+D-1094730640)+K,Y=ae(4,28,Y+(N^K^J)+R+681279174)+N,J=ae(11,21,J+(Y^N^K)+m-358537222)+Y,K=ae(16,16,K+(J^Y^N)+y-722521979)+J,N=ae(23,9,N+(K^J^Y)+T+76029189)+K,Y=ae(4,28,Y+(N^K^J)+B-640364487)+N,J=ae(11,21,J+(Y^N^K)+P-421815835)+Y,K=ae(16,16,K+(J^Y^N)+G+530742520)+J,N=ae(23,9,N+(K^J^Y)+x-995338651)+K,Y=ae(6,26,Y+(K^(N|~J))+m-198630844)+N,J=ae(10,22,J+(N^(Y|~K))+O+1126891415)+Y,K=ae(15,17,K+(Y^(J|~N))+U-1416354905)+J,N=ae(21,11,N+(J^(K|~Y))+S-57434055)+K,Y=ae(6,26,Y+(K^(N|~J))+P+1700485571)+N,J=ae(10,22,J+(N^(Y|~K))+y-1894986606)+Y,K=ae(15,17,K+(Y^(J|~N))+D-1051523)+J,N=ae(21,11,N+(J^(K|~Y))+g-2054922799)+K,Y=ae(6,26,Y+(K^(N|~J))+I+1873313359)+N,J=ae(10,22,J+(N^(Y|~K))+G-30611744)+Y,K=ae(15,17,K+(Y^(J|~N))+T-1560198380)+J,N=ae(21,11,N+(J^(K|~Y))+R+1309151649)+K,Y=ae(6,26,Y+(K^(N|~J))+_-145523070)+N,J=ae(10,22,J+(N^(Y|~K))+A-1120210379)+Y,K=ae(15,17,K+(Y^(J|~N))+x+718787259)+J,N=ae(21,11,N+(J^(K|~Y))+B-343485551)+K,Pe=Pe+16,Y=Y+W>>>0,N=N+Q>>>0,K=K+ce>>>0,J=J+ie>>>0);return hc.endian([Y,N,K,J]);function ae(ge,Ye,Se){return Se<<ge|Se>>>Ye}function ve(ge,Ye){for(var Se=-1,rt=Math.floor((ge.length-1)/4),vt=0,Dr,re,Ce,$e;rt-8>Se++;)vt=Se<<2,Ye[Se]=ge[vt+0]|ge[vt+1]<<8|ge[vt+2]<<16|ge[vt+3]<<24;for(Se--;rt>Se++;)vt=Se<<2,Dr=typeof ge[vt+0]>"u"?0:ge[vt+0],re=typeof ge[vt+1]>"u"?0:ge[vt+1],Ce=typeof ge[vt+2]>"u"?0:ge[vt+2],$e=typeof ge[vt+3]>"u"?0:ge[vt+3],Ye[Se]=Dr|re<<8|Ce<<16|$e<<24;return rt+1}};return function(h,m,g,x){var y;return t=m.loops,e=m.loop,r=m.getA,a=m.getB,o=m.getC,c=m.getD,l=m.getX,n=m.setA,i=m.setB,s=m.setC,u=m.setD,f=m.setX,p=g,y=hc.wordsToBytes(d(h)),x&&x.asBytes?y:hc.bytesconvertNumberToHex(y)}}function gMe(){var e=function(t,r){var n,a,i,o,s,c,u,l,f,p,d,h,m,g,x,y,_,S,T,O,I,B=new Date().getTime(),D=1732584193,A=-271733879,P=-1732584194,R=271733878,U=t.length*8;I=hc.bytesToWords(t);for(var G=0;G<I.length;G++)I[G]=(I[G]<<8|I[G]>>>24)&16711935|(I[G]<<24|I[G]>>>8)&4278255360;I[U>>>5]|=128<<U%32,I[(U+64>>>9<<4)+14]=U;for(var W=0;W<I.length;W+=16)_=D,S=A,T=P,O=R,n=I[W+0]>>>0,a=I[W+1]>>>0,i=I[W+2]>>>0,o=I[W+3]>>>0,s=I[W+4]>>>0,c=I[W+5]>>>0,u=I[W+6]>>>0,l=I[W+7]>>>0,f=I[W+8]>>>0,p=I[W+9]>>>0,d=I[W+10]>>>0,h=I[W+11]>>>0,m=I[W+12]>>>0,g=I[W+13]>>>0,x=I[W+14]>>>0,y=I[W+15]>>>0,D=Q(7,25,D+(A&P|~A&R)+n-680876936)+A,R=Q(12,20,R+(D&A|~D&P)+a-389564586)+D,P=Q(17,15,P+(R&D|~R&A)+i+606105819)+R,A=Q(22,10,A+(P&R|~P&D)+o-1044525330)+P,D=Q(7,25,D+(A&P|~A&R)+s-176418897)+A,R=Q(12,20,R+(D&A|~D&P)+c+1200080426)+D,P=Q(17,15,P+(R&D|~R&A)+u-1473231341)+R,A=Q(22,10,A+(P&R|~P&D)+l-45705983)+P,D=Q(7,25,D+(A&P|~A&R)+f+1770035416)+A,R=Q(12,20,R+(D&A|~D&P)+p-1958414417)+D,P=Q(17,15,P+(R&D|~R&A)+d-42063)+R,A=Q(22,10,A+(P&R|~P&D)+h-1990404162)+P,D=Q(7,25,D+(A&P|~A&R)+m+1804603682)+A,R=Q(12,20,R+(D&A|~D&P)+g-40341101)+D,P=Q(17,15,P+(R&D|~R&A)+x-1502002290)+R,A=Q(22,10,A+(P&R|~P&D)+y+1236535329)+P,D=Q(5,27,D+(A&R|P&~R)+a-165796510)+A,R=Q(9,23,R+(D&P|A&~P)+u-1069501632)+D,P=Q(14,18,P+(R&A|D&~A)+h+643717713)+R,A=Q(20,12,A+(P&D|R&~D)+n-373897302)+P,D=Q(5,27,D+(A&R|P&~R)+c-701558691)+A,R=Q(9,23,R+(D&P|A&~P)+d+38016083)+D,P=Q(14,18,P+(R&A|D&~A)+y-660478335)+R,A=Q(20,12,A+(P&D|R&~D)+s-405537848)+P,D=Q(5,27,D+(A&R|P&~R)+p+568446438)+A,R=Q(9,23,R+(D&P|A&~P)+x-1019803690)+D,P=Q(14,18,P+(R&A|D&~A)+o-187363961)+R,A=Q(20,12,A+(P&D|R&~D)+f+1163531501)+P,D=Q(5,27,D+(A&R|P&~R)+g-1444681467)+A,R=Q(9,23,R+(D&P|A&~P)+i-51403784)+D,P=Q(14,18,P+(R&A|D&~A)+l+1735328473)+R,A=Q(20,12,A+(P&D|R&~D)+m-1926607734)+P,D=Q(4,28,D+(A^P^R)+c-378558)+A,R=Q(11,21,R+(D^A^P)+f-2022574463)+D,P=Q(16,16,P+(R^D^A)+h+1839030562)+R,A=Q(23,9,A+(P^R^D)+x-35309556)+P,D=Q(4,28,D+(A^P^R)+a-1530992060)+A,R=Q(11,21,R+(D^A^P)+s+1272893353)+D,P=Q(16,16,P+(R^D^A)+l-155497632)+R,A=Q(23,9,A+(P^R^D)+d-1094730640)+P,D=Q(4,28,D+(A^P^R)+g+681279174)+A,R=Q(11,21,R+(D^A^P)+n-358537222)+D,P=Q(16,16,P+(R^D^A)+o-722521979)+R,A=Q(23,9,A+(P^R^D)+u+76029189)+P,D=Q(4,28,D+(A^P^R)+p-640364487)+A,R=Q(11,21,R+(D^A^P)+m-421815835)+D,P=Q(16,16,P+(R^D^A)+y+530742520)+R,A=Q(23,9,A+(P^R^D)+i-995338651)+P,D=Q(6,26,D+(P^(A|~R))+n-198630844)+A,R=Q(10,22,R+(A^(D|~P))+l+1126891415)+D,P=Q(15,17,P+(D^(R|~A))+x-1416354905)+R,A=Q(21,11,A+(R^(P|~D))+c-57434055)+P,D=Q(6,26,D+(P^(A|~R))+m+1700485571)+A,R=Q(10,22,R+(A^(D|~P))+o-1894986606)+D,P=Q(15,17,P+(D^(R|~A))+d-1051523)+R,A=Q(21,11,A+(R^(P|~D))+a-2054922799)+P,D=Q(6,26,D+(P^(A|~R))+f+1873313359)+A,R=Q(10,22,R+(A^(D|~P))+y-30611744)+D,P=Q(15,17,P+(D^(R|~A))+u-1560198380)+R,A=Q(21,11,A+(R^(P|~D))+g+1309151649)+P,D=Q(6,26,D+(P^(A|~R))+s-145523070)+A,R=Q(10,22,R+(A^(D|~P))+h-1120210379)+D,P=Q(15,17,P+(D^(R|~A))+i+718787259)+R,A=Q(21,11,A+(R^(P|~D))+p-343485551)+P,D=D+_>>>0,A=A+S>>>0,P=P+T>>>0,R=R+O>>>0;return hc.endian([D,A,P,R]);function Q(ce,ie,le){return le<<ce|le>>>ie}};return function(t,r){var n=hc.wordsToBytes(e(t,r)),a=r&&r.asBytes?n:hc.bytesconvertNumberToHex(n);return a}}function bMe(e){try{return vMe(e)}catch{return null}}function vMe(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?yMe(atob(t)):xMe(t)}function xMe(e){for(var t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=e.length*3/4-t,n=new Uint8Array(r),a=0,i=0,o,s,c,u;i<e.length;){if(o=Fw.indexOf(e.charAt(i++)),s=Fw.indexOf(e.charAt(i++)),c=Fw.indexOf(e.charAt(i++)),u=Fw.indexOf(e.charAt(i++)),o<0||s<0||c<0||u<0)throw new TypeError("Invalid base64 input");n[a++]=o<<2|s>>4,c<64&&a<r&&(n[a++]=(s&15)<<4|c>>2),u<64&&a<r&&(n[a++]=(c&3)<<6|u)}return n}function yMe(e){for(var t=e.length,r=new Uint8Array(t),n=0;n<t;)r[n]=e.charCodeAt(n),n++;return r}function _Me(e){return e instanceof Uint8Array?e:typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?new Uint8Array(e):e&&typeof e=="object"&&ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?new TextEncoder().encode(e):null}function wMe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return hc.rotl(t,8)&16711935|hc.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=hc.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,a=0;n<t.length;n++,a+=8)r[a>>>5]|=t[n]<<24-a%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var mc=class extends wu{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let a=await new Promise((i,o)=>bP(t).then(i).catch(o));return sre(a,r)}};var Wv=Dt(require("crypto"),1),Pw=class extends wu{name="crypto-node";options;_algorithm;_hash;constructor(t){var r,n;if(super(),this.options=t,!((n=(r=this.options)==null?void 0:r.crypto)!=null&&n.algorithm))throw new Error(this.name)}async hash(t,r){var a,i,o,s;let n=(o=(i=(a=this.options)==null?void 0:a.crypto)==null?void 0:i.algorithm)==null?void 0:o.toLowerCase();try{if(!Wv.createHash)throw new Error("crypto.createHash not available");let c=(s=Wv.createHash)==null?void 0:s(n),u=new Uint8Array(t);return c.update(u).digest("base64")}catch(c){throw Error(`${n} hash not available. ${c}`)}}async*hashBatches(t,r="base64"){var i,o,s,c,u,l,f;if(!Wv.createHash)throw new Error("crypto.createHash not available");let n=(c=Wv.createHash)==null?void 0:c((s=(o=(i=this.options)==null?void 0:i.crypto)==null?void 0:o.algorithm)==null?void 0:s.toLowerCase());for await(let p of t){let d=new Uint8Array(p);n.update(d),yield p}let a=n.digest(r);(f=(l=(u=this.options)==null?void 0:u.crypto)==null?void 0:l.onEnd)==null||f.call(l,{hash:a})}};var Gne=require("process");var fre=Dt(require("stream"),1),vP=class{},TMe=fre.Readable||vP;function yP(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new xP(r,t)}var xP=class extends TMe{_pulling;_bytesMode;_iterator;constructor(t,r){super(r),this._iterator=t,this._pulling=!1,this._bytesMode=!r||!r.objectMode}async _read(t){this._pulling||(this._pulling=!0,this._pulling=await this._pull(t,this._iterator))}async _destroy(t,r){var n,a,i,o;this._iterator&&(t?await((a=(n=this._iterator)==null?void 0:n.throw)==null?void 0:a.call(n,t)):await((o=(i=this._iterator)==null?void 0:i.return)==null?void 0:o.call(i,t)),r==null||r(null))}async _pull(t,r){var i;let n=this._bytesMode,a=null;for(;this.readable&&!(a=await r.next()).done&&(t!==null&&(t-=n&&ArrayBuffer.isView(a.value)?a.value.byteLength:1),!(!this.push(new Uint8Array(a.value))||t<=0)););return(a!=null&&a.done||!this.readable)&&(this.push(null)||!0)&&((i=r==null?void 0:r.return)==null||i.call(r)),!this.readable}};function Zv(){}function Sn(e){return typeof e=="object"&&e!==null||typeof e=="function"}var Pre=Zv;function tr(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var qP=Promise,EMe=Promise.resolve.bind(qP),SMe=Promise.prototype.then,AMe=Promise.reject.bind(qP),kMe=EMe;function Ln(e){return new qP(e)}function rr(e){return Ln(t=>t(e))}function nt(e){return AMe(e)}function xc(e,t,r){return SMe.call(e,t,r)}function wi(e,t,r){xc(xc(e,t,r),void 0,Pre)}function _P(e,t){wi(e,t)}function FP(e,t){wi(e,void 0,t)}function Du(e,t,r){return xc(e,t,r)}function S0(e){xc(e,void 0,Pre)}var Gp=e=>{if(typeof queueMicrotask=="function")Gp=queueMicrotask;else{let t=rr(void 0);Gp=r=>xc(t,r)}return Gp(e)};function Vp(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Fu(e,t,r){try{return rr(Vp(e,t,r))}catch(n){return nt(n)}}var Ti=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===16383&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,a=n+1,i=t._elements,o=i[n];return a===16384&&(r=t._next,a=0),--this._size,this._cursor=a,t!==r&&(this._front=r),i[n]=void 0,o}forEach(t){let r=this._cursor,n=this._front,a=n._elements;for(;!(r===a.length&&n._next===void 0||r===a.length&&(n=n._next,a=n._elements,r=0,a.length===0));)t(a[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},Cre=Symbol("[[AbortSteps]]"),Ire=Symbol("[[ErrorSteps]]"),NP=Symbol("[[CancelSteps]]"),zP=Symbol("[[PullSteps]]"),UP=Symbol("[[ReleaseSteps]]");function jre(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?PP(e):t._state==="closed"?function(r){PP(r),Lre(r)}(e):Rre(e,t._storedError)}function GP(e,t){return hs(e._ownerReadableStream,t)}function ku(e){let t=e._ownerReadableStream;t._state==="readable"?VP(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){Rre(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[UP](),t._reader=void 0,e._ownerReadableStream=void 0}function Ww(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function PP(e){e._closedPromise=Ln((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function Rre(e,t){PP(e),VP(e,t)}function VP(e,t){e._closedPromise_reject!==void 0&&(S0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Lre(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var pre=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},DMe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function yc(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function wo(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function Bre(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Ou(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function CP(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function $P(e){return Number(e)}function dre(e){return e===0?0:e}function HP(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=dre(n),!pre(n))throw new TypeError(`${t} is not a finite number`);if(n=function(a){return dre(DMe(a))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return pre(n)&&n!==0?n:0}function WP(e,t){if(!$l(e))throw new TypeError(`${t} is not a ReadableStream.`)}function y0(e){return new Tu(e)}function Mre(e,t){e._reader._readRequests.push(t)}function KP(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function tT(e){return e._reader._readRequests.length}function qre(e){let t=e._reader;return t!==void 0&&!!Hl(t)}var Tu=class{constructor(t){if(Ou(t,1,"ReadableStreamDefaultReader"),WP(t,"First parameter"),Kl(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");jre(this,t),this._readRequests=new Ti}get closed(){return Hl(this)?this._closedPromise:nt(Cw("closed"))}cancel(t=void 0){return Hl(this)?this._ownerReadableStream===void 0?nt(Ww("cancel")):GP(this,t):nt(Cw("cancel"))}read(){if(!Hl(this))return nt(Cw("read"));if(this._ownerReadableStream===void 0)return nt(Ww("read from"));let t,r,n=Ln((a,i)=>{t=a,r=i});return ex(this,{_chunkSteps:a=>t({value:a,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:a=>r(a)}),n}releaseLock(){if(!Hl(this))throw Cw("releaseLock");this._ownerReadableStream!==void 0&&function(t){ku(t);let r=new TypeError("Reader was released");Nre(t,r)}(this)}};function Hl(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof Tu}function ex(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[zP](t)}function Nre(e,t){let r=e._readRequests;e._readRequests=new Ti,r.forEach(n=>{n._errorSteps(t)})}function Cw(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var wP,TP,EP;function Xv(e){return e.slice()}function zre(e,t,r,n,a){new Uint8Array(e).set(new Uint8Array(r,n,a),t)}Object.defineProperties(Tu.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(Tu.prototype.cancel,"cancel"),tr(Tu.prototype.read,"read"),tr(Tu.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Tu.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var $p=e=>($p=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,$p(e)),Hp=e=>(Hp=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,Hp(e));function Ure(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,a=new ArrayBuffer(n);return zre(a,0,e,t,n),a}function Yv(e,t){let r=e[t];if(r!=null){if(typeof r!="function")throw new TypeError(`${String(t)} is not a function`);return r}}function hre(e){try{let t=e.done,r=e.value;return xc(kMe(r),n=>({done:t,value:n}))}catch(t){return nt(t)}}var cx=(EP=(wP=Symbol.asyncIterator)!==null&&wP!==void 0?wP:(TP=Symbol.for)===null||TP===void 0?void 0:TP.call(Symbol,"Symbol.asyncIterator"))!==null&&EP!==void 0?EP:"@@asyncIterator";function Gre(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Yv(e,cx))===void 0)return function(a){let i={next(){let o;try{o=Vre(a)}catch(s){return nt(s)}return hre(o)},return(o){let s;try{let c=Yv(a.iterator,"return");if(c===void 0)return rr({done:!0,value:o});s=Vp(c,a.iterator,[o])}catch(c){return nt(c)}return Sn(s)?hre(s):nt(new TypeError("The iterator.return() method must return an object"))}};return{iterator:i,nextMethod:i.next,done:!1}}(Gre(e,"sync",Yv(e,Symbol.iterator)))}else r=Yv(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=Vp(r,e,[]);if(!Sn(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function Vre(e){let t=Vp(e.nextMethod,e.iterator,[]);if(!Sn(t))throw new TypeError("The iterator.next() method must return an object");return t}var Kw=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Du(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise=this._ongoingPromise?Du(this._ongoingPromise,r,r):r(),this._ongoingPromise}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,a=Ln((i,o)=>{r=i,n=o});return ex(t,{_chunkSteps:i=>{this._ongoingPromise=void 0,Gp(()=>r({value:i,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ku(t),r({value:void 0,done:!0})},_errorSteps:i=>{this._ongoingPromise=void 0,this._isFinished=!0,ku(t),n(i)}}),a}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=GP(r,t);return ku(r),Du(n,()=>({value:t,done:!0}))}return ku(r),rr({value:t,done:!0})}},$re={next(){return mre(this)?this._asyncIteratorImpl.next():nt(gre("next"))},return(e){return mre(this)?this._asyncIteratorImpl.return(e):nt(gre("return"))},[cx](){return this}};function mre(e){if(!Sn(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof Kw}catch{return!1}}function gre(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty($re,cx,{enumerable:!1});var Hre=Number.isNaN||function(e){return e!=e};function bre(e){let t=Ure(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function IP(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function XP(e,t,r){if(typeof(n=r)!="number"||Hre(n)||n<0||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");var n;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function Xl(e){e._queue=new Ti,e._queueTotalSize=0}function Wre(e){return e===DataView}var Wl=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!SP(this))throw AP("view");return this._view}respond(t){if(!SP(this))throw AP("respond");if(Ou(t,1,"respond"),t=HP(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Hp(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Gw(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!SP(this))throw AP("respondWithNewView");if(Ou(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Hp(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Vw(this._associatedReadableByteStreamController,t)}};Object.defineProperties(Wl.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),tr(Wl.prototype.respond,"respond"),tr(Wl.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Wl.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var bc=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!zp(this))throw Kv("byobRequest");return RP(this)}get desiredSize(){if(!zp(this))throw Kv("desiredSize");return ane(this)}close(){if(!zp(this))throw Kv("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);Qv(this)}enqueue(t){if(!zp(this))throw Kv("enqueue");if(Ou(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);Uw(this,t)}error(t=void 0){if(!zp(this))throw Kv("error");_o(this,t)}[NP](t){Kre(this),Xl(this);let r=this._cancelAlgorithm(t);return rT(this),r}[zP](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void nne(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let a;try{a=new ArrayBuffer(n)}catch(o){return void t._errorSteps(o)}let i={buffer:a,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}Mre(r,t),Xp(this)}[UP](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new Ti,this._pendingPullIntos.push(t)}}};function zp(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof bc}function SP(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof Wl}function Xp(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(qre(n)&&tT(n)>0||QP(n)&&sne(n)>0||ane(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,wi(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Xp(e)),null),r=>(_o(e,r),null))}}function Kre(e){YP(e),e._pendingPullIntos=new Ti}function Xre(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Yre(t);t.readerType==="default"?KP(e,n,r):function(a,i,o){let s=a._reader,c=s._readIntoRequests.shift();o?c._closeSteps(i):c._chunkSteps(i)}(e,n,r)}function Nw(e,t){for(let r=0;r<t.length;++r)Xre(e,t[r])}function Yre(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function zw(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Qre(e,t,r,n){let a;try{a=Ure(t,r,r+n)}catch(i){throw _o(e,i),i}zw(e,a,0,n)}function Jre(e,t){t.bytesFilled>0&&Qre(e,t.buffer,t.byteOffset,t.bytesFilled),_0(e)}function Zre(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,a=r,i=!1,o=n-n%t.elementSize;o>=t.minimumFill&&(a=o-t.bytesFilled,i=!0);let s=e._queue;for(;a>0;){let c=s.peek(),u=Math.min(a,c.byteLength),l=t.byteOffset+t.bytesFilled;zre(t.buffer,l,c.buffer,c.byteOffset,u),c.byteLength===u?s.shift():(c.byteOffset+=u,c.byteLength-=u),e._queueTotalSize-=u,ene(e,u,t),a-=u}return i}function ene(e,t,r){r.bytesFilled+=t}function tne(e){e._queueTotalSize===0&&e._closeRequested?(rT(e),ux(e._controlledReadableByteStream)):Xp(e)}function YP(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function jP(e){let t=[];for(;e._pendingPullIntos.length>0&&e._queueTotalSize!==0;){let r=e._pendingPullIntos.peek();Zre(e,r)&&(_0(e),t.push(r))}return t}function OMe(e,t,r,n){let a=e._controlledReadableByteStream,i=t.constructor,o=function(p){return Wre(p)?1:p.BYTES_PER_ELEMENT}(i),{byteOffset:s,byteLength:c}=t,u=r*o,l;try{l=$p(t.buffer)}catch(p){return void n._errorSteps(p)}let f={buffer:l,bufferByteLength:l.byteLength,byteOffset:s,byteLength:c,bytesFilled:0,minimumFill:u,elementSize:o,viewConstructor:i,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(f),void vre(a,n);if(a._state==="closed"){let p=new i(f.buffer,f.byteOffset,0);return void n._closeSteps(p)}if(e._queueTotalSize>0){if(Zre(e,f)){let p=Yre(f);return tne(e),void n._chunkSteps(p)}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");return _o(e,p),void n._errorSteps(p)}}e._pendingPullIntos.push(f),vre(a,n),Xp(e)}function rne(e,t){let r=e._pendingPullIntos.peek();YP(e),e._controlledReadableByteStream._state==="closed"?function(n,a){a.readerType==="none"&&_0(n);let i=n._controlledReadableByteStream;if(QP(i)){let o=[];for(;o.length<sne(i);)o.push(_0(n));Nw(i,o)}}(e,r):function(n,a,i){if(ene(0,a,i),i.readerType==="none"){Jre(n,i);let c=jP(n);return void Nw(n._controlledReadableByteStream,c)}if(i.bytesFilled<i.minimumFill)return;_0(n);let o=i.bytesFilled%i.elementSize;if(o>0){let c=i.byteOffset+i.bytesFilled;Qre(n,i.buffer,c-o,o)}i.bytesFilled-=o;let s=jP(n);Xre(n._controlledReadableByteStream,i),Nw(n._controlledReadableByteStream,s)}(e,t,r),Xp(e)}function _0(e){return e._pendingPullIntos.shift()}function rT(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Qv(e){let t=e._controlledReadableByteStream;if(!e._closeRequested&&t._state==="readable")if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){let r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!==0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw _o(e,n),n}}rT(e),ux(t)}}function Uw(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:a,byteLength:i}=t;if(Hp(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=$p(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(Hp(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");YP(e),s.buffer=$p(s.buffer),s.readerType==="none"&&Jre(e,s)}qre(r)?(function(s){let c=s._controlledReadableByteStream._reader;for(;c._readRequests.length>0;){if(s._queueTotalSize===0)return;nne(s,c._readRequests.shift())}}(e),tT(r)===0?zw(e,o,a,i):(e._pendingPullIntos.length>0&&_0(e),KP(r,new Uint8Array(o,a,i),!1))):QP(r)?(zw(e,o,a,i),Nw(r,jP(e))):zw(e,o,a,i),Xp(e)}function _o(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(Kre(e),Xl(e),rT(e),kne(r,t))}function nne(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,tne(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function RP(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(Wl.prototype);(function(a,i,o){a._associatedReadableByteStreamController=i,a._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function ane(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Gw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=$p(r.buffer),rne(e,t)}function Vw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let n=t.byteLength;r.buffer=$p(t.buffer),rne(e,n)}function ine(e,t,r,n,a,i,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,Xl(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=a,t._autoAllocateChunkSize=o,t._pendingPullIntos=new Ti,e._readableStreamController=t,wi(rr(r()),()=>(t._started=!0,Xp(t),null),s=>(_o(t,s),null))}function AP(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Kv(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function FMe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function one(e){return new Eu(e)}function vre(e,t){e._reader._readIntoRequests.push(t)}function sne(e){return e._reader._readIntoRequests.length}function QP(e){let t=e._reader;return t!==void 0&&!!Up(t)}Object.defineProperties(bc.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(bc.prototype.close,"close"),tr(bc.prototype.enqueue,"enqueue"),tr(bc.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(bc.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var Eu=class{constructor(t){if(Ou(t,1,"ReadableStreamBYOBReader"),WP(t,"First parameter"),Kl(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!zp(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");jre(this,t),this._readIntoRequests=new Ti}get closed(){return Up(this)?this._closedPromise:nt(Iw("closed"))}cancel(t=void 0){return Up(this)?this._ownerReadableStream===void 0?nt(Ww("cancel")):GP(this,t):nt(Iw("cancel"))}read(t,r={}){if(!Up(this))return nt(Iw("read"));if(!ArrayBuffer.isView(t))return nt(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return nt(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return nt(new TypeError("view's buffer must have non-zero byteLength"));if(Hp(t.buffer))return nt(new TypeError("view's buffer has been detached"));let n;try{n=function(c,u){var l;return yc(c,u),{min:HP((l=c==null?void 0:c.min)!==null&&l!==void 0?l:1,`${u} has member 'min' that`)}}(r,"options")}catch(c){return nt(c)}let a=n.min;if(a===0)return nt(new TypeError("options.min must be greater than 0"));if(function(c){return Wre(c.constructor)}(t)){if(a>t.byteLength)return nt(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(a>t.length)return nt(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return nt(Ww("read from"));let i,o,s=Ln((c,u)=>{i=c,o=u});return cne(this,t,a,{_chunkSteps:c=>i({value:c,done:!1}),_closeSteps:c=>i({value:c,done:!0}),_errorSteps:c=>o(c)}),s}releaseLock(){if(!Up(this))throw Iw("releaseLock");this._ownerReadableStream!==void 0&&function(t){ku(t);let r=new TypeError("Reader was released");une(t,r)}(this)}};function Up(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof Eu}function cne(e,t,r,n){let a=e._ownerReadableStream;a._disturbed=!0,a._state==="errored"?n._errorSteps(a._storedError):OMe(a._readableStreamController,t,r,n)}function une(e,t){let r=e._readIntoRequests;e._readIntoRequests=new Ti,r.forEach(n=>{n._errorSteps(t)})}function Iw(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function tx(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Hre(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Xw(e){let{size:t}=e;return t||(()=>1)}function Yw(e,t){yc(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:$P(r),size:n===void 0?void 0:PMe(n,`${t} has member 'size' that`)}}function PMe(e,t){return wo(e,t),r=>$P(e(r))}function CMe(e,t,r){return wo(e,r),n=>Fu(e,t,[n])}function IMe(e,t,r){return wo(e,r),()=>Fu(e,t,[])}function jMe(e,t,r){return wo(e,r),n=>Vp(e,t,[n])}function RMe(e,t,r){return wo(e,r),(n,a)=>Fu(e,t,[n,a])}function lne(e,t){if(!x0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(Eu.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(Eu.prototype.cancel,"cancel"),tr(Eu.prototype.read,"read"),tr(Eu.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Eu.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var Su=class{constructor(t={},r={}){t===void 0?t=null:Bre(t,"First parameter");let n=Yw(r,"Second parameter"),a=function(o,s){yc(o,s);let c=o==null?void 0:o.abort,u=o==null?void 0:o.close,l=o==null?void 0:o.start,f=o==null?void 0:o.type,p=o==null?void 0:o.write;return{abort:c===void 0?void 0:CMe(c,o,`${s} has member 'abort' that`),close:u===void 0?void 0:IMe(u,o,`${s} has member 'close' that`),start:l===void 0?void 0:jMe(l,o,`${s} has member 'start' that`),write:p===void 0?void 0:RMe(p,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(pne(this),a.type!==void 0)throw new RangeError("Invalid type is specified");let i=Xw(n);(function(o,s,c,u){let l=Object.create(Wp.prototype),f,p,d,h;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.write!==void 0?m=>s.write(m,l):()=>rr(void 0),d=s.close!==void 0?()=>s.close():()=>rr(void 0),h=s.abort!==void 0?m=>s.abort(m):()=>rr(void 0),xne(o,l,f,p,d,h,c,u)})(this,a,tx(n,1),i)}get locked(){if(!x0(this))throw Rw("locked");return w0(this)}abort(t=void 0){return x0(this)?w0(this)?nt(new TypeError("Cannot abort a stream that already has a writer")):Qw(this,t):nt(Rw("abort"))}close(){return x0(this)?w0(this)?nt(new TypeError("Cannot close a stream that already has a writer")):_c(this)?nt(new TypeError("Cannot close an already-closing stream")):dne(this):nt(Rw("close"))}getWriter(){if(!x0(this))throw Rw("getWriter");return fne(this)}};function fne(e){return new gc(e)}function pne(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new Ti,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function x0(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof Su}function w0(e){return e._writer!==void 0}function Qw(e,t){var r;if(e._state==="closed"||e._state==="errored")return rr(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return rr(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let a=!1;n==="erroring"&&(a=!0,t=void 0);let i=Ln((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:a}});return e._pendingAbortRequest._promise=i,a||JP(e,t),i}function dne(e){let t=e._state;if(t==="closed"||t==="errored")return nt(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=Ln((i,o)=>{let s={_resolve:i,_reject:o};e._closeRequest=s}),n=e._writer;var a;return n!==void 0&&e._backpressure&&t==="writable"&&nC(n),XP(a=e._writableStreamController,vne,0),nT(a),r}function LP(e,t){e._state!=="writable"?ZP(e):JP(e,t)}function JP(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&mne(n,t),!function(a){return!(a._inFlightWriteRequest===void 0&&a._inFlightCloseRequest===void 0)}(e)&&r._started&&ZP(e)}function ZP(e){e._state="errored",e._writableStreamController[Ire]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new Ti,e._pendingAbortRequest===void 0)return void jw(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void jw(e);wi(e._writableStreamController[Cre](r._reason),()=>(r._resolve(),jw(e),null),n=>(r._reject(n),jw(e),null))}function _c(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function jw(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&rC(t,e._storedError)}function eC(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){aT(n)}(r):nC(r)),e._backpressure=t}Object.defineProperties(Su.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),tr(Su.prototype.abort,"abort"),tr(Su.prototype.close,"close"),tr(Su.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Su.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var gc=class{constructor(t){if(Ou(t,1,"WritableStreamDefaultWriter"),lne(t,"First parameter"),w0(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!_c(t)&&t._backpressure?aT(this):xre(this),$w(this);else if(r==="erroring")BP(this,t._storedError),$w(this);else if(r==="closed")xre(this),$w(n=this),Tne(n);else{let a=t._storedError;BP(this,a),wne(this,a)}var n}get closed(){return Mp(this)?this._closedPromise:nt(qp("closed"))}get desiredSize(){if(!Mp(this))throw qp("desiredSize");if(this._ownerWritableStream===void 0)throw Jv("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:yne(r._writableStreamController)}(this)}get ready(){return Mp(this)?this._readyPromise:nt(qp("ready"))}abort(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?nt(Jv("abort")):function(r,n){return Qw(r._ownerWritableStream,n)}(this,t):nt(qp("abort"))}close(){if(!Mp(this))return nt(qp("close"));let t=this._ownerWritableStream;return t===void 0?nt(Jv("close")):_c(t)?nt(new TypeError("Cannot close an already-closing stream")):hne(this)}releaseLock(){if(!Mp(this))throw qp("releaseLock");this._ownerWritableStream!==void 0&&gne(this)}write(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?nt(Jv("write to")):bne(this,t):nt(qp("write"))}};function Mp(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof gc}function hne(e){return dne(e._ownerWritableStream)}function LMe(e,t){e._closedPromiseState==="pending"?rC(e,t):function(r,n){wne(r,n)}(e,t)}function mne(e,t){e._readyPromiseState==="pending"?Ene(e,t):function(r,n){BP(r,n)}(e,t)}function gne(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");mne(e,r),LMe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function bne(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,a=function(s,c){if(s._strategySizeAlgorithm===void 0)return 1;try{return s._strategySizeAlgorithm(c)}catch(u){return rx(s,u),1}}(n,t);if(r!==e._ownerWritableStream)return nt(Jv("write to"));let i=r._state;if(i==="errored")return nt(r._storedError);if(_c(r)||i==="closed")return nt(new TypeError("The stream is closing or closed and cannot be written to"));if(i==="erroring")return nt(r._storedError);let o=function(s){return Ln((c,u)=>{let l={_resolve:c,_reject:u};s._writeRequests.push(l)})}(r);return function(s,c,u){try{XP(s,c,u)}catch(f){return void rx(s,f)}let l=s._controlledWritableStream;!_c(l)&&l._state==="writable"&&eC(l,tC(s)),nT(s)}(n,t,a),o}Object.defineProperties(gc.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),tr(gc.prototype.abort,"abort"),tr(gc.prototype.close,"close"),tr(gc.prototype.releaseLock,"releaseLock"),tr(gc.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gc.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var vne={},Wp=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!kP(this))throw DP("abortReason");return this._abortReason}get signal(){if(!kP(this))throw DP("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!kP(this))throw DP("error");this._controlledWritableStream._state==="writable"&&_ne(this,t)}[Cre](t){let r=this._abortAlgorithm(t);return Jw(this),r}[Ire](){Xl(this)}};function kP(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof Wp}function xne(e,t,r,n,a,i,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,Xl(t),t._abortReason=void 0,t._abortController=function(){if(typeof AbortController=="function")return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=a,t._abortAlgorithm=i;let c=tC(t);eC(e,c),wi(rr(r()),()=>(t._started=!0,nT(t),null),u=>(t._started=!0,LP(e,u),null))}function Jw(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function yne(e){return e._strategyHWM-e._queueTotalSize}function nT(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void ZP(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===vne?function(n){let a=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(a),IP(n);let i=n._closeAlgorithm();Jw(n),wi(i,()=>(function(o){o._inFlightCloseRequest._resolve(void 0),o._inFlightCloseRequest=void 0,o._state==="erroring"&&(o._storedError=void 0,o._pendingAbortRequest!==void 0&&(o._pendingAbortRequest._resolve(),o._pendingAbortRequest=void 0)),o._state="closed";let s=o._writer;s!==void 0&&Tne(s)}(a),null),o=>(function(s,c){s._inFlightCloseRequest._reject(c),s._inFlightCloseRequest=void 0,s._pendingAbortRequest!==void 0&&(s._pendingAbortRequest._reject(c),s._pendingAbortRequest=void 0),LP(s,c)}(a,o),null))}(e):function(n,a){let i=n._controlledWritableStream;(function(s){s._inFlightWriteRequest=s._writeRequests.shift()})(i);let o=n._writeAlgorithm(a);wi(o,()=>{(function(c){c._inFlightWriteRequest._resolve(void 0),c._inFlightWriteRequest=void 0})(i);let s=i._state;if(IP(n),!_c(i)&&s==="writable"){let c=tC(n);eC(i,c)}return nT(n),null},s=>(i._state==="writable"&&Jw(n),function(c,u){c._inFlightWriteRequest._reject(u),c._inFlightWriteRequest=void 0,LP(c,u)}(i,s),null))}(e,r)}function rx(e,t){e._controlledWritableStream._state==="writable"&&_ne(e,t)}function tC(e){return yne(e)<=0}function _ne(e,t){let r=e._controlledWritableStream;Jw(e),JP(r,t)}function Rw(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function DP(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function qp(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Jv(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function $w(e){e._closedPromise=Ln((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function wne(e,t){$w(e),rC(e,t)}function rC(e,t){e._closedPromise_reject!==void 0&&(S0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function Tne(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function aT(e){e._readyPromise=Ln((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function BP(e,t){aT(e),Ene(e,t)}function xre(e){aT(e),nC(e)}function Ene(e,t){e._readyPromise_reject!==void 0&&(S0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function nC(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(Wp.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Wp.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var yre=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,BMe=function(){let e=yre==null?void 0:yre.DOMException;return function(t){if(typeof t!="function"&&typeof t!="object"||t.name!=="DOMException")return!1;try{return new t,!0}catch{return!1}}(e)?e:void 0}()||function(){let e=function(t,r){this.message=t||"",this.name=r||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return tr(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function _re(e,t,r,n,a,i){let o=y0(e),s=fne(t);e._disturbed=!0;let c=!1,u=rr(void 0);return Ln((l,f)=>{let p;if(i!==void 0){if(p=()=>{let T=i.reason!==void 0?i.reason:new BMe("Aborted","AbortError"),O=[];n||O.push(()=>t._state==="writable"?Qw(t,T):rr(void 0)),a||O.push(()=>e._state==="readable"?hs(e,T):rr(void 0)),y(()=>Promise.all(O.map(I=>I())),!0,T)},i.aborted)return void p();i.addEventListener("abort",p)}var d,h,m;if(x(e,o._closedPromise,T=>(n?_(!0,T):y(()=>Qw(t,T),!0,T),null)),x(t,s._closedPromise,T=>(a?_(!0,T):y(()=>hs(e,T),!0,T),null)),d=e,h=o._closedPromise,m=()=>(r?_():y(()=>function(T){let O=T._ownerWritableStream,I=O._state;return _c(O)||I==="closed"?rr(void 0):I==="errored"?nt(O._storedError):hne(T)}(s)),null),d._state==="closed"?m():_P(h,m),_c(t)||t._state==="closed"){let T=new TypeError("the destination writable stream closed before all data could be piped to it");a?_(!0,T):y(()=>hs(e,T),!0,T)}function g(){let T=u;return xc(u,()=>T!==u?g():void 0)}function x(T,O,I){T._state==="errored"?I(T._storedError):FP(O,I)}function y(T,O,I){function B(){return wi(T(),()=>S(O,I),D=>S(!0,D)),null}c||(c=!0,t._state!=="writable"||_c(t)?B():_P(g(),B))}function _(T,O){c||(c=!0,t._state!=="writable"||_c(t)?S(T,O):_P(g(),()=>S(T,O)))}function S(T,O){return gne(s),ku(o),i!==void 0&&i.removeEventListener("abort",p),T?f(O):l(void 0),null}S0(Ln((T,O)=>{(function I(B){B?T():xc(c?rr(!0):xc(s._readyPromise,()=>Ln((D,A)=>{ex(o,{_chunkSteps:P=>{u=xc(bne(s,P),void 0,Zv),D(!1)},_closeSteps:()=>D(!0),_errorSteps:A})})),I,O)})(!1)}))})}var vc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Lw(this))throw Bw("desiredSize");return aC(this)}close(){if(!Lw(this))throw Bw("close");if(!E0(this))throw new TypeError("The stream is not in a state that permits close");Kp(this)}enqueue(t=void 0){if(!Lw(this))throw Bw("enqueue");if(!E0(this))throw new TypeError("The stream is not in a state that permits enqueue");return T0(this,t)}error(t=void 0){if(!Lw(this))throw Bw("error");ms(this,t)}[NP](t){Xl(this);let r=this._cancelAlgorithm(t);return Zw(this),r}[zP](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=IP(this);this._closeRequested&&this._queue.length===0?(Zw(this),ux(r)):nx(this),t._chunkSteps(n)}else Mre(r,t),nx(this)}[UP](){}};function Lw(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof vc}function nx(e){if(Sne(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,wi(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,nx(e)),null),t=>(ms(e,t),null))}}function Sne(e){let t=e._controlledReadableStream;return!E0(e)||!e._started?!1:Kl(t)&&tT(t)>0?!0:aC(e)>0}function Zw(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Kp(e){if(!E0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(Zw(e),ux(t))}function T0(e,t){if(!E0(e))return;let r=e._controlledReadableStream;if(Kl(r)&&tT(r)>0)KP(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(a){throw ms(e,a),a}try{XP(e,t,n)}catch(a){throw ms(e,a),a}}nx(e)}function ms(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(Xl(e),Zw(e),kne(r,t))}function aC(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function E0(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function Ane(e,t,r,n,a,i,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Xl(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=a,e._readableStreamController=t,wi(rr(r()),()=>(t._started=!0,nx(t),null),s=>(ms(t,s),null))}function Bw(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function MMe(e,t){return zp(e._readableStreamController)?function(r){let n,a,i,o,s,c=y0(r),u=!1,l=!1,f=!1,p=!1,d=!1,h=Ln(I=>{s=I});function m(I){FP(I._closedPromise,B=>(I!==c||(_o(i._readableStreamController,B),_o(o._readableStreamController,B),p&&d||s(void 0)),null))}function g(){Up(c)&&(ku(c),c=y0(r),m(c)),ex(c,{_chunkSteps:I=>{Gp(()=>{l=!1,f=!1;let B=I,D=I;if(!p&&!d)try{D=bre(I)}catch(A){return _o(i._readableStreamController,A),_o(o._readableStreamController,A),void s(hs(r,A))}p||Uw(i._readableStreamController,B),d||Uw(o._readableStreamController,D),u=!1,l?y():f&&_()})},_closeSteps:()=>{u=!1,p||Qv(i._readableStreamController),d||Qv(o._readableStreamController),i._readableStreamController._pendingPullIntos.length>0&&Gw(i._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&Gw(o._readableStreamController,0),p&&d||s(void 0)},_errorSteps:()=>{u=!1}})}function x(I,B){Hl(c)&&(ku(c),c=one(r),m(c));let D=B?o:i,A=B?i:o;cne(c,I,1,{_chunkSteps:P=>{Gp(()=>{l=!1,f=!1;let R=B?d:p;if(B?p:d)R||Vw(D._readableStreamController,P);else{let U;try{U=bre(P)}catch(G){return _o(D._readableStreamController,G),_o(A._readableStreamController,G),void s(hs(r,G))}R||Vw(D._readableStreamController,P),Uw(A._readableStreamController,U)}u=!1,l?y():f&&_()})},_closeSteps:P=>{u=!1;let R=B?d:p,U=B?p:d;R||Qv(D._readableStreamController),U||Qv(A._readableStreamController),P!==void 0&&(R||Vw(D._readableStreamController,P),!U&&A._readableStreamController._pendingPullIntos.length>0&&Gw(A._readableStreamController,0)),R&&U||s(void 0)},_errorSteps:()=>{u=!1}})}function y(){if(u)return l=!0,rr(void 0);u=!0;let I=RP(i._readableStreamController);return I===null?g():x(I._view,!1),rr(void 0)}function _(){if(u)return f=!0,rr(void 0);u=!0;let I=RP(o._readableStreamController);return I===null?g():x(I._view,!0),rr(void 0)}function S(I){if(p=!0,n=I,d){let B=Xv([n,a]),D=hs(r,B);s(D)}return h}function T(I){if(d=!0,a=I,p){let B=Xv([n,a]),D=hs(r,B);s(D)}return h}function O(){}return i=Tre(O,y,S),o=Tre(O,_,T),m(c),[i,o]}(e):function(r){let n=y0(r),a,i,o,s,c,u=!1,l=!1,f=!1,p=!1,d=Ln(y=>{c=y});function h(){return u?(l=!0,rr(void 0)):(u=!0,ex(n,{_chunkSteps:y=>{Gp(()=>{l=!1;let _=y,S=y;f||T0(o._readableStreamController,_),p||T0(s._readableStreamController,S),u=!1,l&&h()})},_closeSteps:()=>{u=!1,f||Kp(o._readableStreamController),p||Kp(s._readableStreamController),f&&p||c(void 0)},_errorSteps:()=>{u=!1}}),rr(void 0))}function m(y){if(f=!0,a=y,p){let _=Xv([a,i]),S=hs(r,_);c(S)}return d}function g(y){if(p=!0,i=y,f){let _=Xv([a,i]),S=hs(r,_);c(S)}return d}function x(){}return o=ax(x,h,m),s=ax(x,h,g),FP(n._closedPromise,y=>(ms(o._readableStreamController,y),ms(s._readableStreamController,y),f&&p||c(void 0),null)),[o,s]}(e)}function qMe(e){return Sn(t=e)&&t.getReader!==void 0?function(r){let n;function a(){let o;try{o=r.read()}catch(s){return nt(s)}return Du(o,s=>{if(!Sn(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)Kp(n._readableStreamController);else{let c=s.value;T0(n._readableStreamController,c)}})}function i(o){try{return rr(r.cancel(o))}catch(s){return nt(s)}}return n=ax(Zv,a,i,0),n}(e.getReader()):function(r){let n,a=Gre(r,"async");function i(){let s;try{s=Vre(a)}catch(c){return nt(c)}return Du(rr(s),c=>{if(!Sn(c))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(c.done)Kp(n._readableStreamController);else{let u=c.value;T0(n._readableStreamController,u)}})}function o(s){let c=a.iterator,u;try{u=Yv(c,"return")}catch(l){return nt(l)}return u===void 0?rr(void 0):Du(Fu(u,c,[s]),l=>{if(!Sn(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=ax(Zv,i,o,0),n}(e);var t}function NMe(e,t,r){return wo(e,r),n=>Fu(e,t,[n])}function zMe(e,t,r){return wo(e,r),n=>Fu(e,t,[n])}function UMe(e,t,r){return wo(e,r),n=>Vp(e,t,[n])}function GMe(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function wre(e,t){yc(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,a=e==null?void 0:e.preventClose,i=e==null?void 0:e.signal;return i!==void 0&&function(o,s){if(!function(c){if(typeof c!="object"||c===null)return!1;try{return typeof c.aborted=="boolean"}catch{return!1}}(o))throw new TypeError(`${s} is not an AbortSignal.`)}(i,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(a),signal:i}}Object.defineProperties(vc.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(vc.prototype.close,"close"),tr(vc.prototype.enqueue,"enqueue"),tr(vc.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vc.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var Xn=class{constructor(t={},r={}){t===void 0?t=null:Bre(t,"First parameter");let n=Yw(r,"Second parameter"),a=function(i,o){yc(i,o);let s=i,c=s==null?void 0:s.autoAllocateChunkSize,u=s==null?void 0:s.cancel,l=s==null?void 0:s.pull,f=s==null?void 0:s.start,p=s==null?void 0:s.type;return{autoAllocateChunkSize:c===void 0?void 0:HP(c,`${o} has member 'autoAllocateChunkSize' that`),cancel:u===void 0?void 0:NMe(u,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:zMe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:UMe(f,s,`${o} has member 'start' that`),type:p===void 0?void 0:GMe(p,`${o} has member 'type' that`)}}(t,"First parameter");if(iC(this),a.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");(function(i,o,s){let c=Object.create(bc.prototype),u,l,f;u=o.start!==void 0?()=>o.start(c):()=>{},l=o.pull!==void 0?()=>o.pull(c):()=>rr(void 0),f=o.cancel!==void 0?d=>o.cancel(d):()=>rr(void 0);let p=o.autoAllocateChunkSize;if(p===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");ine(i,c,u,l,f,s,p)})(this,a,tx(n,0))}else{let i=Xw(n);(function(o,s,c,u){let l=Object.create(vc.prototype),f,p,d;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.pull!==void 0?()=>s.pull(l):()=>rr(void 0),d=s.cancel!==void 0?h=>s.cancel(h):()=>rr(void 0),Ane(o,l,f,p,d,c,u)})(this,a,tx(n,1),i)}}get locked(){if(!$l(this))throw Np("locked");return Kl(this)}cancel(t=void 0){return $l(this)?Kl(this)?nt(new TypeError("Cannot cancel a stream that already has a reader")):hs(this,t):nt(Np("cancel"))}getReader(t=void 0){if(!$l(this))throw Np("getReader");return function(r,n){yc(r,n);let a=r==null?void 0:r.mode;return{mode:a===void 0?void 0:FMe(a,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?y0(this):one(this)}pipeThrough(t,r={}){if(!$l(this))throw Np("pipeThrough");Ou(t,1,"pipeThrough");let n=function(i,o){yc(i,o);let s=i==null?void 0:i.readable;CP(s,"readable","ReadableWritablePair"),WP(s,`${o} has member 'readable' that`);let c=i==null?void 0:i.writable;return CP(c,"writable","ReadableWritablePair"),lne(c,`${o} has member 'writable' that`),{readable:s,writable:c}}(t,"First parameter"),a=wre(r,"Second parameter");if(Kl(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(w0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return S0(_re(this,n.writable,a.preventClose,a.preventAbort,a.preventCancel,a.signal)),n.readable}pipeTo(t,r={}){if(!$l(this))return nt(Np("pipeTo"));if(t===void 0)return nt("Parameter 1 is required in 'pipeTo'.");if(!x0(t))return nt(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=wre(r,"Second parameter")}catch(a){return nt(a)}return Kl(this)?nt(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):w0(t)?nt(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):_re(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!$l(this))throw Np("tee");return Xv(MMe(this))}values(t=void 0){if(!$l(this))throw Np("values");return function(r,n){let a=y0(r),i=new Kw(a,n),o=Object.create($re);return o._asyncIteratorImpl=i,o}(this,function(r,n){yc(r,n);let a=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(a)}}(t,"First parameter").preventCancel)}[cx](t){return this.values(t)}static from(t){return qMe(t)}};function ax(e,t,r,n=1,a=()=>1){let i=Object.create(Xn.prototype);return iC(i),Ane(i,Object.create(vc.prototype),e,t,r,n,a),i}function Tre(e,t,r){let n=Object.create(Xn.prototype);return iC(n),ine(n,Object.create(bc.prototype),e,t,r,0,void 0),n}function iC(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function $l(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof Xn}function Kl(e){return e._reader!==void 0}function hs(e,t){if(e._disturbed=!0,e._state==="closed")return rr(void 0);if(e._state==="errored")return nt(e._storedError);ux(e);let r=e._reader;if(r!==void 0&&Up(r)){let n=r._readIntoRequests;r._readIntoRequests=new Ti,n.forEach(a=>{a._closeSteps(void 0)})}return Du(e._readableStreamController[NP](t),Zv)}function ux(e){e._state="closed";let t=e._reader;if(t!==void 0&&(Lre(t),Hl(t))){let r=t._readRequests;t._readRequests=new Ti,r.forEach(n=>{n._closeSteps()})}}function kne(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(VP(r,t),Hl(r)?Nre(r,t):une(r,t))}function Np(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function Dne(e,t){yc(e,t);let r=e==null?void 0:e.highWaterMark;return CP(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:$P(r)}}Object.defineProperties(Xn,{from:{enumerable:!0}}),Object.defineProperties(Xn.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),tr(Xn.from,"from"),tr(Xn.prototype.cancel,"cancel"),tr(Xn.prototype.getReader,"getReader"),tr(Xn.prototype.pipeThrough,"pipeThrough"),tr(Xn.prototype.pipeTo,"pipeTo"),tr(Xn.prototype.tee,"tee"),tr(Xn.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Xn.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Xn.prototype,cx,{value:Xn.prototype.values,writable:!0,configurable:!0});var One=e=>e.byteLength;tr(One,"size");var ix=class{constructor(t){Ou(t,1,"ByteLengthQueuingStrategy"),t=Dne(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!Sre(this))throw Ere("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Sre(this))throw Ere("size");return One}};function Ere(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function Sre(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof ix}Object.defineProperties(ix.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ix.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var Fne=()=>1;tr(Fne,"size");var ox=class{constructor(t){Ou(t,1,"CountQueuingStrategy"),t=Dne(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!kre(this))throw Are("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!kre(this))throw Are("size");return Fne}};function Are(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function kre(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof ox}function VMe(e,t,r){return wo(e,r),n=>Fu(e,t,[n])}function $Me(e,t,r){return wo(e,r),n=>Vp(e,t,[n])}function HMe(e,t,r){return wo(e,r),(n,a)=>Fu(e,t,[n,a])}function WMe(e,t,r){return wo(e,r),n=>Fu(e,t,[n])}Object.defineProperties(ox.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ox.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var sx=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let a=Yw(r,"Second parameter"),i=Yw(n,"Third parameter"),o=function(p,d){yc(p,d);let h=p==null?void 0:p.cancel,m=p==null?void 0:p.flush,g=p==null?void 0:p.readableType,x=p==null?void 0:p.start,y=p==null?void 0:p.transform,_=p==null?void 0:p.writableType;return{cancel:h===void 0?void 0:WMe(h,p,`${d} has member 'cancel' that`),flush:m===void 0?void 0:VMe(m,p,`${d} has member 'flush' that`),readableType:g,start:x===void 0?void 0:$Me(x,p,`${d} has member 'start' that`),transform:y===void 0?void 0:HMe(y,p,`${d} has member 'transform' that`),writableType:_}}(t,"First parameter");if(o.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(o.writableType!==void 0)throw new RangeError("Invalid writableType specified");let s=tx(i,0),c=Xw(i),u=tx(a,1),l=Xw(a),f;(function(p,d,h,m,g,x){function y(){return d}function _(B){return function(D,A){let P=D._transformStreamController;return D._backpressure?Du(D._backpressureChangePromise,()=>{let R=D._writable;if(R._state==="erroring")throw R._storedError;return Ore(P,A)}):Ore(P,A)}(p,B)}function S(B){return function(D,A){let P=D._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let R=D._readable;P._finishPromise=Ln((G,W)=>{P._finishPromise_resolve=G,P._finishPromise_reject=W});let U=P._cancelAlgorithm(A);return Hw(P),wi(U,()=>(R._state==="errored"?v0(P,R._storedError):(ms(R._readableStreamController,A),OP(P)),null),G=>(ms(R._readableStreamController,G),v0(P,G),null)),P._finishPromise}(p,B)}function T(){return function(B){let D=B._transformStreamController;if(D._finishPromise!==void 0)return D._finishPromise;let A=B._readable;D._finishPromise=Ln((R,U)=>{D._finishPromise_resolve=R,D._finishPromise_reject=U});let P=D._flushAlgorithm();return Hw(D),wi(P,()=>(A._state==="errored"?v0(D,A._storedError):(Kp(A._readableStreamController),OP(D)),null),R=>(ms(A._readableStreamController,R),v0(D,R),null)),D._finishPromise}(p)}function O(){return function(B){return eT(B,!1),B._backpressureChangePromise}(p)}function I(B){return function(D,A){let P=D._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let R=D._writable;P._finishPromise=Ln((G,W)=>{P._finishPromise_resolve=G,P._finishPromise_reject=W});let U=P._cancelAlgorithm(A);return Hw(P),wi(U,()=>(R._state==="errored"?v0(P,R._storedError):(rx(R._writableStreamController,A),MP(D),OP(P)),null),G=>(rx(R._writableStreamController,G),MP(D),v0(P,G),null)),P._finishPromise}(p,B)}p._writable=function(B,D,A,P,R=1,U=()=>1){let G=Object.create(Su.prototype);return pne(G),xne(G,Object.create(Wp.prototype),B,D,A,P,R,U),G}(y,_,T,S,h,m),p._readable=ax(y,O,I,g,x),p._backpressure=void 0,p._backpressureChangePromise=void 0,p._backpressureChangePromise_resolve=void 0,eT(p,!0),p._transformStreamController=void 0})(this,Ln(p=>{f=p}),u,l,s,c),function(p,d){let h=Object.create(Au.prototype),m,g,x;m=d.transform!==void 0?y=>d.transform(y,h):y=>{try{return Cne(h,y),rr(void 0)}catch(_){return nt(_)}},g=d.flush!==void 0?()=>d.flush(h):()=>rr(void 0),x=d.cancel!==void 0?y=>d.cancel(y):()=>rr(void 0),function(y,_,S,T,O){_._controlledTransformStream=y,y._transformStreamController=_,_._transformAlgorithm=S,_._flushAlgorithm=T,_._cancelAlgorithm=O,_._finishPromise=void 0,_._finishPromise_resolve=void 0,_._finishPromise_reject=void 0}(p,h,m,g,x)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!Dre(this))throw Fre("readable");return this._readable}get writable(){if(!Dre(this))throw Fre("writable");return this._writable}};function Dre(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof sx}function Pne(e,t){ms(e._readable._readableStreamController,t),oC(e,t)}function oC(e,t){Hw(e._transformStreamController),rx(e._writable._writableStreamController,t),MP(e)}function MP(e){e._backpressure&&eT(e,!1)}function eT(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=Ln(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties(sx.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(sx.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var Au=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Mw(this))throw qw("desiredSize");return aC(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!Mw(this))throw qw("enqueue");Cne(this,t)}error(t=void 0){if(!Mw(this))throw qw("error");var r;r=t,Pne(this._controlledTransformStream,r)}terminate(){if(!Mw(this))throw qw("terminate");(function(t){let r=t._controlledTransformStream;Kp(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");oC(r,n)})(this)}};function Mw(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof Au}function Hw(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function Cne(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!E0(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{T0(n,t)}catch(i){throw oC(r,i),r._readable._storedError}(function(i){return!Sne(i)})(n)!==r._backpressure&&eT(r,!0)}function Ore(e,t){return Du(e._transformAlgorithm(t),void 0,r=>{throw Pne(e._controlledTransformStream,r),r})}function qw(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function OP(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function v0(e,t){e._finishPromise_reject!==void 0&&(S0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function Fre(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Au.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Au.prototype.enqueue,"enqueue"),tr(Au.prototype.error,"error"),tr(Au.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Au.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var iT=class extends Xn{};var oT=class{chunks;isWorking=!1;isCancelled=!1;constructor(t){this.chunks=t}start(t){this.work(t)}async work(t){let{chunks:r}=this;for(this.isWorking=!0;!this.isCancelled&&(t.desiredSize||0)>0;){let n;try{n=r.next()}catch(a){t.error(a);break}n&&(!n.done&&!this.isCancelled?t.enqueue(n.value):t.close())}this.isWorking=!1}pull(t){this.isWorking||this.work(t)}cancel(){this.isCancelled=!0}};var sT=class extends iT{_chunks;constructor(t){super(new oT(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var Yp=class{type;size;parts;constructor(t=[],r={}){this.parts=[],this.size=0;for(let n of t)if(typeof n=="string"){let a=new TextEncoder().encode(n);this.parts.push(a),this.size+=a.byteLength}else if(n instanceof Yp)this.size+=n.size,this.parts.push(...n.parts);else if(n instanceof ArrayBuffer)this.parts.push(new Uint8Array(n)),this.size+=n.byteLength;else if(n instanceof Uint8Array)this.parts.push(n),this.size+=n.byteLength;else if(ArrayBuffer.isView(n)){let{buffer:a,byteOffset:i,byteLength:o}=n;this.parts.push(new Uint8Array(a,i,o)),this.size+=o}else{let a=new TextEncoder().encode(String(n));this.parts.push(a),this.size+=a.byteLength}this.type=KMe(r.type)}slice(t=0,r=this.size,n=""){let{size:a,parts:i}=this,o=t<0?Math.max(a+t,0):Math.min(t,a),s=r<0?Math.max(a+r,0):Math.min(r,a),c=Math.max(s-o,0),u=new Yp([],{type:n});if(c===0)return u;let l=0,f=[];for(let p of i){let{byteLength:d}=p;if(o>0&&d<=o)o-=d,s-=d;else{let h=p.subarray(o,Math.min(d,s));if(f.push(h),l+=h.byteLength,o=0,l>=c)break}}return u.parts=f,u.size=l,u}async arrayBuffer(){return this._toArrayBuffer()}async text(){let t=new TextDecoder,r="";for(let n of this.parts)r+=t.decode(n);return r}stream(){return new sT(this.parts)}toString(){return"[object Blob]"}get[Symbol.toStringTag](){return"Blob"}_toArrayBuffer(){let t=new ArrayBuffer(this.size),r=new Uint8Array(t),n=0;for(let a of this.parts)r.set(a,n),n+=a.byteLength;return t}};function KMe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function XMe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=Yp),globalThis.Blob}var YMe=XMe();var cT=class{onload;onabort;onerror;error;onloadstart;onloadend;onprogress;readyState;result;DONE;EMPTY;LOADING;addEventListener;removeEventListener;dispatchEvent;constructor(){this.onload=null}abort(){}async readAsArrayBuffer(t){let r=await t.arrayBuffer();this.onload&&this.onload({target:{result:r}})}async readAsBinaryString(t){throw Error("Not implemented")}async readAsDataURL(t){let r=await t.text(),n=`data://;base64,${Ob(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var uT=class extends globalThis.Blob{name="";webkitRelativePath="";lastModified;constructor(t,r,n={}){super(t,n),this.name=String(r).replace(/\//g,":"),this.lastModified=(n==null?void 0:n.lastModified)||Date.now()}get[Symbol.toStringTag](){return"File"}};function Ine(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=cT),typeof File>"u"&&!globalThis.File&&(globalThis.File=uT),global}var QMe=Ine();var sC=Dt(require("module"),1),jne=Dt(require("path"),1),fT=Dt(require("fs"),1);async function Rne(e){if(e.startsWith("http"))return await(await fetch(e)).arrayBuffer();let t=fT.default.readFileSync(e);return ii(t.buffer)}async function Lne(e){return e.startsWith("http")?await(await fetch(e)).text():fT.default.readFileSync(e,"utf8")}async function Bne(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return lT(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=fT.default.readFileSync(e,"utf8");return lT(t)}function lT(e,t="",r){if(typeof t=="object"&&(r=t,t=""),t=t.replace("file://",""),typeof e!="string")throw new Error(`code must be a string, not ${typeof e}`);let n=sC.default._nodeModulePaths(jne.default.dirname(t)),a=typeof module<"u"&&(module==null?void 0:module.parent),i=new sC.default(t,a);return i.filename=t,i.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),i._compile(e,t),a&&a.children&&a.children.splice(a.children.indexOf(i),1),i.exports}var gs=class{map;constructor(t){this.map={},t instanceof gs?t.forEach((r,n)=>this.append(n,r)):Array.isArray(t)?t.forEach(r=>this.append(r[0],r[1])):t&&Object.getOwnPropertyNames(t).forEach(r=>this.append(r,t[r]))}append(t,r){t=lx(t),r=Mne(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[lx(t)]}get(t){return t=lx(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(lx(t))}set(t,r){this.map[lx(t)]=Mne(r)}forEach(t,r=null){for(let n in this.map)this.map.hasOwnProperty(n)&&(r?t.call(r,this.map[n],n,this):t(this.map[n],n,this))}keys(){let t=[];return this.forEach(function(r,n){t.push(n)}),cC(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),cC(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),cC(t)}*[Symbol.iterator](){yield*this.entries()}};function lx(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e)||e==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function Mne(e){return typeof e!="string"&&(e=String(e)),e}function cC(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function uC(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var fC=Dt(require("stream"),1),JMe=e=>typeof e=="boolean",qne=e=>typeof e=="function",ZMe=e=>e!==null&&typeof e=="object",lC=e=>ZMe(e)&&qne(e.read)&&qne(e.pipe)&&JMe(e.readable),Pu=class{ok;status;statusText;headers;url;bodyUsed=!1;_body;constructor(t,r){let{headers:n,status:a=200,statusText:i="OK",url:o}=r||{};this.url=o,this.ok=a===200,this.status=a,this.statusText=i,this.headers=new gs((r==null?void 0:r.headers)||{}),lC(t)?this._body=Aw(t,n):typeof t=="string"?this._body=fC.Readable.from([new TextEncoder().encode(t)]):this._body=fC.Readable.from([t||new ArrayBuffer(0)])}get body(){return uC(!this.bodyUsed),uC(lC(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return lC(this._body)?await nre(this._body):this._body||new ArrayBuffer(0)}async text(){let t=await this.arrayBuffer();return new TextDecoder().decode(t)}async json(){let t=await this.text();return JSON.parse(t)}async blob(){if(typeof Blob>"u")throw new Error("Blob polyfill not installed");return new Blob([await this.arrayBuffer()])}};var zne=Dt(require("http"),1),Une=Dt(require("https"),1);function Nne(e){let t=e.indexOf(","),r,n;return e.slice(t-7,t)===";base64"?(r=Buffer.from(e.slice(t+1),"base64"),n=e.slice(5,t-7).trim()):(r=Buffer.from(decodeURIComponent(e.slice(t+1))),n=e.slice(5,t).trim()),n?n.startsWith(";")&&(n=`text/plain${n}`):n="text/plain;charset=US-ASCII",{arrayBuffer:Kn(r),mimeType:n}}var pC=e=>e.startsWith("data:"),eqe=e=>e.startsWith("http:")||e.startsWith("https:");async function fx(e,t){try{if(globalThis.fetch!==fx&&(eqe(e)||pC(e)))return await fetch(e,t);if(pC(e)){let{arrayBuffer:u,mimeType:l}=Nne(e);return new Pu(u,{headers:{"content-type":l},url:e})}let r={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip");let a=await tqe(n,t),i=iqe(e,a,r),{status:o,statusText:s}=aqe(a),c=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&i.has("location")&&c){let u=rqe(e,i.get("location"));return await fx(u,t)}return new Pu(a,{headers:i,status:o,statusText:s,url:e})}catch(r){return new Pu(null,{status:400,statusText:String(r),url:e})}}async function tqe(e,t){return await new Promise((r,n)=>{let a=nqe(e,t),i=e.startsWith("https:")?Une.default.request(a,o=>r(o)):zne.default.request(a,o=>r(o));i.on("error",o=>n(o)),i.end()})}function rqe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function nqe(e,t){let r=(t==null?void 0:t.headers)||{},n={};for(let i of Object.keys(r))n[i.toLowerCase()]=r[i];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let a=new URL(e);return{hostname:a.hostname,path:a.pathname,method:"GET",...t,...t==null?void 0:t.fetch,headers:n,port:a.port}}function aqe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function iqe(e,t,r={}){let n={};if(t&&t.headers){let a=t.headers;for(let i in a){let o=a[i];n[i.toLowerCase()]=String(o)}}if(!n["content-length"]){let a=oqe(e);Number.isFinite(a)&&(n["content-length"]=a)}return Object.assign(n,r),new gs(n)}function oqe(e){return pC(e)?e.length-5:null}var sqe=parseInt(Gne.versions.node.split(".")[0]);BU&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=yP;globalThis.loaders.NodeFile=Bp;globalThis.loaders.NodeFileSystem=Ow;globalThis.loaders.fetchNode=kw;globalThis.loaders.NodeHash=Pw;globalThis.TextEncoder||(globalThis.TextEncoder=Db);globalThis.TextDecoder||(globalThis.TextDecoder=up);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&Ob&&(globalThis.atob=Ob);!("btoa"in globalThis)&&P4&&(globalThis.btoa=P4);globalThis.loaders.encodeImageNode=U$;globalThis.loaders.parseImageNode=qF;globalThis.loaders.imageFormatsNode=MF;globalThis._parseImageNode=qF;globalThis._imageFormatsNode=MF;globalThis.loaders.readFileAsArrayBuffer=Rne;globalThis.loaders.readFileAsText=Lne;globalThis.loaders.requireFromFile=Bne;globalThis.loaders.requireFromString=lT;sqe<18&&(!("Headers"in globalThis)&&gs&&(globalThis.Headers=gs),!("Response"in globalThis)&&Pu&&(globalThis.Response=Pu),!("fetch"in globalThis)&&fx&&(globalThis.fetch=fx));var aAe=require("path"),E4=Dt($ge(),1);var rn={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var pA=class{_attributeStorageInfo;_fields;_popupInfo;constructor(){this._attributeStorageInfo=[],this._fields=[]}get attributeStorageInfo(){return this._attributeStorageInfo}get fields(){return this._fields}get popupInfo(){return this._popupInfo}addMetadataInfo(t){if(!Object.keys(t).length)return;let r={OBJECTID:rn.OBJECT_ID_TYPE,...t},n=!1,a=this._attributeStorageInfo.length;for(let i in r)if(!this._attributeStorageInfo.find(s=>s.name===i)){let s=r[i],c=this.createStorageAttribute(a,i,s),u=this.getFieldAttributeType(s),l=this.createFieldAttribute(i,u);this._attributeStorageInfo.push(c),this._fields.push(l),a+=1,n=!0}if(n){let i=[];for(let o of this._attributeStorageInfo)i.push(o.name);this._popupInfo=this.createPopupInfo(i)}}fromObject(t){this._attributeStorageInfo=t.attributeStorageInfo,this._fields=t.fields,this._popupInfo=t.popupInfo}createStorageAttribute(t,r,n){let a={key:`f_${t}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(n){case rn.OBJECT_ID_TYPE:this.setupIdAttribute(a);break;case rn.STRING_TYPE:this.setupStringAttribute(a);break;case rn.DOUBLE_TYPE:this.setupDoubleAttribute(a);break;case rn.SHORT_INT_TYPE:break;default:this.setupStringAttribute(a)}return a}getFieldAttributeType(t){switch(t){case rn.OBJECT_ID_TYPE:return"esriFieldTypeOID";case rn.STRING_TYPE:return"esriFieldTypeString";case rn.SHORT_INT_TYPE:return"esriFieldTypeInteger";case rn.DOUBLE_TYPE:return"esriFieldTypeDouble";default:return"esriFieldTypeString"}}setupIdAttribute(t){t.attributeValues={valueType:"Oid32",valuesPerElement:1}}setupStringAttribute(t){t.ordering.unshift("attributeByteCounts"),t.header.push({property:"attributeValuesByteCount",valueType:"UInt32"}),t.attributeValues={valueType:"String",encoding:"UTF-8",valuesPerElement:1},t.attributeByteCounts={valueType:"UInt32",valuesPerElement:1}}setupDoubleAttribute(t){t.attributeValues={valueType:"Float64",valuesPerElement:1}}createFieldAttribute(t,r){return{name:t,type:r,alias:t}}createPopupInfo(t){let r="{OBJECTID}",n=[],a=[],i=[],o=[];for(let s of t)a.push({fieldName:s,visible:!0,isEditable:!1,label:s});return i.push({fieldInfos:a,type:"fields"}),{title:r,mediaInfos:n,popupElements:i,fieldInfos:a,expressionInfos:o}}};var dA=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var x1t=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,y1t=/^([-\w.]+\/[-\w.+]+)/;function vB(e,t){return e.toLowerCase()===t.toLowerCase()}function Hge(e){let t=y1t.exec(e);return t?t[1]:e}function xB(e){let t=x1t.exec(e);return t?t[1]:""}var Wge=/\?.*/;function Kge(e){let t=e.match(Wge);return t&&t[0]}function Ff(e){return e.replace(Wge,"")}function Xge(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function _d(e){return $i(e)?e.url:Hi(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function Hm(e){if($i(e)){let t=e.headers.get("content-type")||"",r=Ff(e.url);return Hge(t)||xB(r)}return Hi(e)?e.type||"":typeof e=="string"?xB(e):""}function Yge(e){return $i(e)?e.headers["content-length"]||-1:Hi(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function hA(e){if($i(e))return e;let t={},r=Yge(e);r>=0&&(t["content-length"]=String(r));let n=_d(e),a=Hm(e);a&&(t["content-type"]=a);let i=await w1t(e);i&&(t["x-first-bytes"]=i),typeof e=="string"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,"url",{value:n}),o}async function Qge(e){if(!e.ok)throw await _1t(e)}async function _1t(e){let t=Xge(e.url),r=`Failed to fetch resource (${e.status}) ${e.statusText}: ${t}`;r=r.length>100?`${r.slice(0,100)}...`:r;let n={reason:e.statusText,url:e.url,response:e};try{let a=e.headers.get("Content-Type");n.reason=!e.bodyUsed&&(a!=null&&a.includes("application/json"))?await e.json():await e.text()}catch{}return new dA(r,n)}async function w1t(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(n=>{let a=new FileReader;a.onload=i=>{var o;return n((o=i==null?void 0:i.target)==null?void 0:o.result)},a.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${T1t(r)}`}return null}function T1t(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function E1t(e){return!S1t(e)&&!A1t(e)}function S1t(e){return e.startsWith("http:")||e.startsWith("https:")}function A1t(e){return e.startsWith("data:")}async function si(e,t){var r,n;if(typeof e=="string"){let a=dc(e);return E1t(a)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(a,t):await fetch(a,t)}return await hA(e)}var g1=new ds({id:"loaders.gl"}),mA=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},gA=class{console;constructor(){this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}};var bA={core:{baseUrl:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,log:new gA,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:cr,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},Jge={baseUri:"core.baseUrl",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"core.baseUrl",method:"core.fetch.method",headers:"core.fetch.headers",body:"core.fetch.body",mode:"core.fetch.mode",credentials:"core.fetch.credentials",cache:"core.fetch.cache",redirect:"core.fetch.redirect",referrer:"core.fetch.referrer",referrerPolicy:"core.fetch.referrerPolicy",integrity:"core.fetch.integrity",keepalive:"core.fetch.keepalive",signal:"core.fetch.signal"};var yB=["baseUrl","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","_nodeWorkers","_workerType","limit","_limitMB","batchSize","batchDebounceMs","metadata","transforms"];function _B(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Wm(){let e=_B();return e.globalOptions=e.globalOptions||{...bA,core:{...bA.core}},$u(e.globalOptions)}function tbe(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],k1t(e,r),$u(O1t(t,e,n))}function $u(e){let t=P1t(e);rbe(t);for(let r of yB)t.core&&t.core[r]!==void 0&&delete t[r];return t.core&&t.core._workerType!==void 0&&delete t._worker,t}function k1t(e,t){Zge(e,null,bA,Jge,t);for(let r of t){let n=e&&e[r.id]||{},a=r.options&&r.options[r.id]||{},i=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};Zge(n,r.id,a,i,t)}}function Zge(e,t,r,n,a){let i=t||"Top level",o=t?`${t}.`:"";for(let s in e){let c=!t&&lc(e[s]),u=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!u&&!l){if(s in n)g1.level>0&&g1.warn(`${i} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!c&&g1.level>0){let f=D1t(s,a);g1.warn(`${i} loader option '${o}${s}' not recognized. ${f}`)()}}}}function D1t(e,t){let r=e.toLowerCase(),n="";for(let a of t)for(let i in a.options){if(e===i)return`Did you mean '${a.id}.${i}'?`;let o=i.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(n=n||`Did you mean '${a.id}.${i}'?`)}return n}function O1t(e,t,r){var o;let n=e.options||{},a={...n};n.core&&(a.core={...n.core}),rbe(a),((o=a.core)==null?void 0:o.log)===null&&(a.core={...a.core,log:new mA}),ebe(a,$u(Wm()));let i=$u(t);return ebe(a,i),F1t(a,r),C1t(a),a}function ebe(e,t){for(let r in t)if(r in t){let n=t[r];_w(n)&&_w(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function F1t(e,t){var n;if(!t)return;((n=e.core)==null?void 0:n.baseUrl)!==void 0||(e.core||(e.core={}),e.core.baseUrl=Ua.dirname(Ff(t)))}function P1t(e){let t={...e};return e.core&&(t.core={...e.core}),t}function rbe(e){e.baseUri!==void 0&&(e.core||(e.core={}),e.core.baseUrl===void 0&&(e.core.baseUrl=e.baseUri));for(let r of yB)if(e[r]!==void 0){let a=e.core=e.core||{};a[r]===void 0&&(a[r]=e[r])}let t=e._worker;t!==void 0&&(e.core||(e.core={}),e.core._workerType===void 0&&(e.core._workerType=t))}function C1t(e){let t=e.core;if(t)for(let r of yB)t[r]!==void 0&&(e[r]=t[r])}function b1(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function wB(e){yt(e,"null loader"),yt(b1(e),"invalid loader");let t;return Array.isArray(e)&&(t=e[1],e=e[0],e={...e,options:{...e.options,...t}}),(e!=null&&e.parseTextSync||e!=null&&e.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var I1t=()=>{let e=_B();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function nbe(){return I1t()}var j1t=/\.([^.]+)$/;async function obe(e,t=[],r,n){if(!sbe(e))return null;let a=$u(r||{});if(a.core||(a.core={}),e instanceof Response&&abe(e)){let o=await e.clone().text(),s=vA(o,t,{...a,core:{...a.core,nothrow:!0}},n);if(s)return s}let i=vA(e,t,{...a,core:{...a.core,nothrow:!0}},n);if(i)return i;if(Hi(e)&&(e=await e.slice(0,10).arrayBuffer(),i=vA(e,t,a,n)),!i&&e instanceof Response&&abe(e)){let o=await e.clone().text();i=vA(o,t,a,n)}if(!i&&!a.core.nothrow)throw new Error(cbe(e));return i}function abe(e){let t=Hm(e);return Boolean(t&&(t.startsWith("text/")||t==="application/json"||t.endsWith("+json")))}function vA(e,t=[],r,n){if(!sbe(e))return null;let a=$u(r||{});if(a.core||(a.core={}),t&&!Array.isArray(t))return wB(t);let i=[];t&&(i=i.concat(t)),a.core.ignoreRegisteredLoaders||i.push(...nbe()),L1t(i);let o=R1t(e,i,a,n);if(!o&&!a.core.nothrow)throw new Error(cbe(e));return o}function R1t(e,t,r,n){var u,l,f,p,d;let a=_d(e),i=Hm(e),o=Ff(a)||(n==null?void 0:n.url),s=null,c="";return(u=r==null?void 0:r.core)!=null&&u.mimeType&&(s=TB(t,(l=r==null?void 0:r.core)==null?void 0:l.mimeType),c=`match forced by supplied MIME type ${(f=r==null?void 0:r.core)==null?void 0:f.mimeType}`),s=s||B1t(t,o),c=c||(s?`matched url ${o}`:""),s=s||TB(t,i),c=c||(s?`matched MIME type ${i}`:""),s=s||q1t(t,e),c=c||(s?`matched initial data ${ube(e)}`:""),(p=r==null?void 0:r.core)!=null&&p.fallbackMimeType&&(s=s||TB(t,(d=r==null?void 0:r.core)==null?void 0:d.fallbackMimeType),c=c||(s?`matched fallback MIME type ${i}`:"")),c&&Cv.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${c}.`),s}function sbe(e){return!(e instanceof Response&&e.status===204)}function cbe(e){let t=_d(e),r=Hm(e),n="No valid loader found (";n+=t?`${Ua.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let a=e?ube(e):"";return n+=a?` first bytes: "${a}"`:"first bytes: not available",n+=")",n}function L1t(e){for(let t of e)wB(t)}function B1t(e,t){let r=t&&j1t.exec(t),n=r&&r[1];return n?M1t(e,n):null}function M1t(e,t){t=t.toLowerCase();for(let r of e)for(let n of r.extensions)if(n.toLowerCase()===t)return r;return null}function TB(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(a=>vB(t,a))||vB(t,`application/x.${n.id}`))return n;return null}function q1t(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(N1t(t,r))return r}else if(ArrayBuffer.isView(t)){if(ibe(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&ibe(t,0,r))return r;return null}function N1t(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function ibe(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(a=>z1t(e,t,r,a))}function z1t(e,t,r,n){if(u0(n))return pc(n,e,n.byteLength);switch(typeof n){case"function":return n(ii(e));case"string":let a=EB(e,t,n.length);return n===a;default:return!1}}function ube(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?EB(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?EB(e,0,t):""}function EB(e,t,r){if(e.byteLength<t+r)return"";let n=new DataView(e),a="";for(let i=0;i<r;i++)a+=String.fromCharCode(n.getUint8(t+i));return a}var U1t=256*1024;function*lbe(e,t){let r=(t==null?void 0:t.chunkSize)||U1t,n=0,a=new TextEncoder;for(;n<e.length;){let i=Math.min(e.length-n,r),o=e.slice(n,n+i);n+=i,yield ii(a.encode(o))}}function*fbe(e,t={}){let{chunkSize:r=262144}=t,n=0;for(;n<e.byteLength;){let a=Math.min(e.byteLength-n,r),i=new ArrayBuffer(a),o=new Uint8Array(e,n,a);new Uint8Array(i).set(o),n+=a,yield i}}async function*pbe(e,t){let r=(t==null?void 0:t.chunkSize)||1048576,n=0;for(;n<e.size;){let a=n+r,i=await e.slice(n,a).arrayBuffer();n=a,yield i}}function SB(e,t){return cr?G1t(e,t):V1t(e,t)}async function*G1t(e,t){let r=e.getReader(),n;try{for(;;){let a=n||r.read();t!=null&&t._streamReadAhead&&(n=r.read());let{done:i,value:o}=await a;if(i)return;yield Kn(o)}}catch{r.releaseLock()}}async function*V1t(e,t){for await(let r of e)yield Kn(r)}function dbe(e,t){if(typeof e=="string")return lbe(e,t);if(e instanceof ArrayBuffer)return fbe(e,t);if(Hi(e))return pbe(e,t);if(Iv(e))return SB(e,t);if($i(e)){let r=e.body;if(!r)throw new Error("Readable stream not available on Response");return SB(r,t)}throw new Error("makeIterator")}var hbe="Cannot convert supplied data type";function $1t(e,t,r){if(t.text&&typeof e=="string")return e;if(Ew(e)&&(e=e.buffer),u0(e)){let n=lP(e);return t.text&&!t.binary?new TextDecoder("utf8").decode(n):Kn(n)}throw new Error(hbe)}async function mbe(e,t,r){if(typeof e=="string"||u0(e))return $1t(e,t,r);if(Hi(e)&&(e=await hA(e)),$i(e))return await Qge(e),t.binary?await e.arrayBuffer():await e.text();if(Iv(e)&&(e=dbe(e,r)),HF(e)||WF(e))return Lp(e);throw new Error(hbe)}function xA(e,t){var i;let r=Wm(),n=e||r,a=n.fetch??((i=n.core)==null?void 0:i.fetch);return typeof a=="function"?a:lc(a)?o=>si(o,a):t!=null&&t.fetch?t==null?void 0:t.fetch:si}function gbe(e,t,r){if(r)return r;let n={fetch:xA(t,e),...e};if(n.url){let a=Ff(n.url);n.baseUrl=a,n.queryString=Kge(n.url),n.filename=Ua.filename(a),n.baseUrl=Ua.dirname(a)}return Array.isArray(n.loaders)||(n.loaders=null),n}function bbe(e,t){if(e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let n=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...n]:n}return r&&r.length?r:void 0}async function Yi(e,t,r,n){t&&!Array.isArray(t)&&!b1(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let a=_d(e),o=bbe(t,n),s=await obe(e,o,r);if(!s)return null;let c=tbe(r,s,o,a);return n=gbe({url:a,_parse:Yi,loaders:o},c,n||null),await H1t(s,e,c,n)}async function H1t(e,t,r,n){if(tP(e),r=KF(e.options,r),$i(t)){let{ok:i,redirected:o,status:s,statusText:c,type:u,url:l}=t,f=Object.fromEntries(t.headers.entries());n.response={headers:f,ok:i,redirected:o,status:s,statusText:c,type:u,url:l}}t=await mbe(t,e,r);let a=e;if(a.parseTextSync&&typeof t=="string")return a.parseTextSync(t,r,n);if(nP(e,r))return await aP(e,t,r,n,Yi);if(a.parseText&&typeof t=="string")return await a.parseText(t,r,n);if(a.parse)return await a.parse(t,r,n);throw ya(!a.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function vbe(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function AB(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function kB(e){let t=1/0,r=1/0,n=1/0,a=-1/0,i=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],c=s&&s.length;for(let u=0;u<c;u+=3){let l=s[u],f=s[u+1],p=s[u+2];t=l<t?l:t,r=f<r?f:r,n=p<n?p:n,a=l>a?l:a,i=f>i?f:i,o=p>o?p:o}return[[t,r,n],[a,i,o]]}function DB(e,t,r){let n=vbe(t.value),a=r||xbe(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:a}}function xbe(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}async function Wr(e,t,r,n){var c;let a,i;!Array.isArray(t)&&!b1(t)?(a=[],i=t,n=void 0):(a=t,i=r);let o=xA(i),s=e;return typeof e=="string"&&(s=await o(e)),Hi(e)&&(s=await o(e)),typeof e=="string"&&((c=$u(i||{}).core)!=null&&c.baseUrl||(i={...i,core:{...i==null?void 0:i.core,baseUrl:e}})),Array.isArray(a)?await Yi(s,a,i):await Yi(s,a,i)}async function Km(e,t,r){let a={...Wm(),...r};return t.encodeURLtoURL?W1t(t,e,a):iP(t,a)?await eP(t,e,a):await t.encode(e,a)}function yA(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return ii(new TextEncoder().encode(t.encodeTextSync(e,r)));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function _be(e,t,r,n){if(e=dc(e),t=dc(t),cr||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function W1t(e,t,r){if(cr)throw new Error(`Writer ${e.name} not supported in browser`);let n=ybe("input");await new Ga(n,"w").write(t);let i=ybe("output"),o=await _be(n,i,e,r);return(await si(o)).arrayBuffer()}function ybe(e){return`/tmp/${e}`}var K1t=1/Math.PI*180,X1t=1/180*Math.PI,Y1t={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Y1t}};var Rr=globalThis.mathgl.config;function OB(e,{precision:t=Rr.precision}={}){return e=Q1t(e),`${parseFloat(e.toPrecision(t))}`}function Po(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function FB(e){return wbe(e)}function PB(e){return Hu(e)}function wbe(e,t){return IB(e,r=>r*X1t,t)}function Hu(e,t){return IB(e,r=>r*K1t,t)}function CB(e,t,r){return IB(e,n=>Math.max(t,Math.min(r,n)))}function Qi(e,t,r){let n=Rr.EPSILON;r&&(Rr.EPSILON=r);try{if(e===t)return!0;if(Po(e)&&Po(t)){if(e.length!==t.length)return!1;for(let a=0;a<e.length;++a)if(!Qi(e[a],t[a]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=Rr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Rr.EPSILON=n}}function Q1t(e){return Math.round(e/Rr.EPSILON)*Rr.EPSILON}function J1t(e){return e.clone?e.clone():new Array(e.length)}function IB(e,t,r){if(Po(e)){let n=e;r=r||J1t(n);for(let a=0;a<r.length&&a<n.length;++a){let i=typeof e=="number"?e:e[a];r[a]=t(i,a,r)}return r}return t(e)}var Pf=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Po(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Rr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+OB(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!Qi(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let a=0;a<this.ELEMENTS;++a){let i=t[a],o=typeof r=="number"?r:r[a];this[a]=i+n*(o-i)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(Rr.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function Z1t(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function zt(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Cf(e,t,r=""){if(Rr.debug&&!Z1t(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function la(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var If=class extends Pf{get x(){return this[0]}set x(t){this[0]=zt(t)}get y(){return this[1]}set y(t){this[1]=zt(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let a=this[n]-t[n];r+=a*a}return zt(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return zt(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return la(t>=0&&t<this.ELEMENTS,"index is out of range"),zt(this[t])}setComponent(t,r){return la(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var nn=typeof Float32Array<"u"?Float32Array:Array,v1=Math.random;function Xm(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var hrr=Math.PI/180;function eyt(){let e=new nn(2);return nn!=Float32Array&&(e[0]=0,e[1]=0),e}function Tbe(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a,e[1]=r[1]*n+r[3]*a,e}function Ebe(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a+r[4],e[1]=r[1]*n+r[3]*a+r[5],e}function _A(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[3]*a+r[6],e[1]=r[1]*n+r[4]*a+r[7],e}function wA(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[4]*a+r[12],e[1]=r[1]*n+r[5]*a+r[13],e}var mrr=function(){let e=eyt();return function(t,r,n,a,i,o){let s,c;for(r||(r=2),n||(n=0),a?c=Math.min(a*r+n,t.length):c=t.length,s=n;s<c;s+=r)e[0]=t[s],e[1]=t[s+1],i(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function TA(e,t,r){let n=t[0],a=t[1],i=r[3]*n+r[7]*a||1;return e[0]=(r[0]*n+r[4]*a)/i,e[1]=(r[1]*n+r[5]*a)/i,e}function EA(e,t,r){let n=t[0],a=t[1],i=t[2],o=r[3]*n+r[7]*a+r[11]*i||1;return e[0]=(r[0]*n+r[4]*a+r[8]*i)/o,e[1]=(r[1]*n+r[5]*a+r[9]*i)/o,e[2]=(r[2]*n+r[6]*a+r[10]*i)/o,e}function Sbe(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a,e[1]=r[1]*n+r[3]*a,e[2]=t[2],e}function Abe(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a,e[1]=r[1]*n+r[3]*a,e[2]=t[2],e[3]=t[3],e}function SA(e,t,r){let n=t[0],a=t[1],i=t[2];return e[0]=r[0]*n+r[3]*a+r[6]*i,e[1]=r[1]*n+r[4]*a+r[7]*i,e[2]=r[2]*n+r[5]*a+r[8]*i,e[3]=t[3],e}var wd=class extends If{constructor(t=0,r=0){super(2),Po(t)&&arguments.length===1?this.copy(t):(Rr.debug&&(zt(t),zt(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return Rr.debug&&(zt(t.x),zt(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return wA(this,this,t),this.check()}transformAsVector(t){return TA(this,this,t),this.check()}transformByMatrix3(t){return _A(this,this,t),this.check()}transformByMatrix2x3(t){return Ebe(this,this,t),this.check()}transformByMatrix2(t){return Tbe(this,this,t),this.check()}};var Qm={};Jn(Qm,{add:()=>iyt,angle:()=>MB,bezier:()=>vyt,ceil:()=>oyt,clone:()=>ryt,copy:()=>nyt,create:()=>AA,cross:()=>Td,dist:()=>kyt,distance:()=>Pbe,div:()=>Ayt,divide:()=>Fbe,dot:()=>x1,equals:()=>Tyt,exactEquals:()=>wyt,floor:()=>syt,forEach:()=>Fyt,fromValues:()=>kA,hermite:()=>byt,inverse:()=>hyt,len:()=>qB,length:()=>kbe,lerp:()=>myt,max:()=>uyt,min:()=>cyt,mul:()=>Syt,multiply:()=>Obe,negate:()=>dyt,normalize:()=>jB,random:()=>xyt,rotateX:()=>RB,rotateY:()=>LB,rotateZ:()=>BB,round:()=>lyt,scale:()=>fyt,scaleAndAdd:()=>pyt,set:()=>ayt,slerp:()=>gyt,sqrDist:()=>Dyt,sqrLen:()=>Oyt,squaredDistance:()=>Cbe,squaredLength:()=>Ibe,str:()=>_yt,sub:()=>Eyt,subtract:()=>Dbe,transformMat3:()=>y1,transformMat4:()=>Ed,transformQuat:()=>_1,zero:()=>yyt});function AA(){let e=new nn(3);return nn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function ryt(e){let t=new nn(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function kbe(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function kA(e,t,r){let n=new nn(3);return n[0]=e,n[1]=t,n[2]=r,n}function nyt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function ayt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function iyt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Dbe(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Obe(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Fbe(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function oyt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function syt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function cyt(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function uyt(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function lyt(e,t){return e[0]=Xm(t[0]),e[1]=Xm(t[1]),e[2]=Xm(t[2]),e}function fyt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function pyt(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function Pbe(e,t){let r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2];return Math.sqrt(r*r+n*n+a*a)}function Cbe(e,t){let r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2];return r*r+n*n+a*a}function Ibe(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function dyt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function hyt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function jB(e,t){let r=t[0],n=t[1],a=t[2],i=r*r+n*n+a*a;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function x1(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Td(e,t,r){let n=t[0],a=t[1],i=t[2],o=r[0],s=r[1],c=r[2];return e[0]=a*c-i*s,e[1]=i*o-n*c,e[2]=n*s-a*o,e}function myt(e,t,r,n){let a=t[0],i=t[1],o=t[2];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e[2]=o+n*(r[2]-o),e}function gyt(e,t,r,n){let a=Math.acos(Math.min(Math.max(x1(t,r),-1),1)),i=Math.sin(a),o=Math.sin((1-n)*a)/i,s=Math.sin(n*a)/i;return e[0]=o*t[0]+s*r[0],e[1]=o*t[1]+s*r[1],e[2]=o*t[2]+s*r[2],e}function byt(e,t,r,n,a,i){let o=i*i,s=o*(2*i-3)+1,c=o*(i-2)+i,u=o*(i-1),l=o*(3-2*i);return e[0]=t[0]*s+r[0]*c+n[0]*u+a[0]*l,e[1]=t[1]*s+r[1]*c+n[1]*u+a[1]*l,e[2]=t[2]*s+r[2]*c+n[2]*u+a[2]*l,e}function vyt(e,t,r,n,a,i){let o=1-i,s=o*o,c=i*i,u=s*o,l=3*i*s,f=3*c*o,p=c*i;return e[0]=t[0]*u+r[0]*l+n[0]*f+a[0]*p,e[1]=t[1]*u+r[1]*l+n[1]*f+a[1]*p,e[2]=t[2]*u+r[2]*l+n[2]*f+a[2]*p,e}function xyt(e,t){t=t===void 0?1:t;let r=v1()*2*Math.PI,n=v1()*2-1,a=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*a,e[1]=Math.sin(r)*a,e[2]=n*t,e}function Ed(e,t,r){let n=t[0],a=t[1],i=t[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,e[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,e[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,e}function y1(e,t,r){let n=t[0],a=t[1],i=t[2];return e[0]=n*r[0]+a*r[3]+i*r[6],e[1]=n*r[1]+a*r[4]+i*r[7],e[2]=n*r[2]+a*r[5]+i*r[8],e}function _1(e,t,r){let n=r[0],a=r[1],i=r[2],o=r[3],s=t[0],c=t[1],u=t[2],l=a*u-i*c,f=i*s-n*u,p=n*c-a*s,d=a*p-i*f,h=i*l-n*p,m=n*f-a*l,g=o*2;return l*=g,f*=g,p*=g,d*=2,h*=2,m*=2,e[0]=s+l+d,e[1]=c+f+h,e[2]=u+p+m,e}function RB(e,t,r,n){let a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function LB(e,t,r,n){let a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function BB(e,t,r,n){let a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function MB(e,t){let r=e[0],n=e[1],a=e[2],i=t[0],o=t[1],s=t[2],c=Math.sqrt((r*r+n*n+a*a)*(i*i+o*o+s*s)),u=c&&x1(e,t)/c;return Math.acos(Math.min(Math.max(u,-1),1))}function yyt(e){return e[0]=0,e[1]=0,e[2]=0,e}function _yt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function wyt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function Tyt(e,t){let r=e[0],n=e[1],a=e[2],i=t[0],o=t[1],s=t[2];return Math.abs(r-i)<=1e-6*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(a-s)<=1e-6*Math.max(1,Math.abs(a),Math.abs(s))}var Eyt=Dbe,Syt=Obe,Ayt=Fbe,kyt=Pbe,Dyt=Cbe,qB=kbe,Oyt=Ibe,Fyt=function(){let e=AA();return function(t,r,n,a,i,o){let s,c;for(r||(r=3),n||(n=0),a?c=Math.min(a*r+n,t.length):c=t.length,s=n;s<c;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],i(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var NB=[0,0,0],DA,Z=class extends If{static get ZERO(){return DA||(DA=new Z(0,0,0),Object.freeze(DA)),DA}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Po(t)?this.copy(t):(Rr.debug&&(zt(t),zt(r),zt(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return Rr.debug&&(zt(t.x),zt(t.y),zt(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=zt(t)}angle(t){return MB(this,t)}cross(t){return Td(this,this,t),this.check()}rotateX({radians:t,origin:r=NB}){return RB(this,this,r,t),this.check()}rotateY({radians:t,origin:r=NB}){return LB(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=NB}){return BB(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Ed(this,this,t),this.check()}transformAsVector(t){return EA(this,this,t),this.check()}transformByMatrix3(t){return y1(this,this,t),this.check()}transformByMatrix2(t){return Sbe(this,this,t),this.check()}transformByQuaternion(t){return _1(this,this,t),this.check()}};var OA,Co=class extends If{static get ZERO(){return OA||(OA=new Co(0,0,0,0),Object.freeze(OA)),OA}constructor(t=0,r=0,n=0,a=0){super(-0,-0,-0,-0),Po(t)&&arguments.length===1?this.copy(t):(Rr.debug&&(zt(t),zt(r),zt(n),zt(a)),this[0]=t,this[1]=r,this[2]=n,this[3]=a)}set(t,r,n,a){return this[0]=t,this[1]=r,this[2]=n,this[3]=a,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return Rr.debug&&(zt(t.x),zt(t.y),zt(t.z),zt(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=zt(t)}get w(){return this[3]}set w(t){this[3]=zt(t)}transform(t){return Ed(this,this,t),this.check()}transformByMatrix3(t){return SA(this,this,t),this.check()}transformByMatrix2(t){return Abe(this,this,t),this.check()}transformByQuaternion(t){return _1(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Jm=class extends Pf{toString(){let t="[";if(Rr.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=zt(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let a=0;a<this.RANK;++a)r[a]=this[n+a];return r}setColumn(t,r){let n=t*this.RANK;for(let a=0;a<this.RANK;++a)this[n+a]=r[a];return this}};function jbe(){let e=new nn(9);return nn!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function Rbe(e,t){if(e===t){let r=t[1],n=t[2],a=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=a}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Lbe(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],c=t[6],u=t[7],l=t[8],f=l*o-s*u,p=-l*i+s*c,d=u*i-o*c,h=r*f+n*p+a*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+a*u)*h,e[2]=(s*n-a*o)*h,e[3]=p*h,e[4]=(l*r-a*c)*h,e[5]=(-s*r+a*i)*h,e[6]=d*h,e[7]=(-u*r+n*c)*h,e[8]=(o*r-n*i)*h,e):null}function Bbe(e){let t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],o=e[5],s=e[6],c=e[7],u=e[8];return t*(u*i-o*c)+r*(-u*a+o*s)+n*(c*a-i*s)}function zB(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],c=t[5],u=t[6],l=t[7],f=t[8],p=r[0],d=r[1],h=r[2],m=r[3],g=r[4],x=r[5],y=r[6],_=r[7],S=r[8];return e[0]=p*n+d*o+h*u,e[1]=p*a+d*s+h*l,e[2]=p*i+d*c+h*f,e[3]=m*n+g*o+x*u,e[4]=m*a+g*s+x*l,e[5]=m*i+g*c+x*f,e[6]=y*n+_*o+S*u,e[7]=y*a+_*s+S*l,e[8]=y*i+_*c+S*f,e}function Mbe(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],c=t[5],u=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=s,e[5]=c,e[6]=p*n+d*o+u,e[7]=p*a+d*s+l,e[8]=p*i+d*c+f,e}function qbe(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],c=t[5],u=t[6],l=t[7],f=t[8],p=Math.sin(r),d=Math.cos(r);return e[0]=d*n+p*o,e[1]=d*a+p*s,e[2]=d*i+p*c,e[3]=d*o-p*n,e[4]=d*s-p*a,e[5]=d*c-p*i,e[6]=u,e[7]=l,e[8]=f,e}function UB(e,t,r){let n=r[0],a=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=a*t[3],e[4]=a*t[4],e[5]=a*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Nbe(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=r+r,s=n+n,c=a+a,u=r*o,l=n*o,f=n*s,p=a*o,d=a*s,h=a*c,m=i*o,g=i*s,x=i*c;return e[0]=1-f-h,e[3]=l-x,e[6]=p+g,e[1]=l+x,e[4]=1-u-h,e[7]=d-m,e[2]=p-g,e[5]=d+m,e[8]=1-u-f,e}var GB;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(GB||(GB={}));var Pyt=Object.freeze([1,0,0,0,1,0,0,0,1]),nr=class extends Jm{static get IDENTITY(){return Iyt()}static get ZERO(){return Cyt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return GB}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(Pyt)}fromObject(t){return this.check()}fromQuaternion(t){return Nbe(this,t),this.check()}set(t,r,n,a,i,o,s,c,u){return this[0]=t,this[1]=r,this[2]=n,this[3]=a,this[4]=i,this[5]=o,this[6]=s,this[7]=c,this[8]=u,this.check()}setRowMajor(t,r,n,a,i,o,s,c,u){return this[0]=t,this[1]=a,this[2]=s,this[3]=r,this[4]=i,this[5]=c,this[6]=n,this[7]=o,this[8]=u,this.check()}determinant(){return Bbe(this)}transpose(){return Rbe(this,this),this.check()}invert(){return Lbe(this,this),this.check()}multiplyLeft(t){return zB(this,t,this),this.check()}multiplyRight(t){return zB(this,this,t),this.check()}rotate(t){return qbe(this,this,t),this.check()}scale(t){return Array.isArray(t)?UB(this,this,t):UB(this,this,[t,t]),this.check()}translate(t){return Mbe(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=_A(r||[-0,-0],t,this);break;case 3:n=y1(r||[-0,-0,-0],t,this);break;case 4:n=SA(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Cf(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},FA,PA=null;function Cyt(){return FA||(FA=new nr([0,0,0,0,0,0,0,0,0]),Object.freeze(FA)),FA}function Iyt(){return PA||(PA=new nr,Object.freeze(PA)),PA}var CA={};Jn(CA,{add:()=>a_t,adjoint:()=>qyt,clone:()=>Ryt,copy:()=>Lyt,create:()=>jyt,decompose:()=>Xyt,determinant:()=>HB,equals:()=>c_t,exactEquals:()=>s_t,frob:()=>n_t,fromQuat:()=>ZB,fromQuat2:()=>Hyt,fromRotation:()=>Uyt,fromRotationTranslation:()=>Gbe,fromRotationTranslationScale:()=>Yyt,fromRotationTranslationScaleOrigin:()=>Qyt,fromScaling:()=>zyt,fromTranslation:()=>Nyt,fromValues:()=>Byt,fromXRotation:()=>Gyt,fromYRotation:()=>Vyt,fromZRotation:()=>$yt,frustum:()=>e7,getRotation:()=>Kyt,getScaling:()=>Vbe,getTranslation:()=>Wyt,identity:()=>Ube,invert:()=>$B,lookAt:()=>n7,mul:()=>u_t,multiply:()=>w1,multiplyScalar:()=>i_t,multiplyScalarAndAdd:()=>o_t,ortho:()=>r7,orthoNO:()=>Hbe,orthoZO:()=>e_t,perspective:()=>t7,perspectiveFromFieldOfView:()=>Zyt,perspectiveNO:()=>$be,perspectiveZO:()=>Jyt,rotate:()=>XB,rotateX:()=>YB,rotateY:()=>QB,rotateZ:()=>JB,scale:()=>KB,set:()=>Myt,str:()=>r_t,sub:()=>l_t,subtract:()=>Wbe,targetTo:()=>t_t,translate:()=>WB,transpose:()=>VB});function jyt(){let e=new nn(16);return nn!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Ryt(e){let t=new nn(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Lyt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Byt(e,t,r,n,a,i,o,s,c,u,l,f,p,d,h,m){let g=new nn(16);return g[0]=e,g[1]=t,g[2]=r,g[3]=n,g[4]=a,g[5]=i,g[6]=o,g[7]=s,g[8]=c,g[9]=u,g[10]=l,g[11]=f,g[12]=p,g[13]=d,g[14]=h,g[15]=m,g}function Myt(e,t,r,n,a,i,o,s,c,u,l,f,p,d,h,m,g){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=o,e[6]=s,e[7]=c,e[8]=u,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=h,e[14]=m,e[15]=g,e}function Ube(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function VB(e,t){if(e===t){let r=t[1],n=t[2],a=t[3],i=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=a,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function $B(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],c=t[6],u=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],m=t[13],g=t[14],x=t[15],y=r*s-n*o,_=r*c-a*o,S=r*u-i*o,T=n*c-a*s,O=n*u-i*s,I=a*u-i*c,B=l*m-f*h,D=l*g-p*h,A=l*x-d*h,P=f*g-p*m,R=f*x-d*m,U=p*x-d*g,G=y*U-_*R+S*P+T*A-O*D+I*B;return G?(G=1/G,e[0]=(s*U-c*R+u*P)*G,e[1]=(a*R-n*U-i*P)*G,e[2]=(m*I-g*O+x*T)*G,e[3]=(p*O-f*I-d*T)*G,e[4]=(c*A-o*U-u*D)*G,e[5]=(r*U-a*A+i*D)*G,e[6]=(g*S-h*I-x*_)*G,e[7]=(l*I-p*S+d*_)*G,e[8]=(o*R-s*A+u*B)*G,e[9]=(n*A-r*R-i*B)*G,e[10]=(h*O-m*S+x*y)*G,e[11]=(f*S-l*O-d*y)*G,e[12]=(s*D-o*P-c*B)*G,e[13]=(r*P-n*D+a*B)*G,e[14]=(m*_-h*T-g*y)*G,e[15]=(l*T-f*_+p*y)*G,e):null}function qyt(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],c=t[6],u=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],m=t[13],g=t[14],x=t[15],y=r*s-n*o,_=r*c-a*o,S=r*u-i*o,T=n*c-a*s,O=n*u-i*s,I=a*u-i*c,B=l*m-f*h,D=l*g-p*h,A=l*x-d*h,P=f*g-p*m,R=f*x-d*m,U=p*x-d*g;return e[0]=s*U-c*R+u*P,e[1]=a*R-n*U-i*P,e[2]=m*I-g*O+x*T,e[3]=p*O-f*I-d*T,e[4]=c*A-o*U-u*D,e[5]=r*U-a*A+i*D,e[6]=g*S-h*I-x*_,e[7]=l*I-p*S+d*_,e[8]=o*R-s*A+u*B,e[9]=n*A-r*R-i*B,e[10]=h*O-m*S+x*y,e[11]=f*S-l*O-d*y,e[12]=s*D-o*P-c*B,e[13]=r*P-n*D+a*B,e[14]=m*_-h*T-g*y,e[15]=l*T-f*_+p*y,e}function HB(e){let t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],o=e[5],s=e[6],c=e[7],u=e[8],l=e[9],f=e[10],p=e[11],d=e[12],h=e[13],m=e[14],g=e[15],x=t*o-r*i,y=t*s-n*i,_=r*s-n*o,S=u*h-l*d,T=u*m-f*d,O=l*m-f*h,I=t*O-r*T+n*S,B=i*O-o*T+s*S,D=u*_-l*y+f*x,A=d*_-h*y+m*x;return c*I-a*B+g*D-p*A}function w1(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],c=t[5],u=t[6],l=t[7],f=t[8],p=t[9],d=t[10],h=t[11],m=t[12],g=t[13],x=t[14],y=t[15],_=r[0],S=r[1],T=r[2],O=r[3];return e[0]=_*n+S*s+T*f+O*m,e[1]=_*a+S*c+T*p+O*g,e[2]=_*i+S*u+T*d+O*x,e[3]=_*o+S*l+T*h+O*y,_=r[4],S=r[5],T=r[6],O=r[7],e[4]=_*n+S*s+T*f+O*m,e[5]=_*a+S*c+T*p+O*g,e[6]=_*i+S*u+T*d+O*x,e[7]=_*o+S*l+T*h+O*y,_=r[8],S=r[9],T=r[10],O=r[11],e[8]=_*n+S*s+T*f+O*m,e[9]=_*a+S*c+T*p+O*g,e[10]=_*i+S*u+T*d+O*x,e[11]=_*o+S*l+T*h+O*y,_=r[12],S=r[13],T=r[14],O=r[15],e[12]=_*n+S*s+T*f+O*m,e[13]=_*a+S*c+T*p+O*g,e[14]=_*i+S*u+T*d+O*x,e[15]=_*o+S*l+T*h+O*y,e}function WB(e,t,r){let n=r[0],a=r[1],i=r[2],o,s,c,u,l,f,p,d,h,m,g,x;return t===e?(e[12]=t[0]*n+t[4]*a+t[8]*i+t[12],e[13]=t[1]*n+t[5]*a+t[9]*i+t[13],e[14]=t[2]*n+t[6]*a+t[10]*i+t[14],e[15]=t[3]*n+t[7]*a+t[11]*i+t[15]):(o=t[0],s=t[1],c=t[2],u=t[3],l=t[4],f=t[5],p=t[6],d=t[7],h=t[8],m=t[9],g=t[10],x=t[11],e[0]=o,e[1]=s,e[2]=c,e[3]=u,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=h,e[9]=m,e[10]=g,e[11]=x,e[12]=o*n+l*a+h*i+t[12],e[13]=s*n+f*a+m*i+t[13],e[14]=c*n+p*a+g*i+t[14],e[15]=u*n+d*a+x*i+t[15]),e}function KB(e,t,r){let n=r[0],a=r[1],i=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*a,e[5]=t[5]*a,e[6]=t[6]*a,e[7]=t[7]*a,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function XB(e,t,r,n){let a=n[0],i=n[1],o=n[2],s=Math.sqrt(a*a+i*i+o*o),c,u,l,f,p,d,h,m,g,x,y,_,S,T,O,I,B,D,A,P,R,U,G,W;return s<1e-6?null:(s=1/s,a*=s,i*=s,o*=s,u=Math.sin(r),c=Math.cos(r),l=1-c,f=t[0],p=t[1],d=t[2],h=t[3],m=t[4],g=t[5],x=t[6],y=t[7],_=t[8],S=t[9],T=t[10],O=t[11],I=a*a*l+c,B=i*a*l+o*u,D=o*a*l-i*u,A=a*i*l-o*u,P=i*i*l+c,R=o*i*l+a*u,U=a*o*l+i*u,G=i*o*l-a*u,W=o*o*l+c,e[0]=f*I+m*B+_*D,e[1]=p*I+g*B+S*D,e[2]=d*I+x*B+T*D,e[3]=h*I+y*B+O*D,e[4]=f*A+m*P+_*R,e[5]=p*A+g*P+S*R,e[6]=d*A+x*P+T*R,e[7]=h*A+y*P+O*R,e[8]=f*U+m*G+_*W,e[9]=p*U+g*G+S*W,e[10]=d*U+x*G+T*W,e[11]=h*U+y*G+O*W,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function YB(e,t,r){let n=Math.sin(r),a=Math.cos(r),i=t[4],o=t[5],s=t[6],c=t[7],u=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*a+u*n,e[5]=o*a+l*n,e[6]=s*a+f*n,e[7]=c*a+p*n,e[8]=u*a-i*n,e[9]=l*a-o*n,e[10]=f*a-s*n,e[11]=p*a-c*n,e}function QB(e,t,r){let n=Math.sin(r),a=Math.cos(r),i=t[0],o=t[1],s=t[2],c=t[3],u=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a-u*n,e[1]=o*a-l*n,e[2]=s*a-f*n,e[3]=c*a-p*n,e[8]=i*n+u*a,e[9]=o*n+l*a,e[10]=s*n+f*a,e[11]=c*n+p*a,e}function JB(e,t,r){let n=Math.sin(r),a=Math.cos(r),i=t[0],o=t[1],s=t[2],c=t[3],u=t[4],l=t[5],f=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a+u*n,e[1]=o*a+l*n,e[2]=s*a+f*n,e[3]=c*a+p*n,e[4]=u*a-i*n,e[5]=l*a-o*n,e[6]=f*a-s*n,e[7]=p*a-c*n,e}function Nyt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function zyt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Uyt(e,t,r){let n=r[0],a=r[1],i=r[2],o=Math.sqrt(n*n+a*a+i*i),s,c,u;return o<1e-6?null:(o=1/o,n*=o,a*=o,i*=o,c=Math.sin(t),s=Math.cos(t),u=1-s,e[0]=n*n*u+s,e[1]=a*n*u+i*c,e[2]=i*n*u-a*c,e[3]=0,e[4]=n*a*u-i*c,e[5]=a*a*u+s,e[6]=i*a*u+n*c,e[7]=0,e[8]=n*i*u+a*c,e[9]=a*i*u-n*c,e[10]=i*i*u+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function Gyt(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Vyt(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function $yt(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Gbe(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=n+n,c=a+a,u=i+i,l=n*s,f=n*c,p=n*u,d=a*c,h=a*u,m=i*u,g=o*s,x=o*c,y=o*u;return e[0]=1-(d+m),e[1]=f+y,e[2]=p-x,e[3]=0,e[4]=f-y,e[5]=1-(l+m),e[6]=h+g,e[7]=0,e[8]=p+x,e[9]=h-g,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Hyt(e,t){let r=new nn(3),n=-t[0],a=-t[1],i=-t[2],o=t[3],s=t[4],c=t[5],u=t[6],l=t[7],f=n*n+a*a+i*i+o*o;return f>0?(r[0]=(s*o+l*n+c*i-u*a)*2/f,r[1]=(c*o+l*a+u*n-s*i)*2/f,r[2]=(u*o+l*i+s*a-c*n)*2/f):(r[0]=(s*o+l*n+c*i-u*a)*2,r[1]=(c*o+l*a+u*n-s*i)*2,r[2]=(u*o+l*i+s*a-c*n)*2),Gbe(e,t,r),e}function Wyt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Vbe(e,t){let r=t[0],n=t[1],a=t[2],i=t[4],o=t[5],s=t[6],c=t[8],u=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+a*a),e[1]=Math.sqrt(i*i+o*o+s*s),e[2]=Math.sqrt(c*c+u*u+l*l),e}function Kyt(e,t){let r=new nn(3);Vbe(r,t);let n=1/r[0],a=1/r[1],i=1/r[2],o=t[0]*n,s=t[1]*a,c=t[2]*i,u=t[4]*n,l=t[5]*a,f=t[6]*i,p=t[8]*n,d=t[9]*a,h=t[10]*i,m=o+l+h,g=0;return m>0?(g=Math.sqrt(m+1)*2,e[3]=.25*g,e[0]=(f-d)/g,e[1]=(p-c)/g,e[2]=(s-u)/g):o>l&&o>h?(g=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/g,e[0]=.25*g,e[1]=(s+u)/g,e[2]=(p+c)/g):l>h?(g=Math.sqrt(1+l-o-h)*2,e[3]=(p-c)/g,e[0]=(s+u)/g,e[1]=.25*g,e[2]=(f+d)/g):(g=Math.sqrt(1+h-o-l)*2,e[3]=(s-u)/g,e[0]=(p+c)/g,e[1]=(f+d)/g,e[2]=.25*g),e}function Xyt(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let a=n[0],i=n[1],o=n[2],s=n[4],c=n[5],u=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(a*a+i*i+o*o),r[1]=Math.sqrt(s*s+c*c+u*u),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],h=1/r[1],m=1/r[2],g=a*d,x=i*h,y=o*m,_=s*d,S=c*h,T=u*m,O=l*d,I=f*h,B=p*m,D=g+S+B,A=0;return D>0?(A=Math.sqrt(D+1)*2,e[3]=.25*A,e[0]=(T-I)/A,e[1]=(O-y)/A,e[2]=(x-_)/A):g>S&&g>B?(A=Math.sqrt(1+g-S-B)*2,e[3]=(T-I)/A,e[0]=.25*A,e[1]=(x+_)/A,e[2]=(O+y)/A):S>B?(A=Math.sqrt(1+S-g-B)*2,e[3]=(O-y)/A,e[0]=(x+_)/A,e[1]=.25*A,e[2]=(T+I)/A):(A=Math.sqrt(1+B-g-S)*2,e[3]=(x-_)/A,e[0]=(O+y)/A,e[1]=(T+I)/A,e[2]=.25*A),e}function Yyt(e,t,r,n){let a=t[0],i=t[1],o=t[2],s=t[3],c=a+a,u=i+i,l=o+o,f=a*c,p=a*u,d=a*l,h=i*u,m=i*l,g=o*l,x=s*c,y=s*u,_=s*l,S=n[0],T=n[1],O=n[2];return e[0]=(1-(h+g))*S,e[1]=(p+_)*S,e[2]=(d-y)*S,e[3]=0,e[4]=(p-_)*T,e[5]=(1-(f+g))*T,e[6]=(m+x)*T,e[7]=0,e[8]=(d+y)*O,e[9]=(m-x)*O,e[10]=(1-(f+h))*O,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Qyt(e,t,r,n,a){let i=t[0],o=t[1],s=t[2],c=t[3],u=i+i,l=o+o,f=s+s,p=i*u,d=i*l,h=i*f,m=o*l,g=o*f,x=s*f,y=c*u,_=c*l,S=c*f,T=n[0],O=n[1],I=n[2],B=a[0],D=a[1],A=a[2],P=(1-(m+x))*T,R=(d+S)*T,U=(h-_)*T,G=(d-S)*O,W=(1-(p+x))*O,Q=(g+y)*O,ce=(h+_)*I,ie=(g-y)*I,le=(1-(p+m))*I;return e[0]=P,e[1]=R,e[2]=U,e[3]=0,e[4]=G,e[5]=W,e[6]=Q,e[7]=0,e[8]=ce,e[9]=ie,e[10]=le,e[11]=0,e[12]=r[0]+B-(P*B+G*D+ce*A),e[13]=r[1]+D-(R*B+W*D+ie*A),e[14]=r[2]+A-(U*B+Q*D+le*A),e[15]=1,e}function ZB(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=r+r,s=n+n,c=a+a,u=r*o,l=n*o,f=n*s,p=a*o,d=a*s,h=a*c,m=i*o,g=i*s,x=i*c;return e[0]=1-f-h,e[1]=l+x,e[2]=p-g,e[3]=0,e[4]=l-x,e[5]=1-u-h,e[6]=d+m,e[7]=0,e[8]=p+g,e[9]=d-m,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function e7(e,t,r,n,a,i,o){let s=1/(r-t),c=1/(a-n),u=1/(i-o);return e[0]=i*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i*2*c,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(a+n)*c,e[10]=(o+i)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*u,e[15]=0,e}function $be(e,t,r,n,a){let i=1/Math.tan(t/2);if(e[0]=i/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,a!=null&&a!==1/0){let o=1/(n-a);e[10]=(a+n)*o,e[14]=2*a*n*o}else e[10]=-1,e[14]=-2*n;return e}var t7=$be;function Jyt(e,t,r,n,a){let i=1/Math.tan(t/2);if(e[0]=i/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,a!=null&&a!==1/0){let o=1/(n-a);e[10]=a*o,e[14]=a*n*o}else e[10]=-1,e[14]=-n;return e}function Zyt(e,t,r,n){let a=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),c=2/(o+s),u=2/(a+i);return e[0]=c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*c*.5),e[9]=(a-i)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Hbe(e,t,r,n,a,i,o){let s=1/(t-r),c=1/(n-a),u=1/(i-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(a+n)*c,e[14]=(o+i)*u,e[15]=1,e}var r7=Hbe;function e_t(e,t,r,n,a,i,o){let s=1/(t-r),c=1/(n-a),u=1/(i-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=u,e[11]=0,e[12]=(t+r)*s,e[13]=(a+n)*c,e[14]=i*u,e[15]=1,e}function n7(e,t,r,n){let a,i,o,s,c,u,l,f,p,d,h=t[0],m=t[1],g=t[2],x=n[0],y=n[1],_=n[2],S=r[0],T=r[1],O=r[2];return Math.abs(h-S)<1e-6&&Math.abs(m-T)<1e-6&&Math.abs(g-O)<1e-6?Ube(e):(f=h-S,p=m-T,d=g-O,a=1/Math.sqrt(f*f+p*p+d*d),f*=a,p*=a,d*=a,i=y*d-_*p,o=_*f-x*d,s=x*p-y*f,a=Math.sqrt(i*i+o*o+s*s),a?(a=1/a,i*=a,o*=a,s*=a):(i=0,o=0,s=0),c=p*s-d*o,u=d*i-f*s,l=f*o-p*i,a=Math.sqrt(c*c+u*u+l*l),a?(a=1/a,c*=a,u*=a,l*=a):(c=0,u=0,l=0),e[0]=i,e[1]=c,e[2]=f,e[3]=0,e[4]=o,e[5]=u,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(i*h+o*m+s*g),e[13]=-(c*h+u*m+l*g),e[14]=-(f*h+p*m+d*g),e[15]=1,e)}function t_t(e,t,r,n){let a=t[0],i=t[1],o=t[2],s=n[0],c=n[1],u=n[2],l=a-r[0],f=i-r[1],p=o-r[2],d=l*l+f*f+p*p;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,p*=d);let h=c*p-u*f,m=u*l-s*p,g=s*f-c*l;return d=h*h+m*m+g*g,d>0&&(d=1/Math.sqrt(d),h*=d,m*=d,g*=d),e[0]=h,e[1]=m,e[2]=g,e[3]=0,e[4]=f*g-p*m,e[5]=p*h-l*g,e[6]=l*m-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=a,e[13]=i,e[14]=o,e[15]=1,e}function r_t(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function n_t(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function a_t(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Wbe(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function i_t(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function o_t(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function s_t(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function c_t(e,t){let r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],c=e[6],u=e[7],l=e[8],f=e[9],p=e[10],d=e[11],h=e[12],m=e[13],g=e[14],x=e[15],y=t[0],_=t[1],S=t[2],T=t[3],O=t[4],I=t[5],B=t[6],D=t[7],A=t[8],P=t[9],R=t[10],U=t[11],G=t[12],W=t[13],Q=t[14],ce=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-_)<=1e-6*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(a-S)<=1e-6*Math.max(1,Math.abs(a),Math.abs(S))&&Math.abs(i-T)<=1e-6*Math.max(1,Math.abs(i),Math.abs(T))&&Math.abs(o-O)<=1e-6*Math.max(1,Math.abs(o),Math.abs(O))&&Math.abs(s-I)<=1e-6*Math.max(1,Math.abs(s),Math.abs(I))&&Math.abs(c-B)<=1e-6*Math.max(1,Math.abs(c),Math.abs(B))&&Math.abs(u-D)<=1e-6*Math.max(1,Math.abs(u),Math.abs(D))&&Math.abs(l-A)<=1e-6*Math.max(1,Math.abs(l),Math.abs(A))&&Math.abs(f-P)<=1e-6*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(p-R)<=1e-6*Math.max(1,Math.abs(p),Math.abs(R))&&Math.abs(d-U)<=1e-6*Math.max(1,Math.abs(d),Math.abs(U))&&Math.abs(h-G)<=1e-6*Math.max(1,Math.abs(h),Math.abs(G))&&Math.abs(m-W)<=1e-6*Math.max(1,Math.abs(m),Math.abs(W))&&Math.abs(g-Q)<=1e-6*Math.max(1,Math.abs(g),Math.abs(Q))&&Math.abs(x-ce)<=1e-6*Math.max(1,Math.abs(x),Math.abs(ce))}var u_t=w1,l_t=Wbe;function f_t(){let e=new nn(4);return nn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Kbe(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Xbe(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Ybe(e){let t=e[0],r=e[1],n=e[2],a=e[3];return Math.sqrt(t*t+r*r+n*n+a*a)}function Qbe(e){let t=e[0],r=e[1],n=e[2],a=e[3];return t*t+r*r+n*n+a*a}function Jbe(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=r*r+n*n+a*a+i*i;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=a*o,e[3]=i*o,e}function Zbe(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function eve(e,t,r,n){let a=t[0],i=t[1],o=t[2],s=t[3];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function tve(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3];return e[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,e[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,e[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,e[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,e}function rve(e,t,r){let n=t[0],a=t[1],i=t[2],o=r[0],s=r[1],c=r[2],u=r[3],l=u*n+s*i-c*a,f=u*a+c*n-o*i,p=u*i+o*a-s*n,d=-o*n-s*a-c*i;return e[0]=l*u+d*-o+f*-c-p*-s,e[1]=f*u+d*-s+p*-o-l*-c,e[2]=p*u+d*-c+l*-s-f*-o,e[3]=t[3],e}var Hrr=function(){let e=f_t();return function(t,r,n,a,i,o){let s,c;for(r||(r=4),n||(n=0),a?c=Math.min(a*r+n,t.length):c=t.length,s=n;s<c;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],i(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var o7;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(o7||(o7={}));var p_t=45*Math.PI/180,d_t=1,a7=.1,i7=500,h_t=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),mr=class extends Jm{static get IDENTITY(){return g_t()}static get ZERO(){return m_t()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return o7}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,a,i,o,s,c,u,l,f,p,d,h,m,g){return this[0]=t,this[1]=r,this[2]=n,this[3]=a,this[4]=i,this[5]=o,this[6]=s,this[7]=c,this[8]=u,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=h,this[14]=m,this[15]=g,this.check()}setRowMajor(t,r,n,a,i,o,s,c,u,l,f,p,d,h,m,g){return this[0]=t,this[1]=i,this[2]=u,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=h,this[8]=n,this[9]=s,this[10]=f,this[11]=m,this[12]=a,this[13]=c,this[14]=p,this[15]=g,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(h_t)}fromObject(t){return this.check()}fromQuaternion(t){return ZB(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:a,top:i,near:o=a7,far:s=i7}=t;return s===1/0?b_t(this,r,n,a,i,o):e7(this,r,n,a,i,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:a=[0,1,0]}=t;return n7(this,r,n,a),this.check()}ortho(t){let{left:r,right:n,bottom:a,top:i,near:o=a7,far:s=i7}=t;return r7(this,r,n,a,i,o,s),this.check()}orthographic(t){let{fovy:r=p_t,aspect:n=d_t,focalDistance:a=1,near:i=a7,far:o=i7}=t;ave(r);let s=r/2,c=a*Math.tan(s),u=c*n;return this.ortho({left:-u,right:u,bottom:-c,top:c,near:i,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:a=.1,far:i=500}=t;return ave(r),t7(this,r,n,a,i),this.check()}determinant(){return HB(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),a=1/n[0],i=1/n[1],o=1/n[2];return t[0]=this[0]*a,t[1]=this[1]*i,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*a,t[5]=this[5]*i,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*a,t[9]=this[9]*i,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),a=1/n[0],i=1/n[1],o=1/n[2];return t[0]=this[0]*a,t[1]=this[1]*i,t[2]=this[2]*o,t[3]=this[4]*a,t[4]=this[5]*i,t[5]=this[6]*o,t[6]=this[8]*a,t[7]=this[9]*i,t[8]=this[10]*o,t}transpose(){return VB(this,this),this.check()}invert(){return $B(this,this),this.check()}multiplyLeft(t){return w1(this,t,this),this.check()}multiplyRight(t){return w1(this,this,t),this.check()}rotateX(t){return YB(this,this,t),this.check()}rotateY(t){return QB(this,this,t),this.check()}rotateZ(t){return JB(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return XB(this,this,t,r),this.check()}scale(t){return KB(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return WB(this,this,t),this.check()}transform(t,r){return t.length===4?(r=tve(r||[-0,-0,-0,-0],t,this),Cf(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,a;switch(n){case 2:a=wA(r||[-0,-0],t,this);break;case 3:a=Ed(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Cf(a,t.length),a}transformAsVector(t,r){let n;switch(t.length){case 2:n=TA(r||[-0,-0],t,this);break;case 3:n=EA(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Cf(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},IA,jA;function m_t(){return IA||(IA=new mr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(IA)),IA}function g_t(){return jA||(jA=new mr,Object.freeze(jA)),jA}function ave(e){if(e>Math.PI*2)throw Error("expected radians")}function b_t(e,t,r,n,a,i){let o=2*i/(r-t),s=2*i/(a-n),c=(r+t)/(r-t),u=(a+n)/(a-n),l=-1,f=-1,p=-2*i;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=c,e[9]=u,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function ive(){let e=new nn(4);return nn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function ove(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function s7(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function c7(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=r[0],c=r[1],u=r[2],l=r[3];return e[0]=n*l+o*s+a*u-i*c,e[1]=a*l+o*c+i*s-n*u,e[2]=i*l+o*u+n*c-a*s,e[3]=o*l-n*s-a*c-i*u,e}function sve(e,t,r){r*=.5;let n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),c=Math.cos(r);return e[0]=n*c+o*s,e[1]=a*c+i*s,e[2]=i*c-a*s,e[3]=o*c-n*s,e}function cve(e,t,r){r*=.5;let n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),c=Math.cos(r);return e[0]=n*c-i*s,e[1]=a*c+o*s,e[2]=i*c+n*s,e[3]=o*c-a*s,e}function uve(e,t,r){r*=.5;let n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),c=Math.cos(r);return e[0]=n*c+a*s,e[1]=a*c-n*s,e[2]=i*c+o*s,e[3]=o*c-i*s,e}function lve(e,t){let r=t[0],n=t[1],a=t[2];return e[0]=r,e[1]=n,e[2]=a,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),e}function T1(e,t,r,n){let a=t[0],i=t[1],o=t[2],s=t[3],c=r[0],u=r[1],l=r[2],f=r[3],p,d,h,m,g;return p=a*c+i*u+o*l+s*f,p<0&&(p=-p,c=-c,u=-u,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),g=Math.sin(d),h=Math.sin((1-n)*d)/g,m=Math.sin(n*d)/g):(h=1-n,m=n),e[0]=h*a+m*c,e[1]=h*i+m*u,e[2]=h*o+m*l,e[3]=h*s+m*f,e}function fve(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=r*r+n*n+a*a+i*i,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-a*s,e[3]=i*s,e}function pve(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function u7(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let a=0;t[4]>t[0]&&(a=1),t[8]>t[a*3+a]&&(a=2);let i=(a+1)%3,o=(a+2)%3;n=Math.sqrt(t[a*3+a]-t[i*3+i]-t[o*3+o]+1),e[a]=.5*n,n=.5/n,e[3]=(t[i*3+o]-t[o*3+i])*n,e[i]=(t[i*3+a]+t[a*3+i])*n,e[o]=(t[o*3+a]+t[a*3+o])*n}return e}var dve=Kbe;var hve=Xbe,mve=Zbe,gve=eve,bve=Ybe;var vve=Qbe;var xve=Jbe;var yve=function(){let e=AA(),t=kA(1,0,0),r=kA(0,1,0);return function(n,a,i){let o=x1(a,i);return o<-.999999?(Td(e,t,a),qB(e)<1e-6&&Td(e,r,a),jB(e,e),s7(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Td(e,a,i),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,xve(n,n))}}(),onr=function(){let e=ive(),t=ive();return function(r,n,a,i,o,s){return T1(e,n,o,s),T1(t,a,i,s),T1(r,e,t,2*s*(1-s)),r}}(),snr=function(){let e=jbe();return function(t,r,n,a){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=a[0],e[4]=a[1],e[7]=a[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],xve(t,u7(t,e))}}();var x_t=[0,0,0,1],Io=class extends Pf{constructor(t=0,r=0,n=0,a=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,a)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,a){return this[0]=t,this[1]=r,this[2]=n,this[3]=a,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return u7(this,t),this.check()}fromAxisRotation(t,r){return s7(this,t,r),this.check()}identity(){return ove(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=zt(t)}get y(){return this[1]}set y(t){this[1]=zt(t)}get z(){return this[2]}set z(t){this[2]=zt(t)}get w(){return this[3]}set w(t){this[3]=zt(t)}len(){return bve(this)}lengthSquared(){return vve(this)}dot(t){return mve(this,t)}rotationTo(t,r){return yve(this,t,r),this.check()}add(t){return dve(this,this,t),this.check()}calculateW(){return lve(this,this),this.check()}conjugate(){return pve(this,this),this.check()}invert(){return fve(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(gve(this,t,r,n),this.check())}multiplyRight(t){return c7(this,this,t),this.check()}multiplyLeft(t){return c7(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return sve(this,this,t),this.check()}rotateY(t){return cve(this,this,t),this.check()}rotateZ(t){return uve(this,this,t),this.check()}scale(t){return hve(this,this,t),this.check()}slerp(t,r,n){let a,i,o;switch(arguments.length){case 1:({start:a=x_t,target:i,ratio:o}=t);break;case 2:a=this,i=t,o=r;break;default:a=t,i=r,o=n}return T1(this,a,i,o),this.check()}transformVector4(t,r=new Co){return rve(r,t,this),Cf(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Es={};Jn(Es,{EPSILON1:()=>y_t,EPSILON10:()=>O_t,EPSILON11:()=>F_t,EPSILON12:()=>P_t,EPSILON13:()=>C_t,EPSILON14:()=>I_t,EPSILON15:()=>j_t,EPSILON16:()=>R_t,EPSILON17:()=>L_t,EPSILON18:()=>B_t,EPSILON19:()=>M_t,EPSILON2:()=>__t,EPSILON20:()=>q_t,EPSILON3:()=>w_t,EPSILON4:()=>T_t,EPSILON5:()=>E_t,EPSILON6:()=>S_t,EPSILON7:()=>A_t,EPSILON8:()=>k_t,EPSILON9:()=>D_t,PI_OVER_FOUR:()=>z_t,PI_OVER_SIX:()=>U_t,PI_OVER_TWO:()=>N_t,TWO_PI:()=>G_t});var y_t=.1,__t=.01,w_t=.001,T_t=1e-4,E_t=1e-5,S_t=1e-6,A_t=1e-7,k_t=1e-8,D_t=1e-9,O_t=1e-10,F_t=1e-11,P_t=1e-12,C_t=1e-13,I_t=1e-14,j_t=1e-15,R_t=1e-16,L_t=1e-17,B_t=1e-18,M_t=1e-19,q_t=1e-20,N_t=Math.PI/2,z_t=Math.PI/4,U_t=Math.PI/6,G_t=Math.PI*2;var Wu=6356752314245179e-9,V_t={radii:[6378137,6378137,Wu],radiiSquared:[6378137*6378137,6378137*6378137,Wu*Wu],oneOverRadii:[1/6378137,1/6378137,1/Wu],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(Wu*Wu)],maximumRadius:Math.max(6378137,6378137,Wu),centerToleranceSquared:.1};function RA(e){return e}var Bnr=new Z;function $_t(e,t=[],r=RA){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function _ve(e,t=[]){return $_t(e,t,Rr._cartographicRadians?RA:FB)}function H_t(e,t,r=RA){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function wve(e,t){return H_t(e,t,Rr._cartographicRadians?RA:PB)}var Tve=1e-14,W_t=new Z,Eve={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},l7={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},E1={east:new Z,north:new Z,up:new Z,west:new Z,south:new Z,down:new Z},K_t=new Z,X_t=new Z,Y_t=new Z;function f7(e,t,r,n,a,i){let o=Eve[t]&&Eve[t][r];la(o&&(!n||n===o));let s,c,u,l=W_t.copy(a);if(Qi(l.x,0,Tve)&&Qi(l.y,0,Tve)){let p=Math.sign(l.z);s=K_t.fromArray(l7[t]),t!=="east"&&t!=="west"&&s.scale(p),c=X_t.fromArray(l7[r]),r!=="east"&&r!=="west"&&c.scale(p),u=Y_t.fromArray(l7[n]),n!=="east"&&n!=="west"&&u.scale(p)}else{let{up:p,east:d,north:h}=E1;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:m,west:g,south:x}=E1;m.copy(p).scale(-1),g.copy(d).scale(-1),x.copy(h).scale(-1),s=E1[t],c=E1[r],u=E1[n]}return i[0]=s.x,i[1]=s.y,i[2]=s.z,i[3]=0,i[4]=c.x,i[5]=c.y,i[6]=c.z,i[7]=0,i[8]=u.x,i[9]=u.y,i[10]=u.z,i[11]=0,i[12]=l.x,i[13]=l.y,i[14]=l.z,i[15]=1,i}var Zm=new Z,Q_t=new Z,J_t=new Z;function Sve(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:a,centerToleranceSquared:i}=t;Zm.from(e);let o=Zm.x,s=Zm.y,c=Zm.z,u=n.x,l=n.y,f=n.z,p=o*o*u*u,d=s*s*l*l,h=c*c*f*f,m=p+d+h,g=Math.sqrt(1/m);if(!Number.isFinite(g))return;let x=Q_t;if(x.copy(e).scale(g),m<i)return x.to(r);let y=a.x,_=a.y,S=a.z,T=J_t;T.set(x.x*y*2,x.y*_*2,x.z*S*2);let O=(1-g)*Zm.len()/(.5*T.len()),I=0,B,D,A,P;do{O-=I,B=1/(1+O*y),D=1/(1+O*_),A=1/(1+O*S);let R=B*B,U=D*D,G=A*A,W=R*B,Q=U*D,ce=G*A;P=p*R+d*U+h*G-1;let le=-2*(p*W*y+d*Q*_+h*ce*S);I=P/le}while(Math.abs(P)>Es.EPSILON12);return Zm.scale([B,D,A]).to(r)}var LA=new Z,Ave=new Z,t2t=new Z,Ss=new Z,r2t=new Z,BA=new Z,Pt=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=Es.EPSILON1,la(t>=0),la(r>=0),la(n>=0),this.radii=new Z(t,r,n),this.radiiSquared=new Z(t*t,r*r,n*n),this.radiiToTheFourth=new Z(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new Z(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new Z(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=Ave,a=t2t,[,,i]=t;this.geodeticSurfaceNormalCartographic(t,n),a.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(a));return a.scale(1/o),n.scale(i),a.add(n),a.to(r)}cartesianToCartographic(t,r=[0,0,0]){BA.from(t);let n=this.scaleToGeodeticSurface(BA,Ss);if(!n)return;let a=this.geodeticSurfaceNormal(n,Ave),i=r2t;i.copy(BA).subtract(n);let o=Math.atan2(a.y,a.x),s=Math.asin(a.z),c=Math.sign(Qm.dot(i,BA))*Qm.length(i);return wve([o,s,c],r)}eastNorthUpToFixedFrame(t,r=new mr){return f7(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,a,i=new mr){return f7(this,t,r,n,a,i)}geocentricSurfaceNormal(t,r=[0,0,0]){return LA.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=_ve(t),a=n[0],i=n[1],o=Math.cos(i);return LA.set(o*Math.cos(a),o*Math.sin(a),Math.sin(i)).normalize(),LA.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return LA.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return Sve(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Ss.from(t);let n=Ss.x,a=Ss.y,i=Ss.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+a*a*o.y+i*i*o.z);return Ss.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Ss.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Ss.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){la(Qi(this.radii.x,this.radii.y,Es.EPSILON15)),la(this.radii.z>0),Ss.from(t);let a=Ss.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(a)>=this.radii.z-r))return Ss.set(0,0,a).to(n)}};Pt.WGS84=new Pt(6378137,6378137,Wu);var fa={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var rar=new Z,nar=new Z;var S1=new Z,kve=new Z,ci=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new Z,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=S1.from(r),this.center=new Z().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new ci(this.center,this.radius)}union(t){let r=this.center,n=this.radius,a=t.center,i=t.radius,o=S1.copy(a).subtract(r),s=o.magnitude();if(n>=s+i)return this.clone();if(i>=s+n)return t.clone();let c=(n+s+i)*.5;return kve.copy(o).scale((-n+c)/s).add(r),this.center.copy(kve),this.radius=c,this}expand(t){let n=S1.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=CA.getScaling(S1,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=S1.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,i=t.normal.dot(r)+t.distance;return i<-n?fa.OUTSIDE:i<n?fa.INTERSECTING:fa.INSIDE}};var n2t=new Z,a2t=new Z,MA=new Z,qA=new Z,NA=new Z,i2t=new Z,o2t=new Z,Ku={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},pa=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new Z().from(t),this.halfAxes=new nr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Z(t).len(),new Z(r).len(),new Z(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),a=new Z(t).normalize(),i=new Z(r).normalize(),o=new Z(n).normalize();return new Io().fromMatrix3(new nr([...a,...i,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let a=new Io(n),i=new nr().fromQuaternion(a);return i[0]=i[0]*r[0],i[1]=i[1]*r[0],i[2]=i[2]*r[0],i[3]=i[3]*r[1],i[4]=i[4]*r[1],i[5]=i[5]*r[1],i[6]=i[6]*r[2],i[7]=i[7]*r[2],i[8]=i[8]*r[2],this.center=new Z().from(t),this.halfAxes=i,this}clone(){return new pa(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new ci){let r=this.halfAxes,n=r.getColumn(0,MA),a=r.getColumn(1,qA),i=r.getColumn(2,NA),o=n2t.copy(n).add(a).add(i);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,a=this.halfAxes,i=n.x,o=n.y,s=n.z,c=Math.abs(i*a[Ku.COLUMN0ROW0]+o*a[Ku.COLUMN0ROW1]+s*a[Ku.COLUMN0ROW2])+Math.abs(i*a[Ku.COLUMN1ROW0]+o*a[Ku.COLUMN1ROW1]+s*a[Ku.COLUMN1ROW2])+Math.abs(i*a[Ku.COLUMN2ROW0]+o*a[Ku.COLUMN2ROW1]+s*a[Ku.COLUMN2ROW2]),u=n.dot(r)+t.distance;return u<=-c?fa.OUTSIDE:u>=c?fa.INSIDE:fa.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=a2t.from(t).subtract(this.center),n=this.halfAxes,a=n.getColumn(0,MA),i=n.getColumn(1,qA),o=n.getColumn(2,NA),s=a.magnitude(),c=i.magnitude(),u=o.magnitude();a.normalize(),i.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(a))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(i))-c,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-u,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let a=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,c=s.getColumn(0,MA),u=s.getColumn(1,qA),l=s.getColumn(2,NA),f=i2t.copy(c).add(u).add(l).add(o),p=o2t.copy(f).subtract(t),d=r.dot(p);return a=Math.min(d,a),i=Math.max(d,i),f.copy(o).add(c).add(u).subtract(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),f.copy(o).add(c).subtract(u).add(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),f.copy(o).add(c).subtract(u).subtract(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),o.copy(f).subtract(c).add(u).add(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),o.copy(f).subtract(c).add(u).subtract(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),o.copy(f).subtract(c).subtract(u).add(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),o.copy(f).subtract(c).subtract(u).subtract(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),n[0]=a,n[1]=i,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,MA);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,qA);n.transformAsPoint(t);let a=this.halfAxes.getColumn(2,NA);return a.transformAsPoint(t),this.halfAxes=new nr([...r,...n,...a]),this}getTransform(){throw new Error("not implemented")}};var Dve=new Z,Ove=new Z,Xu=class{constructor(t=[0,0,1],r=0){this.normal=new Z,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return la(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Dve.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,a){return this.normal.set(t,r,n),la(Qi(this.normal.len(),1)),this.distance=a,this}clone(){return new Xu(this.normal,this.distance)}equals(t){return Qi(this.distance,t.distance)&&Qi(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Ove.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=Dve.from(t),a=this.getPointDistance(n),i=Ove.copy(this.normal).scale(a);return n.subtract(i).to(r)}};var Fve=[new Z([1,0,0]),new Z([0,1,0]),new Z([0,0,1])],Pve=new Z,s2t=new Z,jo=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*Fve.length;let r=t.center,n=t.radius,a=0;for(let i of Fve){let o=this.planes[a],s=this.planes[a+1];o||(o=this.planes[a]=new Xu),s||(s=this.planes[a+1]=new Xu);let c=Pve.copy(i).scale(-n).add(r);o.fromPointNormal(c,i);let u=Pve.copy(i).scale(n).add(r),l=s2t.copy(i).negate();s.fromPointNormal(u,l),a+=2}return this}computeVisibility(t){let r=fa.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case fa.OUTSIDE:return fa.OUTSIDE;case fa.INTERSECTING:r=fa.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(la(Number.isFinite(r),"parentPlaneMask is required."),r===jo.MASK_OUTSIDE||r===jo.MASK_INSIDE)return r;let n=jo.MASK_INSIDE,a=this.planes;for(let i=0;i<this.planes.length;++i){let o=i<31?1<<i:0;if(i<31&&!(r&o))continue;let s=a[i],c=t.intersectPlane(s);if(c===fa.OUTSIDE)return jo.MASK_OUTSIDE;c===fa.INTERSECTING&&(n|=o)}return n}};jo.MASK_OUTSIDE=4294967295;jo.MASK_INSIDE=0;jo.MASK_INDETERMINATE=2147483647;var war=new Z,Tar=new Z,Ear=new Z,Sar=new Z,Aar=new Z;var u2t=new Z,l2t=new Z,f2t=new Z,p2t=new Z,d2t=new Z,h2t=new Z,m2t=new Z,eg=new Z,g2t=new Z,b2t=new Z,v2t=new Z,x2t=new Z;function p7(e,t=new ci){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=m2t.copy(e[0]),n=u2t.copy(r),a=l2t.copy(r),i=f2t.copy(r),o=p2t.copy(r),s=d2t.copy(r),c=h2t.copy(r);for(let O of e){r.copy(O);let I=r.x,B=r.y,D=r.z;I<n.x&&n.copy(r),I>o.x&&o.copy(r),B<a.y&&a.copy(r),B>s.y&&s.copy(r),D<i.z&&i.copy(r),D>c.z&&c.copy(r)}let u=eg.copy(o).subtract(n).magnitudeSquared(),l=eg.copy(s).subtract(a).magnitudeSquared(),f=eg.copy(c).subtract(i).magnitudeSquared(),p=n,d=o,h=u;l>h&&(h=l,p=a,d=s),f>h&&(h=f,p=i,d=c);let m=g2t;m.x=(p.x+d.x)*.5,m.y=(p.y+d.y)*.5,m.z=(p.z+d.z)*.5;let g=eg.copy(d).subtract(m).magnitudeSquared(),x=Math.sqrt(g),y=b2t;y.x=n.x,y.y=a.y,y.z=i.z;let _=v2t;_.x=o.x,_.y=s.y,_.z=c.z;let S=x2t.copy(y).add(_).multiplyByScalar(.5),T=0;for(let O of e){r.copy(O);let I=eg.copy(r).subtract(S).magnitude();I>T&&(T=I);let B=eg.copy(r).subtract(m).magnitudeSquared();if(B>g){let D=Math.sqrt(B);x=(x+D)*.5,g=x*x;let A=D-x;m.x=(x*m.x+A*r.x)/D,m.y=(x*m.y+A*r.y)/D,m.z=(x*m.z+A*r.z)/D}}return x<T?(m.to(t.center),t.radius=x):(S.to(t.center),t.radius=T),t}var jc=new nr,y2t=new nr,_2t=new nr,zA=new nr,Cve=new nr;function m7(e,t={}){let r=Es.EPSILON20,n=10,a=0,i=0,o=y2t,s=_2t;o.identity(),s.copy(e);let c=r*w2t(s);for(;i<n&&T2t(s)>c;)E2t(s,zA),Cve.copy(zA).transpose(),s.multiplyRight(zA),s.multiplyLeft(Cve),o.multiplyRight(zA),++a>2&&(++i,a=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function w2t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var d7=[1,0,0],h7=[2,2,1];function T2t(e){let t=0;for(let r=0;r<3;++r){let n=e[jc.getElementIndex(h7[r],d7[r])];t+=2*n*n}return Math.sqrt(t)}function E2t(e,t){let r=Es.EPSILON15,n=0,a=1;for(let u=0;u<3;++u){let l=Math.abs(e[jc.getElementIndex(h7[u],d7[u])]);l>n&&(a=u,n=l)}let i=d7[a],o=h7[a],s=1,c=0;if(Math.abs(e[jc.getElementIndex(o,i)])>r){let u=e[jc.getElementIndex(o,o)],l=e[jc.getElementIndex(i,i)],f=e[jc.getElementIndex(o,i)],p=(u-l)/2/f,d;p<0?d=-1/(-p+Math.sqrt(1+p*p)):d=1/(p+Math.sqrt(1+p*p)),s=1/Math.sqrt(1+d*d),c=d*s}return nr.IDENTITY.to(t),t[jc.getElementIndex(i,i)]=t[jc.getElementIndex(o,o)]=s,t[jc.getElementIndex(o,i)]=c,t[jc.getElementIndex(i,o)]=-c,t}var jf=new Z,A2t=new Z,k2t=new Z,D2t=new Z,O2t=new Z,F2t=new nr,P2t={diagonal:new nr,unitary:new nr};function A1(e,t=new pa){if(!e||e.length===0)return t.halfAxes=new nr([0,0,0,0,0,0,0,0,0]),t.center=new Z,t;let r=e.length,n=new Z(0,0,0);for(let D of e)n.add(D);let a=1/r;n.multiplyByScalar(a);let i=0,o=0,s=0,c=0,u=0,l=0;for(let D of e){let A=jf.copy(D).subtract(n);i+=A.x*A.x,o+=A.x*A.y,s+=A.x*A.z,c+=A.y*A.y,u+=A.y*A.z,l+=A.z*A.z}i*=a,o*=a,s*=a,c*=a,u*=a,l*=a;let f=F2t;f[0]=i,f[1]=o,f[2]=s,f[3]=o,f[4]=c,f[5]=u,f[6]=s,f[7]=u,f[8]=l;let{unitary:p}=m7(f,P2t),d=t.halfAxes.copy(p),h=d.getColumn(0,k2t),m=d.getColumn(1,D2t),g=d.getColumn(2,O2t),x=-Number.MAX_VALUE,y=-Number.MAX_VALUE,_=-Number.MAX_VALUE,S=Number.MAX_VALUE,T=Number.MAX_VALUE,O=Number.MAX_VALUE;for(let D of e)jf.copy(D),x=Math.max(jf.dot(h),x),y=Math.max(jf.dot(m),y),_=Math.max(jf.dot(g),_),S=Math.min(jf.dot(h),S),T=Math.min(jf.dot(m),T),O=Math.min(jf.dot(g),O);h=h.multiplyByScalar(.5*(S+x)),m=m.multiplyByScalar(.5*(T+y)),g=g.multiplyByScalar(.5*(O+_)),t.center.copy(h).add(m).add(g);let I=A2t.set(x-S,y-T,_-O).multiplyByScalar(.5),B=new nr([I[0],0,0,0,I[1],0,0,0,I[2]]);return t.halfAxes.multiplyRight(B),t}function Lve(e){return e!=null}var air=new Z,C2t=new Z,I2t=new Z,j2t=new Z,Sd=new Z,Ive=new Z,jve=new Z,Rve=new Z;function k1(e,t,r){if(yt(e,"3D Tile: boundingVolume must be defined"),e.box)return Bve(e.box,t,r);if(e.region)return L2t(e.region);if(e.sphere)return R2t(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Bve(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let a=[];if(e.length===10){let u=e.slice(3,6),l=new Io;l.fromArray(e,6);let f=new Z([1,0,0]),p=new Z([0,1,0]),d=new Z([0,0,1]);f.transformByQuaternion(l),f.scale(u[0]),p.transformByQuaternion(l),p.scale(u[1]),d.transformByQuaternion(l),d.scale(u[2]),a=[...f.toArray(),...p.toArray(),...d.toArray()]}else a=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let i=t.transformAsVector(a.slice(0,3)),o=t.transformAsVector(a.slice(3,6)),s=t.transformAsVector(a.slice(6,9)),c=new nr([i[0],i[1],i[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return Lve(r)?(r.center=n,r.halfAxes=c,r):new pa(n,c)}function R2t(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let a=t.getScale(C2t),i=Math.max(Math.max(a[0],a[1]),a[2]),o=e[3]*i;return Lve(r)?(r.center=n,r.radius=o,r):new ci(n,o)}function L2t(e){let[t,r,n,a,i,o]=e,s=Pt.WGS84.cartographicToCartesian([Hu(t),Hu(a),i],I2t),c=Pt.WGS84.cartographicToCartesian([Hu(n),Hu(r),o],j2t),u=new Z().addVectors(s,c).multiplyByScalar(.5);return Pt.WGS84.cartesianToCartographic(u,Sd),Pt.WGS84.cartographicToCartesian([Hu(n),Sd[1],Sd[2]],Ive),Pt.WGS84.cartographicToCartesian([Sd[0],Hu(a),Sd[2]],jve),Pt.WGS84.cartographicToCartesian([Sd[0],Sd[1],o],Rve),Bve([...u,...Ive.subtract(u),...jve.subtract(u),...Rve.subtract(u)],new mr)}var tg="4.5.1";var da={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},uir=Object.keys(da),Rf={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function g7(e,t,r){yt(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),a=new Uint8Array(e,t,r);return n.decode(a)}function Mve(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var B2t="1.5.6",M2t="1.4.1",b7=`https://www.gstatic.com/draco/versioned/decoders/${B2t}`,zr={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Rc={[zr.DECODER]:`${b7}/${zr.DECODER}`,[zr.DECODER_WASM]:`${b7}/${zr.DECODER_WASM}`,[zr.FALLBACK_DECODER]:`${b7}/${zr.FALLBACK_DECODER}`,[zr.ENCODER]:`https://raw.githubusercontent.com/google/draco/${M2t}/javascript/${zr.ENCODER}`},v7;async function Nve(e={},t){let r=e.modules||{};return r.draco3d?v7||(v7=r.draco3d.createDecoderModule({}).then(n=>({draco:n}))):v7||(v7=q2t(e,t)),await v7}function qve(e,t){if(e&&typeof e=="object"){if(e.default)return e.default;if(e[t])return e[t]}return e}async function q2t(e,t){let r,n;switch(t){case"js":r=await yo(Rc[zr.FALLBACK_DECODER],"draco",e,zr.FALLBACK_DECODER);break;case"wasm":default:try{[r,n]=await Promise.all([await yo(Rc[zr.DECODER],"draco",e,zr.DECODER),await yo(Rc[zr.DECODER_WASM],"draco",e,zr.DECODER_WASM)])}catch{r=null,n=null}}return r=qve(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule,!r&&!Rn&&([r,n]=await Promise.all([await yo(Rc[zr.DECODER],"draco",{...e,useLocalLibraries:!0},zr.DECODER),await yo(Rc[zr.DECODER_WASM],"draco",{...e,useLocalLibraries:!0},zr.DECODER_WASM)]),r=qve(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule),await N2t(r,n)}function N2t(e,t){if(typeof e!="function")throw new Error("DracoDecoderModule could not be loaded");let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:a=>n({draco:a})})})}var UA="4.5.1";var GA={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:UA,worker:!0,options:{draco:{},source:null}};function Uve(e,t,r){let n=Gve(t.metadata),a=[],i=z2t(t.attributes);for(let o in e){let s=e[o],c=zve(o,s,i[o]);a.push(c)}if(r){let o=zve("indices",r);a.push(o)}return{fields:a,metadata:n}}function z2t(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function zve(e,t,r){let n=r?Gve(r.metadata):void 0;return DB(e,t,n)}function Gve(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Vve={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},U2t={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},G2t=4,D1=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let a=this.decoder.GetEncodedGeometryType(n),i=a===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(a){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,i);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!i.ptr){let p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}let s=this._getDracoLoaderData(i,a,r),c=this._getMeshData(i,s,r),u=kB(c.attributes),l=Uve(c.attributes,s,c.indices);return{loader:"draco",loaderData:s,header:{vertexCount:i.num_points(),boundingBox:u},...c,schema:l}}finally{this.draco.destroy(n),i&&this.draco.destroy(i)}}_getDracoLoaderData(t,r,n){let a=this._getTopLevelMetadata(t),i=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:a,attributes:i}}_getDracoAttributes(t,r){let n={};for(let a=0;a<t.num_attributes();a++){let i=this.decoder.GetAttribute(t,a),o=this._getAttributeMetadata(t,a);n[i.unique_id()]={unique_id:i.unique_id(),attribute_type:i.attribute_type(),data_type:i.data_type(),num_components:i.num_components(),byte_offset:i.byte_offset(),byte_stride:i.byte_stride(),normalized:i.normalized(),attribute_index:a,metadata:o};let s=this._getQuantizationTransform(i,r);s&&(n[i.unique_id()].quantization_transform=s);let c=this._getOctahedronTransform(i,r);c&&(n[i.unique_id()].octahedron_transform=c)}return n}_getMeshData(t,r,n){let a=this._getMeshAttributes(r,t,n);if(!a.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:a,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:a,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:a}}_getMeshAttributes(t,r,n){let a={};for(let i of Object.values(t.attributes)){let o=this._deduceAttributeName(i,n);i.name=o;let s=this._getAttributeValues(r,i);if(s){let{value:c,size:u}=s;a[o]={value:c,size:u,byteOffset:i.byte_offset,byteStride:i.byte_stride,normalized:i.normalized}}}return a}_getTriangleListIndices(t){let n=t.num_faces()*3,a=n*G2t,i=this.draco._malloc(a);try{return this.decoder.GetTrianglesUInt32Array(t,a,i),new Uint32Array(this.draco.HEAPF32.buffer,i,n).slice()}finally{this.draco._free(i)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),H2t(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=U2t[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let a=r.num_components,o=t.num_points()*a,s=o*n.BYTES_PER_ELEMENT,c=V2t(this.draco,n),u,l=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,f,c,s,l),u=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:u,size:a}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[o,s]of Object.entries(r.extraAttributes||{}))if(s===n)return o;let a=t.attribute_type;for(let o in Vve)if(this.draco[o]===a)return Vve[o];let i=r.attributeNameEntry||"name";return t.metadata[i]?t.metadata[i].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let a=0;a<n;a++){let i=this.metadataQuerier.GetEntryName(t,a);r[i]=this._getDracoMetadataField(t,i)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let a=$2t(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:a}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,a=[...r,...n];for(let i of a)this.decoder.SkipAttributeTransform(this.draco[i])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,a=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(a)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(s=>o.min_value(s))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,a=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(a)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function V2t(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function $2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function H2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var $ve={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:UA,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",extraAttributes:{},attributeNameEntry:void 0}}},Ad={...$ve,parse:W2t};async function W2t(e,t){var a;let{draco:r}=await Nve(Nv(t),((a=t==null?void 0:t.draco)==null?void 0:a.decoderType)||"wasm"),n=new D1(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var K2t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},An={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},ht={...K2t,...An};var x7={[An.DOUBLE]:Float64Array,[An.FLOAT]:Float32Array,[An.UNSIGNED_SHORT]:Uint16Array,[An.UNSIGNED_INT]:Uint32Array,[An.UNSIGNED_BYTE]:Uint8Array,[An.BYTE]:Int8Array,[An.SHORT]:Int16Array,[An.INT]:Int32Array},X2t={DOUBLE:An.DOUBLE,FLOAT:An.FLOAT,UNSIGNED_SHORT:An.UNSIGNED_SHORT,UNSIGNED_INT:An.UNSIGNED_INT,UNSIGNED_BYTE:An.UNSIGNED_BYTE,BYTE:An.BYTE,SHORT:An.SHORT,INT:An.INT},y7="Failed to convert GL type",Yn=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in x7)if(x7[r]===t)return r;throw new Error(y7)}static fromName(t){let r=X2t[t];if(!r)throw new Error(y7);return r}static getArrayType(t){switch(t){case An.UNSIGNED_SHORT_5_6_5:case An.UNSIGNED_SHORT_4_4_4_4:case An.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=x7[t];if(!r)throw new Error(y7);return r}}static getByteSize(t){return Yn.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Yn.getArrayType(t))}static createTypedArray(t,r,n=0,a){a===void 0&&(a=(r.byteLength-n)/Yn.getByteSize(t));let i=ArrayBuffer.isView(r)?r.buffer:r,o=Yn.getArrayType(t);return new o(i,n,a)}};function Hve(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function _7(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,a=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=a<<3,t}var Nir=1/256;var zir=new wd,Uir=new Z,Gir=new wd,Vir=new wd,$ir=new Uint8Array(1);function Wve(e,t=255){return CB(e,0,t)/t*2-1}function Kve(e){return e<0?-1:1}function Xve(e,t,r,n){if(Hve(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Wve(e,r),n.y=Wve(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let a=n.x;n.x=(1-Math.abs(n.y))*Kve(a),n.y=(1-Math.abs(a))*Kve(n.y)}return n.normalize()}function w7(e,t,r){return Xve(e,t,255,r)}function VA(e){return(e%1+1)%1}var Yu=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=ht.UNSIGNED_INT,n=1){let a=this.json[t];return a&&Number.isFinite(a.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,a.byteOffset):a}getPropertyArray(t,r,n){let a=this.json[t];return a&&Number.isFinite(a.byteOffset)?("componentType"in a&&(r=Yn.fromName(a.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,a.byteOffset)):this._getTypedArrayFromArray(t,r,a)}getProperty(t,r,n,a,i){let o=this.json[t];if(!o)return o;let s=this.getPropertyArray(t,r,n);if(n===1)return s[a];for(let c=0;c<n;++c)i[c]=s[n*a+c];return i}_getTypedArrayFromBinary(t,r,n,a,i){let o=this._cachedTypedArrays,s=o[t];return s||(s=Yn.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+i,a*n),o[t]=s),s}_getTypedArrayFromArray(t,r,n){let a=this._cachedTypedArrays,i=a[t];if(!i){if(ArrayBuffer.isView(n)){let o=n.byteOffset,c=n.byteLength/Yn.getByteSize(r);i=Yn.createTypedArray(r,n.buffer,o,c)}else if(n instanceof ArrayBuffer)i=Yn.createTypedArray(r,n);else{let o=Yn.getArrayType(r);i=new o(n)}a[t]=i}return i}};var Y2t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Q2t={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},J2t={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function Yve(e,t,r,n){let{componentType:a}=e;yt(e.componentType);let i=typeof a=="string"?Yn.fromName(a):a,o=Y2t[e.type],s=Q2t[e.type],c=J2t[e.type];return r+=e.byteOffset,{values:Yn.createTypedArray(i,t,r,o*n),type:i,size:o,unpacker:s,packer:c}}var Lc=e=>e!==void 0;function Qve(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),a=t.HIERARCHY;return a&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=a,n=a),n?Z2t(n,r):null}function Z2t(e,t){let r,n,a,i=e.instancesLength,o=e.classes,s=e.classIds,c=e.parentCounts,u=e.parentIds,l=i;Lc(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,a=getBinaryAccessor(s),s=a.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,i));let f;if(Lc(c))for(Lc(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,a=getBinaryAccessor(c),c=a.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,i)),f=new Uint16Array(i),l=0,r=0;r<i;++r)f[r]=l,l+=c[r];Lc(u)&&Lc(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,a=getBinaryAccessor(u),u=a.createArrayBufferView(t.buffer,t.byteOffset+u.byteOffset,l));let p=o.length;for(r=0;r<p;++r){let g=o[r].length,x=o[r].instances,y=getBinaryProperties(g,x,t);o[r].instances=combine(y,x)}let d=new Array(p).fill(0),h=new Uint16Array(i);for(r=0;r<i;++r)n=s[r],h[r]=d[n],++d[n];let m={classes:o,classIds:s,classIndexes:h,parentCounts:c,parentIndexes:f,parentIds:u};return rwt(m),m}function rg(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?ewt(e,t,r):twt(e,t,r)}function ewt(e,t,r){let n=e.classIds,a=e.parentCounts,i=e.parentIds,o=e.parentIndexes,s=n.length,c=scratchVisited;c.length=Math.max(c.length,s);let u=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),c[t]===u)continue;c[t]=u;let f=r(e,t);if(Lc(f))return f;let p=a[t],d=o[t];for(let h=0;h<p;++h){let m=i[d+h];m!==t&&l.push(m)}}return null}function twt(e,t,r){let n=!0;for(;n;){let a=r(e,t);if(Lc(a))return a;let i=e.parentIds[t];n=i!==t,t=i}throw new Error("traverseHierarchySingleParent")}function rwt(e){let t=[],n=e.classIds.length;for(let a=0;a<n;++a)Jve(e,a,stack)}function Jve(e,t,r){let n=e.parentCounts,a=e.parentIds,i=e.parentIndexes,s=e.classIds.length;if(!Lc(a))return;assert(t<s,`Parent index ${t} exceeds the total number of instances: ${s}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let c=Lc(n)?n[t]:1,u=Lc(n)?i[t]:t;for(let l=0;l<c;++l){let f=a[u+l];f!==t&&Jve(e,f,r)}r.pop(t)}function Oi(e){return e!=null}var $A=(e,t)=>e,nwt={HIERARCHY:!0,extensions:!0,extras:!0},kd=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,a={}){var i;yt(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=((i=this.json)==null?void 0:i.extensions)||{},this._properties={};for(let o in this.json)nwt[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),a["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Qve(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),yt(typeof r=="string",r),this._hierarchy){let n=rg(this._hierarchy,t,(a,i)=>{let o=a.classIds[i];return a.classes[o].name===r});return Oi(n)}return!1}isExactClass(t,r){return yt(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),yt(typeof r=="string",r),Oi(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Oi(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),yt(typeof r=="string",r),this._binaryProperties){let a=this._binaryProperties[r];if(Oi(a))return this._getBinaryProperty(a,t)}let n=this._properties[r];if(Oi(n))return $A(n[t],!0);if(this._hierarchy){let a=this._getHierarchyProperty(t,r);if(Oi(a))return a}}setProperty(t,r,n){let a=this.featureCount;if(this._checkBatchId(t),yt(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(o){this._setBinaryProperty(o,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let i=this._properties[r];Oi(i)||(this._properties[r]=new Array(a),i=this._properties[r]),i[t]=$A(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],a=this._initializeBinaryProperty(r,n);a&&(t=t||{},t[r]=a)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;yt(this.binary,`Property ${t} requires a batch table binary.`),yt(n.type,`Property ${t} requires a type.`);let a=Yve(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:a.values,componentCount:a.size,unpack:a.unpacker,pack:a.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=rg(this._hierarchy,t,(a,i)=>{let o=a.classIds[i],s=a.classes[o].instances;return Oi(s[r])});return Oi(n)}_getPropertyNamesInHierarchy(t,r){rg(this._hierarchy,t,(n,a)=>{let i=n.classIds[a],o=n.classes[i].instances;for(let s in o)o.hasOwnProperty(s)&&r.indexOf(s)===-1&&r.push(s)})}_getHierarchyProperty(t,r){return rg(this._hierarchy,t,(n,a)=>{let i=n.classIds[a],o=n.classes[i],s=n.classIndexes[a],c=o.instances[r];return Oi(c)?Oi(c.typedArray)?this._getBinaryProperty(c,s):$A(c[s],!0):null})}_setHierarchyProperty(t,r,n,a){let i=rg(this._hierarchy,r,(o,s)=>{let c=o.classIds[s],u=o.classes[c],l=o.classIndexes[s],f=u.instances[n];return Oi(f)?(yt(s===r,`Inherited property "${n}" is read-only.`),Oi(f.typedArray)?this._setBinaryProperty(f,l,a):f[l]=$A(a,!0),!0):!1});return Oi(i)}};var T7=4;function Lf(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=T7,e.version=n.getUint32(r,!0),r+=T7,e.byteLength=n.getUint32(r,!0),r+=T7,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var ng=4,Zve="b3dm tile in legacy format.";function ag(e,t,r){let n=new DataView(t),a;e.header=e.header||{};let i=n.getUint32(r,!0);r+=ng;let o=n.getUint32(r,!0);r+=ng;let s=n.getUint32(r,!0);r+=ng;let c=n.getUint32(r,!0);return r+=ng,s>=570425344?(r-=ng*2,a=i,s=o,c=0,i=0,o=0,console.warn(Zve)):c>=570425344&&(r-=ng,a=s,s=i,c=o,i=0,o=0,console.warn(Zve)),e.header.featureTableJsonByteLength=i,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=c,e.header.batchLength=a,r}function ig(e,t,r,n){return r=awt(e,t,r,n),r=iwt(e,t,r,n),r}function awt(e,t,r,n){let{featureTableJsonByteLength:a,featureTableBinaryByteLength:i,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},a&&a>0){let s=g7(t,r,a);e.featureTableJson=JSON.parse(s)}return r+=a||0,e.featureTableBinary=new Uint8Array(t,r,i),r+=i||0,r}function iwt(e,t,r,n){let{batchTableJsonByteLength:a,batchTableBinaryByteLength:i}=e.header||{};if(a&&a>0){let o=g7(t,r,a);e.batchTableJson=JSON.parse(o),r+=a,i&&i>0&&(e.batchTableBinary=new Uint8Array(t,r,i),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=i)}return r}function E7(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:a,pointCount:i=0}=e;if(n&&r){let o=new Uint8ClampedArray(i*3);for(let s=0;s<i;s++){let c=n[s],l=r.getProperty(c,"dimensions").map(f=>f*255);o[s*3]=l[0],o[s*3+1]=l[1],o[s*3+2]=l[2]}return{type:ht.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(t&&a){let o=new Uint8ClampedArray(i*3);for(let s=0;s<i;s++){let c=_7(t[s]);o[s*3]=c[0],o[s*3+1]=c[1],o[s*3+2]=c[2]}return{type:ht.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===i*3?{type:ht.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:ht.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var exe=new Z;function txe(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)w7(t[n*2],t[n*2+1],exe),exe.toArray(r,n*3);return{type:ht.FLOAT,size:2,value:r}}return{type:ht.FLOAT,size:2,value:t}}function rxe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,owt(e,t)):{type:ht.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function owt(e,t){let r=new Z,n=new Float32Array(e.pointCount*3);for(let a=0;a<e.pointCount;a++)r.set(t[a*3],t[a*3+1],t[a*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,a*3);return n}async function nxe(e,t,r,n,a){r=Lf(e,t,r),r=ag(e,t,r),r=ig(e,t,r,n),swt(e);let{featureTable:i,batchTable:o}=cwt(e);return await dwt(e,i,o,n,a),uwt(e,i,n),lwt(e,i,o),fwt(e,i),r}function swt(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function cwt(e){let t=new Yu(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",ht.FLOAT,3);let n=pwt(e,t);return{featureTable:t,batchTable:n}}function uwt(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",ht.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",ht.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",ht.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",ht.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=rxe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function lwt(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",ht.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",ht.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",ht.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=E7(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",ht.UNSIGNED_BYTE,4))}function fwt(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",ht.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",ht.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=txe(e,r)}}function pwt(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",ht.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:a,batchTableBinary:i}=e;r=new kd(a,i,n)}return r}async function dwt(e,t,r,n,a){let i,o,s,c=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];c&&(s=c.properties);let u=t.getExtension("3DTILES_draco_point_compression");if(u){o=u.properties;let f=u.byteOffset,p=u.byteLength;if(!o||!Number.isFinite(f)||!p)throw new Error("Draco properties, byteOffset, and byteLength must be defined");i=(e.featureTableBinary||[]).slice(f,f+p),e.hasPositions=Number.isFinite(o.POSITION),e.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),e.hasNormals=Number.isFinite(o.NORMAL),e.hasBatchIds=Number.isFinite(o.BATCH_ID),e.isTranslucent=Number.isFinite(o.RGBA)}if(!i)return!0;let l={buffer:i,properties:{...o,...s},featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await hwt(e,l,n,a)}async function hwt(e,t,r,n){if(!n)return;let a={...r,draco:{...r==null?void 0:r.draco,extraAttributes:t.batchTableProperties||{}}};delete a["3d-tiles"];let i=await Vi(t.buffer,Ad,a,n),o=i.attributes.POSITION&&i.attributes.POSITION.value,s=i.attributes.COLOR_0&&i.attributes.COLOR_0.value,c=i.attributes.NORMAL&&i.attributes.NORMAL.value,u=i.attributes.BATCH_ID&&i.attributes.BATCH_ID.value,l=o&&i.attributes.POSITION.value.quantization,f=c&&i.attributes.NORMAL.value.quantization;if(l){let d=i.POSITION.data.quantization,h=d.range;e.quantizedVolumeScale=new Z(h,h,h),e.quantizedVolumeOffset=new Z(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<i.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let p={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))i.attributes[d]&&i.attributes[d].value&&(p[d.toLowerCase()]=i.attributes[d].value);e.attributes={positions:o,colors:E7(e,s,void 0),normals:c,batchIds:u,...p}}var i8={};Jn(i8,{createExtMeshFeatures:()=>a8,decode:()=>rTt,encode:()=>nTt,name:()=>n8});var HA="4.5.1";var axe,mwt=(axe=globalThis.loaders)==null?void 0:axe.parseImageNode,S7=typeof Image<"u",A7=typeof ImageBitmap<"u",gwt=Boolean(mwt),k7=cr?!0:gwt;function ixe(e){switch(e){case"auto":return A7||S7||k7;case"imagebitmap":return A7;case"image":return S7;case"data":return k7;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function oxe(){if(A7)return"imagebitmap";if(S7)return"image";if(k7)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function sxe(e){let t=bwt(e);if(!t)throw new Error("Not an image");return t}function D7(e){return og(e)}function og(e){switch(sxe(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function bwt(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var vwt=/^data:image\/svg\+xml/,xwt=/\.svg((\?|#).*)?$/;function WA(e){return e&&(vwt.test(e)||xwt.test(e))}function cxe(e,t){if(WA(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(i){throw new Error(i.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return O7(e,t)}function O7(e,t){if(WA(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function KA(e,t,r){let n=cxe(e,r),a=self.URL||self.webkitURL,i=typeof n!="string"&&a.createObjectURL(n);try{return await ywt(i||n,t)}finally{i&&a.revokeObjectURL(i)}}async function ywt(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,a)=>{try{r.onload=()=>n(r),r.onerror=i=>{let o=i instanceof Error?i.message:"error";a(new Error(o))}}catch(i){a(i)}})}var uxe=!0;async function lxe(e,t,r){let n;WA(r)?n=await KA(e,t,r):n=O7(e,r);let a=t&&t.imagebitmap;return await _wt(n,a)}async function _wt(e,t=null){if((wwt(t)||!uxe)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),uxe=!1}return await createImageBitmap(e)}function wwt(e){if(!e)return!0;for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function fxe(e){return!Awt(e,"ftyp",4)||!(e[8]&96)?null:Twt(e)}function Twt(e){switch(Ewt(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Ewt(e,t,r){return String.fromCharCode(...e.slice(t,r))}function Swt(e){return[...e].map(t=>t.charCodeAt(0))}function Awt(e,t,r=0){let n=Swt(t);for(let a=0;a<n.length;++a)if(n[a]!==e[a+r])return!1;return!0}var Bc=!1,O1=!0;function Dd(e){let t=F1(e);return Dwt(t)||Pwt(t)||Owt(t)||Fwt(t)||kwt(t)}function kwt(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=fxe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function Dwt(e){let t=F1(e);return t.byteLength>=24&&t.getUint32(0,Bc)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Bc),height:t.getUint32(20,Bc)}:null}function Owt(e){let t=F1(e);return t.byteLength>=10&&t.getUint32(0,Bc)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,O1),height:t.getUint16(8,O1)}:null}function Fwt(e){let t=F1(e);return t.byteLength>=14&&t.getUint16(0,Bc)===16973&&t.getUint32(2,O1)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,O1),height:t.getUint32(22,O1)}:null}function Pwt(e){let t=F1(e);if(!(t.byteLength>=3&&t.getUint16(0,Bc)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:a}=Cwt(),i=2;for(;i+9<t.byteLength;){let o=t.getUint16(i,Bc);if(a.has(o))return{mimeType:"image/jpeg",height:t.getUint16(i+5,Bc),width:t.getUint16(i+7,Bc)};if(!n.has(o))return null;i+=2,i+=t.getUint16(i,Bc)}return null}function Cwt(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function F1(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function pxe(e,t){var a;let{mimeType:r}=Dd(e)||{},n=(a=globalThis.loaders)==null?void 0:a.parseImageNode;return yt(n),await n(e,r)}async function dxe(e,t,r){t=t||{};let a=(t.image||{}).type||"auto",{url:i}=r||{},o=Iwt(a),s;switch(o){case"imagebitmap":s=await lxe(e,t,i);break;case"image":s=await KA(e,t,i);break;case"data":s=await pxe(e,t);break;default:yt(!1)}return a==="data"&&(s=og(s)),s}function Iwt(e){switch(e){case"auto":case"data":return oxe();default:return ixe(e),e}}var jwt=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],Rwt=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Lwt={image:{type:"auto",decode:!0}},sg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:HA,mimeTypes:Rwt,extensions:jwt,parse:dxe,tests:[e=>Boolean(Dd(new DataView(e)))],options:Lwt};var gxe,hxe=(gxe=globalThis.loaders)==null?void 0:gxe.encodeImageNode;async function bxe(e,t){return t=t||{},t.image=t.image||{},hxe?hxe(e,{type:t.image.mimeType}):Bwt(e,t)}var mxe=!0;async function Bwt(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:a,height:i}=D7(e),o=document.createElement("canvas");o.width=a,o.height=i,Mwt(e,o);let s=await new Promise(c=>{if(n&&mxe)try{o.toBlob(c,r,n);return}catch{mxe=!1}o.toBlob(c,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function Mwt(e,t,r=0,n=0){if(r===0&&n===0&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let i=t.getContext("bitmaprenderer");if(i)return i.transferFromImageBitmap(e),t}let a=t.getContext("2d");if(e.data){let i=new Uint8ClampedArray(e.data),o=new ImageData(i,e.width,e.height);return a.putImageData(o,0,0),t}return a.drawImage(e,0,0),t}var F7={name:"Images",id:"image",module:"images",version:HA,extensions:["jpeg"],mimeTypes:[],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:bxe};var qwt=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/tiff","image/svg","image/svg+xml","image/bmp","image/vnd.microsoft.icon"],XA=null;async function C7(){return XA?await XA:(XA=Nwt(),await XA)}async function Nwt(){let e=new Set;for(let t of qwt)(cr?await Gwt(t):vxe(t))&&e.add(t);return e}var P7={};function I7(e){if(P7[e]===void 0){let t=cr?zwt(e):vxe(e);P7[e]=t}return P7[e]}function vxe(e){var a,i;let t=["image/png","image/jpeg","image/gif"],r=((a=globalThis.loaders)==null?void 0:a.imageFormatsNode)||t,n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return Boolean(n)&&r.includes(e)}function zwt(e){switch(e){case"image/avif":case"image/webp":return Vwt(e);default:return!0}}var Uwt={"image/avif":"data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=","image/webp":"data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"};async function Gwt(e){let t=Uwt[e];return t?await $wt(t):!0}function Vwt(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}async function $wt(e){return new Promise(t=>{let r=new Image;r.src=e,r.onload=()=>t(r.height>0),r.onerror=()=>t(!1)})}function xn(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var YA={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},QA={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var Hwt=1.33,xxe=["SCALAR","VEC2","VEC3","VEC4"],Wwt=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Kwt=new Map(Wwt),Xwt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ywt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Qwt={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function JA(e){return xxe[e-1]||xxe[0]}function Bf(e){let t=Kwt.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function Od(e,t){let r=Qwt[e.componentType],n=Xwt[e.type],a=Ywt[e.componentType],i=e.count*n,o=e.count*n*a;xn(o>=0&&o<=t.byteLength);let s=QA[e.componentType],c=YA[e.type];return{ArrayType:r,length:i,byteLength:o,componentByteSize:s,numberOfComponentsInElement:c}}function P1(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(o=>o.bufferView);r=r.filter(o=>!n.includes(o));let a=r.reduce((o,s)=>o+s.byteLength,0),i=t.reduce((o,s)=>{let{width:c,height:u}=s.image;return o+c*u},0);return a+Math.ceil(4*i*Hwt)}function yxe(e,t,r){let n=e.bufferViews[r];xn(n);let a=n.buffer,i=t[a];xn(i);let o=(n.byteOffset||0)+i.byteOffset;return new Uint8Array(i.arrayBuffer,o,n.byteLength)}function _xe(e,t,r){var m,g;let n=typeof r=="number"?(m=e.accessors)==null?void 0:m[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let a=(g=e.bufferViews)==null?void 0:g[n.bufferView||0];if(!a)throw new Error(`No gltf buffer view for accessor ${a}`);let{arrayBuffer:i,byteOffset:o}=t[a.buffer],s=(o||0)+(n.byteOffset||0)+(a.byteOffset||0),{ArrayType:c,length:u,componentByteSize:l,numberOfComponentsInElement:f}=Od(n,a),p=l*f,d=a.byteStride||p;if(typeof a.byteStride>"u"||a.byteStride===p)return new c(i,s,u);let h=new c(u);for(let x=0;x<n.count;x++){let y=new c(i,s+x*d,f);h.set(y,x*f)}return h}function Jwt(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Ut=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||Jwt(),buffers:(t==null?void 0:t.buffers)||[],images:(t==null?void 0:t.images)||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(a=>a===t),n=this.getRequiredExtensions().find(a=>a===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(a=>a===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];xn(n);let a=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,a,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return _xe(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),a=this.getBuffer(r.buffer).data,i=r.byteOffset||0;return new Uint8Array(a,i,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let a=t.extensions||{};a[r]=n}removeObjectExtension(t,r){let n=(t==null?void 0:t.extensions)||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let a=this.json.extensionsRemoved;a.includes(r)||a.push(r)}delete n[r]}addExtension(t,r={}){return xn(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return xn(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){var r;if((r=this.json.extensions)!=null&&r[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(t)||n.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let a={mesh:r};return n&&(a.matrix=n),this.json.nodes.push(a),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:a,mode:i=4}=t,s={primitives:[{attributes:this._addAttributes(r),mode:i}]};if(n){let c=this._addIndices(n);s.primitives[0].indices=c}return Number.isFinite(a)&&(s.primitives[0].material=a),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=Dd(t),a=r||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(t),mimeType:a};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let a=t.byteLength;xn(Number.isFinite(a)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let i={buffer:r,byteOffset:n,byteLength:a};return this.byteLength+=Ki(a,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:JA(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),a={min:r.min,max:r.max};(!a.min||!a.max)&&(a=this._getAccessorMinMax(t,r.size));let i={size:r.size,componentType:Bf(t),count:Math.round(t.length/r.size),min:a.min,max:a.max};return this.addAccessor(n,Object.assign(i,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var i,o;let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),a=0;for(let s of this.sourceBuffers||[])a=sP(s,n,a);(o=(i=this.json)==null?void 0:i.buffers)!=null&&o[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_removeStringFromArray(t,r){let n=!0;for(;n;){let a=t.indexOf(r);a>-1?t.splice(a,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let a=t[n],i=this._getGltfAttributeName(n),o=this.addBinaryBuffer(a.value,a);r[i]=o}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let a=t.subarray(0,r);for(let i of a)n.min.push(i),n.max.push(i);for(let i=r;i<t.length;i+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],t[i+o]),n.max[0+o]=Math.max(n.max[0+o],t[i+o]);return n}};function wxe(e){return(e%1+1)%1}var Txe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},Zwt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Exe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function C1(e,t){return Exe[t]*Txe[e]}function cg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let a=e.getTypedArrayForBufferView(t),i=ug(a,"SCALAR",r,n+1);return i instanceof BigInt64Array||i instanceof BigUint64Array?null:i}function ug(e,t,r,n=1){let a=Txe[t],i=Zwt[r],o=Exe[r],s=n*a,c=s*o,u=e.buffer,l=e.byteOffset;return l%o!==0&&(u=new Uint8Array(u).slice(l,l+c).buffer,l=0),new i(ii(u),l,s)}function lg(e,t,r){var u,l,f,p,d;let n=`TEXCOORD_${t.texCoord||0}`,a=r.attributes[n],i=e.getTypedArrayForAccessor(a),o=e.gltf.json,s=t.index,c=(l=(u=o.textures)==null?void 0:u[s])==null?void 0:l.source;if(typeof c<"u"){let h=(p=(f=o.images)==null?void 0:f[c])==null?void 0:p.mimeType,m=(d=e.gltf.images)==null?void 0:d[c];if(m&&typeof m.width<"u"){let g=[];for(let x=0;x<i.length;x+=2){let y=eTt(m,h,i,x,t.channels);g.push(y)}return g}}return[]}function ZA(e,t,r,n,a){if(!(r!=null&&r.length))return;let i=[];for(let l of r){let f=n.findIndex(p=>p===l);f===-1&&(f=n.push(l)-1),i.push(f)}let o=new Uint32Array(i),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,c=e.addBufferView(o,s,0),u=e.addAccessor(c,{size:1,componentType:Bf(o),count:o.length});a.attributes[t]=u}function eTt(e,t,r,n,a=[0]){let i={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=r[n],s=r[n+1],c=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(c=4);let u=tTt(o,s,e,c),l=0;for(let f of a){let p=typeof f=="number"?Object.values(i)[f]:i[f],d=u+p.offset,h=og(e);if(h.data.length<=d)throw new Error(`${h.data.length} <= ${d}`);let m=h.data[d];l|=m<<p.shift}return l}function tTt(e,t,r,n=1){let a=r.width,i=wxe(e)*(a-1),o=Math.round(i),s=r.height,c=wxe(t)*(s-1),u=Math.round(c),l=r.components?r.components:n;return(u*a+o)*l}function e8(e,t,r,n,a){let i=[];for(let o=0;o<t;o++){let s=r[o],c=r[o+1]-r[o];if(c+s>n)break;let u=s/a,l=c/a;i.push(e.slice(u,u+l))}return i}function t8(e,t,r){let n=[];for(let a=0;a<t;a++){let i=a*r;n.push(e.slice(i,i+r))}return n}function r8(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let a=[],i=new TextDecoder("utf8"),o=0;for(let s=0;s<e;s++){let c=n[s+1]-n[s];if(c+o<=t.length){let u=t.subarray(o,c+o),l=i.decode(u);a.push(l),o+=c}}return a}return[]}var fg="EXT_mesh_features",n8=fg;async function rTt(e,t){let r=new Ut(e);aTt(r,t)}function nTt(e,t){let r=new Ut(e);return oTt(r,t),r.createBinaryChunk(),r.gltf}function aTt(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let a of n.primitives)iTt(e,a,t)}function iTt(e,t,r){var i,o,s;if(!((i=r==null?void 0:r.gltf)!=null&&i.loadBuffers))return;let n=(o=t.extensions)==null?void 0:o[fg],a=n==null?void 0:n.featureIds;if(a)for(let c of a){let u;if(typeof c.attribute<"u"){let l=`_FEATURE_ID_${c.attribute}`,f=t.attributes[l];u=e.getTypedArrayForAccessor(f)}else typeof c.texture<"u"&&((s=r==null?void 0:r.gltf)!=null&&s.loadImages)?u=lg(e,c.texture,t):u=[];c.data=u}}function oTt(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let a of n.primitives)sTt(e,a)}function a8(e,t,r,n){t.extensions||(t.extensions={});let a=t.extensions[fg];a||(a={featureIds:[]},t.extensions[fg]=a);let{featureIds:i}=a,o={featureCount:r.length,propertyTable:n,data:r};i.push(o),e.addObjectExtension(t,fg,a)}function sTt(e,t){var a;let r=(a=t.extensions)==null?void 0:a[fg];if(!r)return;let n=r.featureIds;n.forEach((i,o)=>{if(i.data){let{accessorKey:s,index:c}=cTt(t.attributes),u=new Uint32Array(i.data);n[o]={featureCount:u.length,propertyTable:i.propertyTable,attribute:c},e.gltf.buffers.push({arrayBuffer:u.buffer,byteOffset:u.byteOffset,byteLength:u.byteLength});let l=e.addBufferView(u),f=e.addAccessor(l,{size:1,componentType:Bf(u),count:u.length});t.attributes[s]=f}})}function cTt(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(i=>i.indexOf(t)===0),n=-1;for(let i of r){let o=Number(i.substring(t.length));o>n&&(n=o)}return n++,{accessorKey:`${t}${n}`,index:n}}var s8={};Jn(s8,{createExtStructuralMetadata:()=>o8,decode:()=>uTt,encode:()=>lTt,name:()=>Qu});var pg="EXT_structural_metadata",Qu=pg;async function uTt(e,t){let r=new Ut(e);fTt(r,t)}function lTt(e,t){let r=new Ut(e);return kTt(r,t),r.createBinaryChunk(),r.gltf}function fTt(e,t){var n,a;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(pg);r&&((a=t.gltf)!=null&&a.loadImages&&pTt(e,r),dTt(e,r))}function pTt(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let a of n.meshes)for(let i of a.primitives)mTt(e,r,i,t)}function dTt(e,t){let r=t.schema;if(!r)return;let n=r.classes,a=t.propertyTables;if(n&&a)for(let i in n){let o=hTt(a,i);o&&bTt(e,r,o)}}function hTt(e,t){for(let r of e)if(r.class===t)return r;return null}function mTt(e,t,r,n){var o;if(!t)return;let a=(o=r.extensions)==null?void 0:o[pg],i=a==null?void 0:a.propertyTextures;if(i)for(let s of i){let c=t[s];gTt(e,c,r,n)}}function gTt(e,t,r,n){var i;if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let a=t.class;for(let o in t.properties){let s=`${a}_${o}`,c=(i=t.properties)==null?void 0:i[o];if(!c)continue;c.data||(c.data=[]);let u=c.data,l=lg(e,c,r);l!==null&&(ZA(e,s,l,u,r),c.data=u,n.dataAttributeNames.push(s))}}function bTt(e,t,r){var i,o;let n=(i=t.classes)==null?void 0:i[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let a=r.count;for(let s in n.properties){let c=n.properties[s],u=(o=r.properties)==null?void 0:o[s];if(u){let l=vTt(e,t,c,a,u);u.data=l}}}function vTt(e,t,r,n,a){let i=[],o=a.values,s=e.getTypedArrayForBufferView(o),c=xTt(e,r,a,n),u=yTt(e,a,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{i=_Tt(r,n,s,c);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{i=r8(n,s,c,u);break}case"ENUM":{i=wTt(t,r,n,s,c);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return i}function xTt(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?cg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function yTt(e,t,r){return typeof t.stringOffsets<"u"?cg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function _Tt(e,t,r,n){let a=e.array,i=e.count,o=C1(e.type,e.componentType),s=r.byteLength/o,c;return e.componentType?c=ug(r,e.type,e.componentType,s):c=r,a?n?e8(c,t,n,r.length,o):i?t8(c,t,i):[]:c}function wTt(e,t,r,n,a){var f;let i=t.enumType;if(!i)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=(f=e.enums)==null?void 0:f[i];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${i}`);let s=o.valueType||"UINT16",c=C1(t.type,s),u=n.byteLength/c,l=ug(n,t.type,s,u);if(l||(l=n),t.array){if(a)return TTt({valuesData:l,numberOfElements:r,arrayOffsets:a,valuesDataBytesLength:n.length,elementSize:c,enumEntry:o});let p=t.count;return p?ETt(l,r,p,o):[]}return R7(l,0,r,o)}function TTt(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:a,elementSize:i,enumEntry:o}=e,s=[];for(let c=0;c<r;c++){let u=n[c],l=n[c+1]-n[c];if(l+u>a)break;let f=u/i,p=l/i,d=R7(t,f,p,o);s.push(d)}return s}function ETt(e,t,r,n){let a=[];for(let i=0;i<t;i++){let o=r*i,s=R7(e,o,r,n);a.push(s)}return a}function R7(e,t,r,n){let a=[];for(let i=0;i<r;i++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)a.push("");else{let o=e[t+i],s=STt(n,o);s?a.push(s.name):a.push("")}return a}function STt(e,t){for(let r of e.values)if(r.value===t)return r;return null}var ATt="schemaClassId";function kTt(e,t){var n,a;let r=e.getExtension(pg);if(r&&r.propertyTables)for(let i of r.propertyTables){let o=i.class,s=(a=(n=r.schema)==null?void 0:n.classes)==null?void 0:a[o];i.properties&&s&&DTt(i,s,e)}}function DTt(e,t,r){for(let n in e.properties){let a=e.properties[n].data;if(a){let i=t.properties[n];if(i){let o=PTt(a,i,r);e.properties[n]=o}}}}function o8(e,t,r=ATt){let n=e.getExtension(pg);n||(n=e.addExtension(pg)),n.schema=OTt(t,r,n.schema);let a=FTt(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(a)-1}function OTt(e,t,r){let n=r??{id:"schema_id"},a={properties:{}};for(let i of e){let o={type:i.elementType,componentType:i.componentType};a.properties[i.name]=o}return n.classes={},n.classes[t]=a,n}function FTt(e,t,r){var o;let n={class:t,count:0},a=0,i=(o=r.classes)==null?void 0:o[t];for(let s of e){if(a===0&&(a=s.values.length),a!==s.values.length&&s.values.length)throw new Error("Illegal values in attributes");(i==null?void 0:i.properties[s.name])&&(n.properties||(n.properties={}),n.properties[s.name]={values:0,data:s.values})}return n.count=a,n}function PTt(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:a,stringOffsets:i}=jTt(e);n.stringOffsets=j7(i,r),n.values=j7(a,r)}else if(t.type==="SCALAR"&&t.componentType){let a=ITt(e,t.componentType);n.values=j7(a,r)}return n}var CTt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function ITt(e,t){let r=[];for(let a of e)r.push(Number(a));let n=CTt[t];if(!n)throw new Error("Illegal component type");return new n(r)}function jTt(e){let t=new TextEncoder,r=[],n=0;for(let c of e){let u=t.encode(c);n+=u.length,r.push(u)}let a=new Uint8Array(n),i=[],o=0;for(let c of r)a.set(c,o),i.push(o),o+=c.length;i.push(o);let s=new Uint32Array(i);return{stringData:a,stringOffsets:s}}function j7(e,t){return t.gltf.buffers.push({arrayBuffer:ii(e.buffer),byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var L7={};Jn(L7,{decode:()=>RTt,name:()=>Ro});var Sxe="EXT_feature_metadata",Ro=Sxe;async function RTt(e,t){let r=new Ut(e);LTt(r,t)}function LTt(e,t){var n,a;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(Sxe);r&&((a=t.gltf)!=null&&a.loadImages&&BTt(e,r),MTt(e,r))}function BTt(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:a}=t;if(n&&a)for(let i in n){let o=n[i],s=NTt(a,i);s&&UTt(e,s,o)}}function MTt(e,t){let r=t.schema;if(!r)return;let n=r.classes,a=t.featureTables;if(n&&a)for(let i in n){let o=qTt(a,i);o&&zTt(e,r,o)}}function qTt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function NTt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function zTt(e,t,r){var i,o;if(!r.class)return;let n=(i=t.classes)==null?void 0:i[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let a=r.count;for(let s in n.properties){let c=n.properties[s],u=(o=r.properties)==null?void 0:o[s];if(u){let l=GTt(e,t,c,a,u);u.data=l}}}function UTt(e,t,r){var a;let n=t.class;for(let i in r.properties){let o=(a=t==null?void 0:t.properties)==null?void 0:a[i];if(o){let s=KTt(e,o,n);o.data=s}}}function GTt(e,t,r,n,a){let i=[],o=a.bufferView,s=e.getTypedArrayForBufferView(o),c=VTt(e,r,a,n),u=$Tt(e,r,a,n);return r.type==="STRING"||r.componentType==="STRING"?i=r8(n,s,c,u):HTt(r)&&(i=WTt(r,n,s,c)),i}function VTt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?cg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function $Tt(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?cg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function HTt(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function WTt(e,t,r,n){let a=e.type==="ARRAY",i=e.componentCount,o="SCALAR",s=e.componentType||e.type,c=C1(o,s),u=r.byteLength/c,l=ug(r,o,s,u);return a?n?e8(l,t,n,r.length,c):i?t8(l,t,i):[]:l}function KTt(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let a=[];for(let i of n.meshes)for(let o of i.primitives)XTt(e,r,t,a,o);return a}function XTt(e,t,r,n,a){let i={channels:r.channels,...r.texture},o=lg(e,i,a);o&&ZA(e,t,o,n,a)}var c8="4.5.1";var dg="4.5.1";var Mc={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Axe;async function M7(e){l0(e.modules);let t=XF("basis");return t||(Axe||(Axe=YTt(e)),await Axe)}async function YTt(e){let t=null,r=null;return[t,r]=await Promise.all([await yo(Mc.TRANSCODER,"textures",e),await yo(Mc.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await QTt(t,r)}function QTt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(a=>{let{BasisFile:i,initializeBasis:o}=a;o(),n({BasisFile:i})})})}var B7;async function q7(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(B7=B7||JTt(e),await B7)}async function JTt(e){let t=null,r=null;return[t,r]=await Promise.all([await yo(Mc.ENCODER,"textures",e),await yo(Mc.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await ZTt(t,r)}function ZTt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(a=>{let{BasisFile:i,KTX2File:o,initializeBasis:s,BasisEncoder:c}=a;s(),n({BasisFile:i,KTX2File:o,BasisEncoder:c})})})}var e6t=["","WEBKIT_","MOZ_"],kxe={WEBGL_compressed_texture_s3tc:["bc1-rgb-unorm-webgl","bc1-rgba-unorm","bc2-rgba-unorm","bc3-rgba-unorm"],WEBGL_compressed_texture_s3tc_srgb:["bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm-srgb","bc2-rgba-unorm-srgb","bc3-rgba-unorm-srgb"],EXT_texture_compression_rgtc:["bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm"],EXT_texture_compression_bptc:["bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb"],WEBGL_compressed_texture_etc1:["etc1-rgb-unorm-webgl"],WEBGL_compressed_texture_etc:["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"],WEBGL_compressed_texture_pvrtc:["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"],WEBGL_compressed_texture_atc:["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"],WEBGL_compressed_texture_astc:["astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"]};var u8=null;function Dxe(e){if(!u8){e=e||t6t()||void 0,u8=new Set;for(let t of e6t)for(let r in kxe)if(e&&e.getExtension(`${t}${r}`))for(let n of kxe[r])u8.add(n)}return u8}function t6t(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var N7=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}},Fd=class{constructor(t,r,n,a){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,n),this._littleEndian=a,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian),r=this._dataView.getUint32(this._offset+4,this._littleEndian),n=t+2**32*r;return this._offset+=8,n}_nextInt32(){let t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint8Array(t){let r=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,t);return this._offset+=t,r}_skip(t){return this._offset+=t,this}_scan(t,r=0){let n=this._offset,a=0;for(;this._dataView.getUint8(this._offset)!==r&&a<t;)a++,this._offset++;return a<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,a)}};var bcr=new Uint8Array([0]),ui=[171,75,84,88,32,50,48,187,13,10,26,10];function Oxe(e){return new TextDecoder().decode(e)}function Fxe(e){let t=new Uint8Array(e.buffer,e.byteOffset,ui.length);if(t[0]!==ui[0]||t[1]!==ui[1]||t[2]!==ui[2]||t[3]!==ui[3]||t[4]!==ui[4]||t[5]!==ui[5]||t[6]!==ui[6]||t[7]!==ui[7]||t[8]!==ui[8]||t[9]!==ui[9]||t[10]!==ui[10]||t[11]!==ui[11])throw new Error("Missing KTX 2.0 identifier.");let r=new N7,n=17*Uint32Array.BYTES_PER_ELEMENT,a=new Fd(e,ui.length,n,!0);r.vkFormat=a._nextUint32(),r.typeSize=a._nextUint32(),r.pixelWidth=a._nextUint32(),r.pixelHeight=a._nextUint32(),r.pixelDepth=a._nextUint32(),r.layerCount=a._nextUint32(),r.faceCount=a._nextUint32();let i=a._nextUint32();r.supercompressionScheme=a._nextUint32();let o=a._nextUint32(),s=a._nextUint32(),c=a._nextUint32(),u=a._nextUint32(),l=a._nextUint64(),f=a._nextUint64(),p=i*3*8,d=new Fd(e,ui.length+n,p,!0);for(let fe=0;fe<i;fe++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+d._nextUint64(),d._nextUint64()),uncompressedByteLength:d._nextUint64()});let h=new Fd(e,o,s,!0),m={vendorId:h._skip(4)._nextUint16(),descriptorType:h._nextUint16(),versionNumber:h._nextUint16(),descriptorBlockSize:h._nextUint16(),colorModel:h._nextUint8(),colorPrimaries:h._nextUint8(),transferFunction:h._nextUint8(),flags:h._nextUint8(),texelBlockDimension:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],bytesPlane:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],samples:[]},g=6,x=4,y=(m.descriptorBlockSize/4-g)/x;for(let fe=0;fe<y;fe++){let me={bitOffset:h._nextUint16(),bitLength:h._nextUint8(),channelType:h._nextUint8(),samplePosition:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};me.channelType&64?(me.sampleLower=h._nextInt32(),me.sampleUpper=h._nextInt32()):(me.sampleLower=h._nextUint32(),me.sampleUpper=h._nextUint32()),m.samples[fe]=me}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(m);let _=new Fd(e,c,u,!0);for(;_._offset<u;){let fe=_._nextUint32(),me=_._scan(fe),ye=Oxe(me);if(r.keyValue[ye]=_._nextUint8Array(fe-me.byteLength-1),ye.match(/^ktx/i)){let N=Oxe(r.keyValue[ye]);r.keyValue[ye]=N.substring(0,N.lastIndexOf("\0"))}let Y=fe%4?4-fe%4:0;_._skip(Y)}if(f<=0)return r;let S=new Fd(e,l,f,!0),T=S._nextUint16(),O=S._nextUint16(),I=S._nextUint32(),B=S._nextUint32(),D=S._nextUint32(),A=S._nextUint32(),P=[];for(let fe=0;fe<i;fe++)P.push({imageFlags:S._nextUint32(),rgbSliceByteOffset:S._nextUint32(),rgbSliceByteLength:S._nextUint32(),alphaSliceByteOffset:S._nextUint32(),alphaSliceByteLength:S._nextUint32()});let R=l+S._offset,U=R+I,G=U+B,W=G+D,Q=new Uint8Array(e.buffer,e.byteOffset+R,I),ce=new Uint8Array(e.buffer,e.byteOffset+U,B),ie=new Uint8Array(e.buffer,e.byteOffset+G,D),le=new Uint8Array(e.buffer,e.byteOffset+W,A);return r.globalData={endpointCount:T,selectorCount:O,imageDescs:P,endpointsData:Q,selectorsData:ce,tablesData:ie,extendedData:le},r}var Yxe={[34836]:"rgba32float",[33776]:"bc1-rgb-unorm-webgl",[35916]:"bc1-rgb-unorm-srgb-webgl",[33777]:"bc1-rgba-unorm",[35917]:"bc1-rgba-unorm-srgb",[33778]:"bc2-rgba-unorm",[35918]:"bc2-rgba-unorm-srgb",[33779]:"bc3-rgba-unorm",[35919]:"bc3-rgba-unorm-srgb",[36283]:"bc4-r-unorm",[36284]:"bc4-r-snorm",[36285]:"bc5-rg-unorm",[36286]:"bc5-rg-snorm",[37492]:"etc2-rgb8unorm",[37494]:"etc2-rgb8unorm-srgb",[37496]:"etc2-rgb8a1unorm",[37497]:"etc2-rgb8a1unorm-srgb",[37493]:"etc2-rgba8unorm",[37495]:"etc2-rgba8unorm-srgb",[37488]:"eac-r11unorm",[37489]:"eac-r11snorm",[37490]:"eac-rg11unorm",[37491]:"eac-rg11snorm",[37808]:"astc-4x4-unorm",[37840]:"astc-4x4-unorm-srgb",[37809]:"astc-5x4-unorm",[37841]:"astc-5x4-unorm-srgb",[37810]:"astc-5x5-unorm",[37842]:"astc-5x5-unorm-srgb",[37811]:"astc-6x5-unorm",[37843]:"astc-6x5-unorm-srgb",[37812]:"astc-6x6-unorm",[37844]:"astc-6x6-unorm-srgb",[37813]:"astc-8x5-unorm",[37845]:"astc-8x5-unorm-srgb",[37814]:"astc-8x6-unorm",[37846]:"astc-8x6-unorm-srgb",[37815]:"astc-8x8-unorm",[37847]:"astc-8x8-unorm-srgb",[37816]:"astc-10x5-unorm",[37848]:"astc-10x5-unorm-srgb",[37817]:"astc-10x6-unorm",[37849]:"astc-10x6-unorm-srgb",[37818]:"astc-10x8-unorm",[37850]:"astc-10x8-unorm-srgb",[37819]:"astc-10x10-unorm",[37851]:"astc-10x10-unorm-srgb",[37820]:"astc-12x10-unorm",[37852]:"astc-12x10-unorm-srgb",[37821]:"astc-12x12-unorm",[37853]:"astc-12x12-unorm-srgb",[35840]:"pvrtc-rgb4unorm-webgl",[35842]:"pvrtc-rgba4unorm-webgl",[35841]:"pvrtc-rgb2unorm-webgl",[35843]:"pvrtc-rgba2unorm-webgl",[36196]:"etc1-rgb-unorm-webgl",[35986]:"atc-rgb-unorm-webgl",[35987]:"atc-rgba-unorm-webgl",[34798]:"atc-rgbai-unorm-webgl"},M6t=Object.fromEntries(Object.entries(Yxe).map(([e,t])=>[t,Number(e)]));function l8(e){if(e!==void 0)return Yxe[e]}function Qxe(e){if(e!==void 0)return M6t[e]}function hg(e,t){let r=new Array(t.mipMapLevels),n=t.textureFormat||l8(t.internalFormat),a=t.internalFormat||Qxe(t.textureFormat),i=t.width,o=t.height,s=0;for(let c=0;c<t.mipMapLevels;++c){let u=N6t(t,i,o,e,c),f={shape:"texture-level",compressed:!0,data:q6t(e,c,s,u),width:i,height:o,levelSize:u};a!==void 0&&(f.format=a),n&&(f.textureFormat=n),r[c]=f,i=Math.max(1,i>>1),o=Math.max(1,o>>1),s+=u}return r}function q6t(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function N6t(e,t,r,n,a){return Array.isArray(n)?e.sizeFunction(n[a]):e.sizeFunction(t,r)}var z6t={131:33776,132:35916,133:33777,134:35917,135:33778,136:35918,137:33779,138:35919,139:36283,140:36284,141:36285,142:36286,147:37492,148:37494,149:37496,150:37497,151:37493,152:37495,153:37488,154:37489,155:37490,156:37491,157:37808,158:37840,159:37809,160:37841,161:37810,162:37842,163:37811,164:37843,165:37812,166:37844,167:37813,168:37845,169:37814,170:37846,171:37815,172:37847,173:37816,174:37848,175:37817,176:37849,177:37818,178:37850,179:37819,180:37851,181:37820,182:37852,183:37821,184:37853,1000054e3:35843,1000054001:35842,1000066e3:37808,1000066001:37809,1000066002:37810,1000066003:37811,1000066004:37812,1000066005:37813,1000066006:37814,1000066007:37815,1000066008:37816,1000066009:37817,1000066010:37818,1000066011:37819,1000066012:37820,1000066013:37821};function U6t(e){return z6t[e]}function Jxe(e){return l8(U6t(e))}var Ji=[171,75,84,88,32,50,48,187,13,10,26,10];function f8(e){let t=new Uint8Array(e);return!(t.byteLength<Ji.length||t[0]!==Ji[0]||t[1]!==Ji[1]||t[2]!==Ji[2]||t[3]!==Ji[3]||t[4]!==Ji[4]||t[5]!==Ji[5]||t[6]!==Ji[6]||t[7]!==Ji[7]||t[8]!==Ji[8]||t[9]!==Ji[9]||t[10]!==Ji[10]||t[11]!==Ji[11])}function Zxe(e){let t=new Uint8Array(e),r=Fxe(t),n=Math.max(1,r.levels.length),a=r.pixelWidth,i=r.pixelHeight,o=Jxe(r.vkFormat);return o===void 0&&Cv.warn(`KTX2 container vkFormat ${r.vkFormat} does not map to a known texture format; returning texture levels without format metadata.`)(),hg(r.levels,{mipMapLevels:n,width:a,height:i,sizeFunction:s=>s.uncompressedByteLength,textureFormat:o})}var e1e=Promise.resolve(),r1e={etc1:{basisFormat:0,compressed:!0,format:36196,textureFormat:"etc1-rgb-unorm-webgl"},etc2:{basisFormat:1,compressed:!0,format:37493,textureFormat:"etc2-rgba8unorm"},bc1:{basisFormat:2,compressed:!0,format:33776,textureFormat:"bc1-rgb-unorm-webgl"},bc3:{basisFormat:3,compressed:!0,format:33779,textureFormat:"bc3-rgba-unorm"},bc4:{basisFormat:4,compressed:!0,format:36283,textureFormat:"bc4-r-unorm"},bc5:{basisFormat:5,compressed:!0,format:36285,textureFormat:"bc5-rg-unorm"},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0,format:36492,textureFormat:"bc7-rgba-unorm"},"bc7-m5":{basisFormat:7,compressed:!0,format:36492,textureFormat:"bc7-rgba-unorm"},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:35840,textureFormat:"pvrtc-rgb4unorm-webgl"},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:35842,textureFormat:"pvrtc-rgba4unorm-webgl"},"astc-4x4":{basisFormat:10,compressed:!0,format:37808,textureFormat:"astc-4x4-unorm"},"atc-rgb":{basisFormat:11,compressed:!0,format:35986,textureFormat:"atc-rgb-unorm-webgl"},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0,format:34798,textureFormat:"atc-rgbai-unorm-webgl"},rgba32:{basisFormat:13,compressed:!1,format:32856,textureFormat:"rgba8unorm"},rgb565:{basisFormat:14,compressed:!1,format:36194,textureFormat:"rgb565unorm-webgl"},bgr565:{basisFormat:15,compressed:!1,format:36194,textureFormat:"rgb565unorm-webgl"},rgba4444:{basisFormat:16,compressed:!1,format:32854,textureFormat:"rgba4unorm-webgl"}},Mcr=Object.freeze(Object.keys(r1e));async function $6t(e){let t=e1e,r;e1e=new Promise(n=>{r=n}),await t;try{return await e()}finally{r()}}async function p8(e,t={}){let r=Nv(t);return await $6t(async()=>{var n;if(!((n=t.basis)!=null&&n.containerFormat)||t.basis.containerFormat==="auto"){if(f8(e)){let i=await q7(r);return t1e(i.KTX2File,e,t)}let{BasisFile:a}=await M7(r);return U7(a,e,t)}switch(t.basis.module){case"encoder":let a=await q7(r);switch(t.basis.containerFormat){case"ktx2":return t1e(a.KTX2File,e,t);case"basis":default:return U7(a.BasisFile,e,t)}case"transcoder":default:let{BasisFile:i}=await M7(r);return U7(i,e,t)}})}function U7(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let a=n.getNumImages(),i=[];for(let o=0;o<a;o++){let s=n.getNumLevels(o),c=[];for(let u=0;u<s;u++)c.push(H6t(n,o,u,r));i.push(c)}return i}finally{n.close(),n.delete()}}function H6t(e,t,r,n){let a=e.getImageWidth(t,r),i=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:c,basisFormat:u,textureFormat:l}=n1e(n,o),f=e.getImageTranscodedSizeInBytes(t,r,u),p=new Uint8Array(f);if(!e.transcodeImage(p,t,r,u,0,0))throw new Error("failed to start Basis transcoding");return{shape:"texture-level",width:a,height:i,data:p,compressed:s,...c!==void 0?{format:c}:{},...l!==void 0?{textureFormat:l}:{},hasAlpha:o}}function t1e(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let a=n.getLevels(),i=[];for(let o=0;o<a;o++)i.push(W6t(n,o,r));return[i]}finally{n.close(),n.delete()}}function W6t(e,t,r){let{alphaFlag:n,height:a,width:i}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:c,textureFormat:u}=n1e(r,n),l=e.getImageTranscodedSizeInBytes(t,0,0,c),f=new Uint8Array(l);if(!e.transcodeImage(f,t,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{shape:"texture-level",width:i,height:a,data:f,compressed:o,...s!==void 0?{format:s}:{},...u!==void 0?{textureFormat:u}:{},levelSize:l,hasAlpha:n}}function n1e(e,t){var i,o;let r=((i=e.basis)==null?void 0:i.format)||"auto";r==="auto"&&(r=(o=e.basis)!=null&&o.supportedTextureFormats?I1(e.basis.supportedTextureFormats):I1()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha);let n=r.toLowerCase(),a=r1e[n];if(!a)throw new Error(`Unknown Basis format ${r}`);return a}function I1(e=Dxe()){let t=new Set(e);return mg(t,["astc-4x4-unorm","astc-4x4-unorm-srgb"])?"astc-4x4":mg(t,["bc7-rgba-unorm","bc7-rgba-unorm-srgb"])?{alpha:"bc7-m5",noAlpha:"bc7-m6-opaque-only"}:mg(t,["bc1-rgb-unorm-webgl","bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb"])?{alpha:"bc3",noAlpha:"bc1"}:mg(t,["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"])?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:mg(t,["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"])?"etc2":t.has("etc1-rgb-unorm-webgl")?"etc1":mg(t,["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"])?{alpha:"atc-rgba-interpolated-alpha",noAlpha:"atc-rgb"}:"rgb565"}function mg(e,t){return t.some(r=>e.has(r))}var a1e={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:dg,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",containerFormat:"auto",module:"transcoder"}}},Pd={...a1e,parse:p8};var Zi={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},K6t={DXT1:"bc1-rgb-unorm-webgl",DXT3:"bc2-rgba-unorm",DXT5:"bc3-rgba-unorm","ATC ":"atc-rgb-unorm-webgl",ATCA:"atc-rgba-unorm-webgl",ATCI:"atc-rgbai-unorm-webgl"},X6t=s1e,Y6t=d8,Q6t=d8,J6t={DXT1:s1e,DXT3:d8,DXT5:d8,"ATC ":X6t,ATCA:Y6t,ATCI:Q6t};function i1e(e){return new Uint32Array(e,0,Zi.HEADER_LENGTH)[Zi.MAGIC_NUMBER_INDEX]===Zi.MAGIC_NUMBER}function o1e(e){let t=new Int32Array(e,0,Zi.HEADER_LENGTH),r=t[Zi.HEADER_PF_FOURCC_INDEX];yt(Boolean(t[Zi.HEADER_PF_FLAGS_INDEX]&Zi.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=Z6t(r),a=K6t[n],i=J6t[n];yt(a&&i,`DDS: Unknown pixel format ${r}`);let o=1;t[Zi.HEADER_FLAGS_INDEX]&Zi.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[Zi.MIPMAPCOUNT_INDEX]));let s=t[Zi.HEADER_WIDTH_INDEX],c=t[Zi.HEADER_HEIGHT_INDEX],u=t[Zi.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,u);return hg(l,{mipMapLevels:o,width:s,height:c,sizeFunction:i,textureFormat:a})}function s1e(e,t){return(e+3>>2)*(t+3>>2)*8}function d8(e,t){return(e+3>>2)*(t+3>>2)*16}function Z6t(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Lo={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},eEt={0:["pvrtc-rgb2unorm-webgl"],1:["pvrtc-rgba2unorm-webgl"],2:["pvrtc-rgb4unorm-webgl"],3:["pvrtc-rgba4unorm-webgl"],6:["etc1-rgb-unorm-webgl"],7:["bc1-rgb-unorm-webgl"],9:["bc2-rgba-unorm"],11:["bc3-rgba-unorm"],22:["etc2-rgb8unorm"],23:["etc2-rgba8unorm"],24:["etc2-rgb8a1unorm"],25:["eac-r11unorm"],26:["eac-rg11unorm"],27:["astc-4x4-unorm","astc-4x4-unorm-srgb"],28:["astc-5x4-unorm","astc-5x4-unorm-srgb"],29:["astc-5x5-unorm","astc-5x5-unorm-srgb"],30:["astc-6x5-unorm","astc-6x5-unorm-srgb"],31:["astc-6x6-unorm","astc-6x6-unorm-srgb"],32:["astc-8x5-unorm","astc-8x5-unorm-srgb"],33:["astc-8x6-unorm","astc-8x6-unorm-srgb"],34:["astc-8x8-unorm","astc-8x8-unorm-srgb"],35:["astc-10x5-unorm","astc-10x5-unorm-srgb"],36:["astc-10x6-unorm","astc-10x6-unorm-srgb"],37:["astc-10x8-unorm","astc-10x8-unorm-srgb"],38:["astc-10x10-unorm","astc-10x10-unorm-srgb"],39:["astc-12x10-unorm","astc-12x10-unorm-srgb"],40:["astc-12x12-unorm","astc-12x12-unorm-srgb"]},tEt={0:c1e,1:c1e,2:u1e,3:u1e,6:j1,7:j1,9:R1,11:R1,22:j1,23:R1,24:j1,25:j1,26:R1,27:R1,28:rEt,29:nEt,30:aEt,31:iEt,32:oEt,33:sEt,34:cEt,35:uEt,36:lEt,37:fEt,38:pEt,39:dEt,40:hEt};function l1e(e){let r=new Uint32Array(e,0,Lo.HEADER_LENGTH)[Lo.MAGIC_NUMBER_INDEX];return r===Lo.MAGIC_NUMBER||r===Lo.MAGIC_NUMBER_EXTRA}function f1e(e){let t=new Uint32Array(e,0,Lo.HEADER_LENGTH),r=t[Lo.PIXEL_FORMAT_INDEX],n=t[Lo.COLOUR_SPACE_INDEX],a=eEt[r]||[],i=a.length>1&&n?a[1]:a[0],o=tEt[r],s=t[Lo.MIPMAPCOUNT_INDEX],c=t[Lo.WIDTH_INDEX],u=t[Lo.HEIGHT_INDEX],l=Lo.HEADER_SIZE+t[Lo.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return hg(f,{mipMapLevels:s,width:c,height:u,sizeFunction:o,textureFormat:i})}function c1e(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function u1e(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function j1(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function R1(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function rEt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function nEt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function aEt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function iEt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function oEt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function sEt(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function cEt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function uEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function lEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function fEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function pEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function dEt(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function hEt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function p1e(e){if(f8(e))return Zxe(e);if(i1e(e))return o1e(e);if(l1e(e))return f1e(e);throw new Error("Texture container format not recognized")}var d1e={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:dg,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{useBasis:!1}}},h8={...d1e,parse:async(e,t)=>{var r;return t={...t},(r=t==null?void 0:t["compressed-texture"])!=null&&r.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await p8(e,t))[0]):p1e(e)}};var G7={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:dg,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var gg=!0,h1e=1735152710,H7=12,m8=8,mEt=1313821514,gEt=5130562,bEt=0,vEt=0,xEt=1;function yEt(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function m1e(e,t=0,r={}){let n=new DataView(e),{magic:a=h1e}=r,i=n.getUint32(t,!1);return i===a||i===h1e}function g1e(e,t,r=0,n={}){let a=new DataView(t),i=yEt(a,r+0),o=a.getUint32(r+4,gg),s=a.getUint32(r+8,gg);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:i,version:o,json:{},binChunks:[]}),r+=H7,e.version){case 1:return _Et(e,a,r);case 2:return wEt(e,a,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function _Et(e,t,r){yt(e.header.byteLength>H7+m8);let n=t.getUint32(r+0,gg),a=t.getUint32(r+4,gg);return r+=m8,yt(a===bEt),V7(e,t,r,n),r+=n,r+=$7(e,t,r,e.header.byteLength),r}function wEt(e,t,r,n){return yt(e.header.byteLength>H7+m8),TEt(e,t,r,n),r+e.header.byteLength}function TEt(e,t,r,n){for(;r+8<=e.header.byteLength;){let a=t.getUint32(r+0,gg),i=t.getUint32(r+4,gg);switch(r+=m8,i){case mEt:V7(e,t,r,a);break;case gEt:$7(e,t,r,a);break;case vEt:n.strict||V7(e,t,r,a);break;case xEt:n.strict||$7(e,t,r,a);break;default:break}r+=Ki(a,4)}return r}function V7(e,t,r,n){let a=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(a);return e.json=JSON.parse(o),Ki(n,4)}function $7(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ki(n,4)}function W7(e,t,r){var i;if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let a=(r==null?void 0:r.baseUrl)||EEt((i=t==null?void 0:t.core)==null?void 0:i.baseUrl);if(!a)throw new Error(`'baseUrl' must be provided to resolve relative url ${e}`);return a.endsWith("/")?`${a}${e}`:`${a}/${e}`}function EEt(e){if(!e)return;if(e.endsWith("/"))return e;let t=e.lastIndexOf("/");return t>=0?e.slice(0,t+1):""}var X7={};Jn(X7,{decode:()=>DEt,name:()=>v1e});var K7=function(){var e="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq1Zkdbk:kYi5ud9:du8Jjjjjbcjq9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCaAcethXaxaDfhiaOaeaoaeao6E9RhQalcl4cifcd4hLazcjdfaAfhKcbhYabaOad2fg8AhEaHh3incbh5dnawTmbaxaYcd4fRbbh5kcbh8Eazcjdfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcjdfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcjdfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaL6mva8FaLfhidnaCTmbaPai9RcK6mbaocdtc:q:G:cjbfcj:G:cjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bwar9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfcbaicdfa8J9c8N1:NfghRbbag9cjjjjjw:dg8J9qE86bbarcVfcbaha8J9c8M1:NfghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fcbaha8J9c8N1:NfgiRbbag9cjjjjjw:dg8J9qE86bbarc96fcbaia8J9c8M1:NfgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbw83bwarai8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasaYcd4fRbbgociGPlbedrbkaATmdazaYfh8Fazcjdfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeazaYfhaazcjdfhhcbhoceh8EaKh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaQaocefgofmbka8FaXfh8FcdhoaacdfhaahaXfhha8EceGhlcbh8EalmbxdkkaATmbaocl4h8EazaYfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaKhainazcjdfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E94aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3aYclfgYad6mbkaza8AaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcjqf8Kjjjjbaok:ysezu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8Aav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbavaiaqaDcsGfRbbgscl4gP9RcsGcdtfydbaxcefgOaPEhDavaias9RcsGcdtfydbaOaPTgzfgOascsGgPEhsaPThPdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiazfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaPfhiaOaPfhxxekaxcbalRbbgsEgHaDc;:eSgDfhOascsGhAdndnascl4gCmbaOcefhzxekaOhzavaiaC9RcsGcdtfydbhOkdndnaAmbazcefhxxekazhxavaias9RcsGcdtfydbhzkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhHascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaHhDxekaDcefhDkasce4cbasceG9R7amfgmhHkdndnaCcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhOaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkaOhsxekascefhskaPce4cbaPceG9R7amfgmhOkdndnaAcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhzaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkazhlxekalcefhlkaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabarcetfgDaH87ebaDclfaz87ebaDcdfaO87ebxekabarcdtfgDaHBdbaDcwfazBdbaDclfaOBdbkavc;abfaocitfgDaOBdbaDaHBdlavaicdtfaHBdbavc;abfaocefcsGcitfgDazBdbaDaOBdlavaicefgicsGcdtfaOBdbavc;abfaocdfcsGcitfgDaHBdbaDazBdlavaiaCTaCcsSVfgicsGcdtfazBdbaiaATaAcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk:4ioiue99dud99dud99dnaeTmbcbhiabhlindndnal8Uebgv:YgoJ:ji:1Salcof8UebgrciVgw:Y:vgDNJbbbZJbbb:;avcu9kEMgq:lJbbb9p9DTmbaq:Ohkxekcjjjj94hkkalclf8Uebhvalcdf8UebhxalarcefciGcetfak87ebdndnax:YgqaDNJbbbZJbbb:;axcu9kEMgm:lJbbb9p9DTmbam:Ohxxekcjjjj94hxkabaiarciGgkfcd7cetfax87ebdndnav:YgmaDNJbbbZJbbb:;avcu9kEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkalarcufciGcetfav87ebdndnawaw2:ZgPaPMaoaoN:taqaqN:tamamN:tgoJbbbbaoJbbbb9GE:raDNJbbbZMgD:lJbbb9p9DTmbaD:Ohrxekcjjjj94hrkalakcetfar87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K:G:cjbgeabcifc98GfgbBd:K:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk83dbcj:Gdk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:K:Gdkl8W:qbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq:59Dklbzik94evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaeai86b:q:W:cjbaecitab8Piw83i:q:G:cjbaecefgecjd9hmbkk:SBlEud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaialfgxar9RhodnadTgmmbavaoad;8qbbkaicefhPcj;abad9Uc;WFbGcjdadca0EhsdndndnadTmbaoadfhzcbhHinaeaH9nmdaxaP9RaD6miabaHad2fgOavcjdfasaeaH9RaHasfae6EgAaAcsfgoc9WGgCSEhXaPaDfhQaocl4cifcd4hLavcj;cbfaCcetfhKavcj;cbfaCci2fhYavcj;cbfaCfh8AcbhEaoc;ab6h3incbh5dnawTmbaPaEcd4fRbbh5kcbh8Eavcj;cbfh8Findndndndna5a8Ecet4ciGgoc9:fPdebdkaxaQ9RaC6mwdnaCTmbavcj;cbfa8EaC2faQaC;8qbbkaQaAfhQxdkaCTmeavcj;cbfa8EaC2fcbaC;8kbxekaxaQ9RaL6moaoclVcbawEhraQaLfhocbhidna3mbaxao9Rc;Gb6mbcbhlina8FalfhidndndndndndnaQalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaiaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaiczfaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaicafaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsaap5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbaiaoclffaqRb:q:W:cjbfhoxikaic8Wfaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsaap5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbaiaocwffaqRb:q:W:cjbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitpbi:q:G:cjbaiRb:q:W:cjbgipsaoRbegqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqRb:q:W:cjbfhokalc;abfhialcjefaC0meaihlaxao9Rc;Fb0mbkkdnaiaC9pmbaici4hlinaxao9RcK6mwa8FaifhqdndndndndndnaQaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spkbbagaoclffa8JRb:q:W:cjbfhoxikaqaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spkbbagaocwffa8JRb:q:W:cjbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpkbbagaocdffa8JRb:q:W:cjbfhokalcdfhlaiczfgiaC6mbkkaohQaoTmoka8FaCfh8Fa8Ecefg8Ecl9hmbkdndndndnawTmbazaEcd4fRbbglciGPlbedwbkaCTmdaXaEfhlavaEfpbdbh8Kcbhoinalavcj;cbfaofpblbg8La8Aaofpblbg8MpmbzeHdOiAlCvXoQrLg8NaKaofpblbgyaYaofpblbg8PpmbzeHdOiAlCvXoQrLgIpmbezHdiOAlvCXorQLgacep9Taapxeeeeeeeeeeeeeeeeghp9op9Hp9rgaa8Kp9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8NaIpmwDKYqk8AExm35Ps8E8Fgacep9Taaahp9op9Hp9rgap9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8La8MpmwKDYq8AkEx3m5P8Es8Fg8Laya8PpmwKDYq8AkEx3m5P8Es8Fg8MpmbezHdiOAlvCXorQLgacep9Taaahp9op9Hp9rgap9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8La8MpmwDKYqk8AExm35Ps8E8Fgacep9Taaahp9op9Hp9rgap9Ughp9Abbbaladfglahaaaapmlvorlvorlvorlvorp9Ughp9AbbbaladfglahaaaapmwDqkwDqkwDqkwDqkp9Ughp9AbbbaladfglahaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9AbbbaladfhlaoczfgoaC6mbxikkaCTmeaXaEfhlavaEfpbdbh8Kcbhoinalavcj;cbfaofpblbg8La8Aaofpblbg8MpmbzeHdOiAlCvXoQrLg8NaKaofpblbgyaYaofpblbg8PpmbzeHdOiAlCvXoQrLgIpmbezHdiOAlvCXorQLgacep:neaapxebebebebebebebebghp9op:bep9rgaa8Kp:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8NaIpmwDKYqk8AExm35Ps8E8Fgacep:neaaahp9op:bep9rgap:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8La8MpmwKDYq8AkEx3m5P8Es8Fg8Laya8PpmwKDYq8AkEx3m5P8Es8Fg8MpmbezHdiOAlvCXorQLgacep:neaaahp9op:bep9rgap:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8La8MpmwDKYqk8AExm35Ps8E8Fgacep:neaaahp9op:bep9rgap:oeghp9Abbbaladfglahaaaapmlvorlvorlvorlvorp:oeghp9AbbbaladfglahaaaapmwDqkwDqkwDqkwDqkp:oeghp9AbbbaladfglahaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9AbbbaladfhlaoczfgoaC6mbxdkkaCTmbaXaEfhrcbhocbalcl4gl9Rc8FGhiavaEfpbdbhhinaravcj;cbfaofpblbg8Ka8Aaofpblbg8LpmbzeHdOiAlCvXoQrLg8MaKaofpblbg8NaYaofpblbgypmbzeHdOiAlCvXoQrLg8PpmbezHdiOAlvCXorQLgaaip:Reaaalp:Tep9qgaahp9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ma8PpmwDKYqk8AExm35Ps8E8Fgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ka8LpmwKDYq8AkEx3m5P8Es8Fg8Ka8NaypmwKDYq8AkEx3m5P8Es8Fg8LpmbezHdiOAlvCXorQLgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ka8LpmwDKYqk8AExm35Ps8E8Fgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9AbbbaradfhraoczfgoaC6mbkkaEclfgEad6mbkdnaXavcjdf9hmbaAad2goTmbaOavcjdfao;8qbbkdnammbavaXaAcufad2fad;8qbbkaAaHfhHc9:hoaQhPaQmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdasaeao9Raoasfae6Eaofgoae6mbkaial9RhPkcbc99axaP9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbkNsezu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbavaiaqaDcsGfRbbgscl4gP9RcsGcdtfydbaxcefgOaPEhDavaias9RcsGcdtfydbaOaPTgzfgOascsGgPEhsaPThPdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiazfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaPfhiaOaPfhxxekaxcbalRbbgsEgHaDc;:eSgDfhOascsGhAdndnascl4gCmbaOcefhzxekaOhzavaiaC9RcsGcdtfydbhOkdndnaAmbazcefhxxekazhxavaias9RcsGcdtfydbhzkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhHascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaHhDxekaDcefhDkasce4cbasceG9R7amfgmhHkdndnaCcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhOaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkaOhsxekascefhskaPce4cbaPceG9R7amfgmhOkdndnaAcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhzaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkazhlxekalcefhlkaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabarcetfgDaH87ebaDclfaz87ebaDcdfaO87ebxekabarcdtfgDaHBdbaDcwfazBdbaDclfaOBdbkavc;abfaocitfgDaOBdbaDaHBdlavaicdtfaHBdbavc;abfaocefcsGcitfgDazBdbaDaOBdlavaicefgicsGcdtfaOBdbavc;abfaocdfcsGcitfgDaHBdbaDazBdlavaiaCTaCcsSVfgicsGcdtfazBdbaiaATaAcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk;Toio97eue97aec98Ghedndnadcl9hmbaeTmecbhdinababpbbbgicKp:RecKp:Sep;6eglaicwp:RecKp:Sep;6ealp;Geaiczp:RecKp:Sep;6egvp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgwp9op9rp;Keglpxbb;:9cbb;:9cbb;:9cbb;:9calalp;Meaoaop;Meavaravawp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFbbbFbbbFbbbFbbbp9oaipxbbbFbbbFbbbFbbbFp9op9qalavp;Mearp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaoavp;Mearp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgDaDpbbbgipxbbbbbbFFbbbbbbFFgwp9oabpbbbgoaipmbediwDqkzHOAKY8AEgvczp:Reczp:Sep;6eglaoaipmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eavczp:Sep;6egvp;Gealp;Gep;Kep;Legipxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgqp9op9rp;Keglpxb;:FSb;:FSb;:FSb;:FSalalp;Meaiaip;Meavaravaqp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbp9oaiavp;Mearp;Keczp:Rep9qgialavp;Mearp;KepxFFbbFFbbFFbbFFbbp9oglpmwDKYqk8AExm35Ps8E8Fp9qpkbbabaoawp9oaialpmbezHdiOAlvCXorQLp9qpkbbabcafhbadclfgdae6mbkkk;2ileue97euo97dnaec98GgiTmbcbheinabcKfpx:ji:1S:ji:1S:ji:1S:ji:1SabpbbbglabczfgvpbbbgopmlvorxmPsCXQL358E8Fgrczp:Segwpxibbbibbbibbbibbbp9qp;6egDp;NegqaDaDp;MegDaDp;KealaopmbediwDqkzHOAKY8AEgDczp:Reczp:Sep;6eglalp;MeaDczp:Sep;6egoaop;Mearczp:Reczp:Sep;6egrarp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gDp;KepxFFbbFFbbFFbbFFbbgkp9oaqaop;MeaDp;Keczp:Rep9qgoaqalp;MeaDp;Keakp9oaqarp;MeaDp;Keczp:Rep9qgDpmwDKYqk8AExm35Ps8E8Fglp5eawclp:RegqpEi:T:j83ibavalp5baqpEd:T:j83ibabcwfaoaDpmbezHdiOAlvCXorQLgDp5eaqpEe:T:j83ibabaDp5baqpEb:T:j83ibabcafhbaeclfgeai6mbkkkuee97dnadcd4ae2c98GgeTmbcbhdinababpbbbgicwp:Recwp:Sep;6eaicep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbabczfhbadclfgdae6mbkkk:Sodw97euaec98Ghedndnadcl9hmbaeTmecbhdinabpxbbuJbbuJbbuJbbuJabpbbbgicKp:TeglaicYp:Tep9qgvcdp:Teavp9qgvclp:Teavp9qgop;6ep;Negvaicwp:RecKp:SegraipxFbbbFbbbFbbbFbbbgwp9ogDp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oavaDarp:Xeaiczp:RecKp:Segip:Uep;6ep;Meaqp;Keawp9op9qavaDaraip:Uep:Xep;6ep;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qavaoalcep:Rep9oalpxebbbebbbebbbebbbp9op9qp;6ep;Meaqp;KecKp:Rep9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgkpxbFu9hbFu9hbFu9hbFu9habpbbbglakpbbbgrpmlvorxmPsCXQL358E8Fgvczp:TegqavcHp:Tep9qgicdp:Teaip9qgiclp:Teaip9qgicwp:Teaip9qgop;6ep;NegialarpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbglp9ograDczp:Segwp:Ueavczp:Reczp:SegDp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gvp;Kealp9oaiarawaDp:Uep:Xep;6ep;Meavp;Keczp:Rep9qgwaiaoaqcep:Rep9oaqpxebbbebbbebbbebbbp9op9qp;6ep;Meavp;Keczp:ReaiaDarp:Uep;6ep;Meavp;Kealp9op9qgipmwDKYqk8AExm35Ps8E8FpkbbabawaipmbezHdiOAlvCXorQLpkbbabcafhbadclfgdae6mbkkk9teiucbcbydj:G:cjbgeabcifc98GfgbBdj:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkxebcj:Gdklz:zbb",r=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),n=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var a=WebAssembly.validate(r)?s(t):s(e),i,o=WebAssembly.instantiate(a,{}).then(function(x){i=x.instance,i.exports.__wasm_call_ctors()});function s(x){for(var y=new Uint8Array(x.length),_=0;_<x.length;++_){var S=x.charCodeAt(_);y[_]=S>96?S-97:S>64?S-39:S+4}for(var T=0,_=0;_<x.length;++_)y[T++]=y[_]<60?n[y[_]]:(y[_]-60)*64+y[++_];return y.buffer.slice(0,T)}function c(x,y,_,S,T,O,I){var B=x.exports.sbrk,D=S+3&-4,A=B(D*T),P=B(O.length),R=new Uint8Array(x.exports.memory.buffer);R.set(O,P);var U=y(A,S,T,P,O.length);if(U==0&&I&&I(A,D,T),_.set(R.subarray(A,A+S*T)),B(A-B(0)),U!=0)throw new Error("Malformed buffer data: "+U)}var u={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp",COLOR:"meshopt_decodeFilterColor"},l={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},f=[],p=0;function d(x){var y={object:new Worker(x),pending:0,requests:{}};return y.object.onmessage=function(_){var S=_.data;y.pending-=S.count,y.requests[S.id][S.action](S.value),delete y.requests[S.id]},y}function h(x){for(var y="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(a)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+g.name+";"+c.toString()+g.toString(),_=new Blob([y],{type:"text/javascript"}),S=URL.createObjectURL(_),T=f.length;T<x;++T)f[T]=d(S);for(var T=x;T<f.length;++T)f[T].object.postMessage({});f.length=x,URL.revokeObjectURL(S)}function m(x,y,_,S,T){for(var O=f[0],I=1;I<f.length;++I)f[I].pending<O.pending&&(O=f[I]);return new Promise(function(B,D){var A=new Uint8Array(_),P=++p;O.pending+=x,O.requests[P]={resolve:B,reject:D},O.object.postMessage({id:P,count:x,size:y,source:A,mode:S,filter:T},[A.buffer])})}function g(x){var y=x.data;self.ready.then(function(_){if(!y.id)return self.close();try{var S=new Uint8Array(y.count*y.size);c(_,_.exports[y.mode],S,y.count,y.size,y.source,_.exports[y.filter]),self.postMessage({id:y.id,count:y.count,action:"resolve",value:S},[S.buffer])}catch(T){self.postMessage({id:y.id,count:y.count,action:"reject",value:T})}})}return{ready:o,supported:!0,useWorkers:function(x){h(x)},decodeVertexBuffer:function(x,y,_,S,T){c(i,i.exports.meshopt_decodeVertexBuffer,x,y,_,S,i.exports[u[T]])},decodeIndexBuffer:function(x,y,_,S){c(i,i.exports.meshopt_decodeIndexBuffer,x,y,_,S)},decodeIndexSequence:function(x,y,_,S){c(i,i.exports.meshopt_decodeIndexSequence,x,y,_,S)},decodeGltfBuffer:function(x,y,_,S,T,O){c(i,i.exports[l[T]],x,y,_,S,i.exports[u[O]])},decodeGltfBufferAsync:function(x,y,_,S,T){return f.length>0?m(x,y,_,l[S],u[T]):o.then(function(){var O=new Uint8Array(x*y);return c(i,i.exports[l[S]],O,x,y,_,i.exports[u[T]]),O})}}}();function SEt(e){return typeof e=="string"?e:["NONE","OCTAHEDRAL","QUATERNION","EXPONENTIAL","COLOR"][e]}async function b1e(e,t,r,n,a,i="NONE"){await K7.ready,K7.decodeGltfBuffer(e,t,r,n,a,SEt(i))}async function g8(e,t,r){var o;if(!((o=t.gltf)!=null&&o.decompressMeshes)||!t.gltf.loadBuffers)return;AEt(e.json);let n=new Ut(e),a=e.json.bufferViews||[],i=a.map(s=>kEt(n,s,r));await Promise.all(i);for(let s of a)n.removeObjectExtension(s,r);for(let s of e.json.buffers||[])n.removeObjectExtension(s,r);n.removeExtension(r)}function AEt(e){let t=e.bufferViews||[];for(let n=0;n<t.length;n++){let a=t[n].extensions;if(a!=null&&a.KHR_meshopt_compression&&a.EXT_meshopt_compression)throw new Error(`glTF bufferView ${n} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`)}let r=e.buffers||[];for(let n=0;n<r.length;n++){let a=r[n].extensions;if(a!=null&&a.KHR_meshopt_compression&&a.EXT_meshopt_compression)throw new Error(`glTF buffer ${n} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`)}}async function kEt(e,t,r){let n=e.getObjectExtension(t,r);if(!n)return;let{byteOffset:a=0,byteLength:i,byteStride:o,count:s,mode:c,filter:u="NONE",buffer:l}=n,f=e.gltf.buffers[l],p=e.gltf.buffers[t.buffer],d=new Uint8Array(f.arrayBuffer,f.byteOffset+a,i),h=new Uint8Array(p.arrayBuffer,p.byteOffset+(t.byteOffset||0),t.byteLength);await b1e(h,s,o,d,c,u)}var v1e="EXT_meshopt_compression";async function DEt(e,t){await g8(e,t,v1e)}var Y7={};Jn(Y7,{decode:()=>OEt,name:()=>x1e});var x1e="KHR_meshopt_compression";async function OEt(e,t){await g8(e,t,x1e)}var Q7={};Jn(Q7,{name:()=>FEt,preprocess:()=>PEt});var bg="EXT_texture_webp",FEt=bg;function PEt(e,t){let r=new Ut(e);if(!I7("image/webp")){if(r.getRequiredExtensions().includes(bg))throw new Error(`gltf: Required extension ${bg} not supported by browser`);return}let{json:n}=r;for(let a of n.textures||[]){let i=r.getObjectExtension(a,bg);i&&(a.source=i.source),r.removeObjectExtension(a,bg)}r.removeExtension(bg)}var J7={};Jn(J7,{name:()=>CEt,preprocess:()=>IEt});var vg="EXT_texture_avif",CEt=vg;async function IEt(e,t){let r=new Ut(e);if(!(await C7()).has("image/avif")){if(r.getRequiredExtensions().includes(vg))throw new Error(`gltf: Required extension ${vg} not supported by browser`);return}let{json:a}=r;for(let i of a.textures||[]){let o=r.getObjectExtension(i,vg);o&&(i.source=o.source),r.removeObjectExtension(i,vg)}r.removeExtension(vg)}var Z7={};Jn(Z7,{name:()=>jEt,preprocess:()=>REt});var b8="KHR_texture_basisu",jEt=b8;function REt(e,t){let r=new Ut(e),{json:n}=r;for(let a of n.textures||[]){let i=r.getObjectExtension(a,b8);i&&(a.source=i.source,r.removeObjectExtension(a,b8))}r.removeExtension(b8)}var tM={};Jn(tM,{decode:()=>NEt,encode:()=>zEt,name:()=>MEt,preprocess:()=>qEt});function y1e(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let a=eM(n);t[r]=a}}return t}function eM(e){let{buffer:t,size:r,count:n}=LEt(e);return{value:t,size:r,byteOffset:0,count:n,type:JA(r),componentType:Bf(t)}}function LEt(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=BEt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function BEt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Mf="KHR_draco_mesh_compression",MEt=Mf;function qEt(e,t,r){let n=new Ut(e);for(let a of _1e(n))n.getObjectExtension(a,Mf)}async function NEt(e,t,r){var i;if(!((i=t==null?void 0:t.gltf)!=null&&i.decompressMeshes))return;let n=new Ut(e),a=[];for(let o of _1e(n))n.getObjectExtension(o,Mf)&&a.push(UEt(n,o,t,r));await Promise.all(a),n.removeExtension(Mf)}function zEt(e,t={}){let r=new Ut(e);for(let n of r.json.meshes||[])GEt(n,t),r.addRequiredExtension(Mf)}async function UEt(e,t,r,n){let a=e.getObjectExtension(t,Mf);if(!a)return;let i=e.getTypedArrayForBufferView(a.bufferView),o=Rp(i.buffer,i.byteOffset),s={...r};delete s["3d-tiles"];let c=await Vi(o,Ad,s,n),u=y1e(c.attributes);for(let[l,f]of Object.entries(u))if(l in t.attributes){let p=t.attributes[l],d=e.getAccessor(p);d!=null&&d.min&&(d!=null&&d.max)&&(f.min=d.min,f.max=d.max)}t.attributes=u,c.indices&&(t.indices=eM(c.indices)),e.removeObjectExtension(t,Mf),VEt(t)}function GEt(e,t,r=4,n,a){var l;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let i=n.DracoWriter.encodeSync({attributes:e}),o=(l=a==null?void 0:a.parseSync)==null?void 0:l.call(a,{attributes:e}),s=n._addFauxAttributes(o.attributes),c=n.addBufferView(i);return{primitives:[{attributes:s,mode:r,extensions:{[Mf]:{bufferView:c,attributes:s}}}]}}function VEt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*_1e(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var nM={};Jn(nM,{decode:()=>KEt,name:()=>$Et});var xg="KHR_texture_transform",$Et=xg,v8=new Z,HEt=new nr,WEt=new nr;async function KEt(e,t){var i;let r=new Ut(e);if(!r.hasExtension(xg)||!((i=t.gltf)!=null&&i.loadBuffers))return;let a=e.json.materials||[];for(let o=0;o<a.length;o++)XEt(o,e,r);a.some(o=>rM(o).length>0)||r.removeExtension(xg)}function XEt(e,t,r){var s,c;let n=(s=t.json.materials)==null?void 0:s[e],a=rM(n),i=new Map,o=YEt(t);for(let u of a){let l=(c=u.extensions)==null?void 0:c[xg];if(l){let f=l.texCoord??u.texCoord??0,p=QEt(f,l),d=i.get(p);if(!d){if(d={sourceTexCoord:f,texCoord:o,matrix:r3t(l)},!JEt(t,e,d))continue;o++,i.set(p,d)}u.texCoord=d.texCoord,r.removeObjectExtension(u,xg),u.extensions&&Object.keys(u.extensions).length===0&&delete u.extensions}}}function rM(e){if(!e||typeof e!="object")return[];let t=e,r=[],n=t.extensions;Number.isFinite(t.index)&&(n!=null&&n[xg])&&r.push(t);for(let[a,i]of Object.entries(t))a!=="extras"&&r.push(...rM(i));return r}function YEt(e){let t=-1;for(let r of e.json.meshes||[])for(let n of r.primitives)for(let a of Object.keys(n.attributes)){let i=/^TEXCOORD_(\d+)$/.exec(a);i&&(t=Math.max(t,Number(i[1])))}return t+1}function QEt(e,t){let{offset:r=[0,0],rotation:n=0,scale:a=[1,1]}=t;return JSON.stringify([e,r,n,a])}function JEt(e,t,r){let n=[],a=e.json.meshes||[];for(let i of a)for(let o of i.primitives){let s=o.material;Number.isFinite(s)&&t===s&&n.push(o)}if(n.length===0||n.some(i=>!ZEt(e,i,r.sourceTexCoord)))return!1;for(let i of n)e3t(e,i,r);return!0}function ZEt(e,t,r){var o,s;let n=t.attributes[`TEXCOORD_${r}`];if(!Number.isFinite(n))return!1;let a=(o=e.json.accessors)==null?void 0:o[n];if(!a||a.bufferView===void 0||a.sparse)return!1;let i=(s=e.json.bufferViews)==null?void 0:s[a.bufferView];return Boolean(i&&e.buffers[i.buffer])}function e3t(e,t,r){var s,c;let{sourceTexCoord:n,texCoord:a,matrix:i}=r,o=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let u=(s=e.json.accessors)==null?void 0:s[o];if(u&&u.bufferView!==void 0){let l=(c=e.json.bufferViews)==null?void 0:c[u.bufferView];if(l){let{arrayBuffer:f,byteOffset:p}=e.buffers[l.buffer],d=(p||0)+(u.byteOffset||0)+(l.byteOffset||0),{ArrayType:h,length:m}=Od(u,l),g=QA[u.componentType],x=YA[u.type],y=l.byteStride||g*x,_=new Float32Array(m);for(let S=0;S<u.count;S++){let T=new h(f,d+S*y,2);v8.set(T[0],T[1],1),v8.transformByMatrix3(i),_.set([v8[0],v8[1]],S*x)}t3t(a,u,t,e,_)}}}}function t3t(e,t,r,n,a){n.buffers.push({arrayBuffer:ii(a.buffer),byteOffset:0,byteLength:a.buffer.byteLength}),n.json.bufferViews=n.json.bufferViews||[];let i=n.json.bufferViews;i.push({buffer:n.buffers.length-1,byteLength:a.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:(i==null?void 0:i.length)-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=o.length-1)}function r3t(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,a=new nr().set(1,0,0,0,1,0,t[0],t[1],1),i=HEt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=WEt.set(n[0],0,0,0,n[1],0,0,0,1);return a.multiplyRight(i).multiplyRight(o)}var aM={};Jn(aM,{decode:()=>a3t,encode:()=>i3t,name:()=>n3t});var Cd="KHR_lights_punctual",n3t=Cd;async function a3t(e){let t=new Ut(e),{json:r}=t,n=t.getExtension(Cd);n&&(t.json.lights=n.lights,t.removeExtension(Cd));for(let a of r.nodes||[]){let i=t.getObjectExtension(a,Cd);i&&(a.light=i.light),t.removeObjectExtension(a,Cd)}}async function i3t(e){let t=new Ut(e),{json:r}=t;if(r.lights){let n=t.addExtension(Cd);xn(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let a=n.node;t.addObjectExtension(a,Cd,n)}delete t.json.lights}}var iM={};Jn(iM,{decode:()=>s3t,encode:()=>c3t,name:()=>o3t});var L1="KHR_materials_unlit",o3t=L1;async function s3t(e){let t=new Ut(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,L1);t.removeExtension(L1)}function c3t(e){let t=new Ut(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,L1,{}),t.addExtension(L1))}var oM={};Jn(oM,{decode:()=>l3t,encode:()=>f3t,name:()=>u3t});var B1="KHR_techniques_webgl",u3t=B1;async function l3t(e){let t=new Ut(e),{json:r}=t,n=t.getExtension(B1);if(n){let a=p3t(n,t);for(let i of r.materials||[]){let o=t.getObjectExtension(i,B1);o&&(i.technique=Object.assign({},o,a[o.technique]),i.technique.values=d3t(i.technique,t)),t.removeObjectExtension(i,B1)}t.removeExtension(B1)}}async function f3t(e,t){}function p3t(e,t){let{programs:r=[],shaders:n=[],techniques:a=[]}=e,i=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=i.decode(t.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),a.forEach(o=>{o.program=r[o.program]}),a}function d3t(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var w1e=[s8,i8,Y7,X7,J7,Q7,Z7,tM,aM,iM,oM,nM,L7],h3t=[s8,i8];async function T1e(e,t={},r){var a;let n=w1e.filter(i=>A1e(i.name,t));for(let i of n)await((a=i.preprocess)==null?void 0:a.call(i,e,t,r))}async function E1e(e,t={},r){var a;let n=w1e.filter(i=>A1e(i.name,t));for(let i of n)await((a=i.decode)==null?void 0:a.call(i,e,t,r))}function S1e(e,t={}){var r;for(let n of h3t)e=((r=n.encode)==null?void 0:r.call(n,e,t))??e;return e}function A1e(e,t){var a;let r=((a=t==null?void 0:t.gltf)==null?void 0:a.excludeExtensions)||{};return!(e in r&&!r[e])}var sM="KHR_binary_glTF";function k1e(e){let t=new Ut(e),{json:r}=t;for(let n of r.images||[]){let a=t.getObjectExtension(n,sM);a&&Object.assign(n,a),t.removeObjectExtension(n,sM)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(sM)}var D1e={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},g3t={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},cM=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),k1e(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in D1e)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let a in n){let i=n[a];i.id=i.id||a;let o=t[r].length;t[r].push(i),this.idToIndexMap[r][a]=o}}}_convertObjectIdsToArrayIndices(t){for(let r in D1e)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:a,material:i}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");a&&(r.indices=this._convertIdToIndex(a,"accessor")),i&&(r.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let a in n){let i=n[a],o=this._convertIdToIndex(i,a);n[a]=o}}_convertIdToIndex(t,r){let n=g3t[r];if(n in this.idToIndexMap){let a=this.idToIndexMap[n][t];if(!Number.isFinite(a))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return a}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){var r,n,a;for(let i of t.materials){i.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=i.values)==null?void 0:r.tex)||((n=i.values)==null?void 0:n.texture2d_0)||((a=i.values)==null?void 0:a.diffuseTex),s=t.textures.findIndex(c=>c.id===o);s!==-1&&(i.pbrMetallicRoughness.baseColorTexture={index:s})}}};function O1e(e,t={}){return new cM().normalize(e,t)}function b3t(e,t){let r=e.basis,n=r==null?void 0:r.format;return{...e,core:{...e.core,mimeType:t},basis:{...r,format:n&&n!=="auto"?n:I1(r==null?void 0:r.supportedTextureFormats)}}}async function F1e(e,t,r=0,n,a){var i,o,s;return v3t(e,t,r,n),O1e(e,{normalize:(i=n==null?void 0:n.gltf)==null?void 0:i.normalize}),await T1e(e,n,a),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await x3t(e,n,a),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await y3t(e,n,a),await E1e(e,n,a),e}function v3t(e,t,r,n){var o,s;if((o=n.core)!=null&&o.baseUrl&&(e.baseUri=(s=n.core)==null?void 0:s.baseUrl),t instanceof ArrayBuffer&&!m1e(t,r,n.glb)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=oP(t);else if(t instanceof ArrayBuffer){let c={};r=g1e(c,t,r,n.glb),xn(c.type==="glTF",`Invalid GLB magic string ${c.type}`),e._glb=c,e.json=c.json}else xn(!1,"GLTF: must be ArrayBuffer or string");let a=e.json.buffers||[];if(e.buffers=new Array(a.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:c}=e._glb;e.buffers[0]={arrayBuffer:c[0].arrayBuffer,byteOffset:c[0].byteOffset,byteLength:c[0].byteLength}}let i=e.json.images||[];e.images=new Array(i.length).fill({})}async function x3t(e,t,r){var a,i;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:c}=r;xn(c);let u=W7(s.uri,t,r),l=await((a=r==null?void 0:r.fetch)==null?void 0:a.call(r,u)),f=await((i=l==null?void 0:l.arrayBuffer)==null?void 0:i.call(l));e.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function y3t(e,t,r){let n=_3t(e),a=e.json.images||[],i=[];for(let o of n)i.push(w3t(e,a[o],o,t,r));return await Promise.all(i)}function _3t(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function w3t(e,t,r,n,a){let i;if(t.uri&&!t.hasOwnProperty("bufferView")){let c=W7(t.uri,n,a),{fetch:u}=a;i=await(await u(c)).arrayBuffer(),t.bufferView={data:i}}if(Number.isFinite(t.bufferView)){let c=yxe(e.json,e.buffers,t.bufferView);i=Rp(c.buffer,c.byteOffset,c.byteLength)}xn(i,"glTF image has no data");let o=b3t(n,t.mimeType),s=await Vi(i,[sg,Pd],o,a);s&&s[0]&&(s={compressed:!0,mipmaps:!1,width:s[0].width,height:s[0].height,data:s[0]}),e.images=e.images||[],e.images[r]=s}var Ju={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:c8,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:T3t,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0}}};async function T3t(e,t={},r){var o;let n={...Ju.options,...t};n.gltf={...Ju.options.gltf,...n.gltf};let a=((o=t==null?void 0:t.glb)==null?void 0:o.byteOffset)||0;return await F1e({},e,a,n,r)}var E3t=1179937895,S3t=1313821514,A3t=5130562,qc=!0;function P1e(e,t,r=0,n={}){let{magic:a=E3t,version:i=2,json:o={},binary:s}=e,c=r;t&&(t.setUint32(r+0,a,qc),t.setUint32(r+4,i,qc),t.setUint32(r+8,0,qc));let u=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,qc),t.setUint32(r+4,S3t,qc)),r+=8;let f=JSON.stringify(o);if(r=d0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,qc)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,qc),t.setUint32(r+4,A3t,qc)),r+=8,r=Tw(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,qc)}}if(t){let p=r-c;t.setUint32(u,p,qc)}return r}function uM(e,t,r,n){return k3t(e),P1e(e,t,r,n)}function k3t(e){if(e.buffers&&e.buffers.length>1)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var lM={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:c8,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>C1e(e,t),encodeSync:C1e};function C1e(e,t={}){let{byteOffset:r=0}=t,n=S1e(e),a=uM(n,null,r,t),i=new ArrayBuffer(a),o=new DataView(i);return uM(n,o,r,t),i}var D3t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},O3t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Bo={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},F3t={magFilter:Bo.TEXTURE_MAG_FILTER,minFilter:Bo.TEXTURE_MIN_FILTER,wrapS:Bo.TEXTURE_WRAP_S,wrapT:Bo.TEXTURE_WRAP_T},P3t={[Bo.TEXTURE_MAG_FILTER]:Bo.LINEAR,[Bo.TEXTURE_MIN_FILTER]:Bo.NEAREST_MIPMAP_LINEAR,[Bo.TEXTURE_WRAP_S]:Bo.REPEAT,[Bo.TEXTURE_WRAP_T]:Bo.REPEAT};function C3t(){return{id:"default-sampler",parameters:P3t}}function I3t(e){return O3t[e]}function j3t(e){return D3t[e]}var fM=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:a=[],images:i=[]}=t,{baseUri:o=""}=t;return xn(n),this.baseUri=o,this.buffers=a,this.images=i,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((a,i)=>this._resolveBufferView(a,i))),t.images&&(n.images=t.images.map((a,i)=>this._resolveImage(a,i))),t.samplers&&(n.samplers=t.samplers.map((a,i)=>this._resolveSampler(a,i))),t.textures&&(n.textures=t.textures.map((a,i)=>this._resolveTexture(a,i))),t.accessors&&(n.accessors=t.accessors.map((a,i)=>this._resolveAccessor(a,i))),t.materials&&(n.materials=t.materials.map((a,i)=>this._resolveMaterial(a,i))),t.meshes&&(n.meshes=t.meshes.map((a,i)=>this._resolveMesh(a,i))),t.nodes&&(n.nodes=t.nodes.map((a,i)=>this._resolveNode(a,i)),n.nodes=n.nodes.map((a,i)=>this._resolveNodeChildren(a))),t.skins&&(n.skins=t.skins.map((a,i)=>this._resolveSkin(a,i))),t.scenes&&(n.scenes=t.scenes.map((a,i)=>this._resolveScene(a,i))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:(t==null?void 0:t.id)||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((a,i)=>{let o=this.getMesh(i);return a.id=o.id,a.primitives=a.primitives.concat(o.primitives),a},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map((a,i)=>{let o={...a,attributes:{},indices:void 0,material:void 0},s=a.attributes;for(let c in s)o.attributes[c]=this.getAccessor(s[c]);return a.indices!==void 0&&(o.indices=this.getAccessor(a.indices)),a.material!==void 0&&(o.material=this.getMaterial(a.material)),R3t(o,n.id,i)})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let a=n.pbrMetallicRoughness;a.baseColorTexture&&(a.baseColorTexture={...a.baseColorTexture},a.baseColorTexture.texture=this.getTexture(a.baseColorTexture.index)),a.metallicRoughnessTexture&&(a.metallicRoughnessTexture={...a.metallicRoughnessTexture},a.metallicRoughnessTexture.texture=this.getTexture(a.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=I3t(t.componentType),a=j3t(t.type),i=n*a,o={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:a,bytesPerElement:i,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(o.bufferView=this.getBufferView(t.bufferView)),o.bufferView){let s=o.bufferView.buffer,{ArrayType:c,byteLength:u}=Od(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=yu(s.arrayBuffer,l,u);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new c(f)}else{let{ArrayType:s}=Od(o,{byteLength:o.count*o.bytesPerElement});o.value=new s(o.count*o.components)}return t.sparse&&this._applySparseAccessor(o,t.sparse),o}_applySparseAccessor(t,r){let n=L3t(r.indices.componentType),a=this._getTypedArrayFromBufferView(n,this.getBufferView(r.indices.bufferView),r.indices.byteOffset||0,r.count),i=t.value.constructor,o=this._getTypedArrayFromBufferView(i,this.getBufferView(r.values.bufferView),r.values.byteOffset||0,r.count*t.components);for(let s=0;s<r.count;s++){let c=Number(a[s]);xn(Number.isInteger(c)&&c>=0&&c<t.count,"glTF sparse accessor index is out of bounds");for(let u=0;u<t.components;u++){let l=c*t.components+u,f=s*t.components+u;Reflect.set(t.value,l,o[f])}}}_getTypedArrayFromBufferView(t,r,n,a){let i=a*t.BYTES_PER_ELEMENT;xn(n+i<=r.byteLength,"glTF sparse accessor data exceeds its buffer view");let o=r.buffer,s=o.byteOffset+(r.byteOffset||0)+n,c=yu(o.arrayBuffer,s,i);return new t(c)}_getValueFromInterleavedBuffer(t,r,n,a,i){let o=new Uint8Array(i*a);for(let s=0;s<i;s++){let c=r+s*n;o.set(new Uint8Array(t.arrayBuffer.slice(c,c+a)),s*a)}return o.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):C3t(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let a in n){let i=this._enumSamplerParameter(a);i!==void 0&&(n.parameters[i]=n[a])}return n}_enumSamplerParameter(t){return F3t[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},a=this.images[r];return a&&(n.image=a),n}_resolveBufferView(t,r){let n=t.buffer,a=this.buffers[n].arrayBuffer,i=this.buffers[n].byteOffset||0;return t.byteOffset&&(i+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(a,i,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function R3t(e,t,r){var c,u;if(e.mode!==2&&e.mode!==6)return e;let n=(c=e.indices)==null?void 0:c.value,a=((u=e.indices)==null?void 0:u.count)??B3t(e),i=M3t(n,a),o=i<=65535?Uint16Array:Uint32Array,s=e.mode===2?N3t(n,a,o):z3t(n,a,o);return e.mode=e.mode===2?1:4,e.indices={id:`${t}-primitive-${r}-portable-indices`,components:1,bytesPerComponent:o.BYTES_PER_ELEMENT,bytesPerElement:o.BYTES_PER_ELEMENT,componentType:o===Uint16Array?5123:5125,normalized:!1,count:s.length,type:"SCALAR",min:s.length?[q3t(s)]:void 0,max:s.length?[i]:void 0,value:s},e}function L3t(e){switch(e){case 5121:return Uint8Array;case 5123:return Uint16Array;case 5125:return Uint32Array;default:throw new Error(`Invalid glTF sparse index component type ${e}`)}}function B3t(e){let t=Object.values(e.attributes)[0];return xn(t,"glTF primitive must define at least one attribute"),t.count}function M3t(e,t){if(!e)return Math.max(0,t-1);let r=0;for(let n=0;n<t;n++)r=Math.max(r,Number(e[n]));return r}function q3t(e){let t=1/0;for(let r of e)t=Math.min(t,r);return t}function M1(e,t){return e?Number(e[t]):t}function N3t(e,t,r){if(t<2)return new r(0);let n=new r(t*2);for(let a=0;a<t;a++)n[a*2]=M1(e,a),n[a*2+1]=M1(e,(a+1)%t);return n}function z3t(e,t,r){let n=Math.max(0,t-2),a=new r(n*3);for(let i=0;i<n;i++)a[i*3]=M1(e,0),a[i*3+1]=M1(e,i+1),a[i*3+2]=M1(e,i+2);return a}function q1(e,t){return new fM().postProcess(e,t)}var x8={URI:0,EMBEDDED:1};function y8(e,t,r,n){e.rotateYtoZ=!0;let a=(e.byteOffset||0)+(e.byteLength||0)-r;if(a===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=Rp(t,r,a),e.gltfByteOffset=0,e.gltfByteLength=a,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function _8(e,t,r,n){let a=(r==null?void 0:r["3d-tiles"])||{};if(U3t(e,t,r),a.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:i}=n,o=await i(e.gltfUrl,r==null?void 0:r.core);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let i=await Vi(e.gltfArrayBuffer,Ju,r,n);e.gltf=q1(i),e.gpuMemoryUsageInBytes=P1(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function U3t(e,t,r){switch(t){case x8.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),i=new TextDecoder().decode(n);e.gltfUrl=i.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case x8.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function I1e(e,t,r,n,a){var o;r=G3t(e,t,r,n,a),await _8(e,x8.EMBEDDED,n,a);let i=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return i&&i.CESIUM_RTC&&(e.rtcCenter=i.CESIUM_RTC.center),r}function G3t(e,t,r,n,a){r=Lf(e,t,r),r=ag(e,t,r),r=ig(e,t,r,n),r=y8(e,t,r,n);let i=new Yu(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=i.getGlobalProperty("RTC_CENTER",ht.FLOAT,3),r}async function j1e(e,t,r,n,a){return r=V3t(e,t,r,n,a),await _8(e,e.gltfFormat||0,n,a),r}function V3t(e,t,r,n,a){var u;if(r=Lf(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=ag(e,t,r);let i=new DataView(t);if(e.gltfFormat=i.getUint32(r,!0),r+=4,r=ig(e,t,r,n),r=y8(e,t,r,n),!((u=e==null?void 0:e.header)!=null&&u.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new Yu(e.featureTableJson,e.featureTableBinary),s=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=s,!Number.isFinite(s))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",ht.FLOAT,3);let c=new kd(e.batchTableJson,e.batchTableBinary,s);return $3t(e,o,c,s),r}function $3t(e,t,r,n){let a=new Array(n),i=new Z,o=new Z,s=new Z,c=new Z,u=new nr,l=new Io,f=new Z,p={},d=new mr,h=[],m=[],g=[],x=[];for(let y=0;y<n;y++){let _;if(t.hasProperty("POSITION"))_=t.getProperty("POSITION",ht.FLOAT,3,y,i);else if(t.hasProperty("POSITION_QUANTIZED")){_=t.getProperty("POSITION_QUANTIZED",ht.UNSIGNED_SHORT,3,y,i);let A=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",ht.FLOAT,3);if(!A)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let P=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",ht.FLOAT,3);if(!P)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let R=65535;for(let U=0;U<3;U++)_[U]=_[U]/R*P[U]+A[U]}if(!_)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");i.copy(_),p.translation=i,e.normalUp=t.getProperty("NORMAL_UP",ht.FLOAT,3,y,h),e.normalRight=t.getProperty("NORMAL_RIGHT",ht.FLOAT,3,y,m);let S=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=t.getProperty("NORMAL_UP_OCT32P",ht.UNSIGNED_SHORT,2,y,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",ht.UNSIGNED_SHORT,2,y,m),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(Pt.WGS84.eastNorthUpToFixedFrame(i,d),d.getRotationMatrix3(u)):u.identity()}S&&(c.copy(o).cross(s).normalize(),u.setColumn(0,o),u.setColumn(1,s),u.setColumn(2,c)),l.fromMatrix3(u),p.rotation=l,f.set(1,1,1);let T=t.getProperty("SCALE",ht.FLOAT,1,y,g);Number.isFinite(T)&&f.multiplyByScalar(T);let O=t.getProperty("SCALE_NON_UNIFORM",ht.FLOAT,3,y,h);O&&f.scale(O),p.scale=f;let I=t.getProperty("BATCH_ID",ht.UNSIGNED_SHORT,1,y,x);I===void 0&&(I=y);let B=new mr().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(B),d.scale(p.scale);let D=d.clone();a[y]={modelMatrix:D,batchId:I}}e.instances=a}async function R1e(e,t,r,n,a,i){r=Lf(e,t,r);let o=new DataView(t);for(e.tilesLength=o.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let s={shape:"tile3d"};e.tiles.push(s),r=await i(t,r,n,a,s)}return r}async function L1e(e,t,r,n){var a,i;if(e.rotateYtoZ=!0,e.gltfUpAxis=(a=r==null?void 0:r["3d-tiles"])!=null&&a.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",(i=r==null?void 0:r["3d-tiles"])!=null&&i.loadGLTF){if(!n)return t.byteLength;let o=await Vi(t,Ju,r,n);e.gltf=q1(o),e.gpuMemoryUsageInBytes=P1(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function pM(e,t=0,r,n,a={shape:"tile3d"}){switch(a.byteOffset=t,a.type=Mve(e,t),a.type){case da.COMPOSITE:return await R1e(a,e,t,r,n,pM);case da.BATCHED_3D_MODEL:return await I1e(a,e,t,r,n);case da.GLTF:return await L1e(a,e,r,n);case da.INSTANCED_3D_MODEL:return await j1e(a,e,t,r,n);case da.POINT_CLOUD:return await nxe(a,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${a.type}`)}}async function dM(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let i=B1e(e.slice(8,16)),o=new Uint8Array(e,24,i),c=new TextDecoder("utf8").decode(o),u=JSON.parse(c),l=B1e(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+i)),await w8(u,u.tileAvailability,f,r),Array.isArray(u.contentAvailability))for(let p of u.contentAvailability)await w8(u,p,f,r);else await w8(u,u.contentAvailability,f,r);return await w8(u,u.childSubtreeAvailability,f,r),u}async function w8(e,t,r,n){let a=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof a!="number")return;let i=e.bufferViews[a],o=e.buffers[i.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let c=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(c)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,i.byteOffset,i.byteLength);return}let s=e.buffers.slice(0,i.buffer).reduce((c,u)=>c+u.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(s,s+o.byteLength),i.byteOffset,i.byteLength)}function B1e(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var T8={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:tg,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:dM,options:{}};var Mo=null;try{Mo=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Sr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Sr.prototype.__isLong__;Object.defineProperty(Sr.prototype,"__isLong__",{value:!0});function Ha(e){return(e&&e.__isLong__)===!0}function M1e(e){var t=Math.clz32(e&-e);return e?31-t:t}Sr.isLong=Ha;var q1e={},N1e={};function Id(e,t){var r,n,a;return t?(e>>>=0,(a=0<=e&&e<256)&&(n=N1e[e],n)?n:(r=lr(e,0,!0),a&&(N1e[e]=r),r)):(e|=0,(a=-128<=e&&e<128)&&(n=q1e[e],n)?n:(r=lr(e,e<0?-1:0,!1),a&&(q1e[e]=r),r))}Sr.fromInt=Id;function qo(e,t){if(isNaN(e))return t?Zu:As;if(t){if(e<0)return Zu;if(e>=V1e)return W1e}else{if(e<=-U1e)return Fi;if(e+1>=U1e)return H1e}return e<0?qo(-e,t).neg():lr(e%_g|0,e/_g|0,t)}Sr.fromNumber=qo;function lr(e,t,r){return new Sr(e,t,r)}Sr.fromBits=lr;var E8=Math.pow;function mM(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?Zu:As;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return mM(e.substring(1),t,r).neg();for(var a=qo(E8(r,8)),i=As,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),c=parseInt(e.substring(o,o+s),r);if(s<8){var u=qo(E8(r,s));i=i.mul(u).add(qo(c))}else i=i.mul(a),i=i.add(qo(c))}return i.unsigned=t,i}Sr.fromString=mM;function No(e,t){return typeof e=="number"?qo(e,t):typeof e=="string"?mM(e,t):lr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Sr.fromValue=No;var z1e=1<<16,H3t=1<<24,_g=z1e*z1e,V1e=_g*_g,U1e=V1e/2,G1e=Id(H3t),As=Id(0);Sr.ZERO=As;var Zu=Id(0,!0);Sr.UZERO=Zu;var yg=Id(1);Sr.ONE=yg;var $1e=Id(1,!0);Sr.UONE=$1e;var hM=Id(-1);Sr.NEG_ONE=hM;var H1e=lr(-1,2147483647,!1);Sr.MAX_VALUE=H1e;var W1e=lr(-1,-1,!0);Sr.MAX_UNSIGNED_VALUE=W1e;var Fi=lr(0,-2147483648,!1);Sr.MIN_VALUE=Fi;var Ae=Sr.prototype;Ae.toInt=function(){return this.unsigned?this.low>>>0:this.low};Ae.toNumber=function(){return this.unsigned?(this.high>>>0)*_g+(this.low>>>0):this.high*_g+(this.low>>>0)};Ae.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Fi)){var r=qo(t),n=this.div(r),a=n.mul(r).sub(this);return n.toString(t)+a.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var i=qo(E8(t,6),this.unsigned),o=this,s="";;){var c=o.div(i),u=o.sub(c.mul(i)).toInt()>>>0,l=u.toString(t);if(o=c,o.isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}};Ae.getHighBits=function(){return this.high};Ae.getHighBitsUnsigned=function(){return this.high>>>0};Ae.getLowBits=function(){return this.low};Ae.getLowBitsUnsigned=function(){return this.low>>>0};Ae.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Fi)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};Ae.isSafeInteger=function(){var t=this.high>>21;return t?this.unsigned?!1:t===-1&&!(this.low===0&&this.high===-2097152):!0};Ae.isZero=function(){return this.high===0&&this.low===0};Ae.eqz=Ae.isZero;Ae.isNegative=function(){return!this.unsigned&&this.high<0};Ae.isPositive=function(){return this.unsigned||this.high>=0};Ae.isOdd=function(){return(this.low&1)===1};Ae.isEven=function(){return(this.low&1)===0};Ae.equals=function(t){return Ha(t)||(t=No(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Ae.eq=Ae.equals;Ae.notEquals=function(t){return!this.eq(t)};Ae.neq=Ae.notEquals;Ae.ne=Ae.notEquals;Ae.lessThan=function(t){return this.comp(t)<0};Ae.lt=Ae.lessThan;Ae.lessThanOrEqual=function(t){return this.comp(t)<=0};Ae.lte=Ae.lessThanOrEqual;Ae.le=Ae.lessThanOrEqual;Ae.greaterThan=function(t){return this.comp(t)>0};Ae.gt=Ae.greaterThan;Ae.greaterThanOrEqual=function(t){return this.comp(t)>=0};Ae.gte=Ae.greaterThanOrEqual;Ae.ge=Ae.greaterThanOrEqual;Ae.compare=function(t){if(Ha(t)||(t=No(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};Ae.comp=Ae.compare;Ae.negate=function(){return!this.unsigned&&this.eq(Fi)?Fi:this.not().add(yg)};Ae.neg=Ae.negate;Ae.add=function(t){Ha(t)||(t=No(t));var r=this.high>>>16,n=this.high&65535,a=this.low>>>16,i=this.low&65535,o=t.high>>>16,s=t.high&65535,c=t.low>>>16,u=t.low&65535,l=0,f=0,p=0,d=0;return d+=i+u,p+=d>>>16,d&=65535,p+=a+c,f+=p>>>16,p&=65535,f+=n+s,l+=f>>>16,f&=65535,l+=r+o,l&=65535,lr(p<<16|d,l<<16|f,this.unsigned)};Ae.subtract=function(t){return Ha(t)||(t=No(t)),this.add(t.neg())};Ae.sub=Ae.subtract;Ae.multiply=function(t){if(this.isZero())return this;if(Ha(t)||(t=No(t)),Mo){var r=Mo.mul(this.low,this.high,t.low,t.high);return lr(r,Mo.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?Zu:As;if(this.eq(Fi))return t.isOdd()?Fi:As;if(t.eq(Fi))return this.isOdd()?Fi:As;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(G1e)&&t.lt(G1e))return qo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,a=this.high&65535,i=this.low>>>16,o=this.low&65535,s=t.high>>>16,c=t.high&65535,u=t.low>>>16,l=t.low&65535,f=0,p=0,d=0,h=0;return h+=o*l,d+=h>>>16,h&=65535,d+=i*l,p+=d>>>16,d&=65535,d+=o*u,p+=d>>>16,d&=65535,p+=a*l,f+=p>>>16,p&=65535,p+=i*u,f+=p>>>16,p&=65535,p+=o*c,f+=p>>>16,p&=65535,f+=n*l+a*u+i*c+o*s,f&=65535,lr(d<<16|h,f<<16|p,this.unsigned)};Ae.mul=Ae.multiply;Ae.divide=function(t){if(Ha(t)||(t=No(t)),t.isZero())throw Error("division by zero");if(Mo){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Mo.div_u:Mo.div_s)(this.low,this.high,t.low,t.high);return lr(r,Mo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Zu:As;var n,a,i;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return Zu;if(t.gt(this.shru(1)))return $1e;i=Zu}else{if(this.eq(Fi)){if(t.eq(yg)||t.eq(hM))return Fi;if(t.eq(Fi))return yg;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(As)?t.isNegative()?yg:hM:(a=this.sub(t.mul(n)),i=n.add(a.div(t)),i)}else if(t.eq(Fi))return this.unsigned?Zu:As;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();i=As}for(a=this;a.gte(t);){n=Math.max(1,Math.floor(a.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),c=s<=48?1:E8(2,s-48),u=qo(n),l=u.mul(t);l.isNegative()||l.gt(a);)n-=c,u=qo(n,this.unsigned),l=u.mul(t);u.isZero()&&(u=yg),i=i.add(u),a=a.sub(l)}return i};Ae.div=Ae.divide;Ae.modulo=function(t){if(Ha(t)||(t=No(t)),Mo){var r=(this.unsigned?Mo.rem_u:Mo.rem_s)(this.low,this.high,t.low,t.high);return lr(r,Mo.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Ae.mod=Ae.modulo;Ae.rem=Ae.modulo;Ae.not=function(){return lr(~this.low,~this.high,this.unsigned)};Ae.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Ae.clz=Ae.countLeadingZeros;Ae.countTrailingZeros=function(){return this.low?M1e(this.low):M1e(this.high)+32};Ae.ctz=Ae.countTrailingZeros;Ae.and=function(t){return Ha(t)||(t=No(t)),lr(this.low&t.low,this.high&t.high,this.unsigned)};Ae.or=function(t){return Ha(t)||(t=No(t)),lr(this.low|t.low,this.high|t.high,this.unsigned)};Ae.xor=function(t){return Ha(t)||(t=No(t)),lr(this.low^t.low,this.high^t.high,this.unsigned)};Ae.shiftLeft=function(t){return Ha(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?lr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):lr(0,this.low<<t-32,this.unsigned)};Ae.shl=Ae.shiftLeft;Ae.shiftRight=function(t){return Ha(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?lr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):lr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Ae.shr=Ae.shiftRight;Ae.shiftRightUnsigned=function(t){return Ha(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?lr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?lr(this.high,0,this.unsigned):lr(this.high>>>t-32,0,this.unsigned)};Ae.shru=Ae.shiftRightUnsigned;Ae.shr_u=Ae.shiftRightUnsigned;Ae.rotateLeft=function(t){var r;return Ha(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?lr(this.high,this.low,this.unsigned):t<32?(r=32-t,lr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,lr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Ae.rotl=Ae.rotateLeft;Ae.rotateRight=function(t){var r;return Ha(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?lr(this.high,this.low,this.unsigned):t<32?(r=32-t,lr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,lr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Ae.rotr=Ae.rotateRight;Ae.toSigned=function(){return this.unsigned?lr(this.low,this.high,!1):this};Ae.toUnsigned=function(){return this.unsigned?this:lr(this.low,this.high,!0)};Ae.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Ae.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};Ae.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Sr.fromBytes=function(t,r,n){return n?Sr.fromBytesLE(t,r):Sr.fromBytesBE(t,r)};Sr.fromBytesLE=function(t,r){return new Sr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Sr.fromBytesBE=function(t,r){return new Sr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};typeof BigInt=="function"&&(Sr.fromBigInt=function(t,r){var n=Number(BigInt.asIntN(32,t)),a=Number(BigInt.asIntN(32,t>>BigInt(32)));return lr(n,a,r)},Sr.fromValue=function(t,r){return typeof t=="bigint"?Sr.fromBigInt(t,r):No(t,r)},Ae.toBigInt=function(){var t=BigInt(this.low>>>0),r=BigInt(this.unsigned?this.high>>>0:this.high);return r<<BigInt(32)|t});var wg=Sr;var W3t=16;function N1(e){e==="X"&&(e="");let t=e.padEnd(W3t,"0");return wg.fromString(t,!0,16)}function gM(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let i=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-i.length).join("0")+i}function bM(e,t){let r=K3t(e).shiftRightUnsigned(2);return e.add(wg.fromNumber(2*t+1-4).multiply(r))}function K3t(e){return e.and(e.not().add(1))}var X3t=3,Y3t=30,Q3t=2*Y3t+1,K1e=180/Math.PI;function Y1e(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],a=n.length,i=0,o=[0,0];for(let s=a-1;s>=0;s--){i=a-s;let c=n[s],u=0,l=0;c==="1"?l=1:c==="2"?(u=1,l=1):c==="3"&&(u=1);let f=Math.pow(2,i-1);J3t(f,o,u,l),o[0]+=f*u,o[1]+=f*l}if(r%2===1){let s=o[0];o[0]=o[1],o[1]=s}return{face:r,ij:o,level:i}}function Q1e(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<X3t+Q3t;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),a=t.substring(3,r),i=a.length/2,o=wg.fromString(n,!0,2).toString(10),s="";if(i!==0)for(s=wg.fromString(a,!0,2).toString(4);s.length<i;)s="0"+s;return`${o}/${s}`}function vM(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function X1e(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function xM(e){return[X1e(e[0]),X1e(e[1])]}function yM(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function _M([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*K1e,n*K1e]}function J3t(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let a=t[0];t[0]=t[1],t[1]=a}}function J1e(e){let t=vM(e.ij,e.level,[.5,.5]),r=xM(t),n=yM(e.face,r);return _M(n)}var Z3t=100;function wM(e){let{face:t,ij:r,level:n}=e,a=[[0,0],[0,1],[1,1],[1,0],[0,0]],i=Math.max(1,Math.ceil(Z3t*Math.pow(2,-n))),o=new Float64Array(4*i*2+2),s=0,c=0;for(let u=0;u<4;u++){let l=a[u].slice(0),f=a[u+1],p=(f[0]-l[0])/i,d=(f[1]-l[1])/i;for(let h=0;h<i;h++){l[0]+=p,l[1]+=d;let m=vM(r,n,l),g=xM(m),x=yM(t,g),y=_M(x);Math.abs(y[1])>89.999&&(y[0]=c);let _=y[0]-c;y[0]+=_>180?-360:_<-180?360:0,o[s++]=y[0],o[s++]=y[1],c=y[0]}}return o[s++]=o[0],o[s++]=o[1],o}function Tg(e){let t=eSt(e);return Y1e(t)}function eSt(e){if(e.indexOf("/")>0)return e;let t=N1(e);return Q1e(t)}function TM(e){let t=Tg(e);return J1e(t)}function eye(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let a=0;a<4;a++){let i=`${e.face}/${a}`,o=Tg(i),s=wM(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=Z1e(r)}else{let r=wM(e);t=Z1e(r)}return t}function Z1e(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,a)=>n-a),r.sort((n,a)=>n-a),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function EM(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,a=Tg(e),i=eye(a),o=i.west,s=i.south,c=i.east,u=i.north,l=[];return l.push(new Z(o,u,r)),l.push(new Z(c,u,r)),l.push(new Z(c,s,r)),l.push(new Z(o,s,r)),l.push(new Z(o,u,n)),l.push(new Z(c,u,n)),l.push(new Z(c,s,n)),l.push(new Z(o,s,n)),l}function S8(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=EM(t,r),a=TM(t),i=a[0],o=a[1],s=Pt.WGS84.cartographicToCartesian([i,o,r.maximumHeight]),c=new Z(s[0],s[1],s[2]);n.push(c);let u=A1(n);return[...u.center,...u.halfAxes]}var tSt=4,rSt=8,nSt={QUADTREE:tSt,OCTREE:rSt};function aSt(e,t,r){if(e!=null&&e.box){let n=N1(e.s2VolumeInfo.token),a=bM(n,t),i=gM(a),o={...e.s2VolumeInfo};switch(o.token=i,r){case"OCTREE":let u=e.s2VolumeInfo,l=u.maximumHeight-u.minimumHeight,f=l/2,p=u.minimumHeight+l/2;u.minimumHeight=p-f,u.maximumHeight=p+f;break;default:break}return{box:S8(o),s2VolumeInfo:o}}}async function AM(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:a=0,implicitOptions:i,loaderOptions:o,s2VolumeBox:s}=e,{subdivisionScheme:c,subtreeLevels:u,maximumLevel:l,contentUrlTemplate:f,subtreesUriTemplate:p,basePath:d}=i,h={children:[],lodMetricValue:0,contentUrl:""};if(typeof l!="number"||!Number.isFinite(l))return GF.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${f} won't be loaded...`),h;let m=n.localLevel+1,g=r.level+m;if(g>l)return h;let x=nSt[c],y=Math.log2(x),_=a&1,S=a>>1&1,T=a>>2&1,O=jd(n.localX,_,1),I=jd(n.localY,S,1),B=jd(n.localZ,T,1),D=jd(r.x,O,m),A=jd(r.y,I,m),P=jd(r.z,B,m),R=jd(n.mortonIndex,a,y),U=m===u&&SM(t.childSubtreeAvailability,R),G,W,Q,ce;if(U){let fe=`${d}/${p}`,me=A8(fe,g,D,A,P);G=await Wr(me,T8,o),ce=0,W={level:g,x:D,y:A,z:P},Q={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else G=t,ce=(x**m-1)/(x-1)+R,W=r,Q={mortonIndex:R,localLevel:m,localX:O,localY:I,localZ:B};if(!SM(G.tileAvailability,ce))return h;SM(G.contentAvailability,ce)&&(h.contentUrl=A8(f,g,D,A,P));for(let fe=0;fe<x;fe++){let me=aSt(s,fe,c),ye=await AM({subtree:G,subtreeData:W,parentData:Q,childIndex:fe,implicitOptions:i,loaderOptions:o,s2VolumeBox:me});(ye.contentUrl||ye.children.length)&&h.children.push(ye)}return h.contentUrl||h.children.length?iSt(h,{level:g,x:D,y:A,z:P},i,s):h}function SM(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&GF.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?cSt(t,r.explicitBitstream):!1}function iSt(e,t,r,n){let{basePath:a,refine:i,getRefine:o,lodMetricType:s,getTileType:c,rootLodMetricValue:u,rootBoundingVolume:l}=r,f=e.contentUrl&&e.contentUrl.replace(`${a}/`,""),p=u/2**t.level,d=n!=null&&n.box?{box:n.box}:l,h=oSt(d,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:f},id:e.contentUrl,refine:o(i),type:c(e),lodMetricType:s,lodMetricValue:p,geometricError:p,transform:e.transform,boundingVolume:h}}function oSt(e,t,r){if(e.region){let{level:n,x:a,y:i,z:o}=t,[s,c,u,l,f,p]=e.region,d=2**n,h=(u-s)/d,[m,g]=[s+h*a,s+h*(a+1)],x=(l-c)/d,[y,_]=[c+x*i,c+x*(i+1)],S,T;if(r==="OCTREE"){let O=(p-f)/d;[S,T]=[f+O*o,f+O*(o+1)]}else[S,T]=[f,p];return{region:[m,y,g,_,S,T]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function jd(e,t,r){return(e<<r)+t}function A8(e,t,r,n,a){let i=sSt({level:t,x:r,y:n,z:a});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>i[o])}function sSt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function cSt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function DM(e,t=""){if(!t)return"empty";let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return"pointcloud";case"i3dm":case"b3dm":case"glb":case"gltf":return"scenegraph";default:return n||"empty"}}function OM(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function kM(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return Ua.resolve(t,e)}function tye(e,t){var a;if(!e)return null;let r;if(e.content){let i=e.content.uri||((a=e.content)==null?void 0:a.url);typeof i<"u"&&(r=kM(i,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:DM(e,r),refine:OM(e.refine)}}async function aye(e,t,r){let n=null,a=nye(e.root);a&&e.root?n=await rye(e.root,e,t,a,r):n=tye(e.root,t);let i=[];for(i.push(n);i.length>0;){let o=i.pop()||{},s=o.children||[],c=[];for(let u of s){let l=nye(u),f;l?f=await rye(u,e,t,l,r):f=tye(u,t),f&&(c.push(f),i.push(f))}o.children=c}return n}async function rye(e,t,r,n,a){var S,T,O;let{subdivisionScheme:i,maximumLevel:o,availableLevels:s,subtreeLevels:c,subtrees:{uri:u}}=n,l=A8(u,0,0,0,0),f=kM(l,r),p=await Wr(f,T8,a),d=(S=e.content)==null?void 0:S.uri,h=d?kM(d,r):"",m=(T=t==null?void 0:t.root)==null?void 0:T.refine,g=e.geometricError,x=(O=e.boundingVolume.extensions)==null?void 0:O["3DTILES_bounding_volume_S2"];if(x){let B={box:S8(x),s2VolumeInfo:x};e.boundingVolume=B}let y=e.boundingVolume,_={contentUrlTemplate:h,subtreesUriTemplate:u,subdivisionScheme:i,subtreeLevels:c,maximumLevel:Number.isFinite(s)?s-1:o,refine:m,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:g,rootBoundingVolume:y,getTileType:DM,getRefine:OM};return await uSt(e,r,p,_,a)}async function uSt(e,t,r,n,a){if(!e)return null;let{children:i,contentUrl:o}=await AM({subtree:r,implicitOptions:n,loaderOptions:a}),s,c=null;return o&&(s=o,c={uri:o.replace(`${t}/`,"")}),{...e,id:s,contentUrl:s,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:DM(e,s),refine:OM(e.refine),content:c||e.content,children:i}}function nye(e){var t;return((t=e==null?void 0:e.extensions)==null?void 0:t["3DTILES_implicit_tiling"])||(e==null?void 0:e.implicitTiling)}var Nc={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:tg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:lSt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function lSt(e,t={},r){let n=t["3d-tiles"]||{},a;return n.isTileset==="auto"?a=(r==null?void 0:r.url)&&r.url.indexOf(".json")!==-1:a=n.isTileset,a?fSt(e,t,r):pSt(e,t,r)}async function fSt(e,t,r){var c;let n=JSON.parse(new TextDecoder().decode(e)),a=(r==null?void 0:r.url)||"",i=dSt(a),o=await aye(n,i,t||{});return{...n,shape:"tileset3d",loader:Nc,url:a,queryString:(r==null?void 0:r.queryString)||"",basePath:i,root:o||n.root,type:"TILES3D",lodMetricType:"geometricError",lodMetricValue:((c=n.root)==null?void 0:c.geometricError)||0}}async function pSt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await pM(e,0,t,r,n.content),n.content}function dSt(e){return Ua.dirname(e)}var iye="https://api.cesium.com/v1/assets";async function oye(e,t){var i;if(!t){let o=await hSt(e);for(let s of o.items)s.type==="3DTILES"&&(t=s.id)}let r=await mSt(e,t),n=r.type,a=((i=r.options)==null?void 0:i.url)||r.url;return yt(n==="3DTILES"&&a),r.headers={Authorization:`Bearer ${r.accessToken||e}`},r}async function hSt(e){yt(e);let t=iye,r={Authorization:`Bearer ${e}`},n=await si(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function mSt(e,t){yt(e,t);let r={Authorization:`Bearer ${e}`},n=`${iye}/${t}`,a=await si(`${n}`,{headers:r});if(!a.ok)throw new Error(a.statusText);let i=await a.json();if(a=await si(`${n}/endpoint`,{headers:r}),!a.ok)throw new Error(a.statusText);let o=await a.json();return i={...i,...o},i}async function gSt(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let a=e.match(/\/([0-9]+)\/tileset.json/);n=a&&a[1]}return oye(r,n)}var k8={...Nc,id:"cesium-ion",name:"Cesium Ion",preload:gSt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=k8,Nc.parse(e,t,r)),options:{"cesium-ion":{...Nc.options["3d-tiles"],accessToken:null}}};var mTe=Dt(hTe(),1),L4t="4.5.1",bN={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:L4t,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:B4t};async function B4t(e,t={}){let r=[],n={};try{let a=new mTe.default;return(await a.loadAsync(e,t)).forEach((o,s)=>{if(s.dir)return;let c=s.name,u=M4t(a,c,t).then(l=>{n[o]=l});r.push(u)}),await Promise.all(r),n}catch(a){throw t.log.error(`Unable to read zip archive: ${a}`),a}}async function M4t(e,t,r={}){try{return await e.file(t).async(r.dataType||"arraybuffer")}catch(n){return r.log.error(`Unable to read ${t} from zip archive: ${n}`),n}}function wy(e){return typeof e=="bigint"?e:BigInt(e)}function bTe(e){let t=Number(e);if(!Number.isFinite(t))throw new Error("Offset is out of bounds");return t}function gTe(e,t){return e<0?Math.max(t+e,0):Math.min(e,t)}async function Xr(e,t,r){let n=wy(t),i=wy(r)-n;if(i<0)throw new Error("Invalid range requested");return await e.read(n,bTe(i))}async function Xd(e,t,r){let n=await Xr(e,t,r);return new DataView(n)}async function vTe(e,t){return(await Xd(e,t,wy(t)+2n)).getUint16(0,!0)}async function vN(e,t){return(await Xd(e,t,wy(t)+4n)).getUint32(0,!0)}async function Ey(e,t){return(await Xd(e,t,wy(t)+8n)).getBigUint64(0,!0)}async function Sy(e){if(e.bigsize>0n)return e.bigsize;if(e.size>0)return BigInt(e.size);if(e.stat){let t=await e.stat();if((t==null?void 0:t.bigsize)!==void 0)return t.bigsize;if((t==null?void 0:t.size)!==void 0)return BigInt(t.size)}return 0n}var Ty=class{handle;size;bigsize;url;constructor(t,r=""){this.handle=t,this.size=t.byteLength,this.bigsize=BigInt(t.byteLength),this.url=r}async close(){}async stat(){return{size:this.size,bigsize:this.bigsize,isDirectory:!1}}async read(t=0,r){let n=bTe(t),a=r?n+r:this.size,i=gTe(n,this.size),o=gTe(a,this.size),c=Math.max(o,i)-i;return c<=0?new ArrayBuffer(0):yu(this.handle.buffer,i,c)}};var q4t=1024,Yd=async(e,t)=>{let r=await Sy(e),n=new Uint8Array(await Xr(e,r-3n,r+1n)),a=[n[3],n[2],n[1],void 0],i=-1,o=r-4n;do{let s=o;o-=BigInt(q4t),o=o>=0n?o:0n;let c=new Uint8Array(await Xr(e,o,s));for(let u=c.length-1;u>-1;u--)if(a[3]=a[2],a[2]=a[1],a[1]=a[0],a[0]=c[u],a.every((l,f)=>l===t[f])){i=u;break}}while(i===-1&&o>0n);return o+BigInt(i)};var N4t=new Uint8Array([1,0]);function vk(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of z4t){if(!t[n.name??""]&&!n.default)continue;let a=new DataView(new ArrayBuffer(n.size));xTe[n.size](a,0,t[n.name??""]??n.default),r.push(a.buffer)}return bn(...r)}function ka(e,t,r,n){xTe[t](e,Number(r),n)}var xTe={2:(e,t,r)=>{e.setUint16(t,Number(r>65535?65535:r),!0)},4:(e,t,r)=>{e.setUint32(t,Number(r>4294967295?4294967295:r),!0)},8:(e,t,r)=>{e.setBigUint64(t,BigInt(r),!0)}},z4t=[{size:2,default:new DataView(N4t.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var yTe=new Uint8Array([80,75,5,6]),_Te=new Uint8Array([80,75,6,7]),wTe=new Uint8Array([80,75,6,6]),TTe=8n,U4t=10n,ETe=12n,STe=16n,G4t=22n,ATe=8n,kTe=24n,V4t=32n,DTe=40n,OTe=48n,$4t=56n,xk=async e=>{let t=await Yd(e,yTe),r=BigInt(await vTe(e,t+TTe)),n=BigInt(await vN(e,t+ETe)),a=BigInt(await vN(e,t+STe)),i=t-20n,o=0n,s=await Xr(e,i,i+4n);if(pc(s,_Te.buffer)){o=await Ey(e,i+ATe);let c=await Xr(e,o,o+4n);if(!pc(c,wTe.buffer))throw new Error("zip64 EoCD not found");r=await Ey(e,o+kTe),n=await Ey(e,o+DTe),a=await Ey(e,o+OTe)}else i=0n;return{cdRecordsNumber:r,cdStartOffset:a,cdByteSize:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:i,zipEoCDOffset:t}}};function FTe(e,t,r,n,a){let i=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(a)<=65535&&(ka(i,2,o+TTe,a),ka(i,2,o+U4t,a)),n-r<=4294967295&&ka(i,4,o+ETe,n-r),r<4294967295&&ka(i,4,o+STe,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;ka(i,8,s+ATe,n),ka(i,8,OTe,r),ka(i,8,kTe,a),ka(i,8,V4t,a),ka(i,8,DTe,n-r)}return new Uint8Array(i.buffer)}function PTe(e){let t=new DataView(new ArrayBuffer(Number(G4t)));for(let a of H4t)ka(t,a.size,a.offset,e[a.name??""]??a.default??0);let r=K4t(e),n=W4t(e);return bn(n,r,t.buffer)}var H4t=[{offset:0,size:4,default:new DataView(yTe.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];function W4t(e){let t=new DataView(new ArrayBuffer(Number($4t)));for(let r of Y4t)ka(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function K4t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of X4t)ka(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var X4t=[{offset:0,size:4,default:new DataView(_Te.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],Y4t=[{offset:0,size:4,default:new DataView(wTe.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var Q4t=20,J4t=24,Z4t=28,e5t=30,t5t=32,r5t=42,Ay=46n,n5t=1,Jd=new Uint8Array([80,75,1,2]),Qd=async(e,t)=>{let r=await Sy(t);if(e>=r)return null;let n=await Xd(t,e,e+Ay),a=n.buffer.slice(0,4);if(!pc(a,Jd.buffer))return null;let i=BigInt(n.getUint32(Q4t,!0)),o=BigInt(n.getUint32(J4t,!0)),s=n.getUint16(e5t,!0),c=BigInt(n.getUint16(t5t,!0)),u=n.getUint16(Z4t,!0),l=await Xr(t,e+Ay,e+Ay+BigInt(u+s)),f=l.slice(0,u),p=new TextDecoder().decode(f),d=e+Ay+BigInt(u),h=n.getUint32(r5t,!0),m=BigInt(h),g=new DataView(l.slice(u,l.byteLength)),x={uncompressedSize:o,compressedSize:i,localHeaderOffset:m,startDisk:c},y=a5t(x,g);return{...x,...y,extraFieldLength:s,fileNameLength:u,fileName:p,extraOffset:d}};async function*Kc(e){let{cdStartOffset:t,cdByteSize:r}=await xk(e),n=new Ty(new DataView(await Xr(e,t,t+r))),a=await Qd(0n,n);for(;a;)yield a,a=await Qd(a.extraOffset+BigInt(a.extraFieldLength),n)}var a5t=(e,t)=>{let r=i5t(e),n={};if(r.length>0){let a=r.reduce((o,s)=>o+s.length,0),i=0;for(;i+4<=t.byteLength;){let o=t.getUint16(i,!0),s=t.getUint16(i+2,!0),c=i+4;if(c+s>t.byteLength)break;if(o===n5t&&s===a){let u=0;for(let l of r){let f=c+u;if(f+8>c+s)break;n[l.name]=t.getBigUint64(f,!0),u+=l.length}break}i=c+s}}return n},i5t=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};function xN(e){let t={...e,fnlength:e.fileName.length,extraLength:0},r=new ArrayBuffer(0),n={};t.offset>=4294967295&&(n.offset=t.offset,t.offset=BigInt(4294967295)),t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=vk(n),t.extraLength=r.byteLength);let a=new DataView(new ArrayBuffer(Number(Ay)));for(let s of o5t)ka(a,s.size,s.offset,t[s.name??""]??s.default??0);let i=new TextEncoder().encode(t.fileName);return bn(a.buffer,i,r)}var o5t=[{offset:0,size:4,default:new DataView(Jd.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var s5t=8,c5t=18,u5t=22,l5t=26,f5t=28,ky=30n,yN=new Uint8Array([80,75,3,4]),Cs=async(e,t)=>{let r=await Xd(t,e,e+ky),n=r.buffer.slice(0,4);if(!pc(n,yN.buffer))return null;let a=r.getUint16(l5t,!0),i=r.getUint16(f5t,!0),o=await Xr(t,e+ky,e+ky+BigInt(a+i)),s=o.slice(0,a),c=new DataView(o.slice(a,o.byteLength)),u=new TextDecoder().decode(s).split("\\").join("/"),l=e+ky+BigInt(a+i),f=r.getUint16(s5t,!0),p=BigInt(r.getUint32(c5t,!0)),d=BigInt(r.getUint32(u5t,!0)),h=4;return d===BigInt(4294967295)&&(d=c.getBigUint64(h,!0),h+=8),p===BigInt(4294967295)&&(p=c.getBigUint64(h,!0),h+=8),l===BigInt(4294967295)&&(l=c.getBigUint64(h,!0)),{fileNameLength:a,fileName:u,extraFieldLength:i,fileDataOffset:l,compressedSize:p,compressionMethod:f}};function _N(e){let t={...e,extraLength:0,fnlength:e.fileName.length},r=new ArrayBuffer(0),n={};t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=vk(n),t.extraLength=r.byteLength);let a=new DataView(new ArrayBuffer(Number(ky)));for(let s of p5t)ka(a,s.size,s.offset,t[s.name??""]??s.default??0);let i=new TextEncoder().encode(t.fileName);return bn(a.buffer,i,r)}var p5t=[{offset:0,size:4,default:new DataView(yN.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];async function d5t(e){let t=await xk(e),r=t.cdStartOffset,n=(await e.stat()).bigsize,a=Number(t.offsets.zip64EoCDOffset?t.offsets.zip64EoCDOffset-r:t.offsets.zipEoCDOffset-r),i=await Xr(e,r,n);await e.truncate(Number(r));let o=i.slice(0,a),s=i.slice(a,i.byteLength);return[o,s,t]}async function ITe(e,t,r){let n=parseInt(await new Hv().hash(t,"hex"),16),a=_N({crc32:n,fileName:e,length:t.byteLength}),i=xN({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(bn(a,t)),new Uint8Array(i)]}async function wN(e,t,r){let n=new Ga(e,"a+"),[a,i,o]=await d5t(n),s=(await n.stat()).bigsize,c=s,[u,l]=await ITe(r,t,c);await n.append(u),s+=BigInt(u.byteLength);let f=bn(a,l),p=s;await n.append(new Uint8Array(f)),s+=BigInt(f.byteLength);let d=s,h=FTe(i,o.offsets,p,d,o.cdRecordsNumber+1n);await n.append(h),s+=BigInt(h.byteLength)}async function TN(e,t,r){let n=h5t(e),a=new Ga(t,"w"),i=[],o=[];for await(let l of n)await CTe(l,a,o,i);if(r){let l=await r(i);await CTe(l,a,o)}let s=(await a.stat()).bigsize,c=bn(...o);await a.append(new Uint8Array(c));let u=(await a.stat()).bigsize;await a.append(new Uint8Array(PTe({recordsNumber:o.length,cdSize:c.byteLength,cdOffset:s,eoCDStart:u})))}async function CTe(e,t,r,n){let a=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:a});let[i,o]=await ITe(e.path,e.file,a);await t.append(i),r.push(Kn(o))}function h5t(e){async function*t(){let r=await jTe(e);for(let n of r){let a=await(await si(Ua.join(e,n))).arrayBuffer();yield{path:n,file:a}}}return t()}async function jTe(e,t="",r){let n=r||new $v({}),a=await n.readdir(yk(e,t)),i=[];for(let o of a){let s=yk(e,t,o);if((await n.stat(s)).isDirectory){let c=await jTe(e,yk(t,o));i.push(...c)}else i.push(yk(t,o))}return i}function yk(...e){let t=e.filter(r=>r.length);return Ua.join(...t)}var Xg=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){l0(t)}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return Lp(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var Dy=class extends Xg{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var Zd=Dt(aN(),1),ll=Dt(require("zlib"),1),fl=class extends Xg{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!cr&&((r=this.options.deflate)!=null&&r.useZlib)){let a=(n=this.options.deflate)!=null&&n.gzip?await h0(ll.default.gzip)(t):await h0(ll.default.deflate)(t);return Kn(a)}return this.compressSync(t)}async decompress(t){var r,n;if(!cr&&((r=this.options.deflate)!=null&&r.useZlib)){let a=(n=this.options.deflate)!=null&&n.gzip?await h0(ll.default.gunzip)(t):await h0(ll.default.inflate)(t);return Kn(a)}return this.decompressSync(t)}compressSync(t){var i,o,s,c;if(!cr&&((i=this.options.deflate)!=null&&i.useZlib)){let u=(o=this.options.deflate)!=null&&o.gzip?ll.default.gzipSync(t):ll.default.deflateSync(t);return Kn(u)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t),a=(c=this.options)!=null&&c.raw?Zd.default.deflateRaw:Zd.default.deflate;return Kn(a(n,r).buffer)}decompressSync(t){var i,o,s,c;if(!cr&&((i=this.options.deflate)!=null&&i.useZlib)){let u=(o=this.options.deflate)!=null&&o.gzip?ll.default.gunzipSync(t):ll.default.inflateSync(t);return Kn(u)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t),a=(c=this.options)!=null&&c.raw?Zd.default.inflateRaw:Zd.default.inflate;return Kn(a(n,r).buffer)}async*compressBatches(t){var a;let r=((a=this.options)==null?void 0:a.deflate)||{},n=new Zd.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){var a;let r=((a=this.options)==null?void 0:a.deflate)||{},n=new Zd.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let o of r){let s=new Uint8Array(o);if(!t.push(s,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),a=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${r[t]}`}};var Oy=class extends fl{name="gzip";extensions=["gz","gzip"];contentEncodings=["gzip","x-gzip"];isSupported=!0;constructor(t){super({...t,deflate:{...t==null?void 0:t.gzip,gzip:!0}})}};var RTe={0:async e=>e,8:async e=>await new fl({raw:!0}).decompress(e)},pl=class{file=null;fileName;archive=null;constructor(t){if(typeof t=="string"){if(this.fileName=t,cr)throw new Error("ZipFileSystem cannot open file paths in browser environments");this.file=new Ga(t)}else t instanceof Blob||t instanceof ArrayBuffer?this.file=new Gv(t):t instanceof dl?(this.file=t.file,this.archive=t,this.fileName=t.fileName):this.file=t}async destroy(){this.file&&await this.file.close()}async readdir(){if(!this.file)throw new Error("No data detected in the zip archive");let t=[],r=Kc(this.file);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.file)throw new Error("No data detected in the zip archive");let a=await this.getCDFileHeader(t),i=await Cs(a.localHeaderOffset,this.file);if(!i)throw new Error("Local file header has not been found in the zip archive`");let o=RTe[i.compressionMethod.toString()];if(!o)throw Error("Only Deflation compression is supported");let s=await Xr(this.file,i.fileDataOffset,i.fileDataOffset+i.compressedSize);r=await o(s)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.file)throw new Error("No data detected in the zip archive");let r=Kc(this.file),n=null;for await(let a of r)if(a.fileName===t){n=a;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var dl=class{file;fileName;constructor(t,r,n){this.file=t,this.fileName=n}async getFileWithoutHash(t){return await(await new pl(this.file).fetch(t)).arrayBuffer()}};function Fy(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let a=t.getBigUint64(n+16,!0),i=m5t(e,n,16);r[i]=a}return r}function m5t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function EN(e){let t=Kc(e);return g5t(t)}async function g5t(e){let t=new mc,r=new TextEncoder,n={};for await(let a of e){let i=a.fileName.split("\\").join("/").toLocaleLowerCase(),o=r.encode(i).buffer,s=await t.hash(o,"hex");n[s]=a.localHeaderOffset}return n}async function Py(e){let t=new mc,r=new TextEncoder,n=[];for await(let i of e){let o=i.fileName.split("\\").join("/");o!=="3dSceneLayer.json.gz"&&(o=o.toLocaleLowerCase());let s=r.encode(o).buffer,c=await t.hash(s,"hex");n.push(bn(v5t(c),x5t(i.localHeaderOffset)))}let a=n.sort(b5t);return ww(a)}function b5t(e,t){let r=new BigUint64Array(e),n=new BigUint64Array(t);return Number(r[0]===n[0]?r[1]-n[1]:r[0]-n[0])}function v5t(e){var r;let t=(r=e.match(/../g))==null?void 0:r.map(n=>parseInt(n,16));return new Uint8Array(t??new Array(16)).buffer}function x5t(e){return new BigUint64Array([e]).buffer}var y5t={0:e=>new Dy().decompress(e),8:e=>new fl({raw:!0}).decompress(e)},Cy=class extends dl{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,a=await new mc().hash(n,"hex"),i=this.hashTable[a];if(i===void 0)return null;let o=await Cs(i,this.file);if(!o)return null;let s=await Xr(this.file,o.fileDataOffset,o.fileDataOffset+o.compressedSize),c=y5t[o.compressionMethod];if(!c)throw Error("Only Deflation compression is supported");r=await c(s)}else r=await this.getFileWithoutHash(t);return r}};function Yf(e,t,r){if(!t)return r+12;let{magic:a,version:i=1,byteLength:o=12}=e;return yt(Array.isArray(a)&&Number.isFinite(i)&&Number.isFinite(o)),t.setUint8(r+0,a[0]),t.setUint8(r+1,a[1]),t.setUint8(r+2,a[2]),t.setUint8(r+3,a[3]),t.setUint32(r+4,i,!0),t.setUint32(r+8,o,!0),r+=12,r}function Qf(e,t,r){e&&e.setUint32(t+8,r,!0)}function LTe(e,t,r,n,a){e={magic:Rf.COMPOSITE,tiles:[],...e};let i=r;r+=Yf(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let o=0;o<e.tiles.length;++o)r+=a(e.tiles[o],t,r,n);return Qf(t,i,r-i),r}function BTe(e,t,r,n){let{featuresLength:a=0,batchTable:i}=e,s=JSON.stringify({BATCH_LENGTH:a}),c=i?JSON.stringify(i):"",u=Ki(s.length,8),l=c?Ki(c.length,8):0;e={magic:Rf.BATCHED_MODEL,...e};let f=r;r=Yf(e,t,r),t&&(t.setUint32(12,u,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=d0(t,r,s,8),i&&(r=d0(t,r,c,8));let p=e.gltfEncoded;return p&&(r=zv(t,r,p,p.byteLength)),Qf(t,f,r-f),r}function MTe(e,t,r,n){let{featuresLength:a=1,gltfFormat:i=1,gltfUri:o=""}=e,s=o.length,c={INSTANCES_LENGTH:a,POSITION:new Array(a*3).fill(0)},u=JSON.stringify(c),l=u.length;e={magic:Rf.INSTANCED_MODEL,...e};let f=r;return r=Yf(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,i,!0)),r+=20,r+=p0(t,r,u,l),r+=p0(t,r,o,s),Qf(t,f,r-f),r}var _5t={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function qTe(e,t,r,n){let{featureTableJson:a=_5t}=e,i=JSON.stringify(a);i=cP(i,4);let{featureTableJsonByteLength:o=i.length}=e,s=new ArrayBuffer(12),c=s.byteLength;e={magic:Rf.POINT_CLOUD,...e};let u=r;return r+=Yf(e,t,0),t&&(t.setUint32(r+0,o,!0),t.setUint32(r+4,c,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=p0(t,r,i,o),r+=zv(t,r,s,c),Qf(t,u,r-u),r}function AN(e,t){let r=SN(e,null,0,t),n=new ArrayBuffer(r),a=new DataView(n);return SN(e,a,0,t),n}function SN(e,t,r,n){switch(yt(typeof e.type=="string"),e.type){case da.COMPOSITE:return LTe(e,t,r,n,SN);case da.POINT_CLOUD:return qTe(e,t,r,n);case da.BATCHED_3D_MODEL:return BTe(e,t,r,n);case da.INSTANCED_3D_MODEL:return MTe(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var kN={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:tg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>NTe(e,t),encodeSync:NTe};function NTe(e,t){return AN(e,t)}var Xo=require("path");var zTe=Dt(require("crypto")),wk=new Uint8Array(256),_k=wk.length;function DN(){return _k>wk.length-16&&(zTe.default.randomFillSync(wk),_k=0),wk.slice(_k,_k+=16)}var Da=[];for(let e=0;e<256;++e)Da.push((e+256).toString(16).slice(1));function UTe(e,t=0){return Da[e[t+0]]+Da[e[t+1]]+Da[e[t+2]]+Da[e[t+3]]+"-"+Da[e[t+4]]+Da[e[t+5]]+"-"+Da[e[t+6]]+Da[e[t+7]]+"-"+Da[e[t+8]]+Da[e[t+9]]+"-"+Da[e[t+10]]+Da[e[t+11]]+Da[e[t+12]]+Da[e[t+13]]+Da[e[t+14]]+Da[e[t+15]]}var GTe=Dt(require("crypto")),ON={randomUUID:GTe.default.randomUUID};function w5t(e,t,r){if(ON.randomUUID&&!t&&!e)return ON.randomUUID();e=e||{};let n=e.random||(e.rng||DN)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let a=0;a<16;++a)t[r+a]=n[a];return t}return UTe(n)}var Xc=w5t;var ph=Dt(require("process"),1),g4=Dt(Is(),1),b4=Dt(CN(),1);var Sk=require("path"),i6e=Dt(Is(),1);var t6e=()=>({folderPattern:{path:"folderPattern",default:"BASIC"},archiveCompressionType:{path:"archiveCompressionType",default:"STORE"},resourceCompressionType:{path:"resourceCompressionType",default:"GZIP"},I3SVersion:{path:"I3SVersion",default:"1.8"},nodeCount:{path:"nodeCount"}});var eh=require("fs"),Yg=require("path");var r6e=require("zlib"),Tk=require("fs");function Ek(e){let t=`${e}.gz`,r=(0,r6e.createGzip)(),n=(0,Tk.createReadStream)(e),a=(0,Tk.createWriteStream)(t);return new Promise((i,o)=>{n.on("end",()=>{console.log(`${t} compressed and saved.`),i(t)}),n.on("error",s=>{console.log(`${t}: compression error!`),o(s)}),n.pipe(r).pipe(a)})}async function Ci(e,t,r="index.json"){let n;t instanceof Promise?n=new Uint8Array(await t):t instanceof ArrayBuffer?n=new Uint8Array(t):n=t,await eh.promises.mkdir(e,{recursive:!0});let a=(0,Yg.join)(e,r);try{await eh.promises.writeFile(a,n)}catch(i){throw i}return console.log(`${a} saved.`),a}async function Yc(e,t,r="index.json",n=!0,a){let i=await Ci(e,t,r);if(n){if(a)return a.includes(i)?null:(a.push(i),`${i}.gz`);let o=await Ek(i);return await Ly(i),o}return i}async function Qg(e,t){return new Promise((r,n)=>{let a=0;console.log(`load ${e}/${t}.`);let i=setInterval(()=>{let o=(0,Yg.join)(e,t);Wr(o,uP).then(s=>{clearInterval(i),r(s)}).catch(()=>{a++,a>100&&(clearInterval(i),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function jy(e){try{return await eh.promises.stat(e),!0}catch{return!1}}function Ry(e){return eh.promises.rm(e,{recursive:!0})}function Ly(e){return eh.promises.unlink(e)}function n6e(e){return(0,Yg.isAbsolute)(e)?e:(0,Yg.join)(process.cwd(),e)}async function a6e(e,t){try{await eh.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Oa=class{nodesPerPage;nodesCounter;writeFile;converter;nodePages;length=0;constructor(t,r,n){this.nodesPerPage=r,this.nodesCounter=0,this.nodePages=[{}],this.nodePages[0].nodes=[],this.writeFile=t,this.converter=n,this.length=0}useWriteFunction(t){this.writeFile=t}getNodePageFileName(t){let r=(0,Sk.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`;return{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),a=(0,Sk.join)(r,n);return await jy(a)?(console.log(`load ${a}.`),await Qg(r,n)):{nodes:[]}}getPageIndexByNodeId(t){return Math.floor(t/this.nodesPerPage)}async getPageByNodeId(t){let r=this.getPageIndexByNodeId(t);return this.converter.options.instantNodeWriting?await this.loadNodePage(r):this.nodePages[r]}async getNodeById(t,r){let n=t%this.nodesPerPage;return r=r||await this.getPageByNodeId(t),r.nodes[n]}async addChildRelation(t,r){var a;if(t==null)return;let n=await this.getNodeById(t);(a=n.children)==null||a.push(r),await this.saveNode(n)}async push(t,r){if(t.index=this.nodesCounter++,!this.converter.options.instantNodeWriting){let n=this.nodePages[this.nodePages.length-1];n.nodes.length===this.nodesPerPage&&(n={nodes:[]},this.nodePages.push(n)),n.nodes.push(t)}return await this.addChildRelation(r,t.index),Oa.updateResourceInMesh(t),await this.saveNode(t),t}async saveNode(t){if(!this.converter.options.instantNodeWriting)return;let r=this.getPageIndexByNodeId(t.index),n=await this.getPageByNodeId(t.index),{filePath:a,fileName:i}=this.getNodePageFileName(r),o=await this.getNodeById(t.index,n);o?Oa.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(a,s,i,!0,this.converter.compressList)},!0)}async saveMetadata(){let t=(0,i6e.default)({nodeCount:this.nodesCounter},t6e()),r=!1;await this.converter.writeQueue.enqueue({archiveKey:"metadata.json",writePromise:()=>this.writeFile(this.converter.layers0Path,JSON.stringify(t),"metadata.json",r)})}async save(){if(this.converter.options.instantNodeWriting){await this.saveMetadata();return}for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),a=(0,Sk.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(a,n,`${t.toString()}.json`)})}await this.saveMetadata()}static updateResourceInMesh(t){t.mesh&&isFinite(t.index)&&(t.mesh.geometry.resource=t.index)}static updateAll(t,r){return Object.assign(t,r,{index:t.index}),Oa.updateResourceInMesh(t),t}static updateMaterialByNodeId(t,r){t.mesh&&(t.mesh.material={definition:r,resource:t.index})}static updateVertexCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.vertexCount=r)}static updateNodeAttributeByNodeId(t){!t.mesh||!t.index||(t.mesh.attribute.resource=t.index)}static updateFeatureCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.featureCount=r)}static updateTexelCountHintByNodeId(t,r){!t.mesh||!t.mesh.material||(t.mesh.material.texelCountHint=r)}};var By=require("path"),Ak=require("fs");function Jg(e){if(typeof e=="number"){let i=Math.floor(e/1e3),o=e-i*1e3;return o6e(i,o)}let t=1e6,r=e[0],n=e[1]/t;return o6e(r,n)}function o6e(e,t){let r=Math.floor(e/3600);e=e-r*3600;let n=Math.floor(e/60);e=e-n*60;let a=Math.floor(e),i="";return r&&(i+=`${r}h `),n&&(i+=`${n}m `),a&&(i+=`${a}s`),i||(i+=`${Math.floor(t)}ms`),i}async function kk(e){let{slpk:t,outputPath:r,tilesetName:n}=e,a=n6e(r);try{if(t){let s=(0,By.join)(a,`${n}.slpk`);return(await Ak.promises.stat(s)).size}let i=(0,By.join)(a,n);return await s6e(i)}catch(i){return console.log("Calculate file sizes error: ",i),null}}async function s6e(e){let t=0,r=await Ak.promises.readdir(e);for(let n of r){let a=await Ak.promises.stat((0,By.join)(e,n));a.isDirectory()?t+=await s6e((0,By.join)(e,n)):t+=a.size}return t}var S6e=require("module"),Pk=require("path");var A6e=Dt(CN(),1);var th=3,Zg=9;function u6e(e){let{positions:t,normals:r,texCoords:n,colors:a,uvRegions:i,featureIndices:o}=e,s=t.length/Zg;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:t,normals:r,texCoords:n,colors:a,uvRegions:i};let c=I5t(o),u=j5t({...c,...e}),l=R5t(u);return L5t(l,c.featureCount)}function I5t(e){let t=1,r=1,n=c6e(e.slice(0,th)),a=[],i=[],o=[n];a[0]=0,i[0]=n;for(let u=th;u<e.length;u+=th){let l=c6e(e.slice(u,u+th));n!==l&&(a[t]=u/th-1,a[t+1]=u/th,i[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}a[t]=e.length/th-1;let s=new Uint32Array(a),c=o.length;return{faceRange:s,featureCount:c,featureIds:i}}function c6e(e){let t={},r=e[0],n=1;for(let a of e)t[a]=(t[a]||0)+1,n=n>t[a]?n:t[a],r=n>t[a]?r:a;return r}function j5t(e){let{featureIds:t,positions:r,normals:n,colors:a,uvRegions:i,texCoords:o,faceRange:s=new Uint32Array(0)}=e,c=[],u=new Float32Array(r),l=new Float32Array(n),f=new Uint8Array(a),p=new Float32Array(o),d=new Uint16Array(i),h=0,m=0,g=0,x=0,y=0;for(let _=0;_<t.length;_++){let S=s[_*2],T=s[_*2+1],O=My("positions",S,T),I=My("normals",S,T),B=My("colors",S,T),D=My("uvRegions",S,T),A=My("texCoords",S,T);c.push({featureId:t[_],positions:u.subarray(h,h+O),normals:l.subarray(m,m+I),colors:f.subarray(g,g+B),uvRegions:d.subarray(x,x+D),texCoords:p.subarray(y,y+A)}),h+=O,m+=I,g+=B,x+=D,y+=A}return c}function My(e,t,r){let i=r-t+1,o=i*3;switch(e){case"positions":case"normals":return i*Zg;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function R5t(e){let t=[];for(let n of e){let a=t.find(i=>i.featureId===n.featureId);a?a.attributes.push(n):t.push({featureId:n.featureId,attributes:[n]})}let r=[];for(let n of t){let a=l6e(n.attributes);r.push({featureId:n.featureId,...a})}return r}function L5t(e,t){let n=[e[0].featureId||0],a=[0],i=0,o=0;for(let u=1;u<e.length;u++){let l=e[u];n.push(l.featureId||0);let f=e[i];a.push(f.positions.length/Zg-1+o),a.push(f.positions.length/Zg+o),o+=f.positions.length/Zg,i+=1}let s=l6e(e);return a.push(s.positions.length/Zg-1),{faceRange:new Uint32Array(a),featureIds:n,featureCount:t,...s}}function l6e(e){let t=e.map(({positions:f})=>f),r=t.length>1?Wi(...t):t[0],n=e.map(({normals:f})=>f),a=n.length>1?Wi(...n):n[0],i=e.map(({colors:f})=>f),o=i.length>1?Wi(...i):i[0],s=e.map(({texCoords:f})=>f),c=s.length>1?Wi(...s):s[0],u=e.map(({uvRegions:f})=>f),l=u.length>1?Wi(...u):u[0];return{positions:r,normals:a,colors:o,texCoords:c,uvRegions:l}}function Dk(e,t){let r,n,a,i=Pt.WGS84.cartesianToCartographic(e.center,new Z);return t&&(i[2]=i[2]-t.getHeight(i[1],i[0])),e instanceof pa?(n=e.halfSize,r=new Z(n[0],n[1],n[2]).len(),a=e.quaternion):(r=e.radius,n=[r,r,r],a=new Io().fromMatrix3(new nr([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[i[0],i[1],i[2],r],obb:{center:[i[0],i[1],i[2]],halfSize:n,quaternion:a}}}function f6e(e,t){let r=B5t(e),n=A1(r),a=p7(r),i=Pt.WGS84.cartesianToCartographic(a.center,new Z),o=Pt.WGS84.cartesianToCartographic(n.center,new Z);return t&&(i[2]=i[2]-t.getHeight(i[1],i[0]),o[2]=o[2]-t.getHeight(o[1],o[0])),{mbs:[i[0],i[1],i[2],a.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function B5t(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new Z([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function p6e(e){let t;e instanceof ci?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,a=Pt.WGS84.cartesianToCartographic(new Z(r[0]+n,r[1]+n,r[2]+n),new Z),i=Pt.WGS84.cartesianToCartographic(new Z(r[0]-n,r[1]-n,r[2]-n),new Z);return{xmin:Math.min(i[0],a[0]),xmax:Math.max(i[0],a[0]),ymin:Math.min(i[1],a[1]),ymax:Math.max(i[1],a[1]),zmin:Math.min(i[2],a[2]),zmax:Math.max(i[2],a[2])}}function IN(e){let t=e[3],r=new Z(e[0],e[1],e[2]),n=new nr([t,0,0,0,t,0,0,0,t]);return new pa(r,n)}function d6e(e,t,r){var s,c,u,l,f,p,d,h;let n=((c=(s=e.gltf)==null?void 0:s.scene)==null?void 0:c.nodes)||((f=(l=(u=e.gltf)==null?void 0:u.scenes)==null?void 0:l[0])==null?void 0:f.nodes)||((p=e.gltf)==null?void 0:p.nodes)||[],a=((h=(d=e.gltf)==null?void 0:d.images)==null?void 0:h.map(m=>{var y,_;if((y=m==null?void 0:m.image)!=null&&y.compressed)return null;let g=(_=m==null?void 0:m.image)==null?void 0:_.data,x=new Uint8Array(g.length);return x.set(g),{data:x,compressed:!1,height:m.image.height,width:m.image.width,components:m.image.components,mimeType:m.mimeType}}))||[];h6e(n);let{cartographicOrigin:i,modelMatrix:o}=q5t(e,t,r);return{nodes:n,images:a,cartographicOrigin:i,cartesianModelMatrix:o}}function M5t(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function q5t(e,t,r){let{rtcCenter:n,gltfUpAxis:a}=e,{center:i}=r,o=new mr(t);switch(n&&o.translate(n),a){case"Z":break;case"Y":let u=new mr().rotateX(Math.PI/2);o=o.multiplyRight(u);break;case"X":let l=new mr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new Z(i),c=Pt.WGS84.cartesianToCartographic(s,new Z);return{modelMatrix:o,cartographicOrigin:c}}function h6e(e){var t;for(let r=0;r<e.length;r++){let n=e[r];n.mesh&&(e[r]={...n,mesh:{...n.mesh,primitives:(t=n.mesh)==null?void 0:t.primitives.map(a=>{var i,o,s;return{...a,indices:{value:(i=a==null?void 0:a.indices)==null?void 0:i.value},attributes:M5t(a.attributes),material:{id:(o=a==null?void 0:a.material)==null?void 0:o.id,uniqueId:(s=a==null?void 0:a.material)==null?void 0:s.uniqueId}}})}}),n.children&&h6e(n.children)}}function m6e(e,t){var n,a;let r=(a=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:a[Ro];if(!(r!=null&&r.featureTextures))return null;for(let i in r.featureTextures)if(r.featureTextures[i].class===t)return i;return null}function g6e(e,t,r,n){let a=t==null?void 0:t.extensions;if(!a)return[];for(let[i,o]of Object.entries(a||{}))switch(i){case Ro:return z5t(e,o,r,n);case n8:return N5t(e,o);default:return[]}return[]}function N5t(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function z5t(e,t,r,n){var o,s,c,u,l,f,p;let a=(o=t==null?void 0:t.featureIdAttributes)==null?void 0:o[0];if((s=a==null?void 0:a.featureIds)!=null&&s.attribute)return e[a.featureIds.attribute].value;if((c=a==null?void 0:a.featureIds)!=null&&c.hasOwnProperty("constant")&&((u=a==null?void 0:a.featureIds)!=null&&u.hasOwnProperty("divisor"))){let d=((l=e==null?void 0:e.POSITIONS)==null?void 0:l.value.length)/3||0;return U5t(d,a.featureIds.constant,a.featureIds.divisor)}let i=(t==null?void 0:t.featureIdTextures)&&(t==null?void 0:t.featureIdTextures[0]);if(i){let h=`TEXCOORD_${((p=(f=i==null?void 0:i.featureIds)==null?void 0:f.texture)==null?void 0:p.texCoord)||0}`,m=e[h].value;return G5t(i,m,r)}return n?e[n].value:[]}function U5t(e,t=0,r=0){let n=[];if(r>0){let a=t,i=r;for(let o=0;o<e;o++)n.push(a),i-=1,i===0&&(a++,i=r)}else n=Array(e).fill(t,0,e);return n}function G5t(e,t,r){var u,l,f;if(!(r!=null&&r.length))return[];let n={r:0,g:1,b:2,a:3},a=(l=(u=e==null?void 0:e.featureIds)==null?void 0:u.texture)==null?void 0:l.index,i=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!i||a===void 0)return[];let o=r[a],s=[],c=n[i];if(o&&(o!=null&&o.width)&&(o!=null&&o.height)&&(o!=null&&o.components))for(let p=0;p<t.length;p+=2){let d=t[p],h=t[p+1],m=Math.min(VA(d)*o.width|0,o.width-1),x=(Math.min(VA(h)*o.height|0,o.height-1)*o.width+m)*o.components+c,y=new Uint8Array(o.data)[x];s.push(y)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function b6e(e,t){let r={};for(let n in t){let a=t[n];r[n]=V5t(a,e)}return r}function V5t(e,t){let r=[];if(e)for(let n in t){let a=e[n]||null;r.push(a)}return r}function v6e(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function $5t(e){return typeof e=="string"||typeof e=="bigint"?rn.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?rn.SHORT_INT_TYPE:rn.DOUBLE_TYPE:rn.STRING_TYPE}function x6e(e){let t={};for(let r in e){let n=e[r][0],a=$5t(n);t[r]=a}return t}var y6e=(e,t)=>{var i,o,s,c,u,l,f,p;let r={},n=(c=(s=(o=(i=e.extensions)==null?void 0:i[Ro])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:c[t];if(n){for(let d in n.properties){let h=n.properties[d],m=H5t(h);r[d]=m}return r}let a=(p=(f=(l=(u=e.extensions)==null?void 0:u[Qu])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:p[t];if(a){for(let d in a.properties){let h=a.properties[d],m=W5t(h);r[d]=m}return r}return null},H5t=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=rn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=rn.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=rn.STRING_TYPE;break;default:t=rn.STRING_TYPE;break}return t},W5t=e=>{let t;if(e.array)t=rn.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=rn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=rn.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=rn.STRING_TYPE;break;default:t=rn.STRING_TYPE;break}return t};var Ok=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var UDt={},K5t=1,X5t=1,js=3,qy=2,Y5t=4,Q5t="string",J5t="Int32",Z5t="Float64",eDt="Oid32",_6e=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],Jf=new Z;async function jN({tileContent:e,tileTransform:t,tileBoundingVolume:r,addNodeToNodePage:n,propertyTable:a,featuresHashArray:i,attributeStorageInfo:o,draco:s,generateBoundingVolumes:c,shouldMergeMaterials:u,geoidHeightModel:l,libraries:f,metadataClass:p}){var _;let d=c,h=await mDt((_=e.gltf)==null?void 0:_.materials,u),m=d6e(e,t,r),g=m6e(e,p),x=await nDt(m,h,d,g);c&&tDt(x,l);let y=[];for(let S of h){let T=S.mergedMaterials[0].originalMaterialId;if(!x.has(T))continue;let O=x.get(T);if(!O)continue;let{material:I,texture:B}=S,D=await n();y.push(await rDt({convertedAttributes:O,material:I,texture:B,tileContent:e,nodeId:D,featuresHashArray:i,propertyTable:a,attributeStorageInfo:o,draco:s,libraries:f}))}return y.length?y:null}function tDt(e,t){for(let r of e.values()){let n=f6e(r.positions,t);r.boundingVolumes=n;let a=n.obb.center;for(let i=0;i<r.positions.length;i+=js){let o=r.positions.subarray(i,i+js);Pt.WGS84.cartesianToCartographic(Array.from(o),Jf),t&&(Jf[2]=Jf[2]-t.getHeight(Jf[1],Jf[0])),Jf=Jf.subtract(a),r.positions.set(Jf,i)}}}async function rDt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:a,featuresHashArray:i,propertyTable:o,attributeStorageInfo:s,draco:c,libraries:u}){var A;let l=e.boundingVolumes,f=e.positions.length/js,{faceRange:p,featureIds:d,positions:h,normals:m,colors:g,uvRegions:x,texCoords:y,featureCount:_}=u6e(e),S={};o&&(S=ADt(d,e.featureIndices,i,o));let T=new Uint32Array(2),O=RDt(d);T.set([f,_],0);let I=new Uint8Array(bn(T.buffer,h.buffer,m.buffer,r?y.buffer:new ArrayBuffer(0),g.buffer,x,O.buffer,p.buffer)),B=c?LDt(f,e,{positions:h,normals:m,texCoords:r?y:new Float32Array(0),colors:g,uvRegions:x,featureIds:d,faceRange:p},u):null,D=[];return s&&o&&(D=FDt(d,S,o,s)),{nodeId:a,geometry:I,compressedGeometry:B,texture:r,hasUvRegions:Boolean(x.length),sharedResources:_Dt(((A=n.gltf)==null?void 0:A.materials)||[],a),meshMaterial:t,vertexCount:f,attributes:D,featureCount:_,boundingVolumes:l}}async function nDt(e,t,r,n){let{nodes:a,images:i,cartographicOrigin:o,cartesianModelMatrix:s}=e,c=new Map;for(let u of t){let l={positions:new Float32Array(0),normals:new Float32Array(0),texCoords:new Float32Array(0),colors:new Uint8Array(0),uvRegions:new Uint16Array(0),featureIndicesGroups:[],featureIndices:[],boundingVolumes:null,mergedMaterials:u.mergedMaterials};for(let f of u.mergedMaterials)c.set(f.originalMaterialId,l)}k6e({nodes:a,images:i,cartographicOrigin:o,cartesianModelMatrix:s,attributesMap:c,useCartesianPositions:r,featureTexture:n});for(let u of c.keys()){let l=c.get(u);if(l){if(l.positions.length===0){c.delete(u);continue}l.featureIndicesGroups&&(l.featureIndices=l.featureIndicesGroups.reduce((f,p)=>f.concat(p)),delete l.featureIndicesGroups)}}return c}function k6e({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i,matrix:o=new mr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){if(e)for(let c of e)iDt({node:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i,matrix:o,featureTexture:s})}function aDt(e,t){let r=t,{matrix:n,rotation:a,scale:i,translation:o}=e;return n&&(r=t.multiplyRight(n)),o&&(r=r.translate(o)),a&&(r=r.rotateXYZ(a)),i&&(r=r.scale(i)),r}function iDt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i,matrix:o=new mr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let c=aDt(e,o),u=e.mesh;u&&oDt({mesh:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i,matrix:c,featureTexture:s}),k6e({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i,matrix:c,featureTexture:s})}function oDt({mesh:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i=!1,matrix:o,featureTexture:s}){var c;for(let u of e.primitives){let l=null,f;u.material?(l=a.get(u.material.id),f=(c=l==null?void 0:l.mergedMaterials.find(({originalMaterialId:h})=>{var m;return h===((m=u.material)==null?void 0:m.id)}))==null?void 0:c.uvRegion):a.has("default")&&(l=a.get("default")),yt(l!==null,"Primitive - material mapping failed"),yt(u.mode===void 0||u.mode===ht.TRIANGLES||u.mode===ht.TRIANGLE_STRIP,`Primitive - unsupported mode ${u.mode}`);let p=u.attributes;if(!l)continue;let d=sDt(u);l.positions=Wi(l.positions,w6e({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:cDt,useCartesianPositions:i})),l.normals=Wi(l.normals,w6e({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:uDt,useCartesianPositions:!1})),l.texCoords=Wi(l.texCoords,lDt(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=Wi(l.colors,fDt(p.COLOR_0,d)),f&&(l.uvRegions=Wi(l.uvRegions,pDt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(dDt(hDt(p,u,t,s),d))}}function sDt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return Ok(n.length/js)}if(t&&e.mode===ht.TRIANGLE_STRIP){let n=t.constructor,a=new n((t.length-2)*3),i=0,o=t.slice(0,3);a.set(o,0);for(let s=1;s+2<t.length;s++)i+=3,o=t.slice(s,s+3),s%2===0?a.set(o,i):a.set(o.reverse(),i);t=a}return t}function w6e(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,a=new Float32Array(r.length*js);if(!t)return a;for(let i=0;i<r.length;i++){let o=r[i]*js,s=t.subarray(o,o+js),c=new Z(Array.from(s));c=n(c,e),a[i*js]=c.x,a[i*js+1]=c.y,a[i*js+2]=c.z}return a}function cDt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:a,useCartesianPositions:i}=t;return a&&(e=e.transform(a)),e=e.transform(r),i||(Pt.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function uDt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function lDt(e,t){let r=new Float32Array(t.length*qy);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let a=t[n]*qy,i=e.subarray(a,a+qy);r[n*qy]=i[0],r[n*qy+1]=i[1]}return r}function fDt(e,t){let r=(e==null?void 0:e.components)||Y5t,n=new Uint8Array(t.length*r);if(!e)return n.fill(255),n;let a=e.value;for(let i=0;i<t.length;i++){let o=t[i]*r,s=a.subarray(o,o+r),c=new Uint8Array(r);for(let u=0;u<s.length;u++)c[u]=s[u]*255;n.set(c,i*r)}return n}function pDt(e,t){let r=new Uint16Array(t.length*4);for(let n=0;n<r.length;n+=4)r.set(e,n);return r}function dDt(e,t){if(!e.length||!t.length)return[];let r=[];for(let n=0;n<t.length;n++){let a=t[n];r.push(e[a])}return r}function hDt(e,t,r,n){let a=g6e(e,t,r,n);if(a.length)return a;for(let i=0;i<_6e.length;i++){let o=_6e[i];if(e[o]&&e[o].value)return e[o].value}return[]}async function mDt(e=[],t){let r=[];for(let n of e)r.push(vDt(n));return t&&(r=await gDt(r)),r}async function gDt(e){var r,n;let t=[];for(;e.length>0;){let a=e.splice(0,1)[0],i=[];for(let o=0;o<e.length;o++){let s=e[o];(a.texture&&s.texture||!a.texture&&!s.texture)&&(a=await bDt(a,s),i.push(o))}if(a.texture&&i.length){let o=(r=a.mergedMaterials)==null?void 0:r.reduce((u,{textureSize:l})=>u+((l==null?void 0:l.width)||0),0),s=(n=a.mergedMaterials)==null?void 0:n.reduce((u,{textureSize:l})=>Math.max(u,(l==null?void 0:l.height)||0),0),c=-1;for(let u of a.mergedMaterials)if(u.textureSize){let l=c+1+u.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;u.uvRegion=new Uint16Array([c+1,0,l,u.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),c=l}a.texture.image.width=o,a.texture.image.height=s}for(let o of i.reverse())e.splice(o,1);t.push(a)}return t.length||t.push({material:yDt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function bDt(e,t){var r,n;if((r=e.texture)!=null&&r.bufferView&&((n=t.texture)!=null&&n.bufferView)&&e.mergedMaterials&&t.mergedMaterials){let a=Buffer.from(e.texture.bufferView.data),i=Buffer.from(t.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([a,i],{direction:"horizontal"});e.texture.bufferView.data=await s.toFormat(e.texture.mimeType==="image/png"?"png":"jpeg").toBuffer()}catch(o){throw console.log("Join images into a texture atlas has failed. Consider usage `--split-nodes` option. (See documentation https://loaders.gl/modules/tile-converter/docs/cli-reference/tile-converter)"),o}e.material.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId=1}return e.mergedMaterials=e.mergedMaterials.concat(t.mergedMaterials),e}function vDt(e){var a,i,o,s,c;let t={doubleSided:e.doubleSided,emissiveFactor:(a=e.emissiveFactor)==null?void 0:a.map(u=>Math.round(u*255)),alphaMode:xDt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((i=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:i.roughnessFactor)||K5t,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||X5t}},r;(s=e==null?void 0:e.pbrMetallicRoughness)!=null&&s.baseColorTexture?(r=e.pbrMetallicRoughness.baseColorTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}):e.emissiveTexture&&(r=e.emissiveTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}),e.id=Number.isFinite(e.id)?e.id:Xc();let n=[{originalMaterialId:e.id}];if(r)n[0].textureSize={width:r.image.width,height:r.image.height};else{let u=(c=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:c.baseColorFactor;t.pbrMetallicRoughness.baseColorFactor=u&&u.map(l=>Math.round(l*255))||void 0}return{material:t,texture:r,mergedMaterials:n}}function xDt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function yDt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function _Dt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:a,textureDefinitionInfo:i}=wDt(n,t);r.materialDefinitionInfos.push(a),i&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(i))}return r}function wDt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=EDt(r.texture,t));let{baseColorFactor:a,metallicFactor:i}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=a;return(!a||a[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:TDt(o||[1,1,1,1],i),textureDefinitionInfo:n}}function TDt(e,t=1){let r=.00015686274509803922,n=new Co(0,0,0,1),a=new Co(1,1,1,1),i=new Co(r,r,r,0),o=new Co(e),s=a.subtract(i).multiply(o),c=s.lerp(s,n,t);i[3]=1;let u=i.lerp(i,o,t);return{params:{diffuse:c.toArray(),specular:u.toArray(),renderMode:"solid"}}}function EDt(e,t){var r,n,a,i;return{encoding:(r=e==null?void 0:e.source)!=null&&r.mimeType?[e.source.mimeType]:void 0,images:[{id:SDt(e,t),size:(n=e.source)==null?void 0:n.image.width,length:(a=e.source)!=null&&a.image.data.length?[(i=e.source)==null?void 0:i.image.data.length]:void 0}]}}function SDt(e,t){var m;let{width:r,height:n}=((m=e.source)==null?void 0:m.image)||{};if(!r||!n)return"";let a=1,i=0,o=t+1,s=32-o.toString(2).length,c="0".repeat(s).concat(o.toString(2)),u=a<<28,l=i<<24,f=r-1<<12,p=n-1<<0,d=u+l+f+p;return BigInt(`0b${d.toString(2)}${c}`).toString()}function ADt(e,t,r,n){let a=kDt(e,n,r);return T6e(t,a),T6e(e,a),a}function kDt(e,t,r){let n={};for(let a=0;a<e.length;a++){let i=e[a],o=ODt(a,t,r);n[i.toString()]=o}return n}function DDt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function ODt(e,t,r){let n=DDt(t,e),a=(0,A6e.default)(n);return r.includes(a)?r.indexOf(a):r.push(a)-1}function T6e(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function FDt(e,t,r,n){let a=[],o=v6e(e,r)?b6e(t,r):r,s={OBJECTID:e,...o};for(let c in s){let u=CDt(c,n);if(u){let l=s[c],f=PDt(u,l);a.push(f)}}return a}function PDt(e,t){let r;switch(e){case eDt:case J5t:r=IDt(t);break;case Z5t:r=jDt(t);break;case Q5t:r=E6e(t);break;default:r=E6e(t)}return r}function CDt(e,t){let r=t.find(n=>n.name===e);return r?r.attributeValues?r.attributeValues.valueType:(console.error(`attributeValues is null, attribute=${r}`),""):(console.error(`attribute is null, key=${e}, attributeStorageInfo=${JSON.stringify(t,null,2)}`),"")}function IDt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return bn(t.buffer,r.buffer)}function jDt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return bn(t.buffer,r.buffer,n.buffer)}function E6e(e){let t=new Uint32Array([e.length]),r=0,n=new Uint32Array(e.length),a=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,c=Buffer.from(s),u=c.length;r+=u,n[o]=u,a.push(c)}let i=new Uint32Array([r]);return bn(t.buffer,i.buffer,n.buffer,...a)}function RDt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function LDt(e,t,r,n){let{positions:a,normals:i,texCoords:o,colors:s,uvRegions:c,featureIds:u,faceRange:l}=r,f=new Uint32Array(e);for(let g=0;g<f.length;g++)f.set([g],g);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=MDt(p,l),h={positions:a,normals:i,colors:s,"feature-index":d};o.length&&(h.texCoords=o);let m={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(u)}};return c.length&&(h["uv-region"]=c,m["uv-region"]={"i3s-attribute-type":"uv-region"}),Km({attributes:h,indices:f},GA,{...GA.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:m},["draco-writer"]:{workerUrl:BDt()}})}function BDt(){try{let t=(0,S6e.createRequire)(UDt.url).resolve("@loaders.gl/draco/package.json");return(0,Pk.join)((0,Pk.dirname)(t),"src/workers/draco-writer-worker-node.cjs")}catch{return"./modules/draco/src/workers/draco-writer-worker-node.cjs"}}function MDt(e,t){let r=new Uint32Array(e.length),n=0,a=0;for(let i=1;i<t.length;i+=2){let o=(t[i]+1)*js;r.fill(n,a,o),n++,a=o+1}return r}function D6e(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:a,extension:i}=zDt(e);switch(a){case Qu:return r=qDt(i,t),r;case Ro:return r=NDt(i,t),r;default:return null}}function qDt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return Fk(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return Fk(r)}return null}function NDt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return Fk(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return Fk(n)}return null}function Fk(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function zDt(e){var i,o,s,c;let t=[Ro,Qu];if(!((i=e==null?void 0:e.gltf)==null?void 0:i.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let u of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(t.includes(u)){n=u;break}if(!n)return{extensionName:null,extension:null};let a=(c=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:c[n];return{extensionName:n,extension:a}}var F6e=Dt(Is(),1),P6e=require("path");var O6e=()=>({serviceItemId:{path:"serviceItemId"},serviceName:{path:"layerName"},name:{path:"layerName"},currentVersion:{path:"currentVersion",default:10.7},serviceVersion:{path:"serviceVersion",default:"1.8"},supportedBindings:{path:"supportedBindings",default:["REST"]},layers:{path:"layers0",transform:e=>[e]}});async function C6e(e,t,r){let n={serviceItemId:Xc().replace(/-/gi,""),layerName:e,layers0:t},a=(0,F6e.default)(n,O6e()),i=(0,P6e.join)(r,"SceneServer");await Ci(i,JSON.stringify(a))}var RN=16;function I6e(e,t){let r=[],n=e.boundingVolume,a=e.lodMetricValue||.1,i={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*RN/a},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*i.maxError*i.maxError};return n.constructor.name==="OrientedBoundingBox"?(r.push(o),r.push(i)):(r.push(i),r.push(o)),r}function LN(e){var n,a;let t=(n=e.lodSelection)==null?void 0:n.find(i=>i.metricType==="maxScreenThreshold"),r=t==null?void 0:t.maxError;if(!r){let i=(a=e.lodSelection)==null?void 0:a.find(o=>o.metricType==="maxScreenThresholdSQ");i&&(r=Math.sqrt(i.maxError/(Math.PI*.25)))}return r||(r=RN),e.mbs[3]*2*RN/r}var GDt=[9,-18,-88,0,96,90,0,0,-60,-20,-9,18,8,0,-96,30,0,0,60,-20,9,-88,-18,90,96,0,-20,-60,0,0,186,-42,-42,-150,-96,-150,60,60,60,60,54,162,-78,30,-24,-90,-60,60,-60,60,-9,-32,18,30,24,0,20,-60,0,0,-9,8,18,30,-96,0,-20,60,0,0,54,-78,162,-90,-24,30,60,-60,60,-60,-54,78,78,90,144,90,-60,-60,-60,-60,9,-8,-18,-30,-24,0,20,60,0,0,-9,18,-32,0,24,30,0,0,-60,20,9,-18,-8,0,-24,-30,0,0,60,20],VDt=372,$Dt=[0,0,-131,0,138,144,0,0,-102,-31,0,0,7,0,-138,42,0,0,102,-31,62,0,-31,0,0,-62,0,0,0,31,124,0,-62,0,0,-124,0,0,0,62,124,0,-62,0,0,-124,0,0,0,62,62,0,-31,0,0,-62,0,0,0,31,0,0,45,0,-183,-9,0,93,18,0,0,0,216,0,33,87,0,-93,12,-93,0,0,156,0,153,99,0,-93,-12,-93,0,0,-45,0,-3,9,0,93,-18,0,0,0,-55,0,48,42,0,0,-84,31,0,0,-7,0,-48,-42,0,0,84,31],HDt=372,WDt=[18,-36,-122,0,120,135,0,0,-84,-31,-18,36,-2,0,-120,51,0,0,84,-31,36,-165,-27,93,147,-9,0,-93,18,0,210,45,-111,-93,-57,-192,0,93,12,93,162,141,-75,-93,-129,-180,0,93,-12,93,-36,-21,27,93,39,9,0,-93,-18,0,0,0,62,0,0,31,0,0,0,-31,0,0,124,0,0,62,0,0,0,-62,0,0,124,0,0,62,0,0,0,-62,0,0,62,0,0,31,0,0,0,-31,-18,36,-64,0,66,51,0,0,-102,31,18,-36,2,0,-66,-51,0,0,102,31],KDt=12,BN=(3+1)*(3+2)/2,XDt=2,eb=class{constructor(t){this._v00=0,this._v01=0,this._v10=0,this._v11=0,this._t=[],this.options=t,this._ix=this.options._width,this._iy=this.options._height}getHeight(t,r){if(t=Math.abs(t)>90?NaN:t,isNaN(t)||isNaN(r))return NaN;let n=YDt(r,360);r=n!==-180?n:180;let a=r*this.options._rlonres,i=-t*this.options._rlatres,o=Math.floor(a),s=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(i));a-=o,i-=s,s+=(this.options._height-1)/2,o+=o<0?this.options._width:o>=this.options._width?-this.options._width:0;let c=0,u=0,l=0,f=0,p=new Array(BN);if(o===this._ix&&s===this._iy)this.options.cubic?p=this._t:(c=this._v00,u=this._v01,l=this._v10,f=this._v11);else if(!this.options.cubic)c=this._rawval(o,s),u=this._rawval(o+1,s),l=this._rawval(o,s+1),f=this._rawval(o+1,s+1);else{let h=[this._rawval(o,s-1),this._rawval(o+1,s-1),this._rawval(o-1,s),this._rawval(o,s),this._rawval(o+1,s),this._rawval(o+2,s),this._rawval(o-1,s+1),this._rawval(o,s+1),this._rawval(o+1,s+1),this._rawval(o+2,s+1),this._rawval(o,s+2),this._rawval(o+1,s+2)],m=$Dt;s!==0&&(m=s===this.options._height-2?WDt:GDt);let g=VDt;s!==0&&(g=s===this.options._height-2?HDt:240);for(let x=0;x<BN;++x){p[x]=0;for(let y=0;y<KDt;++y)p[x]+=h[y]*m[BN*y+x];p[x]/=g}}if(!this.options.cubic){let h=(1-a)*c+a*u,m=(1-a)*l+a*f,g=(1-i)*h+i*m,x=this.options._offset+this.options._scale*g;return this._ix=o,this._iy=s,this._v00=c,this._v01=u,this._v10=l,this._v11=f,x}let d=p[0]+a*(p[1]+a*(p[3]+a*p[6]))+i*(p[2]+a*(p[4]+a*p[7])+i*(p[5]+a*p[8]+i*p[9]));return d=this.options._offset+this.options._scale*d,this._ix=o,this._iy=s,this._t=p,d}_rawval(t,r){t<0?t+=this.options._width:t>=this.options._width&&(t-=this.options._width),(r<0||r>=this.options._height)&&(r=r<0?-r:2*(this.options._height-1)-r,t+=(t<this.options._width/2?1:-1)*this.options._width/2);let n=this.options._datastart+XDt*(r*this.options._swidth+t),a=this.options.data[n],i=this.options.data[n+1];return a<<8|i}};function YDt(e,t){t=Math.abs(t);let r=j6e(e,t);return 2*Math.abs(r)===t?r-=j6e(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function j6e(e,t){return e-Math.floor(e/t)*t}var QDt=10,JDt=65535;function MN(e,t){let r=ZDt(e),n=r.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");let a=Number.MAX_VALUE,i=0,o=-1,s=-1,c="NONE",u="UNKNOWN",l=0,f=0,p=null,d=null;do{n=r.next();let x=n.value.line;if(x.length)if(x[0]==="#"){let y=x.split(" "),_=y[0],S=y[1];if(_!=="#"||!S)continue;let T=y.length>2?y.slice(2):[];if(S==="Description")c=T.join(" ");else if(S==="DateTime")u=T.join(" ");else if(S==="Offset"){if(!y[2])throw new Error("Geoid model file: Error reading offset");a=parseInt(y[2],10)}else if(S==="Scale"){if(!y[2])throw new Error("Geoid model file: Error reading scale");i=parseFloat(y[2])}else S===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(y[2]))&&(o=parseFloat(y[2])):S===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(y[2]))&&(s=parseFloat(y[2]))}else{let y=x.split(" ");if(y=y.filter(_=>_!==""),l=parseInt(y[0],10),f=parseInt(y[1],10),!(l&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=r.next();let h=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(h!==JDt)throw new Error("Geoid model file: Incorrect value of maxval");if(p=n.value.offset,d=l,a===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(i===0)throw new Error("Geoid model file: Scale not set");if(i<0)throw new Error("Geoid model file: Scale must be positive");if(f<2||l<2)throw new Error("Geoid model file: Raster size too small");if(l&1)throw new Error("Geoid model file: Raster width is odd");if(!(f&1))throw new Error("Geoid model file: Raster height is even");let m=l/360,g=(f-1)/180;return new eb({cubic:t.cubic,_width:l,_height:f,_rlonres:m,_rlatres:g,_offset:a,_scale:i,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:c,_datetime:u,data:e})}function*ZDt(e){let t=0;do{let r=e.indexOf(QDt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:R6e(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:R6e(n)}}}while(t<e.length);return{offset:t,line:""}}function R6e(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var eOt="4.5.1";var Ck={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:eOt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>MN(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var tb=Dt(Is(),1);var L6e={id:{path:"id",transform:e=>e.toUpperCase()},profile:{path:"profile",default:"meshpyramids"},version:{path:"version",default:"1.8"},resourcePattern:{path:"resourcePattern",default:["3dNodeIndexDocument","Attributes","SharedResource","Geometry"]},rootNode:{path:"rootNode",default:"./nodes/root"},extent:{path:"extent"},indexCRS:{path:"indexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},vertexCRS:{path:"vertexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},normalReferenceFrame:{path:"normalReferenceFrame",default:"east-north-up"},attributeEncoding:{path:"attributeEncoding",default:"application/octet-stream; version=1.6"},textureEncoding:{path:"textureEncoding",default:["image/jpeg","image/ktx2"]},lodType:{path:"lodType",default:"MeshPyramid"},lodModel:{path:"lodModel",default:"node-switching"},defaultGeometrySchema:{path:"defaultGeometrySchema",default:{geometryType:"triangles",header:[{property:"vertexCount",type:"UInt32"},{property:"featureCount",type:"UInt32"}],topology:"PerAttributeArray",ordering:["position","normal","uv0","color"],vertexAttributes:{position:{valueType:"Float32",valuesPerElement:3},normal:{valueType:"Float32",valuesPerElement:3},uv0:{valueType:"Float32",valuesPerElement:2},color:{valueType:"UInt8",valuesPerElement:4}},featureAttributeOrder:["id","faceRange"],featureAttributes:{id:{valueType:"UInt64",valuesPerElement:1},faceRange:{valueType:"UInt32",valuesPerElement:2}}}}};var tOt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),rOt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),nOt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),aOt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),B6e=()=>({version:{path:"version",transform:e=>e.toUpperCase()},id:{path:"id",default:0},name:{path:"name"},href:{path:"href",default:"./layers/0"},layerType:{path:"layerType",default:"IntegratedMesh"},spatialReference:{path:"spatialReference",transform:e=>(0,tb.default)(e,tOt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,tb.default)(e,L6e)},fullExtent:{path:"fullExtent",transform:e=>(0,tb.default)(e,aOt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,tb.default)(e,rOt())},nodePages:{path:"nodePages",transform:e=>(0,tb.default)(e,nOt())},materialDefinitions:{path:"materialDefinitions",default:[]},textureSetDefinitions:{path:"textureSetDefinitions",default:[]},geometryDefinitions:{path:"geometryDefinitions",default:[]},attributeStorageInfo:{path:"attributeStorageInfo",default:[]},fields:{path:"fields",default:[]},popupInfo:{path:"popupInfo",default:null}});var qN=Dt(Is(),1),iOt=()=>({offset:{default:8},position:{default:{type:"Float32",component:3}},normal:{default:{type:"Float32",component:3}},uv0:{path:"hasTexture",transform:e=>e&&{type:"Float32",component:2}||!1,omitValues:[!1]},color:{default:{type:"UInt8",component:4}},uvRegion:{path:"hasUvRegions",transform:e=>e&&{type:"UInt16",component:4}||!1,omitValues:[!1]},featureId:{default:{binding:"per-feature",type:"UInt64",component:1}},faceRange:{default:{binding:"per-feature",type:"UInt32",component:2}}}),oOt=()=>({"compressedAttributes.encoding":{default:"draco"},"compressedAttributes.attributes":{path:"geometryConfig",transform:e=>{let t=["position","normal"];return e.hasTexture&&t.push("uv0"),t.push("color"),e.hasUvRegions&&t.push("uv-region"),t.push("feature-index"),t}}}),M6e=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,qN.default)(e,iOt())];return e.draco&&t.push((0,qN.default)({geometryConfig:e},oOt())),t}}});var Ny=Dt(Is(),1),sOt=()=>({renderMode:{path:"renderMode",default:"solid"},shininess:{path:"shininess",default:1},reflectivity:{path:"reflectivity",default:0},ambient:{path:"ambient",default:[1,1,1]},diffuse:{path:"diffuse",default:[1,1,1]},specular:{path:"specular",default:[0,0,0]},useVertexColorAlpha:{path:"useVertexColorAlpha",default:!1},vertexRegions:{path:"vertexRegions",default:!1},vertexColors:{path:"vertexColors",default:!0}}),cOt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,Ny.default)(r,sOt())}}),uOt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),lOt=()=>({encoding:{path:"encoding"},wrap:{path:"wrap",default:["none"]},atlas:{path:"atlas",default:!1},uvSet:{path:"uvSet",default:"uv0"},channels:{path:"channels",default:"rgb"},images:{path:"images",transform:(e,t,r)=>e.map(n=>(0,Ny.default)(n,uOt()))}}),q6e=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:fOt},textureDefinitions:{path:"textureDefinitionInfos",transform:pOt}});function fOt(e,t,r){let n={};for(let[a,i]of e.entries())n[`Mat${r.nodePath}${a}`]=(0,Ny.default)(i,cOt());return n}function pOt(e,t,r){if(!e)return null;let n={};for(let[a,i]of e.entries()){let o=`${r.nodePath}${a}`;i.imageIndex=o,n[o]=(0,Ny.default)(i,lOt())}return n}var dOt=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]);function z6e(e){var r,n;if(!((r=e==null?void 0:e.parentNode)!=null&&r.obb)||!((n=e==null?void 0:e.parentNode)!=null&&n.mbs))return[];let t=[];return hOt(t,e),mOt(t,e),t}function hOt(e,t){var o;let r=gOt(t.parentNode.obb),n=bOt(t);if(vOt(r,n))return;let i=`OBB of Tile (${t.id}) doesn't fit into Parent (${(o=t.parentNode)==null?void 0:o.id}) tile OBB`;e.push(i)}function mOt(e,t){var i;let r=N6e(t.mbs),n=N6e(t.parentNode.mbs);if(r.center.distanceTo(n.center)+r.radius>n.radius){let o=`MBS of Tile (${t.id}) doesn't fit into Parent (${(i=t.parentNode)==null?void 0:i.id}) tile MBS`;e.push(o)}}function N6e(e){return new ci([e[0],e[1],e[2]],e[3])}function gOt(e){let{center:t,halfSize:r,quaternion:n}=e;return new pa().fromCenterHalfSizeQuaternion(t,r,n)}function bOt(e){let t=e.obb.halfSize,r=dOt,n=Pt.WGS84.cartographicToCartesian(e.obb.center),a=[];for(let i=0;i<r.length;i+=3){let s=new Z(r[i]*=t[0],r[i+1]*=t[1],r[i+2]*=t[2]).transformByQuaternion(e.obb.quaternion).add(n);a=a.concat(s)}return a}function vOt(e,t){let r=!0;for(let n=0;n<t.length/3;n+=3){let a=[t[n],t[n+1],t[n+2]],i=Pt.WGS84.cartesianToCartographic(a);if(e.distanceTo(i)>0){r=!1;break}}return r}var Ik=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var U6e=Dt(require("process"),1),xOt=4*1024*1024*1024,rb=class extends Ik{intervalId;conversionDump;writePromise=null;fileMap={};listeningInterval;writeConcurrency;constructor(t,r=2e3,n=400){super(),this.conversionDump=t,this.listeningInterval=r,this.writeConcurrency=n}async enqueue(t,r=!1){if(r){let{archiveKey:n,writePromise:a}=t,i=await a();n&&i&&(this.fileMap[n]=i)}else super.enqueue(t),U6e.default.memoryUsage().rss>xOt&&await this.startWrite()}startListening(){this.intervalId=setInterval(()=>this.startWrite.bind(this),this.listeningInterval)}stopListening(){this.intervalId&&clearInterval(this.intervalId)}async startWrite(){this.writePromise||(this.writePromise=this.doWrite()),await this.writePromise,this.writePromise=null}async finalize(){this.stopListening(),await this.startWrite()}async doWrite(){for(;this.length;){let t=[],r=[],n=[];for(let i=0;i<this.writeConcurrency;i++){let o=this.dequeue();if(!o)break;let{archiveKey:s,sourceId:c,outputId:u,resourceType:l,writePromise:f}=o;r.push(s),n.push({sourceId:c,outputId:u,resourceType:l});let p=f();t.push(p)}let a=await Promise.allSettled(t);this.updateFileMap(r,a),await this.conversionDump.updateConvertedTilesDump(n,a)}}updateFileMap(t,r){for(let n=0;n<t.length;n++){let a=t[n];a&&"value"in r[n]&&(this.fileMap[a]=r[n].value)}}};var nb="Tile converter does not work in browser, only in node js environment",Zf=".dump.json";var zN=require("path"),UN=Dt(Is(),1);var G6e=Dt(Is(),1),V6e=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),yOt=()=>({href:{path:"href"}}),_Ot=()=>({id:{path:"id"},...yOt(),...V6e()}),NN=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...V6e(),lodSelection:{path:"lodSelection",default:[{metricType:"maxScreenThresholdSQ",maxError:196349.54374999998},{metricType:"maxScreenThreshold",maxError:999.9999999999999}]},children:{path:"children",default:null},neighbors:{path:"neighbors",default:null},parentNode:{path:"parentNode",transform:e=>(0,G6e.default)(e,_Ot()),default:null},sharedResource:{path:"sharedResource",default:null},featureData:{path:"featureData",default:null},geometryData:{path:"geometryData",default:null},textureData:{path:"textureData",default:null},attributeData:{path:"attributeData",default:null}});var Rs=class{id;inPageId;data=null;children=[];converter;_finalized=!1;get finalized(){return this._finalized}constructor(t,r){this.inPageId=t,this.id=t===0?"root":t.toString(),this.converter=r}async addData(t){return this.converter.options.instantNodeWriting?await this.write(t):this.data=t,this}async addChildren(t){let r=[];for(let a of t){let i=await a.load();r.push({id:a.id,href:`../${a.id}`,obb:i.obb,mbs:i.mbs})}this.children=this.children.concat(t);let n=this.data;this.converter.options.instantNodeWriting&&(n=await this.load()),n&&(n.children=n.children??[],n.children=n.children.concat(r)),this.converter.options.instantNodeWriting&&n&&await this.write(n)}async addNeighbors(){var r;if(this.finalized)return;let t=await this.load();for(let n of this.children){let a=await n.load();if(a.neighbors=a.neighbors??[],Number((r=t==null?void 0:t.children)==null?void 0:r.length)<1e3)for(let i of t.children||[])n.id!==i.id&&a.neighbors.push({...i});else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete a.neighbors;this.converter.options.instantNodeWriting&&a&&await n.write(a),await n.save()}this.finalize()}async save(){this.data&&await this.write(this.data)}finalize(){this._finalized=!0;for(let t of this.children)t.flush()}async write(t){let r=(0,zN.join)(this.converter.layers0Path,"nodes",this.id);await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>Yc(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,zN.join)(this.converter.layers0Path,"nodes",t);return await Qg(r,"3dNodeIndexDocument.json")}flush(){this.data=null}static async createRootNode(t,r){let n=Rs.createRootNodeIndexDocument(t);return await new Rs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:a,resources:i,converter:o}){let s=await Rs.createNodeIndexDocument(t,r,n,a,i);return await new Rs(a.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${Xc().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,UN.default)(r,NN())}static async createNodeIndexDocument(t,r,n,a,i){var l,f,p,d,h;let o=a.index,s=await t.load(),c={version:s.version,id:o.toString(),level:s.level+1,...r,lodSelection:n,parentNode:{id:t.id,href:`../${t.id}`,mbs:s.mbs,obb:s.obb},children:[],neighbors:[]},u=(0,UN.default)(c,NN());if(a.mesh&&(u.geometryData=[{href:"./geometries/0"}],u.sharedResource={href:"./shared"},("texture"in i&&i.texture||"texelCountHint"in i&&i.texelCountHint)&&(u.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),"attributes"in i&&i.attributes&&i.attributes.length&&((f=(l=t.converter.layers0)==null?void 0:l.attributeStorageInfo)!=null&&f.length)||"attributesCount"in i&&i.attributesCount&&((d=(p=t.converter.layers0)==null?void 0:p.attributeStorageInfo)!=null&&d.length))){let m=("attributes"in i?(h=i.attributes)==null?void 0:h.length:i.attributesCount)||0;u.attributeData=[];let g=m<t.converter.layers0.attributeStorageInfo.length?m:t.converter.layers0.attributeStorageInfo.length;for(let x=0;x<g;x++){let y=t.converter.layers0.attributeStorageInfo[x].key;u.attributeData.push({href:`./attributes/${y}/0`})}}return u}};var GN=async(e,t,r)=>{let n=zy(t);if(!e||!t.contentUrl||!n)return;let a={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},i=await jk(t.contentUrl,e.loader,a);i.root&&(t.children=[i.root])},VN=async(e,t,r)=>{let n=zy(t);if(!e||!t.contentUrl||n)return null;let a={...r,[e.loader.id]:{...r[e.loader.id]||{},isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}};return await jk(t.contentUrl,e.loader,a)};async function jk(e,t,r){let n=e.split(".3tz"),a;if(n.length===1)a=null;else if(n.length===2)a=n[1].slice(1),a===""&&(a="tileset.json");else throw new Error("Unexpected URL format");if(a){let i=`${n[0]}.3tz`,o=wOt(i),s=await TOt(o),c=new Cy(o,s,i),u=new pl(c),l=await Wr(a,t,r);return await u.destroy(),l}return await Wr(e,t,r)}function zy(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}function wOt(e){return e.startsWith("http://")||e.startsWith("https://")?new m0(e):cr?new m0(e):new Ga(e)}async function TOt(e){let t,r=await Yd(e,Jd),n=await Qd(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let a=await Cs(n.localHeaderOffset,e);if(!a)throw new Error("corrupted 3tz");let i=a.fileDataOffset,o=await Xr(e,i,i+a.compressedSize);t=Fy(o)}return t}var Rk=async({tile:e,traversalProps:t,processTile:r,postprocessTile:n,maxDepth:a,level:i=0})=>{if(a&&i>a)return;let o=[],s=await r(e,t);o.push(s);for(let c of e.children)await Rk({tile:c,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:a,level:i+1});n&&await n(o,t)};var EOt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],$6e=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await Yi(e.gltfArrayBuffer,Ju,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let a=SOt(n),i=AOt(n);return{meshTopologyTypes:a,metadataClasses:i}},SOt=e=>{let t=new Set;for(let r of e.meshes||[])for(let n of r.primitives){let{mode:a}=n;typeof a!="number"&&(a=4),t.add(EOt[a])}return t},AOt=e=>{var a,i,o,s,c,u;let t=new Set,r=(o=(i=(a=e.extensions)==null?void 0:a[Ro])==null?void 0:i.schema)==null?void 0:o.classes;if(r)for(let l of Object.keys(r))t.add(l);let n=(u=(c=(s=e.extensions)==null?void 0:s[Qu])==null?void 0:c.schema)==null?void 0:u.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},H6e=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var W6e=Dt(require("process"),1);var kOt=.2,ab=class{_stepsTotal=0;_stepsDone=0;startTime=0;stopTime=0;timeOfUpdatingStepsDone=0;milliSecForOneStep=0;trust=!1;numberOfDigitsInPercentage=0;threshold;getTime;constructor(t={}){this.getTime=t.getTime||W6e.default.hrtime.bigint,this.threshold=t.threshold||kOt}get stepsTotal(){return this._stepsTotal}set stepsTotal(t){this._stepsTotal=t,this.numberOfDigitsInPercentage=this.stepsTotal>100?Math.ceil(Math.log10(this.stepsTotal))-2:0}get stepsDone(){return this._stepsDone}set stepsDone(t){if(this._stepsDone=t,this.timeOfUpdatingStepsDone=this.getCurrentTimeInMilliSeconds(),this._stepsDone){let n=(this.timeOfUpdatingStepsDone-this.startTime)/this._stepsDone;this.trust=this.isVelocityTrust(n,this.milliSecForOneStep),this.milliSecForOneStep=n}}startMonitoring(){this.startTime=this.getCurrentTimeInMilliSeconds(),this.milliSecForOneStep=0,this.trust=!1,this.timeOfUpdatingStepsDone=0,this.stopTime=0,this.stepsDone=0}stopMonitoring(){this.stopTime=this.getCurrentTimeInMilliSeconds()}getPercent(){return this._stepsTotal?this._stepsDone/this._stepsTotal*100:null}getPercentString(){let t=this.getPercent();return t!==null?t.toFixed(this.numberOfDigitsInPercentage):""}getTimeCurrentlyElapsed(){return(this.stopTime?this.stopTime:this.getCurrentTimeInMilliSeconds())-this.startTime}getTimeRemaining(){return!this._stepsTotal||!this._stepsDone||!this.startTime?null:{timeRemaining:(this._stepsTotal-this._stepsDone)*this.milliSecForOneStep,trust:this.trust}}getTimeRemainingString(){let t=this.getTimeRemaining();return t!=null&&t.trust?Jg(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var _Se=require("util");var sp=require("path"),wSe=Dt(require("process"),1),TSe=Dt(xSe(),1);var ySe={type:"object",properties:{options:{type:"object",properties:{inputUrl:{type:"string"},outputPath:{type:"string"},tilesetName:{type:"string"},maxDepth:{type:"number"},slpk:{type:"boolean"},egmFilePath:{type:"string"},token:{type:"string"},draco:{type:"boolean"},mergeMaterials:{type:"boolean"},generateTextures:{type:"boolean"},generateBoundingVolumes:{type:"boolean"},metadataClass:{type:"string"},analyze:{type:"boolean"}},required:["inputUrl","outputPath","tilesetName"]},tilesConverted:{type:"object",patternProperties:{".*":{type:"object",properties:{nodes:{type:"array",items:{type:"object",properties:{nodeId:{type:["number","string"]},done:{type:"boolean"},progress:{type:"object",patternProperties:{".*":{type:"boolean"}}},dumpMetadata:{type:"object",properties:{boundingVolumes:{type:["object","null"],properties:{mbs:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},obb:{type:"object",properties:{center:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},halfSize:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},quaternion:{type:"array",minItems:4,maxItems:4,items:{type:"number"}}},required:["center","halfSize","quaternion"]}},required:["mbs","obb"]},attributesCount:{type:"number"},featureCount:{type:"number"},geometry:{type:"boolean"},hasUvRegions:{type:"boolean"},materialId:{type:"number"},texelCountHint:{type:"number"},vertexCount:{type:"number"}},required:["boundingVolumes","featureCount","geometry","hasUvRegions","materialId","vertexCount"]}},required:["nodeId","done"]}}},required:["nodes"]}}},textureSetDefinitions:{type:"array",items:{type:"object",properties:{formats:{type:"array",items:{type:"object",properties:{name:{type:"string"},format:{enum:["jpg","png","ktx-etc2","dds","ktx2"]}},required:["name","format"]}},atlas:{type:"boolean"}},required:["formats"]}},attributeMetadataInfo:{type:"object",properties:{attributeStorageInfo:{type:"array",items:{type:"object",properties:{key:{type:"string"},name:{type:"string"},header:{type:"array",items:{type:"object",properties:{property:{type:"string"},valueType:{type:"string"}},required:["property","valueType"]}},ordering:{type:"array",items:{type:"string"}},attributeValues:{$ref:"#/$defs/AttributeValue"},attributeByteCounts:{$ref:"#/$defs/AttributeValue"},objectIds:{$ref:"#/$defs/AttributeValue"}},required:["key","name","header"]}},fields:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{$ref:"#/$defs/ESRIField"},alias:{type:"string"},domain:{$ref:"#/$defs/Domain"}},required:["name","type"]}},popupInfo:{type:"object",properties:{title:{type:"string"},description:{type:"string"},expressionInfos:{type:"array",items:{}},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}},mediaInfos:{type:"array",items:{}},popupElements:{type:"array",items:{type:"object",properties:{text:{type:"string"},type:{type:"string"},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}}}}}}}},required:["attributeStorageInfo","fields"]},materialDefinitions:{type:"array",items:{type:"object",properties:{pbrMetallicRoughness:{type:"object",properties:{baseColorFactor:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},baseColorTexture:{$ref:"#/$defs/I3SMaterialTexture"},metallicFactor:{type:"number"},roughnessFactor:{type:"number"},metallicRoughnessTexture:{$ref:"#/$defs/I3SMaterialTexture"}},required:["metallicFactor","roughnessFactor"]},normalTexture:{$ref:"#/$defs/I3SMaterialTexture"},occlusionTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveFactor:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},alphaMode:{enum:["opaque","mask","blend"]},alphaCutoff:{type:"number"},doubleSided:{type:"boolean"},cullFace:{enum:["none","front","back"]}},required:["pbrMetallicRoughness","alphaMode"]}}},required:["options","tilesConverted"],$defs:{AttributeValue:{type:"object",properties:{valueType:{type:"string"},encoding:{type:"string"},valuesPerElement:{type:"number"}},required:["valueType"]},ESRIField:{enum:["esriFieldTypeDate","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeInteger","esriFieldTypeOID","esriFieldTypeSmallInteger","esriFieldTypeString"]},Domain:{type:"object",properties:{type:{type:"string"},name:{type:"string"},description:{type:"string"},fieldType:{type:"string"},range:{type:"array",items:{type:"number"}},codedValues:{type:"array",items:{type:"object",properties:{name:{type:"string"},code:{type:["string","number"]}},required:["name","code"]}},mergePolicy:{type:"string"},splitPolicy:{type:"string"}},required:["type","name"]},FieldInfo:{type:"object",properties:{fieldName:{type:"string"},visible:{type:"boolean"},isEditable:{type:"boolean"},label:{type:"string"}},required:["fieldName","visible","isEditable","label"]},I3SMaterialTexture:{type:"object",properties:{textureSetDefinitionId:{type:"number"},texCoord:{type:"number"},factor:{type:"number"}},required:["textureSetDefinitionId"]}}};var fh=class{restored=!1;options;tilesConverted;textureSetDefinitions;attributeMetadataInfo;materialDefinitions;constructor(){this.tilesConverted={}}async createDump(t){let{tilesetName:r,slpk:n,egmFilePath:a,inputUrl:i,outputPath:o,draco:s=!0,maxDepth:c,token:u,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p=!0,metadataClass:d,analyze:h=!1,outputVersion:m="1.1"}=t;this.options={tilesetName:r,slpk:n,egmFilePath:a,inputUrl:i,outputPath:o,draco:s,maxDepth:c,token:u,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p,metadataClass:d,analyze:h,outputVersion:m};let g=(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`);if(await jy(g))try{let x=await Qg((0,sp.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${Zf}`),{options:y,tilesConverted:_,textureSetDefinitions:S,attributeMetadataInfo:T,materialDefinitions:O}=x;if(new TSe.default().compile(ySe)(x)&&(0,_Se.isDeepStrictEqual)(y,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=_,this.textureSetDefinitions=S,this.attributeMetadataInfo=T,this.materialDefinitions=O,this.restored=!0;return}}catch(x){console.log("Can't open dump file",x)}await this.deleteDumpFile()}reset(){this.restored=!1,this.tilesConverted={},this.textureSetDefinitions&&delete this.textureSetDefinitions,this.attributeMetadataInfo&&delete this.attributeMetadataInfo,this.materialDefinitions&&delete this.materialDefinitions}async updateDumpFile(){var t;if((t=this.options)!=null&&t.outputPath&&this.options.tilesetName)try{let r=wSe.default.hrtime();await Ci((0,sp.join)(this.options.outputPath,this.options.tilesetName),JSON.stringify({options:this.options,tilesConverted:this.tilesConverted,textureSetDefinitions:this.textureSetDefinitions,attributeMetadataInfo:this.attributeMetadataInfo,materialDefinitions:this.materialDefinitions}),`${this.options.tilesetName}${Zf}.${r[0]}.${r[1]}`),await a6e((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}.${r[0]}.${r[1]}`),(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await jy((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))&&await Ly((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}getRecord(t){return this.tilesConverted[t]}setRecord(t,r){this.tilesConverted[t]=r}async addNode(t,r,n){let{nodes:a}=this.getRecord(t)||{nodes:[]};a.push({nodeId:r,done:!1,dumpMetadata:n}),a.length===1&&this.setRecord(t,{nodes:a}),await this.updateDumpFile()}clearDumpRecord(t){this.setRecord(t,{nodes:[]})}addTexturesDefinitions(t){this.textureSetDefinitions=t}updateDoneStatus(t,r,n,a){var o;let i=(o=this.tilesConverted[t])==null?void 0:o.nodes.find(s=>s.nodeId===r);i&&(i.progress||(i.progress={}),i.progress[n]=a,a||(i.done=!1))}async updateConvertedTilesDump(t,r){for(let n=0;n<t.length;n++)if(t[n]&&"value"in r[n]){let{sourceId:a,resourceType:i,outputId:o}=t[n];this.updateNodes(a,o,i)}await this.updateDumpFile()}updateNodes(t,r,n){if(!(!t||!n||!r)){for(let a of this.tilesConverted[t].nodes)if(a.nodeId===r&&a.progress){a.progress[n]=!0;let i=!1;for(let o in a.progress)if(i=a.progress[o],!i)break;a.done=i,a.done&&delete a.progress;break}}}async updateConvertedNodesDumpFile(t,r,n){var i;let a=(i=this.tilesConverted[t])==null?void 0:i.nodes.find(o=>o.nodeId===r);a&&(a.done=n,await this.updateDumpFile())}isFileConversionComplete(t){var n,a,i;let r=!0;for(let o of((n=this.tilesConverted[t])==null?void 0:n.nodes)||[])if(!o.done){r=!1;break}return r&&((i=(a=this.tilesConverted[t])==null?void 0:a.nodes)==null?void 0:i.length)>0}setMaterialsDefinitions(t){this.materialDefinitions=t}};var SSe,e9t=(SSe=ph.default.env)==null?void 0:SSe.IonToken,ESe=64,t9t="3DTILES",r9t="3DObject",n9t=1800,a9t="https://",cp="phase1-count",yb=class{attributeMetadataInfo;nodePages;options;layers0Path;materialMap;materialDefinitions;geometryMap;geometryConfigs;vertexCounter;layers0;featuresHashArray;refinementCounter;validate;boundingVolumeWarnings=[];conversionStartTime=[0,0];refreshTokenTime=[0,0];sourceTileset=null;loadOptions={core:{_nodeWorkers:!0,reuseWorkers:!0,useLocalLibraries:!0},basis:{format:"rgba32",workerUrl:"./modules/textures/dist/basis-worker-node.js"},draco:{workerUrl:"./modules/draco/dist/draco-worker-node.js"},modules:{}};geoidHeightModel=null;Loader=Nc;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new rb(new fh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new pA,this.nodePages=new Oa(Ci,ESe,this),this.options={},this.layers0Path="",this.materialMap=new Map,this.materialDefinitions=[],this.geometryMap=new Map,this.geometryConfigs=[],this.vertexCounter=0,this.layers0=null,this.featuresHashArray=[],this.refinementCounter={tilesCount:0,tilesWithAddRefineCount:0},this.validate=!1,this.generateTextures=!1,this.generateBoundingVolumes=!1,this.layersHasTexture=!1,this.compressList=null,this.conversionDump=new fh}async convert(t){var x;if(cr)return console.log(nb),nb;this.conversionStartTime=ph.default.hrtime();let{tilesetName:r,egmFilePath:n,inputUrl:a,validate:i,outputPath:o,draco:s=!0,maxDepth:c,token:u,generateTextures:l,generateBoundingVolumes:f,instantNodeWriting:p=!1,mergeMaterials:d=!0,inquirer:h,metadataClass:m,analyze:g=!1}=t;this.options={outputPath:o,tilesetName:r,maxDepth:c,egmFilePath:n,draco:s,token:u,inputUrl:a,instantNodeWriting:p,mergeMaterials:d,inquirer:h,metadataClass:m},this.progresses[cp]=new ab,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(i),this.Loader=a.indexOf(a9t)!==-1?k8:Nc,this.generateTextures=Boolean(l),this.generateBoundingVolumes=Boolean(f),this.writeQueue=new rb(this.conversionDump),this.writeQueue.startListening(),n.toLowerCase()==="none"?console.log('--egm chousen to be "none", skip loading egm file'):(console.log("Loading egm file..."),this.geoidHeightModel=await Wr(n,Ck),console.log("Loading egm file completed!")),this.nodePages.useWriteFunction(Yc);try{let y=await this._fetchPreloadOptions(),_=a;if(y.url&&(_=y.url),y.headers){(x=this.loadOptions).core||(x.core={});let T=this.loadOptions.core.fetch;if(typeof T=="function")this.loadOptions.core.fetch=(O,I)=>T(O,{...I||{},headers:y.headers});else{let O=T&&typeof T=="object"?T:{};this.loadOptions.core.fetch={...O,headers:y.headers}}}this.sourceTileset=await jk(_,this.Loader,this.loadOptions),(this.Loader===Nc||g?await this.preprocessConversion():!0)&&!g&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(o,r),await this._finishConversion({outputPath:o,tilesetName:r}))}catch(y){throw y}finally{await this.writeQueue.finalize(),za.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await Rk({tile:t,traversalProps:null,processTile:this.analyzeTile.bind(this),postprocessTile:void 0,maxDepth:this.options.maxDepth});let{meshTopologyTypes:r,metadataClasses:n}=this.preprocessData;return console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`Tile count: ${this.progresses[cp].stepsTotal}`),console.log(`glTF mesh topology types: ${Array.from(r).join(", ")}`),n.size?console.log(`Feature metadata classes have been found: ${Array.from(n).join(", ")}`):console.log("Feature metadata classes have not been found"),!r.has("TRIANGLES")&&!r.has("TRIANGLE_STRIP")?(console.log("The tileset is of unsupported mesh topology types. The conversion will be interrupted."),console.log("------------------------------------------------"),!1):(console.log("------------------------------------------------"),!0)}async analyzeTile(t,r){if(zy(t))return await GN(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[cp].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let a=null;try{a=await VN(this.sourceTileset,t,{...this.loadOptions,"3d-tiles":{...this.loadOptions["3d-tiles"],loadGLTF:!1}})}catch{console.log(`[warning]: Failed to load ${t.contentUrl}. An I3S tile with empty content will be added to the output tileset`)}let i=await $6e(a);return H6e(this.preprocessData,i),null}async selectMetadataClass(){var r;let{metadataClasses:t}=this.preprocessData;if(t.size>1)if((r=this.options.metadataClass)!=null&&r.length)console.log(`${this.options.metadataClass} has been selected`);else if(this.options.inquirer){let n=await this.options.inquirer.prompt([{name:"metadataClass",type:"list",message:"Select feature metadata data class to convert...",choices:Array.from(t)}]);this.options.metadataClass=n.metadataClass,console.log(`${n.metadataClass} has been selected`)}else return console.log(`A feature metadata class has not been selected. Start the converter with option "--metadata-class". For example, "npx tile-converter ... --metadata-class ${Array.from(t)[0]}"`),console.log("------------------------------------------------"),!1;return!0}async _createAndSaveTileset(t,r){var u,l,f;let n=(0,Xo.join)(`${t}`,`${r}`);await this.conversionDump.createDump(this.options),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),this.layers0Path=(0,Xo.join)(n,"SceneServer","layers","0");let a=this.conversionDump.restored?(0,Xo.join)(this.layers0Path,"nodepages"):n;try{await Ry(a)}catch{}if(this.conversionDump.restored&&this.conversionDump.attributeMetadataInfo&&this.attributeMetadataInfo.fromObject(this.conversionDump.attributeMetadataInfo),this.materialDefinitions=[],this.materialMap=new Map,this.conversionDump.restored&&this.conversionDump.materialDefinitions){for(let p=0;p<this.conversionDump.materialDefinitions.length;p++){let d=(0,b4.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let i=this.sourceTileset.root,o=k1(i.boundingVolume,new mr(i.transform),null);this._formLayers0(r,o,(f=(l=(u=this.sourceTileset)==null?void 0:u.root)==null?void 0:l.boundingVolume)==null?void 0:f.region);let s=Dk(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[cp].startMonitoring();let c=await Rs.createRootNode(s,this);await Rk({tile:i,traversalProps:{transform:new mr(i.transform),parentNodes:[c]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[cp].stopMonitoring(),console.log("[finalizing conversion]"),this.layers0.attributeStorageInfo=this.attributeMetadataInfo.attributeStorageInfo,this.layers0.fields=this.attributeMetadataInfo.fields,this.layers0.popupInfo=this.attributeMetadataInfo.popupInfo,this.attributeMetadataInfo.attributeStorageInfo.length&&(this.layers0.layerType=r9t),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,g4.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),M6e()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),C6e(r,this.layers0,n);for(let p of this.compressList||[])await Ek(p),await Ly(p);await this.nodePages.save(),await this.writeQueue.finalize(),await this._createSlpk(n)}_formLayers0(t,r,n){var s;if(!((s=this.sourceTileset)!=null&&s.root))return;let a=p6e(r);n&&(a.zmin=n[4],a.zmax=n[5]);let i=[a.xmin,a.ymin,a.xmax,a.ymax],o={version:`{${Xc().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${Xc().toUpperCase()}}`,extent:i},nodePages:{nodesPerPage:ESe},compressGeometry:this.options.draco,fullExtent:a};this.layers0=(0,g4.default)(o,B6e())}async _writeLayers0(){await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>Yc(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")})}async _createSlpk(t){await this.conversionDump.deleteDumpFile();let r=(0,Xo.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await TN(r,n,async a=>({path:"@specialIndexFileHASH128@",file:await Py(a)}));try{await Ry(t)}catch{}}async convertTile(t,r){let n=zy(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await GN(this.sourceTileset,t,this.loadOptions)),r;t.id&&console.log(`[convert]: ${t.id}`);let{parentNodes:a,transform:i}=r,o=i.clone();t.transform&&(o=o.multiplyRight(t.transform));let s=a[0],c=await this._restoreNode(s,t,o),u;c===null?u=await this._createNode(s,t,o):u=c,await s.addChildren(u);let l={transform:o,parentNodes:u};if(t.id){this.progresses[cp].stepsDone+=1;let f="Calculating time left...",p=this.progresses[cp].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[cp].getPercentString(),h=d?` ${d}%, ${f}`:"";console.log(`[converted${h}]: ${t.id}`)}return l}async finalizeTile(t,r){for(let n of t)for(let a of n.parentNodes)await a.addNeighbors();for(let n of r.parentNodes)await n.save()}async _generateNodeIndexDocument(t,r,n,a,i){this.layersHasTexture=this.layersHasTexture||Boolean("texture"in r&&r.texture||"texelCountHint"in r&&r.texelCountHint),this.generateBoundingVolumes&&r.boundingVolumes&&(t=r.boundingVolumes);let o=I6e(a,t),s=o.find(f=>f.metricType==="maxScreenThresholdSQ")||{maxError:0};if(i){let f={center:[],halfSize:[],quaternion:[]};await this.nodePages.push({index:0,obb:f},n.inPageId)}let c=await this._updateNodeInNodePages(s,t,a,n.inPageId,r),u=await Rs.createNodeIndexDocument(n,t,o,c,r);return{node:await new Rs(c.index,this).addData(u),nodeInPage:c,nodeData:u}}async _restoreNode(t,r,n){if(this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions(),this.conversionDump.restored&&r.id&&this.conversionDump.isFileConversionComplete(r.id)){let a=k1(r.boundingVolume,n,null),i=Dk(a,this.geoidHeightModel),o=[];for(let s of this.conversionDump.tilesConverted[r.id].nodes){let{node:c}=await this._generateNodeIndexDocument(i,{...s.dumpMetadata,nodeId:s.nodeId},t,r,!0);o.push(c)}return o}else this.conversionDump.restored&&r.id&&this.conversionDump.clearDumpRecord(r.id);return null}async _createNode(t,r,n){var d;this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions();let a=null;try{a=await VN(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let i=k1(r.boundingVolume,n,null),o=Dk(i,this.geoidHeightModel),s=D6e(a,this.options.metadataClass);this.createAttributeStorageInfo(a,s),this.conversionDump.attributeMetadataInfo={attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,fields:this.attributeMetadataInfo.fields,popupInfo:this.attributeMetadataInfo.popupInfo};let c=await this._convertResources({sourceTile:r,transformationMatrix:n,boundingVolume:i,tileContent:a,parentId:t.inPageId,propertyTable:s}),u=[],l=[],f=[],p={geometry:null,compressedGeometry:null,texture:null,hasUvRegions:!1,sharedResources:null,meshMaterial:null,vertexCount:null,attributes:null,featureCount:null,boundingVolumes:null};for(let h of c||[p]){let{node:m,nodeInPage:g,nodeData:x}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(u.push(m),g.mesh){if(r.id){let y={boundingVolumes:h.boundingVolumes,attributesCount:(d=h.attributes)==null?void 0:d.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:g.mesh.material.definition,texelCountHint:g.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,g.index,y)}await this._writeResources(h,m.id,r)}this.validate&&(this.boundingVolumeWarnings=z6e(x),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(g.index),f.push(g)}return u}async _convertResources({sourceTile:t,transformationMatrix:r,boundingVolume:n,tileContent:a,parentId:i,propertyTable:o}){if(!this.isContentSupported(t)||!a)return null;let s={center:[],halfSize:[],quaternion:[]};return await jN({tileContent:a,tileTransform:r,tileBoundingVolume:n,addNodeToNodePage:async()=>(await this.nodePages.push({index:0,obb:s},i)).index,propertyTable:o,featuresHashArray:this.featuresHashArray,attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,draco:this.options.draco??!1,generateBoundingVolumes:this.generateBoundingVolumes,shouldMergeMaterials:this.options.mergeMaterials??!1,geoidHeightModel:this.geoidHeightModel,libraries:this.loadOptions.modules,metadataClass:this.options.metadataClass})}async _updateNodeInNodePages(t,r,n,a,i){let{vertexCount:o,featureCount:s,geometry:c,hasUvRegions:u}=i,l={index:0,lodThreshold:t.maxError,obb:r.obb,children:[]};c&&this.isContentSupported(n)&&(l.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean("texture"in i&&i.texture||"texelCountHint"in i&&i.texelCountHint),u),resource:0},attribute:{resource:0},material:{definition:0}});let f="nodeId"in i?i.nodeId:void 0,p;if(f?p=await this.nodePages.getNodeById(f):p=await this.nodePages.push(l,a),l.mesh||console.log(`[warning]: node ${p.index} is created with empty content`),Oa.updateAll(p,l),"meshMaterial"in i&&i.meshMaterial?Oa.updateMaterialByNodeId(p,this._findOrCreateMaterial(i.meshMaterial)):"materialId"in i&&i.materialId!==null&&Oa.updateMaterialByNodeId(p,i.materialId),"texture"in i&&i.texture){let d=i.texture.image.height*i.texture.image.width;Oa.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in i&&i.texelCountHint&&Oa.updateTexelCountHintByNodeId(p,i.texelCountHint);return o&&(this.vertexCounter+=o,Oa.updateVertexCountByNodeId(p,o)),Oa.updateNodeAttributeByNodeId(p),s&&Oa.updateFeatureCountByNodeId(p,s),this.nodePages.saveNode(p),p}async _writeResources(t,r,n){let{geometry:a,compressedGeometry:i,texture:o,sharedResources:s,attributes:c}=t,u=(0,Xo.join)(this.layers0Path,"nodes",r),l=(0,Xo.join)("nodes",r);await this._writeGeometries({geometryBuffer:a,compressedGeometry:i,childPath:u,slpkChildPath:l,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeShared({sharedResources:s,childPath:u,slpkChildPath:l,nodePath:r,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeTexture(o,u,l,n.id||"",parseInt(r)),await this._writeAttributes(c,u,l,n.id||"",parseInt(r))}async _writeGeometries({geometryBuffer:t,compressedGeometry:r,childPath:n,slpkChildPath:a,sourceId:i,nodeId:o}){if(!t)return;this.conversionDump.updateDoneStatus(i,o,"GEOMETRY",!1);let s=(0,Xo.join)(n,"geometries");if(await this.writeQueue.enqueue({archiveKey:`${a}/geometries/0.bin.gz`,sourceId:i,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Yc(s,t,"0.bin")}),this.options.draco&&r){this.conversionDump.updateDoneStatus(i,o,"DRACO_GEOMETRY",!1);let c=(0,Xo.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${a}/geometries/1.bin.gz`,sourceId:i,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Yc(c,r,"1.bin")})}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:a,sourceId:i,nodeId:o}){if(!t)return;t.nodePath=a;let s=(0,g4.default)(t,q6e()),c=JSON.stringify(s);this.conversionDump.updateDoneStatus(i,o,"SHARED",!1);let u=(0,Xo.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:i,outputId:o,resourceType:"SHARED",writePromise:()=>Yc(u,c,"sharedResource.json")})}async _writeTexture(t,r,n,a,i){if(t){let o=this._getFormatByMimeType(t==null?void 0:t.mimeType),s=[],c=t.bufferView.data;switch(o){case"jpg":case"png":{if(s.push({name:"0",format:o}),this.conversionDump.updateDoneStatus(a,i,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:c,name:"0",format:o,childPath:r,slpkChildPath:n,sourceId:a,nodeId:i}),this.generateTextures){s.push({name:"1",format:"ktx2"});let u=t.image.data.subarray(),l=new Uint8Array(u),f=Km({...t.image,data:l},G7,{...G7.options,["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0});this.conversionDump.updateDoneStatus(a,i,`${"TEXTURE"}/ktx2`,!1),await this.writeTextureFile({textureData:f,name:"1",format:"ktx2",childPath:r,slpkChildPath:n,sourceId:a,nodeId:i})}break}case"ktx2":{if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(a,i,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:c,name:"1",format:o,childPath:r,slpkChildPath:n,sourceId:a,nodeId:i}),this.generateTextures){s.push({name:"0",format:"jpg"});let u=Km(t.image.data[0],F7);this.conversionDump.updateDoneStatus(a,i,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile({textureData:u,name:"0",format:"jpg",childPath:r,slpkChildPath:n,sourceId:a,nodeId:i})}break}default:}this.layers0.textureSetDefinitions.length||(this.layers0.textureSetDefinitions.push({formats:s}),this.layers0.textureSetDefinitions.push({formats:s,atlas:!0}),this.layers0.textureSetDefinitions&&this.conversionDump.addTexturesDefinitions(this.layers0.textureSetDefinitions))}}async writeTextureFile({textureData:t,name:r,format:n,childPath:a,slpkChildPath:i,sourceId:o,nodeId:s}){let c=(0,Xo.join)(a,"textures"),u=!1;await this.writeQueue.enqueue({archiveKey:`${i}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Yc(c,t,`${r}.${n}`,u)})}async _writeAttributes(t=[],r,n,a,i){if(t!=null&&t.length&&this.attributeMetadataInfo.attributeStorageInfo.length){let o=t.length<this.attributeMetadataInfo.attributeStorageInfo.length?t.length:this.attributeMetadataInfo.attributeStorageInfo.length;for(let s=0;s<o;s++){let c=this.attributeMetadataInfo.attributeStorageInfo[s].key,u=new Uint8Array(t[s]);this.conversionDump.updateDoneStatus(a,i,`${"ATTRIBUTES"}/${c}`,!1);let l=(0,Xo.join)(r,"attributes",c);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${c}.bin.gz`,sourceId:a,outputId:i,resourceType:`${"ATTRIBUTES"}/${c}`,writePromise:()=>Yc(l,u,"0.bin")})}}}_getFormatByMimeType(t){switch(t){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/ktx2":return"ktx2";default:return"jpg"}}_findOrCreateMaterial(t){let r=(0,b4.default)(JSON.stringify(t));if(this.materialMap.has(r))return this.materialMap.get(r)||0;let n=this.materialDefinitions.push(t)-1;return this.materialMap.set(r,n),n}findOrCreateGeometryDefinition(t,r){let n={hasTexture:t,hasUvRegions:r},a=(0,b4.default)(JSON.stringify(n));if(this.geometryMap.has(a))return this.geometryMap.get(a)||0;let i=this.geometryConfigs.push(n)-1;return this.geometryMap.set(a,i),i}createAttributeStorageInfo(t,r){let n=null;this.options.metadataClass?!this.attributeMetadataInfo.attributeStorageInfo.length&&(t!=null&&t.gltf)&&(n=y6e(t.gltf,this.options.metadataClass)):r&&(n=x6e(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,a=n?n/r*100:0,i=await kk({outputPath:t.outputPath,tilesetName:t.tilesetName,slpk:!0}),o=ph.default.hrtime(this.conversionStartTime),s=Jg(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${t9t}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",i," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',a,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let t={"cesium-ion":{accessToken:this.options.token||e9t}},r=await this.Loader.preload(this.options.inputUrl??"",t);return this.refreshTokenTime=ph.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){var n;if(ph.default.hrtime(this.refreshTokenTime)[0]<n9t)return;this.refreshTokenTime=ph.default.hrtime();let r=await this._fetchPreloadOptions();if(r.headers){(n=this.loadOptions).core||(n.core={});let a=this.loadOptions.core.fetch;if(typeof a=="function")this.loadOptions.core.fetch=(i,o)=>a(i,{...o||{},headers:r.headers});else{let i=a&&typeof a=="object"?a:{};this.loadOptions.core.fetch={...i,headers:r.headers}}console.log("Authorization Bearer token has been updated")}}_checkAddRefinementTypeForTile(t){let r=1;t.refine===r&&(this.refinementCounter.tilesWithAddRefineCount+=1,console.warn('This tile uses "ADD" type of refinement')),this.refinementCounter.tilesCount+=1}isContentSupported(t){return["b3dm","glTF","scenegraph"].includes(t.type||"")}};var JSe=require("path"),IU=Dt(require("process"),1),ZSe=Dt(Is(),1);function DU(e){switch(e){case"UInt8":return Uint8Array;case"UInt16":return Uint16Array;case"UInt32":return Uint32Array;case"Float32":return Float32Array;case"UInt64":return Float64Array;default:throw new Error(`parse i3s tile content: unknown type of data: ${e}`)}}var ASe={UInt8:ht.UNSIGNED_BYTE,UInt16:ht.UNSIGNED_SHORT,Float32:ht.FLOAT,UInt32:ht.UNSIGNED_INT,UInt64:ht.DOUBLE};function _b(e){switch(e){case"UInt8":return 1;case"UInt16":case"Int16":return 2;case"UInt32":case"Int32":case"Float32":return 4;case"UInt64":case"Int64":case"Float64":return 8;default:throw new Error(`parse i3s tile content: unknown size of data: ${e}`)}}var kSe="String",DSe="Oid32",OSe="Float64",FSe="Int16",dh={DEFAULT:"default",LNGLAT:"lnglat",METER_OFFSETS:"meter-offsets",LNGLAT_OFFSETS:"lnglat-offsets",CARTESIAN:"cartesian"};function v4(e){let t;try{let r=new URL(e);t=`${r.origin}${r.pathname}`,t.startsWith("null")&&(t=null)}catch{t=null}return t||e}function wb(e,t=null){return t?`${e}?token=${t}`:e}function PSe(e,t){let{attributeData:r=[]}=t,n=[];for(let a=0;a<r.length;a++){let i=r[a].href.replace("./","");n.push(`${e}/${i}`)}return n}function CSe(e,t,r){let n=[],{attributeStorageInfo:a=[]}=e;for(let i=0;i<a.length;i++){let o=a[i].key;n.push(`${t}/nodes/${r}/attributes/${o}/0`)}return n}var x4=new Z([0,0,0]);function i9t(e){switch(e){case"ktx-etc2":case"dds":return h8;case"ktx2":return Pd;case"jpg":case"png":default:return sg}}var o9t="i3s-attribute-type";async function LSe(e,t,r,n,a){var o;let i={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new mr,coordinateSystem:"meter-offsets",byteLength:0,texture:null};if(t.textureUrl){let s=wb(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),c=i9t(t.textureFormat),f=await(await((a==null?void 0:a.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(c===sg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await Vi(f,[],p,a);i.texture=d}catch{let h=await Yi(f,c,p,a);i.texture=h}}else if(c===h8||c===Pd){let p=await Wr(f,c,t.textureLoaderOptions);c===Pd&&(p=p[0]),i.texture={compressed:!0,mipmaps:!1,width:p[0].width,height:p[0].height,data:p}}}else i.texture=f}return i.material=m9t(t.materialDefinition,i.texture),i.material&&(i.texture=null),await s9t(e,i,t,r,n)}async function s9t(e,t,r,n,a){var f,p;let i=e.byteLength,o,s,c=0,u=0,l;if(r.isDracoGeometry){let d=await Yi(e,Ad,{draco:{attributeNameEntry:o9t}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:m,COLOR_0:g,TEXCOORD_0:x,["feature-index"]:y,["uv-region"]:_}=d.attributes;o={position:h,normal:m,color:g,uv0:x,uvRegion:_,id:y},c9t(o,d);let S=x9t(y);S&&v9t(o,S)}else{let{vertexAttributes:d,ordering:h,featureAttributes:m,featureAttributeOrder:g}=n.store.defaultGeometrySchema,x=l9t(e,n);c=x.byteOffset,s=x.vertexCount,u=x.featureCount;let{attributes:y,byteOffset:_}=jSe(e,c,d,s,h),{attributes:S}=jSe(e,_,m,u,g);b9t(S),o=u9t(y,S)}if(!((p=a==null?void 0:a.i3s)!=null&&p.coordinateSystem)||a.i3s.coordinateSystem===dh.METER_OFFSETS){let d=p9t(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem="meter-offsets"}else t.modelMatrix=h9t(o.position),t.coordinateSystem="lnglat-offsets";t.attributes={positions:o.position,normals:o.normal,colors:ISe(o.color),texCoords:o.uv0,uvRegions:ISe(o.uvRegion||o.region)},t.indices=l||null,o.id&&o.id.value&&(t.featureIds=o.id.value);for(let d in t.attributes)t.attributes[d]||delete t.attributes[d];return t.vertexCount=s,t.byteLength=i,t}function c9t(e,t){for(let r in t.loaderData.attributes){let n=t.loaderData.attributes[r];switch(n.name){case"POSITION":e.position.metadata=n.metadata;break;case"feature-index":e.id.metadata=n.metadata;break;default:break}}}function u9t(e,t){return{...e,...t}}function ISe(e){return e&&(e.normalized=!0,e)}function l9t(e,t){let r=0,n=0,a=0;for(let{property:i,type:o}of t.store.defaultGeometrySchema.header){let s=DU(o);switch(i){case"vertexCount".toString():n=new s(e,0,4)[0],r+=_b(o);break;case"featureCount".toString():a=new s(e,4,4)[0],r+=_b(o);break;default:break}}return{vertexCount:n,featureCount:a,byteOffset:r}}function jSe(e,t,r,n,a){let i={};for(let o of a)if(r[o]){let{valueType:s,valuesPerElement:c}=r[o];if(t+n*c*_b(s)<=e.byteLength){let u=e.slice(t),l;if(s==="UInt64")l=f9t(u,n*c,_b(s));else{let f=DU(s);l=new f(u,0,n*c)}switch(i[o]={value:l,type:ASe[s],size:c},o){case"color":i.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*c*_b(s)}else if(o!=="uv0")break}return{attributes:i,byteOffset:t}}function f9t(e,t,r){let n=[],a=new DataView(e),i=0;for(let o=0;o<t;o++){let s=a.getUint32(i,!0),c=a.getUint32(i+4,!0),u=s+2**32*c;n.push(u),i+=r}return new Uint32Array(n)}function p9t(e,t){let r=t.mbs,n=e.value,a=e.metadata,i=new mr,o=new Z(r[0],r[1],r[2]),s=new Z;return Pt.WGS84.cartographicToCartesian(o,s),Pt.WGS84.eastNorthUpToFixedFrame(s,i),e.value=d9t(n,a,o),i}function d9t(e,t={},r){let n=new Float64Array(e.length),a=t["i3s-scale_x"]&&t["i3s-scale_x"].double||1,i=t["i3s-scale_y"]&&t["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*a+r.x,n[o+1]=e[o+1]*i+r.y,n[o+2]=e[o+2]+r.z;for(let o=0;o<n.length;o+=3)Pt.WGS84.cartographicToCartesian(n.subarray(o,o+3),x4),n[o]=x4.x,n[o+1]=x4.y,n[o+2]=x4.z;return n}function h9t(e){var i,o;let t=e.metadata,r=((i=t==null?void 0:t["i3s-scale_x"])==null?void 0:i.double)||1,n=((o=t==null?void 0:t["i3s-scale_y"])==null?void 0:o.double)||1,a=new mr;return a[0]=r,a[5]=n,a}function m9t(e,t){let r;return e?r={...e,pbrMetallicRoughness:e.pbrMetallicRoughness?{...e.pbrMetallicRoughness}:{baseColorFactor:[255,255,255,255]}}:(r={pbrMetallicRoughness:{}},t?r.pbrMetallicRoughness.baseColorTexture={texCoord:0}:r.pbrMetallicRoughness.baseColorFactor=[255,255,255,255]),r.alphaCutoff=r.alphaCutoff||.25,r.alphaMode&&(r.alphaMode=r.alphaMode.toUpperCase()),r.emissiveFactor&&(r.emissiveFactor=RSe(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=RSe(r.pbrMetallicRoughness.baseColorFactor)),t&&g9t(r,t),r}function RSe(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function g9t(e,t){let r={source:{image:t}};e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture?e.pbrMetallicRoughness.baseColorTexture={...e.pbrMetallicRoughness.baseColorTexture,texture:r}:e.emissiveTexture?e.emissiveTexture={...e.emissiveTexture,texture:r}:e.pbrMetallicRoughness&&e.pbrMetallicRoughness.metallicRoughnessTexture?e.pbrMetallicRoughness.metallicRoughnessTexture={...e.pbrMetallicRoughness.metallicRoughnessTexture,texture:r}:e.normalTexture?e.normalTexture={...e.normalTexture,texture:r}:e.occlusionTexture&&(e.occlusionTexture={...e.occlusionTexture,texture:r})}function b9t(e){let{id:t,faceRange:r}=e;if(!t||!r)return;let n=t.value,a=r.value,i=a[a.length-1]+1,o=new Uint32Array(i*3),s=0,c=0;for(let u=1;u<a.length;u+=2){let l=Number(n[s]),f=a[u],p=a[u-1],d=f-p+1,h=c+d*3;o.fill(l,c,h),s++,c=h}e.id.value=o}function v9t(e,t){let r=e.id.value,n=new Float32Array(r.length);for(let a=0;a<r.length;a++)n[a]=t[r[a]];e.id.value=n}function x9t(e){var t,r;return(r=(t=e==null?void 0:e.metadata)==null?void 0:t["i3s-feature-ids"])==null?void 0:r.intArray}var y9t="4.5.1",BSe={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:y9t,mimeTypes:["application/octet-stream"],parse:_9t,extensions:["bin"],options:{"i3s-content":{}}};async function _9t(e,t,r){let{tile:n,_tileOptions:a,tileset:i,_tilesetOptions:o}=(t==null?void 0:t.i3s)||{},s=a||n,c=o||i;return!s||!c?null:await LSe(e,s,c,t,r)}var w9t="4.5.1",MSe={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:w9t,mimeTypes:["application/json"],parse:T9t,extensions:["json"],options:{i3s:{}}};async function T9t(e,t){return JSON.parse(new TextDecoder().decode(e))}var E9t=["","WEBKIT_","MOZ_"],qSe={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},g_=class{tileset;nodePages=[];pendingNodePages=[];nodesPerPage;options;lodSelectionMetricType;textureDefinitionsSelectedFormats=[];nodesInNodePages;url;textureLoaderOptions={};constructor(t,r="",n){var a,i;this.tileset={...t},this.url=r,this.nodesPerPage=((a=t.nodePages)==null?void 0:a.nodesPerPage)||64,this.lodSelectionMetricType=(i=t.nodePages)==null?void 0:i.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(t)}async getNodeById(t){var a;let r=Math.floor(t/this.nodesPerPage);if(!this.nodePages[r]&&!this.pendingNodePages[r]){let i=wb(`${this.url}/nodepages/${r}`,(a=this.options.i3s)==null?void 0:a.token);this.pendingNodePages[r]={status:"Pending",promise:Wr(i,MSe,this.options)},this.nodePages[r]=await this.pendingNodePages[r].promise,this.nodesInNodePages+=this.nodePages[r].nodes.length,this.pendingNodePages[r].status="Done"}this.pendingNodePages[r].status==="Pending"&&(this.nodePages[r]=await this.pendingNodePages[r].promise);let n=t%this.nodesPerPage;return this.nodePages[r].nodes[n]}async formTileFromNodePages(t){let r=await this.getNodeById(t),n=[],a=[];for(let d of r.children||[])a.push(this.getNodeById(d));let i=await Promise.all(a);for(let d of i)n.push({id:d.index.toString(),obb:d.obb});let o,s,c,u="jpg",l=[],f=!1;if(r&&r.mesh){let{url:d,isDracoGeometry:h}=r.mesh.geometry&&this.getContentUrl(r.mesh.geometry)||{isDracoGeometry:!1};o=d,f=h;let{textureData:m,materialDefinition:g}=this.getInformationFromMaterial(r.mesh.material);c=g,u=m.format||u,m.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${m.name}`),this.tileset.attributeStorageInfo&&(l=CSe(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return OU({id:t.toString(),lodSelection:p,obb:r.obb,contentUrl:o,textureUrl:s,attributeUrls:l,materialDefinition:c,textureFormat:u,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(t){let r=null,n=this.tileset.geometryDefinitions[t.definition],a=-1,i=this.options.i3s;if(i&&typeof i=="object"&&i.useDracoGeometry&&(a=n.geometryBuffers.findIndex(o=>o.compressedAttributes&&o.compressedAttributes.encoding==="draco")),a===-1&&(a=n.geometryBuffers.findIndex(o=>!o.compressedAttributes)),a!==-1){let o=Boolean(n.geometryBuffers[a].compressedAttributes);r={url:`${this.url}/nodes/${t.resource}/geometries/${a}`,isDracoGeometry:o}}return r}getLodSelection(t){let r=[];return this.lodSelectionMetricType==="maxScreenThresholdSQ"&&r.push({metricType:"maxScreenThreshold",maxError:Math.sqrt(t.lodThreshold/(Math.PI*.25))}),r.push({metricType:this.lodSelectionMetricType,maxError:t.lodThreshold}),r}getInformationFromMaterial(t){var n,a,i;let r={textureData:{name:null}};if(t){let o=(n=this.tileset.materialDefinitions)==null?void 0:n[t.definition];if(o){r.materialDefinition=o;let s=(i=(a=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:a.baseColorTexture)==null?void 0:i.textureSetDefinitionId;typeof s=="number"&&(r.textureData=this.textureDefinitionsSelectedFormats[s]||r.textureData)}}return r}initSelectedFormatsForTextureDefinitions(t){this.textureDefinitionsSelectedFormats=[];let r=this.getSupportedTextureFormats(),n=t.textureSetDefinitions||[];for(let a of n){let i=a&&a.formats||[],o=null;for(let s of r){let c=i.find(u=>u.format===s);if(c){o=c;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[],r=this.options.i3s;if(!r||r.useCompressedTextures){let n=S9t();n.has("etc2")&&t.push("ktx-etc2"),n.has("dxt")&&t.push("dds"),t.push("ktx2")}return t.push("jpg"),t.push("png"),t}};function S9t(e){let t=new Set;e=e||A9t()||void 0;for(let r of E9t)for(let n in qSe)e&&e.getExtension(`${r}${n}`)&&t.add(qSe[n]);return t}function A9t(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}function NSe(e,t){let r=t.url||"",n;e.geometryData&&(n=`${r}/${e.geometryData[0].href}`);let a;e.textureData&&(a=`${r}/${e.textureData[0].href}`);let i;e.attributeData&&(i=PSe(r,e));let o=e.children||[];return OU({...e,children:o,url:r,contentUrl:n,textureUrl:a,textureFormat:"jpg",attributeUrls:i,isDracoGeometry:!1})}function OU(e){var s,c;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Pt.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Pt.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new pa().fromCenterHalfSizeQuaternion(t.box.slice(0,3),e.obb.halfSize,e.obb.quaternion).getBoundingSphere();t.sphere=[...l.center,l.radius],r=[...e.obb.center,l.radius]}let n=(s=e.lodSelection)==null?void 0:s[0].metricType,a=(c=e.lodSelection)==null?void 0:c[0].maxError,i="mesh",o=2;return{...e,mbs:r,boundingVolume:t,lodMetricType:n,lodMetricValue:a,type:i,refine:o}}async function zSe(e,t,r){let n=v4(r.url||""),a,i;if(e.nodePages)a=new g_(e,n,t),i=await a.formTileFromNodePages(0);else{let o=t.i3s&&typeof t.i3s=="object"?t.i3s:{},s=wb(`${n}/nodes/root`,o.token);i=await Wr(s,xl,{...t,i3s:{...o,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:xl,url:n,basePath:n,type:"I3S",nodePagesTile:a,root:i,lodMetricType:i.lodMetricType,lodMetricValue:i.lodMetricValue}}var k9t="4.5.1",D9t=/layers\/[0-9]+$/,O9t=/\.slpk$/,F9t=/nodes\/([0-9-]+|root)$/,P9t="504b0304",C9t="PointCloud",xl={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:k9t,mimeTypes:["application/octet-stream"],parse:I9t,extensions:["bin"],options:{i3s:{token:void 0,isTileset:"auto",isTileHeader:"auto",tile:void 0,tileset:void 0,_tileOptions:void 0,_tilesetOptions:void 0,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:dh.METER_OFFSETS}}};async function I9t(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},B9t(e)===P9t)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let i=v4(n),o;t.i3s.isTileset==="auto"?o=D9t.test(i)||O9t.test(i):o=t.i3s.isTileset;let s;return t.i3s.isTileHeader==="auto"?s=F9t.test(i):s=t.i3s.isTileHeader,o?e=await R9t(e,t,r):s?e=await L9t(e,r):e=await j9t(e,t),e}async function j9t(e,t){return await Yi(e,BSe,t)}async function R9t(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===C9t)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await zSe(n,t,r)}async function L9t(e,t){return e=JSON.parse(new TextDecoder().decode(e)),NSe(e,t)}function B9t(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var M9t=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/nodepages\/\d+$/,extensions:[".json.gz"]},{test:/sublayers\/\d+$/,extensions:["/3dSceneLayer.json.gz"]},{test:/nodes\/(\d+|root)$/,extensions:["/3dNodeIndexDocument.json.gz"]},{test:/nodes\/\d+\/textures\/.+$/,extensions:[".jpg",".png",".bin.dds.gz",".ktx",".ktx2"]},{test:/nodes\/\d+\/geometries\/\d+$/,extensions:[".bin.gz",".draco.gz"]},{test:/nodes\/\d+\/attributes\/f_\d+\/\d+$/,extensions:[".bin.gz"]},{test:/statistics\/(f_\d+\/\d+|summary)$/,extensions:[".json.gz"]},{test:/nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],y4=class extends dl{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new mc;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let a=(n=M9t.find(i=>i.test.test(t)))==null?void 0:n.extensions;if(a){let i;for(let o of a)if(i=await this.getDataByPath(`${t}${o}`),i)break;if(i)return i}}if(r==="raw"){let a=await this.getDataByPath(`${t}.gz`);if(a)return a;let i=await this.getFileBytes(t);if(i)return i}throw new Error(`No such file in the archive: ${t}`)}async getDataByPath(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!!r)return/\.gz$/.test(t)?await new Oy().decompress(r):r}async getFileBytes(t){let r;if(this.hashTable){let n=this._textEncoder.encode(t),a=await this._md5Hash.hash(n.buffer,"hex"),i=this.hashTable[a];if(i===void 0)return;let o=await Cs(i,this.file);if(!o)return;r=await Xr(this.file,o.fileDataOffset,o.fileDataOffset+o.compressedSize)}else try{r=await this.getFileWithoutHash(t)}catch{r=void 0}return r}};async function FU(e,t,r){let n=await Yd(e,Jd),a=await Qd(n,e),i;if((a==null?void 0:a.fileName)!=="@specialIndexFileHASH128@")i=await EN(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Cs(a.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,c=await Xr(e,s,s+o.compressedSize);i=Fy(c)}return new y4(e,i,r)}function GSe(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?q9t(n,e):null}:{}}function q9t(e,t){switch(e){case kSe:return U9t(t);case DSe:return USe(t);case OSe:return z9t(t);case FSe:return N9t(t);default:return USe(t)}}function USe(e){return new Uint32Array(e,4)}function N9t(e){return new Int16Array(e,4)}function z9t(e){return new Float64Array(e,8)}function U9t(e){let a=[];try{let i=new DataView(e,0,4).getUint32(0,!0),o=new Uint32Array(e,8,i),s=8+i*4;for(let c of o){let u=new TextDecoder("utf-8"),l=new Uint8Array(e,s,c);a.push(u.decode(l)),s+=c}}catch(i){console.error("Parse string attribute error: ",i.message)}return a}var G9t="4.5.1";var PU={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:G9t,mimeTypes:["application/binary"],parse:async(e,t)=>GSe(e,t),extensions:["bin"],options:{},binary:!0};function CU(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Pt.WGS84.cartographicToCartesian(r,new Z),a=new pa().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...a.center,...a.halfAxes.toArray()]}var _4=Dt(Is(),1),V9t=()=>({version:{path:"version",default:"1.0"}}),VSe=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,_4.default)(t,VSe()))}}),$Se=()=>({asset:{path:"asset",transform:e=>(0,_4.default)(e,V9t())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,_4.default)(e,VSe())}});function HSe(e,t){let r=new Float32Array(e.length),n=H9t(t);for(let a=0;a<e.length;a+=2){let i=e.subarray(a,a+2),o=n.slice(a*2,a*2+4),s=$9t([i[0],i[1]]),c=[o[2]-o[0],o[3]-o[1]],u=[s[0]*c[0],s[1]*c[1]],l=[u[0]+o[0],u[1]+o[1]];r[a]=l[0],r[a+1]=l[1]}return r}function $9t(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function H9t(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var W9t=new mr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),WSe=new Z,KSe="KHR_materials_unlit",K9t=1,X9t=1,w4=class{rtcCenter;i3sTile;tileType;constructor(t={outputVersion:"1.1"}){this.tileType=t.outputVersion==="1.0"?da.BATCHED_3D_MODEL:da.GLTF}async convert(t,r=null,n){let a=await this.buildGLTF(t,r,n);return this.tileType===da.BATCHED_3D_MODEL?yA({gltfEncoded:new Uint8Array(a),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},kN):a}async buildGLTF(t,r,n){let{tileContent:a,textureFormat:i,box:o}=t,{material:s,attributes:c,indices:u,modelMatrix:l}=a,f=new Ut,p=await this._addI3sTextureToGLTF(a,i,f),d=s==null?void 0:s.pbrMetallicRoughness;d&&(d.metallicFactor===void 0||d.metallicFactor===K9t)&&(d.roughnessFactor===void 0||d.roughnessFactor===X9t)&&(f.addObjectExtension(s,KSe,{}),f.addExtension(KSe));let h=this._convertI3sMaterialToGLTFMaterial(s,p),m=f.addMaterial(h),g=c.positions,x=g.value;c.uvRegions&&c.texCoords&&(c.texCoords.value=HSe(c.texCoords.value,c.uvRegions.value));let y=new Z(o),_=Pt.WGS84.cartesianToCartographic(y,new Z);c.positions.value=this._normalizePositions(x,y,_,l),this._createBatchIds(a,r),c.normals&&!this._checkNormals(c.normals.value)&&delete c.normals;let S=u||Ok(x.length/g.size),T=f.addMesh({attributes:c,indices:S,material:m,mode:4});this.tileType===da.GLTF&&this._createMetadataExtensions(f,T,r,n,a);let O=this._generateTransformMatrix(y),I=f.addNode({meshIndex:T,matrix:O}),B=f.addScene({nodeIndices:[I]});return f.setDefaultScene(B),f.createBinaryChunk(),yA(f.gltf,lM,{gltfBuilder:f})}_createMetadataExtensions(t,r,n,a,i){var u;let o=this._createPropertyAttibutes(n,a),s=o8(t,o),c=t.getMesh(r);for(let l of c.primitives)(u=i.attributes._BATCHID)!=null&&u.value&&a8(t,l,i.attributes._BATCHID.value,s)}_createPropertyAttibutes(t,r){if(!t||!r)return[];let n=[];for(let a in t){let i=this._convertAttributeStorageInfoToPropertyAttribute(a,r,t);i&&n.push(i)}return n}_convertAttributeStorageInfoToPropertyAttribute(t,r,n){let a=n[t],i=r.find(l=>l.name===t);if(!i)return null;let o=i.attributeValues;if(!(o!=null&&o.valueType))return null;let s,c;switch(o.valueType.toLowerCase()){case"oid32":s="SCALAR",c="UINT32";break;case"int32":s="SCALAR",c="INT32";break;case"uint32":s="SCALAR",c="UINT32";break;case"int16":s="SCALAR",c="INT16";break;case"uint16":s="SCALAR",c="UINT16";break;case"float64":s="SCALAR",c="FLOAT64";break;case"string":s="STRING";break;default:s="";break}let u={name:t,elementType:s,componentType:c,values:[]};return AB(a)?u.values=Array.from(a):a!==null&&(u.values=a),u}async _addI3sTextureToGLTF(t,r,n){let{texture:a,material:i,attributes:o}=t,s=null,c=a;if(!a&&i&&(c=i.pbrMetallicRoughness&&i.pbrMetallicRoughness.baseColorTexture&&i.pbrMetallicRoughness.baseColorTexture.texture.source.image),c){let u=this._deduceMimeTypeFromFormat(r),l=n.addImage(c,u);s=n.addTexture({imageIndex:l}),delete o.colors}return s}_normalizePositions(t,r,n,a){let i=new Float32Array(t.length);for(let o=0;o<t.length;o+=3){let s=t.subarray(o,o+3),c=new Z(r),u=new Z(Array.from(s)).transform(a).add(n);Pt.WGS84.cartographicToCartesian(u,WSe),u=WSe.subtract(c),i.set(u,o)}return i}_generateTransformMatrix(t){return new mr().translate(t).multiplyLeft(W9t)}_createBatchIds(t,r){let{featureIds:n}=t,{OBJECTID:a}=r||{};if(!(!n||!a)){for(let i=0;i<n.length;i++){let o=n[i],s=a.indexOf(o);n[i]=s}t.attributes._BATCHID={size:1,byteOffset:0,value:n}}}_deduceMimeTypeFromFormat(t){switch(t){case"jpg":return"image/jpeg";case"png":return"image/png";case"ktx2":return"image/ktx2";default:return console.warn(`Unexpected texture format in I3S: ${t}`),"image/jpeg"}}_convertI3sMaterialToGLTFMaterial(t,r){let n=r!==null;return t?(r!==null&&(t=this._setGLTFTexture(t,r)),t):(t={alphaMode:"OPAQUE",doubleSided:!1,pbrMetallicRoughness:{metallicFactor:0,roughnessFactor:1}},n?t.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,1],t)}_setGLTFTexture(t,r){let n={...t,pbrMetallicRoughness:{...t.pbrMetallicRoughness}};return t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorTexture?n.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.emissiveTexture?n.emissiveTexture={index:r,texCoord:0}:t.pbrMetallicRoughness&&t.pbrMetallicRoughness.metallicRoughnessTexture?n.pbrMetallicRoughness.metallicRoughnessTexture={index:r,texCoord:0}:t.normalTexture?n.normalTexture={index:r,texCoord:0}:t.occlusionTexture&&(n.occlusionTexture={index:r,texCoord:0}),n}_getFeaturesLength(t){if(!t)return 0;let r=Object.keys(t)[0];return r?t[r].length:0}_checkNormals(t){return t.find(r=>r)}};var XSe=async(e,t,r,n)=>{if(!e||!t.contentUrl)return null;let a={...r,i3s:{...r.i3s,isTileset:!1,isTileHeader:!1,_tileOptions:{attributeUrls:t.attributeUrls||[],textureUrl:t.textureUrl,textureFormat:t.textureFormat,textureLoaderOptions:t.textureLoaderOptions,materialDefinition:t.materialDefinition,isDracoGeometry:t.isDracoGeometry,mbs:t.mbs},_tilesetOptions:{store:e.store,attributeStorageInfo:e.attributeStorageInfo,fields:e.fields}}};return await b_(t.contentUrl,xl,a,n)};async function YSe(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new Ga(r),a=await FU(n,void 0,r);return new pl(a)}return null}async function b_(e,t,r,n){return n!==null?await Wr(e,t,{...r,core:{...r==null?void 0:r.core,fetch:n.fetch.bind(n)}}):await Wr(e,t,r)}async function QSe(e){if(!(e!=null&&e.file))return 0;let t=new Set,r=Kc(e.file);for await(let n of r){let a=n.fileName,i=/^nodes\/(\d+)\//.exec(a);i&&t.add(i[1])}return t.size}var Y9t="I3S",Tb=class{options;tilesetPath;vertexCounter;conversionStartTime;geoidHeightModel;sourceTileset;attributeStorageInfo;workerSource={};slpkFilesystem=null;loaderOptions={core:{_nodeWorkers:!0,reuseWorkers:!0,worker:!1},i3s:{coordinateSystem:dh.LNGLAT_OFFSETS,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};conversionDump;progress;fileExt;constructor(){this.options={},this.tilesetPath="",this.vertexCounter=0,this.conversionStartTime=[0,0],this.geoidHeightModel=null,this.sourceTileset=null,this.attributeStorageInfo=null,this.workerSource={},this.conversionDump=new fh,this.progress=new ab,this.fileExt=""}async convert(t){var m;if(cr)return console.log(nb),nb;let{inputUrl:r,outputPath:n,outputVersion:a,tilesetName:i,maxDepth:o,egmFilePath:s,inquirer:c,analyze:u}=t;this.conversionStartTime=IU.default.hrtime(),this.options={maxDepth:o,inquirer:c,outputVersion:a},this.fileExt=this.options.outputVersion==="1.0"?"b3dm":"glb",console.log("Loading egm file..."),this.geoidHeightModel=await Wr(s,Ck),console.log("Loading egm file completed!"),this.slpkFilesystem=await YSe(r);let l=!0;if((u||this.slpkFilesystem)&&(l=await this.preprocessConversion(),!l||u)||(this.progress.startMonitoring(),this.sourceTileset=await b_(r,xl,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let f=(m=this.sourceTileset)==null?void 0:m.root;if(f.obb||(f.obb=IN(f.mbs)),this.tilesetPath=(0,JSe.join)(`${n}`,`${i}`),this.attributeStorageInfo=this.sourceTileset.attributeStorageInfo,await this.conversionDump.createDump(t),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),!this.conversionDump.restored)try{await Ry(this.tilesetPath)}catch{}let p={boundingVolume:{box:CU(f.obb,this.geoidHeightModel)},geometricError:LN(f),children:[],refine:"REPLACE"};await this._addChildren(f,p,1);let d=(0,ZSe.default)({asset:{version:a},root:p},$Se());await Ci(this.tilesetPath,JSON.stringify(d),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:i}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),za.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await QSe(this.slpkFilesystem);if(this.progress.stepsTotal=t,console.log("------------------------------------------------"),console.log("Preprocess results:"),this.slpkFilesystem){if(console.log(`Node count: ${t}`),t===0)return console.log("Node count is 0. The conversion will be interrupted."),console.log("------------------------------------------------"),!1}else console.log("Node count cannot be calculated for the remote dataset");return console.log("------------------------------------------------"),!0}async convertChildNode(t,r,n,a){let i=r,o=await this._loadChildNode(t,a);if(o.contentUrl){if(this.conversionDump.restored&&this.conversionDump.isFileConversionComplete(`${o.id}.${this.fileExt}`)&&(o.obb||o.mbs)){let{child:y}=this._createChildAndBoundingVolume(o);r.children.push(y),await this._addChildren(o,y,n+1);return}let f=await XSe(this.sourceTileset,o,this.loaderOptions,this.slpkFilesystem);if(!f){await this._addChildren(o,r,n+1);return}this.vertexCounter+=(f==null?void 0:f.vertexCount)||0;let p=null;this.attributeStorageInfo&&(p=await this._loadChildAttributes(o,this.attributeStorageInfo));let{child:d,boundingVolume:h}=this._createChildAndBoundingVolume(o),m={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},x=await new w4({outputVersion:this.options.outputVersion}).convert(m,p,this.attributeStorageInfo);await this.conversionDump.addNode(`${o.id}.${this.fileExt}`,o.id),await Ci(this.tilesetPath,new Uint8Array(x),`${o.id}.${this.fileExt}`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.${this.fileExt}`,o.id,!0),r.children.push(d),i=d}this.progress.stepsDone+=1;let s="Calculating time left...",c=this.progress.getTimeRemainingString();c&&(s=`${c} left`);let u=this.progress.getPercentString(),l=u?` ${u}%, ${s}`:"";console.log(`[converted${l}]: ${a.id}`),await this._addChildren(o,i,n+1)}async _addChildren(t,r,n){if(!(this.options.maxDepth&&n>this.options.maxDepth))for(let a of t.children||[])await this.convertChildNode(t,r,n,a)}async _loadChildNode(t,r){var a;let n;if((a=this.sourceTileset)!=null&&a.nodePagesTile)console.log(`Node conversion: ${r.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(r.id));else{let i=this._relativeUrlToFullUrl(t.url,r.href),o={i3s:{...this.loaderOptions,isTileHeader:!0,loadContent:!1}};console.log(`Node conversion: ${i}`),n=await b_(i,xl,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=IN(t.mbs));let r={box:CU(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:LN(t),children:[],content:{uri:`${t.id}.${this.fileExt}`,boundingVolume:r}};return{boundingVolume:r,child:n}}_relativeUrlToFullUrl(t="",r){let n=t.split("/"),a=r.split("/");for(let i of a)switch(i){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(i)}return n.join("/")}async _loadChildAttributes(t,r){let n=[],{attributeUrls:a=[]}=t;for(let o=0;o<a.length;o++){let s=a[o],c=r[o],u={i3s:{attributeName:c.name,attributeType:this._getAttributeType(c)}};n.push(b_(s,PU,u,this.slpkFilesystem))}let i=await Promise.all(n);return this._replaceNestedArrays(i),Object.assign({},...i)}_getAttributeType(t){return t.attributeValues?t.attributeValues.valueType:t.objectIds?"Oid32":""}_replaceNestedArrays(t){for(let r=0;r<t.length;r++){let n=t[r];for(let a in n)n[a]=Array.from(n[a])}}async _finishConversion(t){let r=await kk(t),n=IU.default.hrtime(this.conversionStartTime),a=Jg(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${Y9t}`),console.log(`Total conversion time: ${a}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var Eb=require("path");var Q9t="4.5.1",J9t="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",T4=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await Wr(J9t,bN,{}),n=process.cwd();t&&(n=(0,Eb.join)(n,t)),await Ci(n,new Uint8Array(r["geoids/egm2008-5.pgm"]),"egm2008-5.pgm"),console.log('Installing "I3S Content Loader" worker'),await this.installFromNpm("i3s","i3s-content-worker-node.js"),console.log('Installing "Draco Loader" worker'),await this.installFromNpm("draco","draco-worker-node.js"),console.log('Installing "Draco Writer" worker'),await this.installFromNpm("draco","draco-writer-worker-node.js"),console.log('Installing "Basis Loader" worker'),await this.installFromNpm("textures","basis-worker-node.js"),console.log('Installing "KTX2 Basis Writer" worker'),await this.installFromNpm("textures","ktx2-basis-writer-worker-node.js"),console.log('Installing "Draco decoder" library'),await this.installFromUrl(Rc[zr.DECODER],"draco",zr.DECODER),await this.installFromUrl(Rc[zr.DECODER_WASM],"draco",zr.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(Rc[zr.ENCODER],"draco",zr.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Mc.TRANSCODER,"libs"),await this.installFromNpm("textures",Mc.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Mc.ENCODER,"libs"),await this.installFromNpm("textures",Mc.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let a=new f0,i=(0,Eb.dirname)(process.execPath);await a.start({command:`"${i}/${process.platform==="win32"?"npm.cmd":"npm"}"`,arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0,spawn:{shell:!0}}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let a=await si(`https://unpkg.com/@loaders.gl/${t}@${Q9t}/dist/${n}/${r}`);if(a.status<200||a.status>=300)throw new Error(`Failed to load resource ${r}`);let i=await a.arrayBuffer();if(!i)return;let o=(0,Eb.join)(process.cwd(),"modules",t,"dist",n);await Ci(o,i,r)}async installFromUrl(t,r,n){let i=await(await si(t)).arrayBuffer();if(!i)return;let o=(0,Eb.join)(process.cwd(),"modules",r,"dist","libs");await Ci(o,i,n)}};function zs(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function eAe(e,t){let r=zs(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function tAe(e){return e.reduce((t,r)=>{let n=r.indexOf("="),a=r.slice(0,n),i=r.slice(n+1,r.length);return r.includes("=")&&r.startsWith("--")&&i?t.concat(a,i):t.concat(r)},[])}function rAe(e,t){let r=zs(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function Us(e,t){let r=zs(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var iAe=require("fs/promises"),jU={I3S:"I3S",_3DTILES:"3DTILES"};async function Z9t(){let[,,...e]=process.argv;e.length===0&&RU();let t=tAe(e),r=tRt(t);if(r.installDependencies){new T4().install("deps");return}if(r.addHash){let a=nAe(r,!0),i=a.tileset;if(!r.quiet)if(a.output==="data"){let s=a.tileset.substring(0,a.tileset.length-5);(await E4.default.prompt([{name:"isNewFileRequired",type:"list",message:"What would you like to do?",choices:[{name:"Add hash file to the current SLPK file",value:!1},{name:`Create a new file ${s}-hash.slpk with hash file inside`,value:!0}]}])).isNewFileRequired&&(i=`${s}-hash.slpk`)}else i=a.output;i!==a.tileset&&await(0,iAe.copyFile)(a.tileset,i);let o=await Py(Kc(new Ga(i)));await wN(i,o,"@specialIndexFileHASH128@");return}let n=nAe(r);await eRt(n)}Z9t().catch(e=>{console.log(e),process.exit(1)});function RU(){console.log("cli: converter 3dTiles to I3S or I3S to 3dTiles..."),console.log('--install-dependencies [Run the script for installing dependencies. Run this options separate from others. Now "*.pgm" file installation is implemented]'),console.log("--max-depth [Maximal depth of hierarchical tiles tree traversal, default: infinite]"),console.log("--name [Tileset name]"),console.log('--output [Output folder, default: "data" folder]'),console.log("--instant-node-writing [Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduces memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent merging similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [(Deprecated since version 4.3.0) Whether the converter generates *.slpk (Scene Layer Package) I3S output files. Note: For versions 4.3.0 and up *.slpk is the default output without this option specified.]"),console.log("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log("--output-version [3DTiles version: 1.0 or 1.1, default: 1.1]. This option supports only 1.0/1.1 values for 3DTiles output. I3S output version setting is not supported yet."),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format or "None" to not use it. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"'),console.log("--token [Token for Cesium ION tilesets authentication]"),console.log("--no-draco [Disable draco compression for geometry]"),console.log("--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]"),console.log("--generate-bounding-volumes [Generate obb and mbs bounding volumes from geometry]"),console.log("--analyze [Analyze the input tileset content without conversion, default: false]"),console.log('--metadata-class [One of the list of feature metadata classes, detected by converter on "analyze" stage, default: not set]'),console.log("--validate [Enable validation]"),console.log("--quiet [Skip all prompts that stop conversion and wait for a user input: default: false]"),process.exit(0)}async function eRt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case jU.I3S:await new Tb().convert({inputUrl:e.tileset,outputPath:e.output,outputVersion:e.outputVersion,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:E4.default});break;case jU._3DTILES:await new yb().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,token:e.token,draco:e.draco,mergeMaterials:e.mergeMaterials,generateTextures:e.generateTextures,generateBoundingVolumes:e.generateBoundingVolumes,validate:e.validate,instantNodeWriting:e.instantNodeWriting,metadataClass:e.metadataClass,analyze:e.analyze,inquirer:e.quiet?void 0:E4.default});break;default:RU()}}function nAe(e,t){let r={name:{getMessage:()=>console.log("Missed: --name [Tileset name]"),condition:a=>t||Boolean(a)||Boolean(e.analyze)},output:{getMessage:()=>console.log("Missed: --output [Output path name]")},egm:{getMessage:()=>console.log("Missed: --egm [*.pgm earth gravity model file path]")},tileset:{getMessage:()=>console.log("Missed: --tileset [tileset.json file]")},inputType:{getMessage:()=>console.log("Missed/Incorrect: --input-type [tileset input type: I3S or 3DTILES]"),condition:a=>t||Boolean(a)&&Object.values(jU).includes(a.toUpperCase())},outputVersion:{getMessage:()=>console.log('Incorrect: --output-version [1.0 or 1.1] is for --input-type "I3S" only'),condition:a=>t||Boolean(a)&&Object.values(["1.0","1.1"]).includes(a)&&Boolean(e.inputType==="I3S")||Boolean(e.inputType!=="I3S")||Boolean(e.analyze)}},n=[];for(let a in r){let i=e[a],o=r[a].condition;(o?o(i):i)||n.push(r[a].getMessage)}return n.length&&(n.forEach(a=>a()),process.exit(1)),e}function tRt(e){let t={output:"data",outputVersion:"1.1",instantNodeWriting:!1,mergeMaterials:!0,egm:(0,aAe.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=zs(n,e);break;case"--tileset":t.tileset=eAe(n,e);break;case"--name":t.name=zs(n,e);break;case"--output":t.output=zs(n,e);break;case"--output-version":t.outputVersion=zs(n,e);break;case"--instant-node-writing":t.instantNodeWriting=Us(n,e);break;case"--split-nodes":t.mergeMaterials=Us(n,e);break;case"--max-depth":t.maxDepth=rAe(n,e);break;case"--add-hash":t.addHash=Us(n,e);break;case"--egm":t.egm=zs(n,e);break;case"--token":t.token=zs(n,e);break;case"--no-draco":t.draco=Us(n,e);break;case"--validate":t.validate=Us(n,e);break;case"--install-dependencies":t.installDependencies=Us(n,e);break;case"--generate-textures":t.generateTextures=Us(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=Us(n,e);break;case"--analyze":t.analyze=Us(n,e);break;case"--quiet":t.quiet=Us(n,e);break;case"--metadata-class":t.metadataClass=zs(n,e);break;case"--help":RU();break;case"--slpk":break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
|
|
159
|
+
}`}function QF(e,t=!0,r){let n=r||new Set;if(e){if(Vte(e))n.add(e);else if(Vte(e.buffer))n.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e=="object")for(let a in e)QF(e[a],t,n)}}return r===void 0?Array.from(n):[]}function Vte(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function JF(e){if(e===null)return{};let t=Object.assign({},e);return Object.keys(t).forEach(r=>{typeof e[r]=="object"&&!ArrayBuffer.isView(e[r])&&!(e[r]instanceof Array)?t[r]=JF(e[r]):typeof t[r]=="function"||t[r]instanceof RegExp?t[r]={}:t[r]=e[r]}),t}var ZF=()=>{},Vl=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&Rn||typeof Bv<"u"&&!Rn}constructor(t){let{name:r,source:n,url:a}=t;ya(n||a),this.name=r,this.source=n,this.url=a,this.onMessage=ZF,this.onError=i=>console.log(i),this.worker=Rn?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=ZF,this.onError=ZF,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,r){r=r||QF(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r="Failed to load ";return r+=`worker ${this.name} from ${this.url}. `,t.message&&(r+=`${t.message} in `),t.lineno&&(r+=`:${t.lineno}:${t.colno}`),new Error(r)}_createBrowserWorker(){this._loadableURL=Ute({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error("No data received"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let n=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,a=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";t=new Bv(n,{eval:!1,type:a})}else if(this.source)t=new Bv(this.source,{eval:!0});else throw new Error("no worker");return t.on("message",r=>{this.onMessage(r)}),t.on("error",r=>{this.onError(r)}),t.on("exit",r=>{}),t}};var Mv=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return Vl.isSupported()}constructor(t){this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t,r=(a,i,o)=>a.done(o),n=(a,i)=>a.error(i)){let a=new Promise(i=>(this.jobQueue.push({name:t,onMessage:r,onError:n,onStart:i}),this));return this._startQueuedJob(),await a}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:"Starting job",name:r.name,workerThread:t,backlog:this.jobQueue.length});let n=new Rv(r.name,t);t.onMessage=a=>r.onMessage(n,a.type,a.payload),t.onError=a=>r.onError(n,a),r.onStart(n);try{await n.result}catch(a){console.error(`Worker exception: ${a}`)}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){!Rn||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let t=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new Vl({name:t,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return zte?this.maxMobileConcurrency:this.maxConcurrency}};var B7e={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},jp=class{props;workerPools=new Map;static isSupported(){return Vl.isSupported()}static getWorkerFarm(t={}){return jp._workerFarm=jp._workerFarm||new jp({}),jp._workerFarm.setProps(t),jp._workerFarm}constructor(t){this.props={...B7e},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:n,url:a}=t,i=this.workerPools.get(r);return i||(i=new Mv({name:r,source:n,url:a}),i.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,i)),i}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},za=jp;LU(za,"_workerFarm");function $te(e){let t=e.version!==Cp?` (worker-utils@${Cp})`:"";return`${e.name}@${e.version}${t}`}function qv(e,t={}){var o;let r=t[e.id]||{},n=Rn?e.workerFile||`${e.id}-worker.js`:`${e.id}-worker-node.js`,a=r.workerUrl;if(!a&&e.id==="compression"&&(a=t.workerUrl),(t._workerType||((o=t==null?void 0:t.core)==null?void 0:o._workerType))==="test"&&(Rn?a=`modules/${e.module}/dist/${n}`:a=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!a){let s=e.version;s==="latest"&&(s=qte);let c=s?`@${s}`:"";a=`https://unpkg.com/@loaders.gl/${e.module}${c}/dist/${n}`}return ya(a),a}async function eP(e,t,r={},n={}){let a=$te(e),i=za.getWorkerFarm(r),{source:o}=r,s={name:a,source:o};o||(s.url=qv(e,r));let c=i.getWorkerPool(s),u=r.jobName||e.name,l=await c.startJob(u,M7e.bind(null,n)),f=JF(r);return l.postMessage("process",{input:t,options:f}),(await l.result).result}async function M7e(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:a,input:i,options:o}=n;try{if(!e.process){t.postMessage("error",{id:a,error:"Worker not set up to process on main thread"});return}let s=await e.process(i,o);t.postMessage("done",{id:a,result:s})}catch(s){let c=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:a,error:c})}break;default:console.warn(`process-on-worker: unknown message ${r}`)}}function tP(e,t=Cp){ya(e,"no worker provided");let r=e.version;return!(!t||!r)}var rP={};function Nv(e={}){var a,i;let t=e.useLocalLibraries??((a=e.core)==null?void 0:a.useLocalLibraries),r=e.CDN??((i=e.core)==null?void 0:i.CDN),n=e.modules;return{...t!==void 0?{useLocalLibraries:t}:{},...r!==void 0?{CDN:r}:{},...n!==void 0?{modules:n}:{}}}async function yo(e,t=null,r={},n=null){var a;if(t){let i=(a=r.modules)==null?void 0:a[n||e];if(i!==void 0&&typeof i!="string")return i;e=Hte(e,t,r,n)}return rP[e]=rP[e]||q7e(e),await rP[e]}function Hte(e,t,r={},n=null){if(r!=null&&r.core)throw new Error("loadLibrary: options.core must be pre-normalized");n=n||e;let a=r.modules||{};return typeof a[n]=="string"?a[n]:!r.useLocalLibraries&&e.startsWith("http")?e:Rn?r.CDN?(ya(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Cp}/dist/libs/${n}`):jv?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function q7e(e){if(e.endsWith("wasm"))return await z7e(e);if(!Rn){let{requireFromFile:r}=globalThis.loaders||{};try{let n=await(r==null?void 0:r(e));return n||!e.includes("/dist/libs/")?n:await(r==null?void 0:r(e.replace("/dist/libs/","/src/libs/")))}catch(n){if(e.includes("/dist/libs/"))try{return await(r==null?void 0:r(e.replace("/dist/libs/","/src/libs/")))}catch{}return console.error(n),null}}if(jv)return importScripts(e);let t=await U7e(e);return N7e(t,e)}function N7e(e,t){if(!Rn){let{requireFromString:n}=globalThis.loaders||{};return n==null?void 0:n(e,t)}if(jv)return eval.call(globalThis,e),null;let r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch{r.text=e}return document.body.appendChild(r),null}async function z7e(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};if(Rn||!t||e.startsWith("http"))return await(await fetch(e)).arrayBuffer();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load ArrayBuffer from ${e}`)}}async function U7e(e){let{readFileAsText:t}=globalThis.loaders||{};if(Rn||!t||e.startsWith("http"))return await(await fetch(e)).text();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load text from ${e}`)}}var Wte=Dt(require("child_process"),1);function Kte(e=3e3){return new Promise(t=>{Wte.default.exec("lsof -i -P -n | grep LISTEN",(r,n)=>{if(r){t(e);return}let a=[],i=/:(\d+) \(LISTEN\)/;n.split(`
|
|
160
|
+
`).forEach(s=>{let c=i.exec(s);c&&a.push(Number(c[1]))});let o=e;for(;a.includes(o);)o++;t(o)})})}async function G7e(){var e;if(typeof process>"u"||!((e=process.versions)!=null&&e.node))throw new Error("ChildProcessProxy is only available in Node.js environments");return await import("child_process")}var Xte={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},f0=class{id;props={...Xte};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Xte,...t},this.props=t;let r=await G7e(),n=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await Kte(t.port)),n.push(t.portArg,String(this.port))),await new Promise((a,i)=>{var o,s;try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),a({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let c=t.spawn||{},u=r.spawn(t.command,n,c);this.childProcess=u,(o=u.stdout)==null||o.on("data",l=>{console.log(l.toString())}),(s=u.stderr)==null||s.on("data",l=>{console.log(`Child process wrote to stderr: "${l}".`),t.ignoreStderr||(this._clearTimeout(),i(new Error(l)))}),u.on("error",l=>{console.log(`Child process errored with ${l}`),this._clearTimeout(),i(l)}),u.on("close",l=>{console.log(`Child process exited with ${l}`),this.childProcess=null,this._clearTimeout(),a({})})}catch(c){i(c)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};function nP(e,t){var a,i;if(!za.isSupported())return!1;let r=(t==null?void 0:t._nodeWorkers)??((a=t==null?void 0:t.core)==null?void 0:a._nodeWorkers);if(!Rn&&!r)return!1;let n=(t==null?void 0:t.worker)??((i=t==null?void 0:t.core)==null?void 0:i.worker);return Boolean(e.worker&&n)}async function aP(e,t,r,n,a){let i=e.id,o=qv(e,r),c=za.getWorkerFarm(r==null?void 0:r.core).getWorkerPool({name:i,url:o});r=JSON.parse(JSON.stringify(r||{})),r._workerLoaderId=e.id,n=JSON.parse(JSON.stringify(n||{}));let u=await c.startJob("process-on-worker",V7e.bind(null,a));return u.postMessage("process",{input:t,options:r,context:n}),await(await u.result).result}async function V7e(e,t,r,n){switch(r){case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:a,input:i,options:o}=n;try{let s=await e(i,o);t.postMessage("done",{id:a,result:s})}catch(s){let c=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:a,error:c})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function iP(e,t){var a,i;if(!za.isSupported())return!1;let r=(t==null?void 0:t._nodeWorkers)??((a=t==null?void 0:t.core)==null?void 0:a._nodeWorkers),n=(t==null?void 0:t.worker)??((i=t==null?void 0:t.core)==null?void 0:i.worker);return!cr&&!r?!1:Boolean(e.worker&&n)}function Qte(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Yte(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Yte(e,0,t):""}function Yte(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),a="";for(let i=0;i<r;i++)a+=String.fromCharCode(n.getUint8(t+i));return a}function oP(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Qte(e)}"`)}}function pc(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),a=new Uint8Array(t);for(let i=0;i<n.length;++i)if(n[i]!==a[i])return!1;return!0}function bn(...e){return ww(e)}function ww(e){let t=e.map(i=>i instanceof ArrayBuffer?new Uint8Array(i):i),r=t.reduce((i,o)=>i+o.byteLength,0),n=new Uint8Array(r),a=0;for(let i of t)n.set(i,a),a+=i.byteLength;return n.buffer}function Wi(...e){let t=e,r=t&&t.length>1&&t[0].constructor||null;if(!r)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let n=t.reduce((o,s)=>o+s.length,0),a=new r(n),i=0;for(let o of t)a.set(o,i),i+=o.length;return a}function Rp(e,t,r){let n=r!==void 0?new Uint8Array(e).subarray(t,t+r):new Uint8Array(e).subarray(t);return new Uint8Array(n).buffer}function Ki(e,t){return yt(e>=0),yt(t>0),e+(t-1)&~(t-1)}function sP(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let a=e.byteOffset,i=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,a,i)}return t.set(n,r),r+Ki(n.byteLength,4)}function cP(e,t){let r=e.length,a=Math.ceil(r/t)*t-r,i="";for(let o=0;o<a;++o)i+=" ";return e+i}function p0(e,t,r,n){if(e)for(let a=0;a<n;a++)e.setUint8(t+a,r.charCodeAt(a));return t+n}function zv(e,t,r,n){if(e)for(let a=0;a<n;a++)e.setUint8(t+a,r[a]);return t+n}function Tw(e,t,r,n){let a=Ki(r.byteLength,n),i=a-r.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),s=new Uint8Array(r);o.set(s);for(let c=0;c<i;++c)e.setUint8(t+r.byteLength+c,32)}return t+=a,t}function d0(e,t,r,n){let i=new TextEncoder().encode(r);return t=Tw(e,t,i,n),t}async function Lp(e){let t=[];for await(let r of e)t.push($7e(r));return bn(...t)}function $7e(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:r,byteLength:n}=e;return Jte(t,r,n)}return Jte(e)}function Jte(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),a=new Uint8Array(n.length);return a.set(n),a.buffer}var H7e="",Zte={};function dc(e){for(let t in Zte)if(e.startsWith(t)){let r=Zte[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${H7e}${e}`),e}var W7e="4.5.3",uP={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:W7e,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:ere,parse:async e=>ere(new TextDecoder().decode(e)),options:{}};function ere(e){return JSON.parse(e)}function tre(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function Ew(e){return e&&typeof e=="object"&&e.isBuffer}function Kn(e){if(Ew(e))return tre(e);if(e instanceof ArrayBuffer)return e;if($F(e))return yu(e);if(ArrayBuffer.isView(e)){let t=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?t:t.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function ii(e){if(e instanceof ArrayBuffer)return e;if($F(e))return yu(e);let{buffer:t,byteOffset:r,byteLength:n}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:yu(t,r,n)}function yu(e,t=0,r=e.byteLength-t){let n=new Uint8Array(e,t,r),a=new Uint8Array(n.length);return a.set(n),a.buffer}function lP(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}function h0(e){return t=>new Promise((r,n)=>e(t,(a,i)=>a?n(a):r(i)))}var Ua={};Jn(Ua,{dirname:()=>Y7e,filename:()=>X7e,join:()=>Q7e,resolve:()=>J7e});function rre(){var t;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=(t=window.location)==null?void 0:t.pathname;return(e==null?void 0:e.slice(0,e.lastIndexOf("/")+1))||""}function X7e(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):e}function Y7e(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function Q7e(...e){let t="/";return e=e.map((r,n)=>(n&&(r=r.replace(new RegExp(`^${t}`),"")),n!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function J7e(...e){let t=[];for(let i=0;i<e.length;i++)t[i]=e[i];let r="",n=!1,a;for(let i=t.length-1;i>=-1&&!n;i--){let o;i>=0?o=t[i]:(a===void 0&&(a=rre()),o=a),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Uv)}return r=Z7e(r,!n),n?`/${r}`:r.length>0?r:"."}var Uv=47,fP=46;function Z7e(e,t){let r="",n=-1,a=0,i,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)i=e.charCodeAt(s);else{if(i===Uv)break;i=Uv}if(i===Uv){if(!(n===s-1||a===1))if(n!==s-1&&a===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==fP||r.charCodeAt(r.length-2)!==fP){if(r.length>2){let c=r.length-1,u=c;for(;u>=0&&r.charCodeAt(u)!==Uv;--u);if(u!==c){r=u===-1?"":r.slice(0,u),n=s,a=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=s,a=0,o=!1;continue}}t&&(r.length>0?r+="/..":r="..",o=!0)}else{let c=e.slice(n+1,s);r.length>0?r+=`/${c}`:r=c,o=!1}n=s,a=0}else i===fP&&a!==-1?++a:a=-1}return r}var Gv=class{handle;size;bigsize;url;constructor(t){this.handle=t instanceof ArrayBuffer?new Blob([t]):t,this.size=t instanceof ArrayBuffer?t.byteLength:t.size,this.bigsize=BigInt(this.size),this.url=t instanceof File?t.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(t,r){return await this.handle.slice(Number(t),Number(t)+Number(r)).arrayBuffer()}};var m0=class{handle;size=0;bigsize=0n;url;constructor(t){this.handle=t,this.url=t}async close(){}async stat(){let t=await fetch(this.handle,{method:"HEAD"});if(!t.ok)throw new Error(`Failed to fetch HEAD ${this.handle}`);let r=parseInt(t.headers.get("Content-Length")||"0");return{size:r,bigsize:BigInt(r),isDirectory:!1}}async read(t=0,r=0){return await(await this.fetchRange(t,r)).arrayBuffer()}async fetchRange(t,r,n){let a=Number(t),i=Number(r),o;n||(o=new AbortController,n=o.signal);let s=this.handle,c=await fetch(s,{signal:n,headers:{Range:`bytes=${a}-${a+i-1}`}});switch(c.status){case 206:break;case 200:let u=c.headers.get("Content-Length");if(!u||Number(u)>r)throw o&&o.abort(),Error("content-length header missing or exceeding request. Server must support HTTP Byte Serving.");case 416:if(t===0){let l=c.headers.get("Content-Range");if(!l||!l.startsWith("bytes *"))throw Error("Missing content-length on 416 response");let f=Number(l.substr(8));c=await fetch(this.url,{signal:n,headers:{Range:`bytes=0-${f-1}`}})}break;default:if(c.status>=300)throw Error(`Bad response code: ${c.status}`)}return c}};var Vv=new Error("Not implemented"),Ga=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){var a;if((a=globalThis.loaders)!=null&&a.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw cr?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(t,r){throw Vv}async write(t,r,n){throw Vv}async stat(){throw Vv}async truncate(t){throw Vv}async append(t){throw Vv}async close(){}};var g0=new Error("Not implemented"),$v=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw cr?new Error("Can't instantiate NodeFileSystem in browser."):new Error("Can't instantiate NodeFileSystem. Make sure to import @loaders.gl/polyfills first.")}readable=!0;writable=!0;async openReadableFile(t,r){throw g0}async openWritableFile(t,r,n){throw g0}async readdir(t=".",r){throw g0}async stat(t,r){throw g0}async unlink(t){throw g0}async fetch(t,r){throw g0}};var _u=Dt(require("fs"),1),Bp=class{handle;size;bigsize;url;constructor(t,r,n){t=dc(t),this.handle=_u.default.openSync(t,r,n);let a=_u.default.fstatSync(this.handle,{bigint:!0});this.size=Number(a.size),this.bigsize=a.size,this.url=t}async close(){return new Promise((t,r)=>{_u.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{_u.default.ftruncate(this.handle,t,a=>{a?n(a):(this.bigsize=BigInt(t),this.size=Number(this.bigsize),r())})})}async append(t){return new Promise((r,n)=>{_u.default.appendFile(this.handle,t,a=>{a?n(a):(this.bigsize=this.bigsize+BigInt(t.length),this.size=Number(this.bigsize),r())})})}async stat(){return await new Promise((t,r)=>_u.default.fstat(this.handle,{bigint:!0},(n,a)=>{let i={size:Number(a.size),bigsize:a.size,isDirectory:a.isDirectory()};n?r(n):t(i)}))}async read(t,r){let n=new ArrayBuffer(r),a=BigInt(t),i=0,o=new Uint8Array(n),s;for(;r>0;){let c=await nMe(this.handle,o,0,r,a);if(c===0)break;i+=c,a+=BigInt(c),r-=c,s!==void 0&&(s+=c)}return i<r?n.slice(0,i):n}async write(t,r=0,n=t.byteLength){return new Promise((a,i)=>{let o=Number(r),s=new Uint8Array(t,Number(r),n);_u.default.write(this.handle,s,0,n,o,(c,u)=>c?i(c):a(u))})}};async function nMe(e,t,r,n,a){return await new Promise((i,o)=>_u.default.read(e,t,r,n,a,(s,c)=>s?o(s):i(c)))}var Dw=Dt(require("fs/promises"),1);var dP=Dt(require("fs"),1),pP=require("stream");var Sw=Dt(require("zlib"),1);function Aw(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(Sw.default.createBrotliDecompress());case"gzip":return e.pipe(Sw.default.createGunzip());case"deflate":return e.pipe(Sw.default.createDeflate());default:return e}}async function nre(e){let t=[];return await new Promise((r,n)=>{e.on("error",a=>n(a)),e.on("readable",()=>e.read()),e.on("data",a=>{typeof a=="string"&&n(new Error("Read stream not binary")),t.push(Kn(a))}),e.on("end",()=>{let a=aMe(t);r(a)})})}function aMe(e){let t=e.map(i=>i instanceof ArrayBuffer?new Uint8Array(i):i),r=t.reduce((i,o)=>i+o.byteLength,0),n=new Uint8Array(r),a=0;for(let i of t)n.set(i,a),a+=i.byteLength;return n.buffer}var iMe=e=>typeof e=="boolean",are=e=>typeof e=="function",oMe=e=>e!==null&&typeof e=="object",sMe=e=>oMe(e)&&are(e.read)&&are(e.pipe)&&iMe(e.readable);async function kw(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=dc(n);let a=new Headers;e.endsWith(".gz")&&a.set("content-encoding","gzip"),e.endsWith(".br")&&a.set("content-encoding","br");try{let i=await new Promise((f,p)=>{let d=dP.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",h=>p(h))}),o=i;sMe(i)?o=Aw(i,a):typeof i=="string"?o=pP.Readable.from([new TextEncoder().encode(i)]):o=pP.Readable.from([i||new ArrayBuffer(0)]);let s=200,c="OK",u=cMe(n),l=new Response(o,{headers:u,status:s,statusText:c});return Object.defineProperty(l,"url",{value:e}),l}catch(i){let o=i.message,s=400,c=o,u={},l=new Response(o,{headers:u,status:s,statusText:c});return Object.defineProperty(l,"url",{value:e}),l}}function cMe(e){let t={};if(!t["content-length"]){let r=dP.default.statSync(e);t["content-length"]=r.size}return e.endsWith(".gz")&&(e=e.slice(0,-3),t["content-encoding"]="gzip"),new Headers(t)}var Ow=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await Dw.default.readdir(t,r)}async stat(t){let r=await Dw.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await Dw.default.unlink(t)}async fetch(t,r){return await kw(t,r)}async openReadableFile(t,r="r"){return new Bp(t,r)}async openWritableFile(t,r="w",n){return new Bp(t,r,n)}};var wu=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){var o,s;let n=[];for await(let c of t)n.push(c),yield c;let a=await this.concatenate(n),i=await this.hash(a,r);(s=(o=this.options.crypto)==null?void 0:o.onEnd)==null||s.call(o,{hash:i})}async concatenate(t){return await Lp(t)}};var b0=class{crc;constructor(){this.crc=-1}update(t){let r=lMe(),n=new Uint8Array(t);for(let a=0;a<n.byteLength;a++)this.crc=this.crc>>>8^r[(this.crc^n[a])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},uMe=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function lMe(){return uMe}function ire(e){e=`${e}`;for(let r=0;r<e.length;r++)if(e.charCodeAt(r)>255)return null;let t="";for(let r=0;r<e.length;r+=3){let n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(r)>>2,n[1]=(e.charCodeAt(r)&3)<<4,e.length>r+1&&(n[1]|=e.charCodeAt(r+1)>>4,n[2]=(e.charCodeAt(r+1)&15)<<2),e.length>r+2&&(n[2]|=e.charCodeAt(r+2)>>6,n[3]=e.charCodeAt(r+2)&63);for(let a=0;a<n.length;a++)typeof n[a]>"u"?t+="=":t+=fMe(n[a])}return t}function fMe(e){if(e<26)return String.fromCharCode(e+"A".charCodeAt(0));if(e<52)return String.fromCharCode(e-26+"a".charCodeAt(0));if(e<62)return String.fromCharCode(e-52+"0".charCodeAt(0));if(e===62)return"+";if(e===63)return"/"}function hP(e,t){switch(t){case"hex":return ore(e);case"base64":return cre(ore(e));default:throw new Error(t)}}function sre(e,t){switch(t){case"hex":return e;case"base64":return cre(e);default:throw new Error(t)}}function cre(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return ire(r)||""}function ore(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var Hv=class extends wu{name="crc32";options;constructor(t={}){super(),this.options={crypto:{},...t},this.hashBatches=this.hashBatches.bind(this)}async hash(t,r){return this.hashSync(t,r)}hashSync(t,r){let n=new b0;n.update(t);let a=n.finalize();return hP(a,r)}async*hashBatches(t,r="base64"){var i,o;let n=new b0;for await(let s of t)n.update(s),yield s;let a=n.finalize();(o=(i=this.options.crypto)==null?void 0:i.onEnd)==null||o.call(i,{hash:hP(a,r)})}};var Fw="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ure=bMe("AGFzbQEAAAABDANgAX8AYAAAYAABfwIeAgdpbXBvcnRzA2xvZwAAB2ltcG9ydHMDbWVtAgABAzIxAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAgICAgIAAAAAAAaYARt/AUGBxpS6Bgt/AUGJ17b+fgt/AUH+uevFeQt/AUH2qMmBAQt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALB7oCJQhvbmVGdWxsQQAYCG9uZUZ1bGxCABkIb25lRnVsbEMAGghvbmVGdWxsRAAbBWxvb3BzAAEEbG9vcAACBXByaW1lAAMFbG9vcEEABAZsb29wQTEABQZsb29wQTIABgZsb29wQTMABwZsb29wQTQACAVsb29wQgAJBmxvb3BCMQAKBmxvb3BCMgALBmxvb3BCMwAMBmxvb3BCNAANBWxvb3BDAA4GbG9vcEMxAA8GbG9vcEMyABAGbG9vcEMzABEGbG9vcEM0ABIFbG9vcEQAEwZsb29wRDEAFAZsb29wRDIAFQZsb29wRDMAFgZsb29wRDQAFwRnZXRBACgEZ2V0QgApBGdldEMAKgRnZXREACsEZ2V0WAAsBHNldEEALQRzZXRCAC4Ec2V0QwAvBHNldEQAMARzZXRYADEKzA0xWwEBf0EAJAggAEEGdCEBAkADQCMIIAFGDQEjACQEIwEkBSMCJAYjAyQHEAIjBCMAaiQAIwUjAWokASMGIwJqJAIjByMDaiQDIwhBwABqJAgMAAsLIwgjGmokGgsTACMIIxpqJAkQAxAEEAkQDhATC6IBAEEAIwlqKAIAJApBBCMJaigCACQLQQgjCWooAgAkDEEMIwlqKAIAJA1BECMJaigCACQOQRQjCWooAgAkD0EYIwlqKAIAJBBBHCMJaigCACQRQSAjCWooAgAkEkEkIwlqKAIAJBNBKCMJaigCACQUQSwjCWooAgAkFUEwIwlqKAIAJBZBNCMJaigCACQXQTgjCWooAgAkGEE8IwlqKAIAJBkLCgAQBRAGEAcQCAsuAEH4yKq7fSMKahAYQdbunsZ+IwtqEBtB2+GBoQIjDGoQGkHunfeNfCMNahAZCy0AQa+f8Kt/Iw5qEBhBqoyfvAQjD2oQG0GTjMHBeiMQahAaQYGqmmojEWoQGQssAEHYsYLMBiMSahAYQa/vk9p4IxNqEBtBsbd9IxRqEBpBvq/zyngjFWoQGQstAEGiosDcBiMWahAYQZPj4WwjF2oQG0GOh+WzeiMYahAaQaGQ0M0EIxlqEBkLCgAQChALEAwQDQsuAEHiyviwfyMLahAcQcDmgoJ8IxBqEB9B0bT5sgIjFWoQHkGqj9vNfiMKahAdCy0AQd2gvLF9Iw9qEBxB06iQEiMUahAfQYHNh8V9IxlqEB5ByPfPvn4jDmoQHQsuAEHmm4ePAiMTahAcQdaP3Jl8IxhqEB9Bh5vUpn8jDWoQHkHtqeiqBCMSahAdCy0AQYXSj896IxdqEBxB+Me+ZyMMahAfQdmFvLsGIxFqEB5Bipmp6XgjFmoQHQsKABAPEBAQERASCysAQcLyaCMPahAgQYHtx7t4IxJqECNBosL17AYjFWoQIkGM8JRvIxhqECELLgBBxNT7pXojC2oQIEGpn/veBCMOahAjQeCW7bV/IxFqECJB8Pj+9XsjFGoQIQstAEHG/e3EAiMXahAgQfrPhNV+IwpqECNBheG8p30jDWoQIkGFuqAkIxBqECELLgBBuaDTzn0jE2oQIEHls+62fiMWahAjQfj5if0BIxlqECJB5ayxpXwjDGoQIQsKABAUEBUQFhAXCy0AQcTEpKF/IwpqECRBl/+rmQQjEWoQJ0Gnx9DceiMYahAmQbnAzmQjD2oQJQstAEHDs+2qBiMWahAkQZKZs/h4Iw1qECdB/ei/fyMUahAmQdG7kax4IwtqECULLQBBz/yh/QYjEmoQJEHgzbNxIxlqECdBlIaFmHojEGoQJkGho6DwBCMXahAlCy4AQYL9zbp/Iw5qECRBteTr6XsjFWoQJ0G7pd/WAiMMahAmQZGnm9x+IxNqECULKAEBf0F/IwFzIwNxIwEjAnFyIwBqIABqIgFBB3QgAUEZdnIjAWokAAsoAQF/QX8jAnMjAHEjAiMDcXIjAWogAGoiAUEWdCABQQp2ciMCaiQBCygBAX9BfyMDcyMBcSMDIwBxciMCaiAAaiIBQRF0IAFBD3ZyIwNqJAILKAEBf0F/IwBzIwJxIwAjAXFyIwNqIABqIgFBDHQgAUEUdnIjAGokAwsoAQF/IwJBfyMDc3EjASMDcXIjAGogAGoiAUEFdCABQRt2ciMBaiQACygBAX8jA0F/IwBzcSMCIwBxciMBaiAAaiIBQRR0IAFBDHZyIwJqJAELKAEBfyMAQX8jAXNxIwMjAXFyIwJqIABqIgFBDnQgAUESdnIjA2okAgsoAQF/IwFBfyMCc3EjACMCcXIjA2ogAGoiAUEJdCABQRd2ciMAaiQDCyIBAX8jASMCcyMDcyMAaiAAaiIBQQR0IAFBHHZyIwFqJAALIgEBfyMCIwNzIwBzIwFqIABqIgFBF3QgAUEJdnIjAmokAQsiAQF/IwMjAHMjAXMjAmogAGoiAUEQdCABQRB2ciMDaiQCCyIBAX8jACMBcyMCcyMDaiAAaiIBQQt0IAFBFXZyIwBqJAMLJQEBf0F/IwNzIwFyIwJzIwBqIABqIgFBBnQgAUEadnIjAWokAAslAQF/QX8jAHMjAnIjA3MjAWogAGoiAUEVdCABQQt2ciMCaiQBCyUBAX9BfyMBcyMDciMAcyMCaiAAaiIBQQ90IAFBEXZyIwNqJAILJQEBf0F/IwJzIwByIwFzIwNqIABqIgFBCnQgAUEWdnIjAGokAwsEACMACwQAIwELBAAjAgsEACMDCwQAIxoLBgAgACQACwYAIAAkAQsGACAAJAILBgAgACQDCwYAIAAkGgsA6gQEbmFtZQGSAzIAA2xvZwEFbG9vcHMCBGxvb3ADBXByaW1lBAVsb29wQQUGbG9vcEExBgZsb29wQTIHBmxvb3BBMwgGbG9vcEE0CQVsb29wQgoGbG9vcEIxCwZsb29wQjIMBmxvb3BCMw0GbG9vcEI0DgVsb29wQw8GbG9vcEMxEAZsb29wQzIRBmxvb3BDMxIGbG9vcEM0EwVsb29wRBQGbG9vcEQxFQZsb29wRDIWBmxvb3BEMxcGbG9vcEQ0GAhvbmVGdWxsQRkIb25lRnVsbEIaCG9uZUZ1bGxDGwhvbmVGdWxsRBwIdHdvRnVsbEEdCHR3b0Z1bGxCHgh0d29GdWxsQx8IdHdvRnVsbEQgCHRyZUZ1bGxBIQh0cmVGdWxsQiIIdHJlRnVsbEMjCHRyZUZ1bGxEJAhxdWFGdWxsQSUIcXVhRnVsbEImCHF1YUZ1bGxDJwhxdWFGdWxsRCgEZ2V0QSkEZ2V0QioEZ2V0QysEZ2V0RCwEZ2V0WC0Ec2V0QS4Ec2V0Qi8Ec2V0QzAEc2V0RDEEc2V0WALNATIAAQAAAQIAAAEIbnVtbG9vcHMCAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgCAAABAW4ZAgAAAQFuGgIAAAEBbhsCAAABAW4cAgAAAQFuHQIAAAEBbh4CAAABAW4fAgAAAQFuIAIAAAEBbiECAAABAW4iAgAAAQFuIwIAAAEBbiQCAAABAW4lAgAAAQFuJgIAAAEBbicCAAABAW4oACkAKgArACwALQEAAC4BAAAvAQAAMAEAADEBAAA="),mP=typeof WebAssembly<"u"&&ure?ure.buffer:!1,hc=wMe(),gP=240*16*16,lre=Math.floor(gP*16*1.066666667),pMe=268435456-65536,dMe="Parameter must be ArrayBuffer, ArrayBufferView or string",hMe="Parameter exceeds max size of 255.9 Mbytes";mP||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function bP(e){var t,r,n,a,i,o,s,c,u,l;let f=gMe(),p=mMe(),d={},h=new Date().getTime();return d.then=function(y){return s=y,g(),d},d.catch=function(y){return c=y,d},o=_Me(e),o||x(new TypeError(dMe)),o&&(i=o.length,mP&&i>lre?i>pMe?x(new Error(hMe)):(t=new WebAssembly.Memory({initial:i>32e6?i>64e6?i>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),a={mem:t,log:console.log},n={imports:a},WebAssembly.instantiate(mP,n).then(m)):g(f(o))),d;function m(y){g(p(o,y.instance.exports,r))}function g(y){var _=Boolean(y)?y:u;Boolean(y)&&(l=new Date().getTime()),typeof s=="function"?Boolean(_)&&(s(_,l-h),s=c=null):Boolean(y)&&(u=y)}function x(y){typeof c=="function"&&c(y)}}function mMe(){var e,t,r,n,a,i,o,s,c,u,l,f,p,d=function(h){var m,g,x,y,_,S,T,O,I,B,D,A,P,R,U,G,W,Q,ce,ie,le,fe,me=new Date().getTime(),ye=0,Y=1732584193,N=-271733879,K=-1732584194,J=271733878,Pe=0,Be=h.length*8,Ke;for(Ke=ve(h,p),p[Be>>>5]|=128<<Be%32,p[(Be+64>>>9<<4)+14]=Be,Ke=(Be+64>>>9<<4)+15,le=p;Pe<Ke;)Ke>Pe+lre?(n(Y),i(N),s(K),u(J),t(gP),Pe=Pe+gP*16,Y=r(),N=a(),K=o(),J=c(),ye++):(W=Y,Q=N,ce=K,ie=J,m=le[Pe+0]>>>0,g=le[Pe+1]>>>0,x=le[Pe+2]>>>0,y=le[Pe+3]>>>0,_=le[Pe+4]>>>0,S=le[Pe+5]>>>0,T=le[Pe+6]>>>0,O=le[Pe+7]>>>0,I=le[Pe+8]>>>0,B=le[Pe+9]>>>0,D=le[Pe+10]>>>0,A=le[Pe+11]>>>0,P=le[Pe+12]>>>0,R=le[Pe+13]>>>0,U=le[Pe+14]>>>0,G=le[Pe+15]>>>0,Y=ae(7,25,Y+(N&K|~N&J)+m-680876936)+N,J=ae(12,20,J+(Y&N|~Y&K)+g-389564586)+Y,K=ae(17,15,K+(J&Y|~J&N)+x+606105819)+J,N=ae(22,10,N+(K&J|~K&Y)+y-1044525330)+K,Y=ae(7,25,Y+(N&K|~N&J)+_-176418897)+N,J=ae(12,20,J+(Y&N|~Y&K)+S+1200080426)+Y,K=ae(17,15,K+(J&Y|~J&N)+T-1473231341)+J,N=ae(22,10,N+(K&J|~K&Y)+O-45705983)+K,Y=ae(7,25,Y+(N&K|~N&J)+I+1770035416)+N,J=ae(12,20,J+(Y&N|~Y&K)+B-1958414417)+Y,K=ae(17,15,K+(J&Y|~J&N)+D-42063)+J,N=ae(22,10,N+(K&J|~K&Y)+A-1990404162)+K,Y=ae(7,25,Y+(N&K|~N&J)+P+1804603682)+N,J=ae(12,20,J+(Y&N|~Y&K)+R-40341101)+Y,K=ae(17,15,K+(J&Y|~J&N)+U-1502002290)+J,N=ae(22,10,N+(K&J|~K&Y)+G+1236535329)+K,Y=ae(5,27,Y+(N&J|K&~J)+g-165796510)+N,J=ae(9,23,J+(Y&K|N&~K)+T-1069501632)+Y,K=ae(14,18,K+(J&N|Y&~N)+A+643717713)+J,N=ae(20,12,N+(K&Y|J&~Y)+m-373897302)+K,Y=ae(5,27,Y+(N&J|K&~J)+S-701558691)+N,J=ae(9,23,J+(Y&K|N&~K)+D+38016083)+Y,K=ae(14,18,K+(J&N|Y&~N)+G-660478335)+J,N=ae(20,12,N+(K&Y|J&~Y)+_-405537848)+K,Y=ae(5,27,Y+(N&J|K&~J)+B+568446438)+N,J=ae(9,23,J+(Y&K|N&~K)+U-1019803690)+Y,K=ae(14,18,K+(J&N|Y&~N)+y-187363961)+J,N=ae(20,12,N+(K&Y|J&~Y)+I+1163531501)+K,Y=ae(5,27,Y+(N&J|K&~J)+R-1444681467)+N,J=ae(9,23,J+(Y&K|N&~K)+x-51403784)+Y,K=ae(14,18,K+(J&N|Y&~N)+O+1735328473)+J,N=ae(20,12,N+(K&Y|J&~Y)+P-1926607734)+K,Y=ae(4,28,Y+(N^K^J)+S-378558)+N,J=ae(11,21,J+(Y^N^K)+I-2022574463)+Y,K=ae(16,16,K+(J^Y^N)+A+1839030562)+J,N=ae(23,9,N+(K^J^Y)+U-35309556)+K,Y=ae(4,28,Y+(N^K^J)+g-1530992060)+N,J=ae(11,21,J+(Y^N^K)+_+1272893353)+Y,K=ae(16,16,K+(J^Y^N)+O-155497632)+J,N=ae(23,9,N+(K^J^Y)+D-1094730640)+K,Y=ae(4,28,Y+(N^K^J)+R+681279174)+N,J=ae(11,21,J+(Y^N^K)+m-358537222)+Y,K=ae(16,16,K+(J^Y^N)+y-722521979)+J,N=ae(23,9,N+(K^J^Y)+T+76029189)+K,Y=ae(4,28,Y+(N^K^J)+B-640364487)+N,J=ae(11,21,J+(Y^N^K)+P-421815835)+Y,K=ae(16,16,K+(J^Y^N)+G+530742520)+J,N=ae(23,9,N+(K^J^Y)+x-995338651)+K,Y=ae(6,26,Y+(K^(N|~J))+m-198630844)+N,J=ae(10,22,J+(N^(Y|~K))+O+1126891415)+Y,K=ae(15,17,K+(Y^(J|~N))+U-1416354905)+J,N=ae(21,11,N+(J^(K|~Y))+S-57434055)+K,Y=ae(6,26,Y+(K^(N|~J))+P+1700485571)+N,J=ae(10,22,J+(N^(Y|~K))+y-1894986606)+Y,K=ae(15,17,K+(Y^(J|~N))+D-1051523)+J,N=ae(21,11,N+(J^(K|~Y))+g-2054922799)+K,Y=ae(6,26,Y+(K^(N|~J))+I+1873313359)+N,J=ae(10,22,J+(N^(Y|~K))+G-30611744)+Y,K=ae(15,17,K+(Y^(J|~N))+T-1560198380)+J,N=ae(21,11,N+(J^(K|~Y))+R+1309151649)+K,Y=ae(6,26,Y+(K^(N|~J))+_-145523070)+N,J=ae(10,22,J+(N^(Y|~K))+A-1120210379)+Y,K=ae(15,17,K+(Y^(J|~N))+x+718787259)+J,N=ae(21,11,N+(J^(K|~Y))+B-343485551)+K,Pe=Pe+16,Y=Y+W>>>0,N=N+Q>>>0,K=K+ce>>>0,J=J+ie>>>0);return hc.endian([Y,N,K,J]);function ae(ge,Ye,Se){return Se<<ge|Se>>>Ye}function ve(ge,Ye){for(var Se=-1,rt=Math.floor((ge.length-1)/4),vt=0,Dr,re,Ce,$e;rt-8>Se++;)vt=Se<<2,Ye[Se]=ge[vt+0]|ge[vt+1]<<8|ge[vt+2]<<16|ge[vt+3]<<24;for(Se--;rt>Se++;)vt=Se<<2,Dr=typeof ge[vt+0]>"u"?0:ge[vt+0],re=typeof ge[vt+1]>"u"?0:ge[vt+1],Ce=typeof ge[vt+2]>"u"?0:ge[vt+2],$e=typeof ge[vt+3]>"u"?0:ge[vt+3],Ye[Se]=Dr|re<<8|Ce<<16|$e<<24;return rt+1}};return function(h,m,g,x){var y;return t=m.loops,e=m.loop,r=m.getA,a=m.getB,o=m.getC,c=m.getD,l=m.getX,n=m.setA,i=m.setB,s=m.setC,u=m.setD,f=m.setX,p=g,y=hc.wordsToBytes(d(h)),x&&x.asBytes?y:hc.bytesconvertNumberToHex(y)}}function gMe(){var e=function(t,r){var n,a,i,o,s,c,u,l,f,p,d,h,m,g,x,y,_,S,T,O,I,B=new Date().getTime(),D=1732584193,A=-271733879,P=-1732584194,R=271733878,U=t.length*8;I=hc.bytesToWords(t);for(var G=0;G<I.length;G++)I[G]=(I[G]<<8|I[G]>>>24)&16711935|(I[G]<<24|I[G]>>>8)&4278255360;I[U>>>5]|=128<<U%32,I[(U+64>>>9<<4)+14]=U;for(var W=0;W<I.length;W+=16)_=D,S=A,T=P,O=R,n=I[W+0]>>>0,a=I[W+1]>>>0,i=I[W+2]>>>0,o=I[W+3]>>>0,s=I[W+4]>>>0,c=I[W+5]>>>0,u=I[W+6]>>>0,l=I[W+7]>>>0,f=I[W+8]>>>0,p=I[W+9]>>>0,d=I[W+10]>>>0,h=I[W+11]>>>0,m=I[W+12]>>>0,g=I[W+13]>>>0,x=I[W+14]>>>0,y=I[W+15]>>>0,D=Q(7,25,D+(A&P|~A&R)+n-680876936)+A,R=Q(12,20,R+(D&A|~D&P)+a-389564586)+D,P=Q(17,15,P+(R&D|~R&A)+i+606105819)+R,A=Q(22,10,A+(P&R|~P&D)+o-1044525330)+P,D=Q(7,25,D+(A&P|~A&R)+s-176418897)+A,R=Q(12,20,R+(D&A|~D&P)+c+1200080426)+D,P=Q(17,15,P+(R&D|~R&A)+u-1473231341)+R,A=Q(22,10,A+(P&R|~P&D)+l-45705983)+P,D=Q(7,25,D+(A&P|~A&R)+f+1770035416)+A,R=Q(12,20,R+(D&A|~D&P)+p-1958414417)+D,P=Q(17,15,P+(R&D|~R&A)+d-42063)+R,A=Q(22,10,A+(P&R|~P&D)+h-1990404162)+P,D=Q(7,25,D+(A&P|~A&R)+m+1804603682)+A,R=Q(12,20,R+(D&A|~D&P)+g-40341101)+D,P=Q(17,15,P+(R&D|~R&A)+x-1502002290)+R,A=Q(22,10,A+(P&R|~P&D)+y+1236535329)+P,D=Q(5,27,D+(A&R|P&~R)+a-165796510)+A,R=Q(9,23,R+(D&P|A&~P)+u-1069501632)+D,P=Q(14,18,P+(R&A|D&~A)+h+643717713)+R,A=Q(20,12,A+(P&D|R&~D)+n-373897302)+P,D=Q(5,27,D+(A&R|P&~R)+c-701558691)+A,R=Q(9,23,R+(D&P|A&~P)+d+38016083)+D,P=Q(14,18,P+(R&A|D&~A)+y-660478335)+R,A=Q(20,12,A+(P&D|R&~D)+s-405537848)+P,D=Q(5,27,D+(A&R|P&~R)+p+568446438)+A,R=Q(9,23,R+(D&P|A&~P)+x-1019803690)+D,P=Q(14,18,P+(R&A|D&~A)+o-187363961)+R,A=Q(20,12,A+(P&D|R&~D)+f+1163531501)+P,D=Q(5,27,D+(A&R|P&~R)+g-1444681467)+A,R=Q(9,23,R+(D&P|A&~P)+i-51403784)+D,P=Q(14,18,P+(R&A|D&~A)+l+1735328473)+R,A=Q(20,12,A+(P&D|R&~D)+m-1926607734)+P,D=Q(4,28,D+(A^P^R)+c-378558)+A,R=Q(11,21,R+(D^A^P)+f-2022574463)+D,P=Q(16,16,P+(R^D^A)+h+1839030562)+R,A=Q(23,9,A+(P^R^D)+x-35309556)+P,D=Q(4,28,D+(A^P^R)+a-1530992060)+A,R=Q(11,21,R+(D^A^P)+s+1272893353)+D,P=Q(16,16,P+(R^D^A)+l-155497632)+R,A=Q(23,9,A+(P^R^D)+d-1094730640)+P,D=Q(4,28,D+(A^P^R)+g+681279174)+A,R=Q(11,21,R+(D^A^P)+n-358537222)+D,P=Q(16,16,P+(R^D^A)+o-722521979)+R,A=Q(23,9,A+(P^R^D)+u+76029189)+P,D=Q(4,28,D+(A^P^R)+p-640364487)+A,R=Q(11,21,R+(D^A^P)+m-421815835)+D,P=Q(16,16,P+(R^D^A)+y+530742520)+R,A=Q(23,9,A+(P^R^D)+i-995338651)+P,D=Q(6,26,D+(P^(A|~R))+n-198630844)+A,R=Q(10,22,R+(A^(D|~P))+l+1126891415)+D,P=Q(15,17,P+(D^(R|~A))+x-1416354905)+R,A=Q(21,11,A+(R^(P|~D))+c-57434055)+P,D=Q(6,26,D+(P^(A|~R))+m+1700485571)+A,R=Q(10,22,R+(A^(D|~P))+o-1894986606)+D,P=Q(15,17,P+(D^(R|~A))+d-1051523)+R,A=Q(21,11,A+(R^(P|~D))+a-2054922799)+P,D=Q(6,26,D+(P^(A|~R))+f+1873313359)+A,R=Q(10,22,R+(A^(D|~P))+y-30611744)+D,P=Q(15,17,P+(D^(R|~A))+u-1560198380)+R,A=Q(21,11,A+(R^(P|~D))+g+1309151649)+P,D=Q(6,26,D+(P^(A|~R))+s-145523070)+A,R=Q(10,22,R+(A^(D|~P))+h-1120210379)+D,P=Q(15,17,P+(D^(R|~A))+i+718787259)+R,A=Q(21,11,A+(R^(P|~D))+p-343485551)+P,D=D+_>>>0,A=A+S>>>0,P=P+T>>>0,R=R+O>>>0;return hc.endian([D,A,P,R]);function Q(ce,ie,le){return le<<ce|le>>>ie}};return function(t,r){var n=hc.wordsToBytes(e(t,r)),a=r&&r.asBytes?n:hc.bytesconvertNumberToHex(n);return a}}function bMe(e){try{return vMe(e)}catch{return null}}function vMe(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?yMe(atob(t)):xMe(t)}function xMe(e){for(var t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=e.length*3/4-t,n=new Uint8Array(r),a=0,i=0,o,s,c,u;i<e.length;){if(o=Fw.indexOf(e.charAt(i++)),s=Fw.indexOf(e.charAt(i++)),c=Fw.indexOf(e.charAt(i++)),u=Fw.indexOf(e.charAt(i++)),o<0||s<0||c<0||u<0)throw new TypeError("Invalid base64 input");n[a++]=o<<2|s>>4,c<64&&a<r&&(n[a++]=(s&15)<<4|c>>2),u<64&&a<r&&(n[a++]=(c&3)<<6|u)}return n}function yMe(e){for(var t=e.length,r=new Uint8Array(t),n=0;n<t;)r[n]=e.charCodeAt(n),n++;return r}function _Me(e){return e instanceof Uint8Array?e:typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?new Uint8Array(e):e&&typeof e=="object"&&ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?new TextEncoder().encode(e):null}function wMe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return hc.rotl(t,8)&16711935|hc.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=hc.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,a=0;n<t.length;n++,a+=8)r[a>>>5]|=t[n]<<24-a%32;return r},wordsToBytes:function(t){for(var r=[],n=0;n<t.length*32;n+=8)r.push(t[n>>>5]>>>24-n%32&255);return r},bytesconvertNumberToHex:function(t){for(var r=[],n=0;n<t.length;n++)r.push((t[n]>>>4).toString(16)),r.push((t[n]&15).toString(16));return r.join("")}}}var mc=class extends wu{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let a=await new Promise((i,o)=>bP(t).then(i).catch(o));return sre(a,r)}};var Wv=Dt(require("crypto"),1),Pw=class extends wu{name="crypto-node";options;_algorithm;_hash;constructor(t){var r,n;if(super(),this.options=t,!((n=(r=this.options)==null?void 0:r.crypto)!=null&&n.algorithm))throw new Error(this.name)}async hash(t,r){var a,i,o,s;let n=(o=(i=(a=this.options)==null?void 0:a.crypto)==null?void 0:i.algorithm)==null?void 0:o.toLowerCase();try{if(!Wv.createHash)throw new Error("crypto.createHash not available");let c=(s=Wv.createHash)==null?void 0:s(n),u=new Uint8Array(t);return c.update(u).digest("base64")}catch(c){throw Error(`${n} hash not available. ${c}`)}}async*hashBatches(t,r="base64"){var i,o,s,c,u,l,f;if(!Wv.createHash)throw new Error("crypto.createHash not available");let n=(c=Wv.createHash)==null?void 0:c((s=(o=(i=this.options)==null?void 0:i.crypto)==null?void 0:o.algorithm)==null?void 0:s.toLowerCase());for await(let p of t){let d=new Uint8Array(p);n.update(d),yield p}let a=n.digest(r);(f=(l=(u=this.options)==null?void 0:u.crypto)==null?void 0:l.onEnd)==null||f.call(l,{hash:a})}};var Gne=require("process");var fre=Dt(require("stream"),1),vP=class{},TMe=fre.Readable||vP;function yP(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new xP(r,t)}var xP=class extends TMe{_pulling;_bytesMode;_iterator;constructor(t,r){super(r),this._iterator=t,this._pulling=!1,this._bytesMode=!r||!r.objectMode}async _read(t){this._pulling||(this._pulling=!0,this._pulling=await this._pull(t,this._iterator))}async _destroy(t,r){var n,a,i,o;this._iterator&&(t?await((a=(n=this._iterator)==null?void 0:n.throw)==null?void 0:a.call(n,t)):await((o=(i=this._iterator)==null?void 0:i.return)==null?void 0:o.call(i,t)),r==null||r(null))}async _pull(t,r){var i;let n=this._bytesMode,a=null;for(;this.readable&&!(a=await r.next()).done&&(t!==null&&(t-=n&&ArrayBuffer.isView(a.value)?a.value.byteLength:1),!(!this.push(new Uint8Array(a.value))||t<=0)););return(a!=null&&a.done||!this.readable)&&(this.push(null)||!0)&&((i=r==null?void 0:r.return)==null||i.call(r)),!this.readable}};function Zv(){}function Sn(e){return typeof e=="object"&&e!==null||typeof e=="function"}var Pre=Zv;function tr(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var qP=Promise,EMe=Promise.resolve.bind(qP),SMe=Promise.prototype.then,AMe=Promise.reject.bind(qP),kMe=EMe;function Ln(e){return new qP(e)}function rr(e){return Ln(t=>t(e))}function nt(e){return AMe(e)}function xc(e,t,r){return SMe.call(e,t,r)}function wi(e,t,r){xc(xc(e,t,r),void 0,Pre)}function _P(e,t){wi(e,t)}function FP(e,t){wi(e,void 0,t)}function Du(e,t,r){return xc(e,t,r)}function S0(e){xc(e,void 0,Pre)}var Gp=e=>{if(typeof queueMicrotask=="function")Gp=queueMicrotask;else{let t=rr(void 0);Gp=r=>xc(t,r)}return Gp(e)};function Vp(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Fu(e,t,r){try{return rr(Vp(e,t,r))}catch(n){return nt(n)}}var Ti=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===16383&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,a=n+1,i=t._elements,o=i[n];return a===16384&&(r=t._next,a=0),--this._size,this._cursor=a,t!==r&&(this._front=r),i[n]=void 0,o}forEach(t){let r=this._cursor,n=this._front,a=n._elements;for(;!(r===a.length&&n._next===void 0||r===a.length&&(n=n._next,a=n._elements,r=0,a.length===0));)t(a[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},Cre=Symbol("[[AbortSteps]]"),Ire=Symbol("[[ErrorSteps]]"),NP=Symbol("[[CancelSteps]]"),zP=Symbol("[[PullSteps]]"),UP=Symbol("[[ReleaseSteps]]");function jre(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?PP(e):t._state==="closed"?function(r){PP(r),Lre(r)}(e):Rre(e,t._storedError)}function GP(e,t){return hs(e._ownerReadableStream,t)}function ku(e){let t=e._ownerReadableStream;t._state==="readable"?VP(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){Rre(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[UP](),t._reader=void 0,e._ownerReadableStream=void 0}function Ww(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function PP(e){e._closedPromise=Ln((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function Rre(e,t){PP(e),VP(e,t)}function VP(e,t){e._closedPromise_reject!==void 0&&(S0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Lre(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var pre=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},DMe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function yc(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function wo(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function Bre(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Ou(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function CP(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function $P(e){return Number(e)}function dre(e){return e===0?0:e}function HP(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=dre(n),!pre(n))throw new TypeError(`${t} is not a finite number`);if(n=function(a){return dre(DMe(a))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return pre(n)&&n!==0?n:0}function WP(e,t){if(!$l(e))throw new TypeError(`${t} is not a ReadableStream.`)}function y0(e){return new Tu(e)}function Mre(e,t){e._reader._readRequests.push(t)}function KP(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function tT(e){return e._reader._readRequests.length}function qre(e){let t=e._reader;return t!==void 0&&!!Hl(t)}var Tu=class{constructor(t){if(Ou(t,1,"ReadableStreamDefaultReader"),WP(t,"First parameter"),Kl(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");jre(this,t),this._readRequests=new Ti}get closed(){return Hl(this)?this._closedPromise:nt(Cw("closed"))}cancel(t=void 0){return Hl(this)?this._ownerReadableStream===void 0?nt(Ww("cancel")):GP(this,t):nt(Cw("cancel"))}read(){if(!Hl(this))return nt(Cw("read"));if(this._ownerReadableStream===void 0)return nt(Ww("read from"));let t,r,n=Ln((a,i)=>{t=a,r=i});return ex(this,{_chunkSteps:a=>t({value:a,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:a=>r(a)}),n}releaseLock(){if(!Hl(this))throw Cw("releaseLock");this._ownerReadableStream!==void 0&&function(t){ku(t);let r=new TypeError("Reader was released");Nre(t,r)}(this)}};function Hl(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof Tu}function ex(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[zP](t)}function Nre(e,t){let r=e._readRequests;e._readRequests=new Ti,r.forEach(n=>{n._errorSteps(t)})}function Cw(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var wP,TP,EP;function Xv(e){return e.slice()}function zre(e,t,r,n,a){new Uint8Array(e).set(new Uint8Array(r,n,a),t)}Object.defineProperties(Tu.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(Tu.prototype.cancel,"cancel"),tr(Tu.prototype.read,"read"),tr(Tu.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Tu.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var $p=e=>($p=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,$p(e)),Hp=e=>(Hp=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,Hp(e));function Ure(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,a=new ArrayBuffer(n);return zre(a,0,e,t,n),a}function Yv(e,t){let r=e[t];if(r!=null){if(typeof r!="function")throw new TypeError(`${String(t)} is not a function`);return r}}function hre(e){try{let t=e.done,r=e.value;return xc(kMe(r),n=>({done:t,value:n}))}catch(t){return nt(t)}}var cx=(EP=(wP=Symbol.asyncIterator)!==null&&wP!==void 0?wP:(TP=Symbol.for)===null||TP===void 0?void 0:TP.call(Symbol,"Symbol.asyncIterator"))!==null&&EP!==void 0?EP:"@@asyncIterator";function Gre(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Yv(e,cx))===void 0)return function(a){let i={next(){let o;try{o=Vre(a)}catch(s){return nt(s)}return hre(o)},return(o){let s;try{let c=Yv(a.iterator,"return");if(c===void 0)return rr({done:!0,value:o});s=Vp(c,a.iterator,[o])}catch(c){return nt(c)}return Sn(s)?hre(s):nt(new TypeError("The iterator.return() method must return an object"))}};return{iterator:i,nextMethod:i.next,done:!1}}(Gre(e,"sync",Yv(e,Symbol.iterator)))}else r=Yv(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=Vp(r,e,[]);if(!Sn(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function Vre(e){let t=Vp(e.nextMethod,e.iterator,[]);if(!Sn(t))throw new TypeError("The iterator.next() method must return an object");return t}var Kw=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Du(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise=this._ongoingPromise?Du(this._ongoingPromise,r,r):r(),this._ongoingPromise}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,a=Ln((i,o)=>{r=i,n=o});return ex(t,{_chunkSteps:i=>{this._ongoingPromise=void 0,Gp(()=>r({value:i,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ku(t),r({value:void 0,done:!0})},_errorSteps:i=>{this._ongoingPromise=void 0,this._isFinished=!0,ku(t),n(i)}}),a}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=GP(r,t);return ku(r),Du(n,()=>({value:t,done:!0}))}return ku(r),rr({value:t,done:!0})}},$re={next(){return mre(this)?this._asyncIteratorImpl.next():nt(gre("next"))},return(e){return mre(this)?this._asyncIteratorImpl.return(e):nt(gre("return"))},[cx](){return this}};function mre(e){if(!Sn(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof Kw}catch{return!1}}function gre(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty($re,cx,{enumerable:!1});var Hre=Number.isNaN||function(e){return e!=e};function bre(e){let t=Ure(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function IP(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function XP(e,t,r){if(typeof(n=r)!="number"||Hre(n)||n<0||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");var n;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function Xl(e){e._queue=new Ti,e._queueTotalSize=0}function Wre(e){return e===DataView}var Wl=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!SP(this))throw AP("view");return this._view}respond(t){if(!SP(this))throw AP("respond");if(Ou(t,1,"respond"),t=HP(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Hp(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Gw(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!SP(this))throw AP("respondWithNewView");if(Ou(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Hp(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Vw(this._associatedReadableByteStreamController,t)}};Object.defineProperties(Wl.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),tr(Wl.prototype.respond,"respond"),tr(Wl.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Wl.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var bc=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!zp(this))throw Kv("byobRequest");return RP(this)}get desiredSize(){if(!zp(this))throw Kv("desiredSize");return ane(this)}close(){if(!zp(this))throw Kv("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);Qv(this)}enqueue(t){if(!zp(this))throw Kv("enqueue");if(Ou(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);Uw(this,t)}error(t=void 0){if(!zp(this))throw Kv("error");_o(this,t)}[NP](t){Kre(this),Xl(this);let r=this._cancelAlgorithm(t);return rT(this),r}[zP](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void nne(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let a;try{a=new ArrayBuffer(n)}catch(o){return void t._errorSteps(o)}let i={buffer:a,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}Mre(r,t),Xp(this)}[UP](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new Ti,this._pendingPullIntos.push(t)}}};function zp(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof bc}function SP(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof Wl}function Xp(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(qre(n)&&tT(n)>0||QP(n)&&sne(n)>0||ane(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,wi(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Xp(e)),null),r=>(_o(e,r),null))}}function Kre(e){YP(e),e._pendingPullIntos=new Ti}function Xre(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Yre(t);t.readerType==="default"?KP(e,n,r):function(a,i,o){let s=a._reader,c=s._readIntoRequests.shift();o?c._closeSteps(i):c._chunkSteps(i)}(e,n,r)}function Nw(e,t){for(let r=0;r<t.length;++r)Xre(e,t[r])}function Yre(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function zw(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Qre(e,t,r,n){let a;try{a=Ure(t,r,r+n)}catch(i){throw _o(e,i),i}zw(e,a,0,n)}function Jre(e,t){t.bytesFilled>0&&Qre(e,t.buffer,t.byteOffset,t.bytesFilled),_0(e)}function Zre(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,a=r,i=!1,o=n-n%t.elementSize;o>=t.minimumFill&&(a=o-t.bytesFilled,i=!0);let s=e._queue;for(;a>0;){let c=s.peek(),u=Math.min(a,c.byteLength),l=t.byteOffset+t.bytesFilled;zre(t.buffer,l,c.buffer,c.byteOffset,u),c.byteLength===u?s.shift():(c.byteOffset+=u,c.byteLength-=u),e._queueTotalSize-=u,ene(e,u,t),a-=u}return i}function ene(e,t,r){r.bytesFilled+=t}function tne(e){e._queueTotalSize===0&&e._closeRequested?(rT(e),ux(e._controlledReadableByteStream)):Xp(e)}function YP(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function jP(e){let t=[];for(;e._pendingPullIntos.length>0&&e._queueTotalSize!==0;){let r=e._pendingPullIntos.peek();Zre(e,r)&&(_0(e),t.push(r))}return t}function OMe(e,t,r,n){let a=e._controlledReadableByteStream,i=t.constructor,o=function(p){return Wre(p)?1:p.BYTES_PER_ELEMENT}(i),{byteOffset:s,byteLength:c}=t,u=r*o,l;try{l=$p(t.buffer)}catch(p){return void n._errorSteps(p)}let f={buffer:l,bufferByteLength:l.byteLength,byteOffset:s,byteLength:c,bytesFilled:0,minimumFill:u,elementSize:o,viewConstructor:i,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(f),void vre(a,n);if(a._state==="closed"){let p=new i(f.buffer,f.byteOffset,0);return void n._closeSteps(p)}if(e._queueTotalSize>0){if(Zre(e,f)){let p=Yre(f);return tne(e),void n._chunkSteps(p)}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");return _o(e,p),void n._errorSteps(p)}}e._pendingPullIntos.push(f),vre(a,n),Xp(e)}function rne(e,t){let r=e._pendingPullIntos.peek();YP(e),e._controlledReadableByteStream._state==="closed"?function(n,a){a.readerType==="none"&&_0(n);let i=n._controlledReadableByteStream;if(QP(i)){let o=[];for(;o.length<sne(i);)o.push(_0(n));Nw(i,o)}}(e,r):function(n,a,i){if(ene(0,a,i),i.readerType==="none"){Jre(n,i);let c=jP(n);return void Nw(n._controlledReadableByteStream,c)}if(i.bytesFilled<i.minimumFill)return;_0(n);let o=i.bytesFilled%i.elementSize;if(o>0){let c=i.byteOffset+i.bytesFilled;Qre(n,i.buffer,c-o,o)}i.bytesFilled-=o;let s=jP(n);Xre(n._controlledReadableByteStream,i),Nw(n._controlledReadableByteStream,s)}(e,t,r),Xp(e)}function _0(e){return e._pendingPullIntos.shift()}function rT(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Qv(e){let t=e._controlledReadableByteStream;if(!e._closeRequested&&t._state==="readable")if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){let r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!==0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw _o(e,n),n}}rT(e),ux(t)}}function Uw(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:a,byteLength:i}=t;if(Hp(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=$p(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(Hp(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");YP(e),s.buffer=$p(s.buffer),s.readerType==="none"&&Jre(e,s)}qre(r)?(function(s){let c=s._controlledReadableByteStream._reader;for(;c._readRequests.length>0;){if(s._queueTotalSize===0)return;nne(s,c._readRequests.shift())}}(e),tT(r)===0?zw(e,o,a,i):(e._pendingPullIntos.length>0&&_0(e),KP(r,new Uint8Array(o,a,i),!1))):QP(r)?(zw(e,o,a,i),Nw(r,jP(e))):zw(e,o,a,i),Xp(e)}function _o(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(Kre(e),Xl(e),rT(e),kne(r,t))}function nne(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,tne(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function RP(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(Wl.prototype);(function(a,i,o){a._associatedReadableByteStreamController=i,a._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function ane(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Gw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=$p(r.buffer),rne(e,t)}function Vw(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let n=t.byteLength;r.buffer=$p(t.buffer),rne(e,n)}function ine(e,t,r,n,a,i,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,Xl(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=a,t._autoAllocateChunkSize=o,t._pendingPullIntos=new Ti,e._readableStreamController=t,wi(rr(r()),()=>(t._started=!0,Xp(t),null),s=>(_o(t,s),null))}function AP(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Kv(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function FMe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function one(e){return new Eu(e)}function vre(e,t){e._reader._readIntoRequests.push(t)}function sne(e){return e._reader._readIntoRequests.length}function QP(e){let t=e._reader;return t!==void 0&&!!Up(t)}Object.defineProperties(bc.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(bc.prototype.close,"close"),tr(bc.prototype.enqueue,"enqueue"),tr(bc.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(bc.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var Eu=class{constructor(t){if(Ou(t,1,"ReadableStreamBYOBReader"),WP(t,"First parameter"),Kl(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!zp(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");jre(this,t),this._readIntoRequests=new Ti}get closed(){return Up(this)?this._closedPromise:nt(Iw("closed"))}cancel(t=void 0){return Up(this)?this._ownerReadableStream===void 0?nt(Ww("cancel")):GP(this,t):nt(Iw("cancel"))}read(t,r={}){if(!Up(this))return nt(Iw("read"));if(!ArrayBuffer.isView(t))return nt(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return nt(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return nt(new TypeError("view's buffer must have non-zero byteLength"));if(Hp(t.buffer))return nt(new TypeError("view's buffer has been detached"));let n;try{n=function(c,u){var l;return yc(c,u),{min:HP((l=c==null?void 0:c.min)!==null&&l!==void 0?l:1,`${u} has member 'min' that`)}}(r,"options")}catch(c){return nt(c)}let a=n.min;if(a===0)return nt(new TypeError("options.min must be greater than 0"));if(function(c){return Wre(c.constructor)}(t)){if(a>t.byteLength)return nt(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(a>t.length)return nt(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return nt(Ww("read from"));let i,o,s=Ln((c,u)=>{i=c,o=u});return cne(this,t,a,{_chunkSteps:c=>i({value:c,done:!1}),_closeSteps:c=>i({value:c,done:!0}),_errorSteps:c=>o(c)}),s}releaseLock(){if(!Up(this))throw Iw("releaseLock");this._ownerReadableStream!==void 0&&function(t){ku(t);let r=new TypeError("Reader was released");une(t,r)}(this)}};function Up(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof Eu}function cne(e,t,r,n){let a=e._ownerReadableStream;a._disturbed=!0,a._state==="errored"?n._errorSteps(a._storedError):OMe(a._readableStreamController,t,r,n)}function une(e,t){let r=e._readIntoRequests;e._readIntoRequests=new Ti,r.forEach(n=>{n._errorSteps(t)})}function Iw(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function tx(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Hre(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Xw(e){let{size:t}=e;return t||(()=>1)}function Yw(e,t){yc(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:$P(r),size:n===void 0?void 0:PMe(n,`${t} has member 'size' that`)}}function PMe(e,t){return wo(e,t),r=>$P(e(r))}function CMe(e,t,r){return wo(e,r),n=>Fu(e,t,[n])}function IMe(e,t,r){return wo(e,r),()=>Fu(e,t,[])}function jMe(e,t,r){return wo(e,r),n=>Vp(e,t,[n])}function RMe(e,t,r){return wo(e,r),(n,a)=>Fu(e,t,[n,a])}function lne(e,t){if(!x0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(Eu.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(Eu.prototype.cancel,"cancel"),tr(Eu.prototype.read,"read"),tr(Eu.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Eu.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var Su=class{constructor(t={},r={}){t===void 0?t=null:Bre(t,"First parameter");let n=Yw(r,"Second parameter"),a=function(o,s){yc(o,s);let c=o==null?void 0:o.abort,u=o==null?void 0:o.close,l=o==null?void 0:o.start,f=o==null?void 0:o.type,p=o==null?void 0:o.write;return{abort:c===void 0?void 0:CMe(c,o,`${s} has member 'abort' that`),close:u===void 0?void 0:IMe(u,o,`${s} has member 'close' that`),start:l===void 0?void 0:jMe(l,o,`${s} has member 'start' that`),write:p===void 0?void 0:RMe(p,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(pne(this),a.type!==void 0)throw new RangeError("Invalid type is specified");let i=Xw(n);(function(o,s,c,u){let l=Object.create(Wp.prototype),f,p,d,h;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.write!==void 0?m=>s.write(m,l):()=>rr(void 0),d=s.close!==void 0?()=>s.close():()=>rr(void 0),h=s.abort!==void 0?m=>s.abort(m):()=>rr(void 0),xne(o,l,f,p,d,h,c,u)})(this,a,tx(n,1),i)}get locked(){if(!x0(this))throw Rw("locked");return w0(this)}abort(t=void 0){return x0(this)?w0(this)?nt(new TypeError("Cannot abort a stream that already has a writer")):Qw(this,t):nt(Rw("abort"))}close(){return x0(this)?w0(this)?nt(new TypeError("Cannot close a stream that already has a writer")):_c(this)?nt(new TypeError("Cannot close an already-closing stream")):dne(this):nt(Rw("close"))}getWriter(){if(!x0(this))throw Rw("getWriter");return fne(this)}};function fne(e){return new gc(e)}function pne(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new Ti,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function x0(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof Su}function w0(e){return e._writer!==void 0}function Qw(e,t){var r;if(e._state==="closed"||e._state==="errored")return rr(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return rr(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let a=!1;n==="erroring"&&(a=!0,t=void 0);let i=Ln((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:a}});return e._pendingAbortRequest._promise=i,a||JP(e,t),i}function dne(e){let t=e._state;if(t==="closed"||t==="errored")return nt(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=Ln((i,o)=>{let s={_resolve:i,_reject:o};e._closeRequest=s}),n=e._writer;var a;return n!==void 0&&e._backpressure&&t==="writable"&&nC(n),XP(a=e._writableStreamController,vne,0),nT(a),r}function LP(e,t){e._state!=="writable"?ZP(e):JP(e,t)}function JP(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&mne(n,t),!function(a){return!(a._inFlightWriteRequest===void 0&&a._inFlightCloseRequest===void 0)}(e)&&r._started&&ZP(e)}function ZP(e){e._state="errored",e._writableStreamController[Ire]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new Ti,e._pendingAbortRequest===void 0)return void jw(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void jw(e);wi(e._writableStreamController[Cre](r._reason),()=>(r._resolve(),jw(e),null),n=>(r._reject(n),jw(e),null))}function _c(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function jw(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&rC(t,e._storedError)}function eC(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){aT(n)}(r):nC(r)),e._backpressure=t}Object.defineProperties(Su.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),tr(Su.prototype.abort,"abort"),tr(Su.prototype.close,"close"),tr(Su.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Su.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var gc=class{constructor(t){if(Ou(t,1,"WritableStreamDefaultWriter"),lne(t,"First parameter"),w0(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!_c(t)&&t._backpressure?aT(this):xre(this),$w(this);else if(r==="erroring")BP(this,t._storedError),$w(this);else if(r==="closed")xre(this),$w(n=this),Tne(n);else{let a=t._storedError;BP(this,a),wne(this,a)}var n}get closed(){return Mp(this)?this._closedPromise:nt(qp("closed"))}get desiredSize(){if(!Mp(this))throw qp("desiredSize");if(this._ownerWritableStream===void 0)throw Jv("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:yne(r._writableStreamController)}(this)}get ready(){return Mp(this)?this._readyPromise:nt(qp("ready"))}abort(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?nt(Jv("abort")):function(r,n){return Qw(r._ownerWritableStream,n)}(this,t):nt(qp("abort"))}close(){if(!Mp(this))return nt(qp("close"));let t=this._ownerWritableStream;return t===void 0?nt(Jv("close")):_c(t)?nt(new TypeError("Cannot close an already-closing stream")):hne(this)}releaseLock(){if(!Mp(this))throw qp("releaseLock");this._ownerWritableStream!==void 0&&gne(this)}write(t=void 0){return Mp(this)?this._ownerWritableStream===void 0?nt(Jv("write to")):bne(this,t):nt(qp("write"))}};function Mp(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof gc}function hne(e){return dne(e._ownerWritableStream)}function LMe(e,t){e._closedPromiseState==="pending"?rC(e,t):function(r,n){wne(r,n)}(e,t)}function mne(e,t){e._readyPromiseState==="pending"?Ene(e,t):function(r,n){BP(r,n)}(e,t)}function gne(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");mne(e,r),LMe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function bne(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,a=function(s,c){if(s._strategySizeAlgorithm===void 0)return 1;try{return s._strategySizeAlgorithm(c)}catch(u){return rx(s,u),1}}(n,t);if(r!==e._ownerWritableStream)return nt(Jv("write to"));let i=r._state;if(i==="errored")return nt(r._storedError);if(_c(r)||i==="closed")return nt(new TypeError("The stream is closing or closed and cannot be written to"));if(i==="erroring")return nt(r._storedError);let o=function(s){return Ln((c,u)=>{let l={_resolve:c,_reject:u};s._writeRequests.push(l)})}(r);return function(s,c,u){try{XP(s,c,u)}catch(f){return void rx(s,f)}let l=s._controlledWritableStream;!_c(l)&&l._state==="writable"&&eC(l,tC(s)),nT(s)}(n,t,a),o}Object.defineProperties(gc.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),tr(gc.prototype.abort,"abort"),tr(gc.prototype.close,"close"),tr(gc.prototype.releaseLock,"releaseLock"),tr(gc.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gc.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var vne={},Wp=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!kP(this))throw DP("abortReason");return this._abortReason}get signal(){if(!kP(this))throw DP("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!kP(this))throw DP("error");this._controlledWritableStream._state==="writable"&&_ne(this,t)}[Cre](t){let r=this._abortAlgorithm(t);return Jw(this),r}[Ire](){Xl(this)}};function kP(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof Wp}function xne(e,t,r,n,a,i,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,Xl(t),t._abortReason=void 0,t._abortController=function(){if(typeof AbortController=="function")return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=a,t._abortAlgorithm=i;let c=tC(t);eC(e,c),wi(rr(r()),()=>(t._started=!0,nT(t),null),u=>(t._started=!0,LP(e,u),null))}function Jw(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function yne(e){return e._strategyHWM-e._queueTotalSize}function nT(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void ZP(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===vne?function(n){let a=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(a),IP(n);let i=n._closeAlgorithm();Jw(n),wi(i,()=>(function(o){o._inFlightCloseRequest._resolve(void 0),o._inFlightCloseRequest=void 0,o._state==="erroring"&&(o._storedError=void 0,o._pendingAbortRequest!==void 0&&(o._pendingAbortRequest._resolve(),o._pendingAbortRequest=void 0)),o._state="closed";let s=o._writer;s!==void 0&&Tne(s)}(a),null),o=>(function(s,c){s._inFlightCloseRequest._reject(c),s._inFlightCloseRequest=void 0,s._pendingAbortRequest!==void 0&&(s._pendingAbortRequest._reject(c),s._pendingAbortRequest=void 0),LP(s,c)}(a,o),null))}(e):function(n,a){let i=n._controlledWritableStream;(function(s){s._inFlightWriteRequest=s._writeRequests.shift()})(i);let o=n._writeAlgorithm(a);wi(o,()=>{(function(c){c._inFlightWriteRequest._resolve(void 0),c._inFlightWriteRequest=void 0})(i);let s=i._state;if(IP(n),!_c(i)&&s==="writable"){let c=tC(n);eC(i,c)}return nT(n),null},s=>(i._state==="writable"&&Jw(n),function(c,u){c._inFlightWriteRequest._reject(u),c._inFlightWriteRequest=void 0,LP(c,u)}(i,s),null))}(e,r)}function rx(e,t){e._controlledWritableStream._state==="writable"&&_ne(e,t)}function tC(e){return yne(e)<=0}function _ne(e,t){let r=e._controlledWritableStream;Jw(e),JP(r,t)}function Rw(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function DP(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function qp(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Jv(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function $w(e){e._closedPromise=Ln((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function wne(e,t){$w(e),rC(e,t)}function rC(e,t){e._closedPromise_reject!==void 0&&(S0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function Tne(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function aT(e){e._readyPromise=Ln((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function BP(e,t){aT(e),Ene(e,t)}function xre(e){aT(e),nC(e)}function Ene(e,t){e._readyPromise_reject!==void 0&&(S0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function nC(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(Wp.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Wp.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var yre=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,BMe=function(){let e=yre==null?void 0:yre.DOMException;return function(t){if(typeof t!="function"&&typeof t!="object"||t.name!=="DOMException")return!1;try{return new t,!0}catch{return!1}}(e)?e:void 0}()||function(){let e=function(t,r){this.message=t||"",this.name=r||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return tr(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();function _re(e,t,r,n,a,i){let o=y0(e),s=fne(t);e._disturbed=!0;let c=!1,u=rr(void 0);return Ln((l,f)=>{let p;if(i!==void 0){if(p=()=>{let T=i.reason!==void 0?i.reason:new BMe("Aborted","AbortError"),O=[];n||O.push(()=>t._state==="writable"?Qw(t,T):rr(void 0)),a||O.push(()=>e._state==="readable"?hs(e,T):rr(void 0)),y(()=>Promise.all(O.map(I=>I())),!0,T)},i.aborted)return void p();i.addEventListener("abort",p)}var d,h,m;if(x(e,o._closedPromise,T=>(n?_(!0,T):y(()=>Qw(t,T),!0,T),null)),x(t,s._closedPromise,T=>(a?_(!0,T):y(()=>hs(e,T),!0,T),null)),d=e,h=o._closedPromise,m=()=>(r?_():y(()=>function(T){let O=T._ownerWritableStream,I=O._state;return _c(O)||I==="closed"?rr(void 0):I==="errored"?nt(O._storedError):hne(T)}(s)),null),d._state==="closed"?m():_P(h,m),_c(t)||t._state==="closed"){let T=new TypeError("the destination writable stream closed before all data could be piped to it");a?_(!0,T):y(()=>hs(e,T),!0,T)}function g(){let T=u;return xc(u,()=>T!==u?g():void 0)}function x(T,O,I){T._state==="errored"?I(T._storedError):FP(O,I)}function y(T,O,I){function B(){return wi(T(),()=>S(O,I),D=>S(!0,D)),null}c||(c=!0,t._state!=="writable"||_c(t)?B():_P(g(),B))}function _(T,O){c||(c=!0,t._state!=="writable"||_c(t)?S(T,O):_P(g(),()=>S(T,O)))}function S(T,O){return gne(s),ku(o),i!==void 0&&i.removeEventListener("abort",p),T?f(O):l(void 0),null}S0(Ln((T,O)=>{(function I(B){B?T():xc(c?rr(!0):xc(s._readyPromise,()=>Ln((D,A)=>{ex(o,{_chunkSteps:P=>{u=xc(bne(s,P),void 0,Zv),D(!1)},_closeSteps:()=>D(!0),_errorSteps:A})})),I,O)})(!1)}))})}var vc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Lw(this))throw Bw("desiredSize");return aC(this)}close(){if(!Lw(this))throw Bw("close");if(!E0(this))throw new TypeError("The stream is not in a state that permits close");Kp(this)}enqueue(t=void 0){if(!Lw(this))throw Bw("enqueue");if(!E0(this))throw new TypeError("The stream is not in a state that permits enqueue");return T0(this,t)}error(t=void 0){if(!Lw(this))throw Bw("error");ms(this,t)}[NP](t){Xl(this);let r=this._cancelAlgorithm(t);return Zw(this),r}[zP](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=IP(this);this._closeRequested&&this._queue.length===0?(Zw(this),ux(r)):nx(this),t._chunkSteps(n)}else Mre(r,t),nx(this)}[UP](){}};function Lw(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof vc}function nx(e){if(Sne(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,wi(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,nx(e)),null),t=>(ms(e,t),null))}}function Sne(e){let t=e._controlledReadableStream;return!E0(e)||!e._started?!1:Kl(t)&&tT(t)>0?!0:aC(e)>0}function Zw(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Kp(e){if(!E0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(Zw(e),ux(t))}function T0(e,t){if(!E0(e))return;let r=e._controlledReadableStream;if(Kl(r)&&tT(r)>0)KP(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(a){throw ms(e,a),a}try{XP(e,t,n)}catch(a){throw ms(e,a),a}}nx(e)}function ms(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(Xl(e),Zw(e),kne(r,t))}function aC(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function E0(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function Ane(e,t,r,n,a,i,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Xl(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=a,e._readableStreamController=t,wi(rr(r()),()=>(t._started=!0,nx(t),null),s=>(ms(t,s),null))}function Bw(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function MMe(e,t){return zp(e._readableStreamController)?function(r){let n,a,i,o,s,c=y0(r),u=!1,l=!1,f=!1,p=!1,d=!1,h=Ln(I=>{s=I});function m(I){FP(I._closedPromise,B=>(I!==c||(_o(i._readableStreamController,B),_o(o._readableStreamController,B),p&&d||s(void 0)),null))}function g(){Up(c)&&(ku(c),c=y0(r),m(c)),ex(c,{_chunkSteps:I=>{Gp(()=>{l=!1,f=!1;let B=I,D=I;if(!p&&!d)try{D=bre(I)}catch(A){return _o(i._readableStreamController,A),_o(o._readableStreamController,A),void s(hs(r,A))}p||Uw(i._readableStreamController,B),d||Uw(o._readableStreamController,D),u=!1,l?y():f&&_()})},_closeSteps:()=>{u=!1,p||Qv(i._readableStreamController),d||Qv(o._readableStreamController),i._readableStreamController._pendingPullIntos.length>0&&Gw(i._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&Gw(o._readableStreamController,0),p&&d||s(void 0)},_errorSteps:()=>{u=!1}})}function x(I,B){Hl(c)&&(ku(c),c=one(r),m(c));let D=B?o:i,A=B?i:o;cne(c,I,1,{_chunkSteps:P=>{Gp(()=>{l=!1,f=!1;let R=B?d:p;if(B?p:d)R||Vw(D._readableStreamController,P);else{let U;try{U=bre(P)}catch(G){return _o(D._readableStreamController,G),_o(A._readableStreamController,G),void s(hs(r,G))}R||Vw(D._readableStreamController,P),Uw(A._readableStreamController,U)}u=!1,l?y():f&&_()})},_closeSteps:P=>{u=!1;let R=B?d:p,U=B?p:d;R||Qv(D._readableStreamController),U||Qv(A._readableStreamController),P!==void 0&&(R||Vw(D._readableStreamController,P),!U&&A._readableStreamController._pendingPullIntos.length>0&&Gw(A._readableStreamController,0)),R&&U||s(void 0)},_errorSteps:()=>{u=!1}})}function y(){if(u)return l=!0,rr(void 0);u=!0;let I=RP(i._readableStreamController);return I===null?g():x(I._view,!1),rr(void 0)}function _(){if(u)return f=!0,rr(void 0);u=!0;let I=RP(o._readableStreamController);return I===null?g():x(I._view,!0),rr(void 0)}function S(I){if(p=!0,n=I,d){let B=Xv([n,a]),D=hs(r,B);s(D)}return h}function T(I){if(d=!0,a=I,p){let B=Xv([n,a]),D=hs(r,B);s(D)}return h}function O(){}return i=Tre(O,y,S),o=Tre(O,_,T),m(c),[i,o]}(e):function(r){let n=y0(r),a,i,o,s,c,u=!1,l=!1,f=!1,p=!1,d=Ln(y=>{c=y});function h(){return u?(l=!0,rr(void 0)):(u=!0,ex(n,{_chunkSteps:y=>{Gp(()=>{l=!1;let _=y,S=y;f||T0(o._readableStreamController,_),p||T0(s._readableStreamController,S),u=!1,l&&h()})},_closeSteps:()=>{u=!1,f||Kp(o._readableStreamController),p||Kp(s._readableStreamController),f&&p||c(void 0)},_errorSteps:()=>{u=!1}}),rr(void 0))}function m(y){if(f=!0,a=y,p){let _=Xv([a,i]),S=hs(r,_);c(S)}return d}function g(y){if(p=!0,i=y,f){let _=Xv([a,i]),S=hs(r,_);c(S)}return d}function x(){}return o=ax(x,h,m),s=ax(x,h,g),FP(n._closedPromise,y=>(ms(o._readableStreamController,y),ms(s._readableStreamController,y),f&&p||c(void 0),null)),[o,s]}(e)}function qMe(e){return Sn(t=e)&&t.getReader!==void 0?function(r){let n;function a(){let o;try{o=r.read()}catch(s){return nt(s)}return Du(o,s=>{if(!Sn(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)Kp(n._readableStreamController);else{let c=s.value;T0(n._readableStreamController,c)}})}function i(o){try{return rr(r.cancel(o))}catch(s){return nt(s)}}return n=ax(Zv,a,i,0),n}(e.getReader()):function(r){let n,a=Gre(r,"async");function i(){let s;try{s=Vre(a)}catch(c){return nt(c)}return Du(rr(s),c=>{if(!Sn(c))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(c.done)Kp(n._readableStreamController);else{let u=c.value;T0(n._readableStreamController,u)}})}function o(s){let c=a.iterator,u;try{u=Yv(c,"return")}catch(l){return nt(l)}return u===void 0?rr(void 0):Du(Fu(u,c,[s]),l=>{if(!Sn(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=ax(Zv,i,o,0),n}(e);var t}function NMe(e,t,r){return wo(e,r),n=>Fu(e,t,[n])}function zMe(e,t,r){return wo(e,r),n=>Fu(e,t,[n])}function UMe(e,t,r){return wo(e,r),n=>Vp(e,t,[n])}function GMe(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function wre(e,t){yc(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,a=e==null?void 0:e.preventClose,i=e==null?void 0:e.signal;return i!==void 0&&function(o,s){if(!function(c){if(typeof c!="object"||c===null)return!1;try{return typeof c.aborted=="boolean"}catch{return!1}}(o))throw new TypeError(`${s} is not an AbortSignal.`)}(i,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(a),signal:i}}Object.defineProperties(vc.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(vc.prototype.close,"close"),tr(vc.prototype.enqueue,"enqueue"),tr(vc.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vc.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var Xn=class{constructor(t={},r={}){t===void 0?t=null:Bre(t,"First parameter");let n=Yw(r,"Second parameter"),a=function(i,o){yc(i,o);let s=i,c=s==null?void 0:s.autoAllocateChunkSize,u=s==null?void 0:s.cancel,l=s==null?void 0:s.pull,f=s==null?void 0:s.start,p=s==null?void 0:s.type;return{autoAllocateChunkSize:c===void 0?void 0:HP(c,`${o} has member 'autoAllocateChunkSize' that`),cancel:u===void 0?void 0:NMe(u,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:zMe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:UMe(f,s,`${o} has member 'start' that`),type:p===void 0?void 0:GMe(p,`${o} has member 'type' that`)}}(t,"First parameter");if(iC(this),a.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");(function(i,o,s){let c=Object.create(bc.prototype),u,l,f;u=o.start!==void 0?()=>o.start(c):()=>{},l=o.pull!==void 0?()=>o.pull(c):()=>rr(void 0),f=o.cancel!==void 0?d=>o.cancel(d):()=>rr(void 0);let p=o.autoAllocateChunkSize;if(p===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");ine(i,c,u,l,f,s,p)})(this,a,tx(n,0))}else{let i=Xw(n);(function(o,s,c,u){let l=Object.create(vc.prototype),f,p,d;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.pull!==void 0?()=>s.pull(l):()=>rr(void 0),d=s.cancel!==void 0?h=>s.cancel(h):()=>rr(void 0),Ane(o,l,f,p,d,c,u)})(this,a,tx(n,1),i)}}get locked(){if(!$l(this))throw Np("locked");return Kl(this)}cancel(t=void 0){return $l(this)?Kl(this)?nt(new TypeError("Cannot cancel a stream that already has a reader")):hs(this,t):nt(Np("cancel"))}getReader(t=void 0){if(!$l(this))throw Np("getReader");return function(r,n){yc(r,n);let a=r==null?void 0:r.mode;return{mode:a===void 0?void 0:FMe(a,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?y0(this):one(this)}pipeThrough(t,r={}){if(!$l(this))throw Np("pipeThrough");Ou(t,1,"pipeThrough");let n=function(i,o){yc(i,o);let s=i==null?void 0:i.readable;CP(s,"readable","ReadableWritablePair"),WP(s,`${o} has member 'readable' that`);let c=i==null?void 0:i.writable;return CP(c,"writable","ReadableWritablePair"),lne(c,`${o} has member 'writable' that`),{readable:s,writable:c}}(t,"First parameter"),a=wre(r,"Second parameter");if(Kl(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(w0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return S0(_re(this,n.writable,a.preventClose,a.preventAbort,a.preventCancel,a.signal)),n.readable}pipeTo(t,r={}){if(!$l(this))return nt(Np("pipeTo"));if(t===void 0)return nt("Parameter 1 is required in 'pipeTo'.");if(!x0(t))return nt(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=wre(r,"Second parameter")}catch(a){return nt(a)}return Kl(this)?nt(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):w0(t)?nt(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):_re(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!$l(this))throw Np("tee");return Xv(MMe(this))}values(t=void 0){if(!$l(this))throw Np("values");return function(r,n){let a=y0(r),i=new Kw(a,n),o=Object.create($re);return o._asyncIteratorImpl=i,o}(this,function(r,n){yc(r,n);let a=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(a)}}(t,"First parameter").preventCancel)}[cx](t){return this.values(t)}static from(t){return qMe(t)}};function ax(e,t,r,n=1,a=()=>1){let i=Object.create(Xn.prototype);return iC(i),Ane(i,Object.create(vc.prototype),e,t,r,n,a),i}function Tre(e,t,r){let n=Object.create(Xn.prototype);return iC(n),ine(n,Object.create(bc.prototype),e,t,r,0,void 0),n}function iC(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function $l(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof Xn}function Kl(e){return e._reader!==void 0}function hs(e,t){if(e._disturbed=!0,e._state==="closed")return rr(void 0);if(e._state==="errored")return nt(e._storedError);ux(e);let r=e._reader;if(r!==void 0&&Up(r)){let n=r._readIntoRequests;r._readIntoRequests=new Ti,n.forEach(a=>{a._closeSteps(void 0)})}return Du(e._readableStreamController[NP](t),Zv)}function ux(e){e._state="closed";let t=e._reader;if(t!==void 0&&(Lre(t),Hl(t))){let r=t._readRequests;t._readRequests=new Ti,r.forEach(n=>{n._closeSteps()})}}function kne(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(VP(r,t),Hl(r)?Nre(r,t):une(r,t))}function Np(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function Dne(e,t){yc(e,t);let r=e==null?void 0:e.highWaterMark;return CP(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:$P(r)}}Object.defineProperties(Xn,{from:{enumerable:!0}}),Object.defineProperties(Xn.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),tr(Xn.from,"from"),tr(Xn.prototype.cancel,"cancel"),tr(Xn.prototype.getReader,"getReader"),tr(Xn.prototype.pipeThrough,"pipeThrough"),tr(Xn.prototype.pipeTo,"pipeTo"),tr(Xn.prototype.tee,"tee"),tr(Xn.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Xn.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Xn.prototype,cx,{value:Xn.prototype.values,writable:!0,configurable:!0});var One=e=>e.byteLength;tr(One,"size");var ix=class{constructor(t){Ou(t,1,"ByteLengthQueuingStrategy"),t=Dne(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!Sre(this))throw Ere("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Sre(this))throw Ere("size");return One}};function Ere(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function Sre(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof ix}Object.defineProperties(ix.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ix.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var Fne=()=>1;tr(Fne,"size");var ox=class{constructor(t){Ou(t,1,"CountQueuingStrategy"),t=Dne(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!kre(this))throw Are("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!kre(this))throw Are("size");return Fne}};function Are(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function kre(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof ox}function VMe(e,t,r){return wo(e,r),n=>Fu(e,t,[n])}function $Me(e,t,r){return wo(e,r),n=>Vp(e,t,[n])}function HMe(e,t,r){return wo(e,r),(n,a)=>Fu(e,t,[n,a])}function WMe(e,t,r){return wo(e,r),n=>Fu(e,t,[n])}Object.defineProperties(ox.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ox.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var sx=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let a=Yw(r,"Second parameter"),i=Yw(n,"Third parameter"),o=function(p,d){yc(p,d);let h=p==null?void 0:p.cancel,m=p==null?void 0:p.flush,g=p==null?void 0:p.readableType,x=p==null?void 0:p.start,y=p==null?void 0:p.transform,_=p==null?void 0:p.writableType;return{cancel:h===void 0?void 0:WMe(h,p,`${d} has member 'cancel' that`),flush:m===void 0?void 0:VMe(m,p,`${d} has member 'flush' that`),readableType:g,start:x===void 0?void 0:$Me(x,p,`${d} has member 'start' that`),transform:y===void 0?void 0:HMe(y,p,`${d} has member 'transform' that`),writableType:_}}(t,"First parameter");if(o.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(o.writableType!==void 0)throw new RangeError("Invalid writableType specified");let s=tx(i,0),c=Xw(i),u=tx(a,1),l=Xw(a),f;(function(p,d,h,m,g,x){function y(){return d}function _(B){return function(D,A){let P=D._transformStreamController;return D._backpressure?Du(D._backpressureChangePromise,()=>{let R=D._writable;if(R._state==="erroring")throw R._storedError;return Ore(P,A)}):Ore(P,A)}(p,B)}function S(B){return function(D,A){let P=D._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let R=D._readable;P._finishPromise=Ln((G,W)=>{P._finishPromise_resolve=G,P._finishPromise_reject=W});let U=P._cancelAlgorithm(A);return Hw(P),wi(U,()=>(R._state==="errored"?v0(P,R._storedError):(ms(R._readableStreamController,A),OP(P)),null),G=>(ms(R._readableStreamController,G),v0(P,G),null)),P._finishPromise}(p,B)}function T(){return function(B){let D=B._transformStreamController;if(D._finishPromise!==void 0)return D._finishPromise;let A=B._readable;D._finishPromise=Ln((R,U)=>{D._finishPromise_resolve=R,D._finishPromise_reject=U});let P=D._flushAlgorithm();return Hw(D),wi(P,()=>(A._state==="errored"?v0(D,A._storedError):(Kp(A._readableStreamController),OP(D)),null),R=>(ms(A._readableStreamController,R),v0(D,R),null)),D._finishPromise}(p)}function O(){return function(B){return eT(B,!1),B._backpressureChangePromise}(p)}function I(B){return function(D,A){let P=D._transformStreamController;if(P._finishPromise!==void 0)return P._finishPromise;let R=D._writable;P._finishPromise=Ln((G,W)=>{P._finishPromise_resolve=G,P._finishPromise_reject=W});let U=P._cancelAlgorithm(A);return Hw(P),wi(U,()=>(R._state==="errored"?v0(P,R._storedError):(rx(R._writableStreamController,A),MP(D),OP(P)),null),G=>(rx(R._writableStreamController,G),MP(D),v0(P,G),null)),P._finishPromise}(p,B)}p._writable=function(B,D,A,P,R=1,U=()=>1){let G=Object.create(Su.prototype);return pne(G),xne(G,Object.create(Wp.prototype),B,D,A,P,R,U),G}(y,_,T,S,h,m),p._readable=ax(y,O,I,g,x),p._backpressure=void 0,p._backpressureChangePromise=void 0,p._backpressureChangePromise_resolve=void 0,eT(p,!0),p._transformStreamController=void 0})(this,Ln(p=>{f=p}),u,l,s,c),function(p,d){let h=Object.create(Au.prototype),m,g,x;m=d.transform!==void 0?y=>d.transform(y,h):y=>{try{return Cne(h,y),rr(void 0)}catch(_){return nt(_)}},g=d.flush!==void 0?()=>d.flush(h):()=>rr(void 0),x=d.cancel!==void 0?y=>d.cancel(y):()=>rr(void 0),function(y,_,S,T,O){_._controlledTransformStream=y,y._transformStreamController=_,_._transformAlgorithm=S,_._flushAlgorithm=T,_._cancelAlgorithm=O,_._finishPromise=void 0,_._finishPromise_resolve=void 0,_._finishPromise_reject=void 0}(p,h,m,g,x)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!Dre(this))throw Fre("readable");return this._readable}get writable(){if(!Dre(this))throw Fre("writable");return this._writable}};function Dre(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof sx}function Pne(e,t){ms(e._readable._readableStreamController,t),oC(e,t)}function oC(e,t){Hw(e._transformStreamController),rx(e._writable._writableStreamController,t),MP(e)}function MP(e){e._backpressure&&eT(e,!1)}function eT(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=Ln(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties(sx.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(sx.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var Au=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Mw(this))throw qw("desiredSize");return aC(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!Mw(this))throw qw("enqueue");Cne(this,t)}error(t=void 0){if(!Mw(this))throw qw("error");var r;r=t,Pne(this._controlledTransformStream,r)}terminate(){if(!Mw(this))throw qw("terminate");(function(t){let r=t._controlledTransformStream;Kp(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");oC(r,n)})(this)}};function Mw(e){return!!Sn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof Au}function Hw(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function Cne(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!E0(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{T0(n,t)}catch(i){throw oC(r,i),r._readable._storedError}(function(i){return!Sne(i)})(n)!==r._backpressure&&eT(r,!0)}function Ore(e,t){return Du(e._transformAlgorithm(t),void 0,r=>{throw Pne(e._controlledTransformStream,r),r})}function qw(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function OP(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function v0(e,t){e._finishPromise_reject!==void 0&&(S0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function Fre(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Au.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Au.prototype.enqueue,"enqueue"),tr(Au.prototype.error,"error"),tr(Au.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Au.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var iT=class extends Xn{};var oT=class{chunks;isWorking=!1;isCancelled=!1;constructor(t){this.chunks=t}start(t){this.work(t)}async work(t){let{chunks:r}=this;for(this.isWorking=!0;!this.isCancelled&&(t.desiredSize||0)>0;){let n;try{n=r.next()}catch(a){t.error(a);break}n&&(!n.done&&!this.isCancelled?t.enqueue(n.value):t.close())}this.isWorking=!1}pull(t){this.isWorking||this.work(t)}cancel(){this.isCancelled=!0}};var sT=class extends iT{_chunks;constructor(t){super(new oT(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var Yp=class{type;size;parts;constructor(t=[],r={}){this.parts=[],this.size=0;for(let n of t)if(typeof n=="string"){let a=new TextEncoder().encode(n);this.parts.push(a),this.size+=a.byteLength}else if(n instanceof Yp)this.size+=n.size,this.parts.push(...n.parts);else if(n instanceof ArrayBuffer)this.parts.push(new Uint8Array(n)),this.size+=n.byteLength;else if(n instanceof Uint8Array)this.parts.push(n),this.size+=n.byteLength;else if(ArrayBuffer.isView(n)){let{buffer:a,byteOffset:i,byteLength:o}=n;this.parts.push(new Uint8Array(a,i,o)),this.size+=o}else{let a=new TextEncoder().encode(String(n));this.parts.push(a),this.size+=a.byteLength}this.type=KMe(r.type)}slice(t=0,r=this.size,n=""){let{size:a,parts:i}=this,o=t<0?Math.max(a+t,0):Math.min(t,a),s=r<0?Math.max(a+r,0):Math.min(r,a),c=Math.max(s-o,0),u=new Yp([],{type:n});if(c===0)return u;let l=0,f=[];for(let p of i){let{byteLength:d}=p;if(o>0&&d<=o)o-=d,s-=d;else{let h=p.subarray(o,Math.min(d,s));if(f.push(h),l+=h.byteLength,o=0,l>=c)break}}return u.parts=f,u.size=l,u}async arrayBuffer(){return this._toArrayBuffer()}async text(){let t=new TextDecoder,r="";for(let n of this.parts)r+=t.decode(n);return r}stream(){return new sT(this.parts)}toString(){return"[object Blob]"}get[Symbol.toStringTag](){return"Blob"}_toArrayBuffer(){let t=new ArrayBuffer(this.size),r=new Uint8Array(t),n=0;for(let a of this.parts)r.set(a,n),n+=a.byteLength;return t}};function KMe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function XMe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=Yp),globalThis.Blob}var YMe=XMe();var cT=class{onload;onabort;onerror;error;onloadstart;onloadend;onprogress;readyState;result;DONE;EMPTY;LOADING;addEventListener;removeEventListener;dispatchEvent;constructor(){this.onload=null}abort(){}async readAsArrayBuffer(t){let r=await t.arrayBuffer();this.onload&&this.onload({target:{result:r}})}async readAsBinaryString(t){throw Error("Not implemented")}async readAsDataURL(t){let r=await t.text(),n=`data://;base64,${Ob(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var uT=class extends globalThis.Blob{name="";webkitRelativePath="";lastModified;constructor(t,r,n={}){super(t,n),this.name=String(r).replace(/\//g,":"),this.lastModified=(n==null?void 0:n.lastModified)||Date.now()}get[Symbol.toStringTag](){return"File"}};function Ine(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=cT),typeof File>"u"&&!globalThis.File&&(globalThis.File=uT),global}var QMe=Ine();var sC=Dt(require("module"),1),jne=Dt(require("path"),1),fT=Dt(require("fs"),1);async function Rne(e){if(e.startsWith("http"))return await(await fetch(e)).arrayBuffer();let t=fT.default.readFileSync(e);return ii(t.buffer)}async function Lne(e){return e.startsWith("http")?await(await fetch(e)).text():fT.default.readFileSync(e,"utf8")}async function Bne(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return lT(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=fT.default.readFileSync(e,"utf8");return lT(t)}function lT(e,t="",r){if(typeof t=="object"&&(r=t,t=""),t=t.replace("file://",""),typeof e!="string")throw new Error(`code must be a string, not ${typeof e}`);let n=sC.default._nodeModulePaths(jne.default.dirname(t)),a=typeof module<"u"&&(module==null?void 0:module.parent),i=new sC.default(t,a);return i.filename=t,i.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),i._compile(e,t),a&&a.children&&a.children.splice(a.children.indexOf(i),1),i.exports}var gs=class{map;constructor(t){this.map={},t instanceof gs?t.forEach((r,n)=>this.append(n,r)):Array.isArray(t)?t.forEach(r=>this.append(r[0],r[1])):t&&Object.getOwnPropertyNames(t).forEach(r=>this.append(r,t[r]))}append(t,r){t=lx(t),r=Mne(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[lx(t)]}get(t){return t=lx(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(lx(t))}set(t,r){this.map[lx(t)]=Mne(r)}forEach(t,r=null){for(let n in this.map)this.map.hasOwnProperty(n)&&(r?t.call(r,this.map[n],n,this):t(this.map[n],n,this))}keys(){let t=[];return this.forEach(function(r,n){t.push(n)}),cC(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),cC(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),cC(t)}*[Symbol.iterator](){yield*this.entries()}};function lx(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e)||e==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function Mne(e){return typeof e!="string"&&(e=String(e)),e}function cC(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function uC(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var fC=Dt(require("stream"),1),JMe=e=>typeof e=="boolean",qne=e=>typeof e=="function",ZMe=e=>e!==null&&typeof e=="object",lC=e=>ZMe(e)&&qne(e.read)&&qne(e.pipe)&&JMe(e.readable),Pu=class{ok;status;statusText;headers;url;bodyUsed=!1;_body;constructor(t,r){let{headers:n,status:a=200,statusText:i="OK",url:o}=r||{};this.url=o,this.ok=a===200,this.status=a,this.statusText=i,this.headers=new gs((r==null?void 0:r.headers)||{}),lC(t)?this._body=Aw(t,n):typeof t=="string"?this._body=fC.Readable.from([new TextEncoder().encode(t)]):this._body=fC.Readable.from([t||new ArrayBuffer(0)])}get body(){return uC(!this.bodyUsed),uC(lC(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return lC(this._body)?await nre(this._body):this._body||new ArrayBuffer(0)}async text(){let t=await this.arrayBuffer();return new TextDecoder().decode(t)}async json(){let t=await this.text();return JSON.parse(t)}async blob(){if(typeof Blob>"u")throw new Error("Blob polyfill not installed");return new Blob([await this.arrayBuffer()])}};var zne=Dt(require("http"),1),Une=Dt(require("https"),1);function Nne(e){let t=e.indexOf(","),r,n;return e.slice(t-7,t)===";base64"?(r=Buffer.from(e.slice(t+1),"base64"),n=e.slice(5,t-7).trim()):(r=Buffer.from(decodeURIComponent(e.slice(t+1))),n=e.slice(5,t).trim()),n?n.startsWith(";")&&(n=`text/plain${n}`):n="text/plain;charset=US-ASCII",{arrayBuffer:Kn(r),mimeType:n}}var pC=e=>e.startsWith("data:"),eqe=e=>e.startsWith("http:")||e.startsWith("https:");async function fx(e,t){try{if(globalThis.fetch!==fx&&(eqe(e)||pC(e)))return await fetch(e,t);if(pC(e)){let{arrayBuffer:u,mimeType:l}=Nne(e);return new Pu(u,{headers:{"content-type":l},url:e})}let r={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip");let a=await tqe(n,t),i=iqe(e,a,r),{status:o,statusText:s}=aqe(a),c=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&i.has("location")&&c){let u=rqe(e,i.get("location"));return await fx(u,t)}return new Pu(a,{headers:i,status:o,statusText:s,url:e})}catch(r){return new Pu(null,{status:400,statusText:String(r),url:e})}}async function tqe(e,t){return await new Promise((r,n)=>{let a=nqe(e,t),i=e.startsWith("https:")?Une.default.request(a,o=>r(o)):zne.default.request(a,o=>r(o));i.on("error",o=>n(o)),i.end()})}function rqe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function nqe(e,t){let r=(t==null?void 0:t.headers)||{},n={};for(let i of Object.keys(r))n[i.toLowerCase()]=r[i];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let a=new URL(e);return{hostname:a.hostname,path:a.pathname,method:"GET",...t,...t==null?void 0:t.fetch,headers:n,port:a.port}}function aqe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function iqe(e,t,r={}){let n={};if(t&&t.headers){let a=t.headers;for(let i in a){let o=a[i];n[i.toLowerCase()]=String(o)}}if(!n["content-length"]){let a=oqe(e);Number.isFinite(a)&&(n["content-length"]=a)}return Object.assign(n,r),new gs(n)}function oqe(e){return pC(e)?e.length-5:null}var sqe=parseInt(Gne.versions.node.split(".")[0]);BU&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=yP;globalThis.loaders.NodeFile=Bp;globalThis.loaders.NodeFileSystem=Ow;globalThis.loaders.fetchNode=kw;globalThis.loaders.NodeHash=Pw;globalThis.TextEncoder||(globalThis.TextEncoder=Db);globalThis.TextDecoder||(globalThis.TextDecoder=up);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&Ob&&(globalThis.atob=Ob);!("btoa"in globalThis)&&P4&&(globalThis.btoa=P4);globalThis.loaders.encodeImageNode=U$;globalThis.loaders.parseImageNode=qF;globalThis.loaders.imageFormatsNode=MF;globalThis._parseImageNode=qF;globalThis._imageFormatsNode=MF;globalThis.loaders.readFileAsArrayBuffer=Rne;globalThis.loaders.readFileAsText=Lne;globalThis.loaders.requireFromFile=Bne;globalThis.loaders.requireFromString=lT;sqe<18&&(!("Headers"in globalThis)&&gs&&(globalThis.Headers=gs),!("Response"in globalThis)&&Pu&&(globalThis.Response=Pu),!("fetch"in globalThis)&&fx&&(globalThis.fetch=fx));var aAe=require("path"),E4=Dt($ge(),1);var rn={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var pA=class{_attributeStorageInfo;_fields;_popupInfo;constructor(){this._attributeStorageInfo=[],this._fields=[]}get attributeStorageInfo(){return this._attributeStorageInfo}get fields(){return this._fields}get popupInfo(){return this._popupInfo}addMetadataInfo(t){if(!Object.keys(t).length)return;let r={OBJECTID:rn.OBJECT_ID_TYPE,...t},n=!1,a=this._attributeStorageInfo.length;for(let i in r)if(!this._attributeStorageInfo.find(s=>s.name===i)){let s=r[i],c=this.createStorageAttribute(a,i,s),u=this.getFieldAttributeType(s),l=this.createFieldAttribute(i,u);this._attributeStorageInfo.push(c),this._fields.push(l),a+=1,n=!0}if(n){let i=[];for(let o of this._attributeStorageInfo)i.push(o.name);this._popupInfo=this.createPopupInfo(i)}}fromObject(t){this._attributeStorageInfo=t.attributeStorageInfo,this._fields=t.fields,this._popupInfo=t.popupInfo}createStorageAttribute(t,r,n){let a={key:`f_${t}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(n){case rn.OBJECT_ID_TYPE:this.setupIdAttribute(a);break;case rn.STRING_TYPE:this.setupStringAttribute(a);break;case rn.DOUBLE_TYPE:this.setupDoubleAttribute(a);break;case rn.SHORT_INT_TYPE:break;default:this.setupStringAttribute(a)}return a}getFieldAttributeType(t){switch(t){case rn.OBJECT_ID_TYPE:return"esriFieldTypeOID";case rn.STRING_TYPE:return"esriFieldTypeString";case rn.SHORT_INT_TYPE:return"esriFieldTypeInteger";case rn.DOUBLE_TYPE:return"esriFieldTypeDouble";default:return"esriFieldTypeString"}}setupIdAttribute(t){t.attributeValues={valueType:"Oid32",valuesPerElement:1}}setupStringAttribute(t){t.ordering.unshift("attributeByteCounts"),t.header.push({property:"attributeValuesByteCount",valueType:"UInt32"}),t.attributeValues={valueType:"String",encoding:"UTF-8",valuesPerElement:1},t.attributeByteCounts={valueType:"UInt32",valuesPerElement:1}}setupDoubleAttribute(t){t.attributeValues={valueType:"Float64",valuesPerElement:1}}createFieldAttribute(t,r){return{name:t,type:r,alias:t}}createPopupInfo(t){let r="{OBJECTID}",n=[],a=[],i=[],o=[];for(let s of t)a.push({fieldName:s,visible:!0,isEditable:!1,label:s});return i.push({fieldInfos:a,type:"fields"}),{title:r,mediaInfos:n,popupElements:i,fieldInfos:a,expressionInfos:o}}};var dA=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var x1t=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,y1t=/^([-\w.]+\/[-\w.+]+)/;function vB(e,t){return e.toLowerCase()===t.toLowerCase()}function Hge(e){let t=y1t.exec(e);return t?t[1]:e}function xB(e){let t=x1t.exec(e);return t?t[1]:""}var Wge=/\?.*/;function Kge(e){let t=e.match(Wge);return t&&t[0]}function Ff(e){return e.replace(Wge,"")}function Xge(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function _d(e){return $i(e)?e.url:Hi(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function Hm(e){if($i(e)){let t=e.headers.get("content-type")||"",r=Ff(e.url);return Hge(t)||xB(r)}return Hi(e)?e.type||"":typeof e=="string"?xB(e):""}function Yge(e){return $i(e)?e.headers["content-length"]||-1:Hi(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function hA(e){if($i(e))return e;let t={},r=Yge(e);r>=0&&(t["content-length"]=String(r));let n=_d(e),a=Hm(e);a&&(t["content-type"]=a);let i=await w1t(e);i&&(t["x-first-bytes"]=i),typeof e=="string"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,"url",{value:n}),o}async function Qge(e){if(!e.ok)throw await _1t(e)}async function _1t(e){let t=Xge(e.url),r=`Failed to fetch resource (${e.status}) ${e.statusText}: ${t}`;r=r.length>100?`${r.slice(0,100)}...`:r;let n={reason:e.statusText,url:e.url,response:e};try{let a=e.headers.get("Content-Type");n.reason=!e.bodyUsed&&(a!=null&&a.includes("application/json"))?await e.json():await e.text()}catch{}return new dA(r,n)}async function w1t(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(n=>{let a=new FileReader;a.onload=i=>{var o;return n((o=i==null?void 0:i.target)==null?void 0:o.result)},a.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${T1t(r)}`}return null}function T1t(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function E1t(e){return!S1t(e)&&!A1t(e)}function S1t(e){return e.startsWith("http:")||e.startsWith("https:")}function A1t(e){return e.startsWith("data:")}async function si(e,t){var r,n;if(typeof e=="string"){let a=dc(e);return E1t(a)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(a,t):await fetch(a,t)}return await hA(e)}var g1=new ds({id:"loaders.gl"}),mA=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},gA=class{console;constructor(){this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}};var bA={core:{baseUrl:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,log:new gA,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:cr,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},Jge={baseUri:"core.baseUrl",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"core.baseUrl",method:"core.fetch.method",headers:"core.fetch.headers",body:"core.fetch.body",mode:"core.fetch.mode",credentials:"core.fetch.credentials",cache:"core.fetch.cache",redirect:"core.fetch.redirect",referrer:"core.fetch.referrer",referrerPolicy:"core.fetch.referrerPolicy",integrity:"core.fetch.integrity",keepalive:"core.fetch.keepalive",signal:"core.fetch.signal"};var yB=["baseUrl","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","_nodeWorkers","_workerType","limit","_limitMB","batchSize","batchDebounceMs","metadata","transforms"];function _B(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Wm(){let e=_B();return e.globalOptions=e.globalOptions||{...bA,core:{...bA.core}},$u(e.globalOptions)}function tbe(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],k1t(e,r),$u(O1t(t,e,n))}function $u(e){let t=P1t(e);rbe(t);for(let r of yB)t.core&&t.core[r]!==void 0&&delete t[r];return t.core&&t.core._workerType!==void 0&&delete t._worker,t}function k1t(e,t){Zge(e,null,bA,Jge,t);for(let r of t){let n=e&&e[r.id]||{},a=r.options&&r.options[r.id]||{},i=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};Zge(n,r.id,a,i,t)}}function Zge(e,t,r,n,a){let i=t||"Top level",o=t?`${t}.`:"";for(let s in e){let c=!t&&lc(e[s]),u=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!u&&!l){if(s in n)g1.level>0&&g1.warn(`${i} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!c&&g1.level>0){let f=D1t(s,a);g1.warn(`${i} loader option '${o}${s}' not recognized. ${f}`)()}}}}function D1t(e,t){let r=e.toLowerCase(),n="";for(let a of t)for(let i in a.options){if(e===i)return`Did you mean '${a.id}.${i}'?`;let o=i.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(n=n||`Did you mean '${a.id}.${i}'?`)}return n}function O1t(e,t,r){var o;let n=e.options||{},a={...n};n.core&&(a.core={...n.core}),rbe(a),((o=a.core)==null?void 0:o.log)===null&&(a.core={...a.core,log:new mA}),ebe(a,$u(Wm()));let i=$u(t);return ebe(a,i),F1t(a,r),C1t(a),a}function ebe(e,t){for(let r in t)if(r in t){let n=t[r];_w(n)&&_w(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function F1t(e,t){var n;if(!t)return;((n=e.core)==null?void 0:n.baseUrl)!==void 0||(e.core||(e.core={}),e.core.baseUrl=Ua.dirname(Ff(t)))}function P1t(e){let t={...e};return e.core&&(t.core={...e.core}),t}function rbe(e){e.baseUri!==void 0&&(e.core||(e.core={}),e.core.baseUrl===void 0&&(e.core.baseUrl=e.baseUri));for(let r of yB)if(e[r]!==void 0){let a=e.core=e.core||{};a[r]===void 0&&(a[r]=e[r])}let t=e._worker;t!==void 0&&(e.core||(e.core={}),e.core._workerType===void 0&&(e.core._workerType=t))}function C1t(e){let t=e.core;if(t)for(let r of yB)t[r]!==void 0&&(e[r]=t[r])}function b1(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function wB(e){yt(e,"null loader"),yt(b1(e),"invalid loader");let t;return Array.isArray(e)&&(t=e[1],e=e[0],e={...e,options:{...e.options,...t}}),(e!=null&&e.parseTextSync||e!=null&&e.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var I1t=()=>{let e=_B();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function nbe(){return I1t()}var j1t=/\.([^.]+)$/;async function obe(e,t=[],r,n){if(!sbe(e))return null;let a=$u(r||{});if(a.core||(a.core={}),e instanceof Response&&abe(e)){let o=await e.clone().text(),s=vA(o,t,{...a,core:{...a.core,nothrow:!0}},n);if(s)return s}let i=vA(e,t,{...a,core:{...a.core,nothrow:!0}},n);if(i)return i;if(Hi(e)&&(e=await e.slice(0,10).arrayBuffer(),i=vA(e,t,a,n)),!i&&e instanceof Response&&abe(e)){let o=await e.clone().text();i=vA(o,t,a,n)}if(!i&&!a.core.nothrow)throw new Error(cbe(e));return i}function abe(e){let t=Hm(e);return Boolean(t&&(t.startsWith("text/")||t==="application/json"||t.endsWith("+json")))}function vA(e,t=[],r,n){if(!sbe(e))return null;let a=$u(r||{});if(a.core||(a.core={}),t&&!Array.isArray(t))return wB(t);let i=[];t&&(i=i.concat(t)),a.core.ignoreRegisteredLoaders||i.push(...nbe()),L1t(i);let o=R1t(e,i,a,n);if(!o&&!a.core.nothrow)throw new Error(cbe(e));return o}function R1t(e,t,r,n){var u,l,f,p,d;let a=_d(e),i=Hm(e),o=Ff(a)||(n==null?void 0:n.url),s=null,c="";return(u=r==null?void 0:r.core)!=null&&u.mimeType&&(s=TB(t,(l=r==null?void 0:r.core)==null?void 0:l.mimeType),c=`match forced by supplied MIME type ${(f=r==null?void 0:r.core)==null?void 0:f.mimeType}`),s=s||B1t(t,o),c=c||(s?`matched url ${o}`:""),s=s||TB(t,i),c=c||(s?`matched MIME type ${i}`:""),s=s||q1t(t,e),c=c||(s?`matched initial data ${ube(e)}`:""),(p=r==null?void 0:r.core)!=null&&p.fallbackMimeType&&(s=s||TB(t,(d=r==null?void 0:r.core)==null?void 0:d.fallbackMimeType),c=c||(s?`matched fallback MIME type ${i}`:"")),c&&Cv.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${c}.`),s}function sbe(e){return!(e instanceof Response&&e.status===204)}function cbe(e){let t=_d(e),r=Hm(e),n="No valid loader found (";n+=t?`${Ua.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let a=e?ube(e):"";return n+=a?` first bytes: "${a}"`:"first bytes: not available",n+=")",n}function L1t(e){for(let t of e)wB(t)}function B1t(e,t){let r=t&&j1t.exec(t),n=r&&r[1];return n?M1t(e,n):null}function M1t(e,t){t=t.toLowerCase();for(let r of e)for(let n of r.extensions)if(n.toLowerCase()===t)return r;return null}function TB(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(a=>vB(t,a))||vB(t,`application/x.${n.id}`))return n;return null}function q1t(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(N1t(t,r))return r}else if(ArrayBuffer.isView(t)){if(ibe(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&ibe(t,0,r))return r;return null}function N1t(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function ibe(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(a=>z1t(e,t,r,a))}function z1t(e,t,r,n){if(u0(n))return pc(n,e,n.byteLength);switch(typeof n){case"function":return n(ii(e));case"string":let a=EB(e,t,n.length);return n===a;default:return!1}}function ube(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?EB(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?EB(e,0,t):""}function EB(e,t,r){if(e.byteLength<t+r)return"";let n=new DataView(e),a="";for(let i=0;i<r;i++)a+=String.fromCharCode(n.getUint8(t+i));return a}var U1t=256*1024;function*lbe(e,t){let r=(t==null?void 0:t.chunkSize)||U1t,n=0,a=new TextEncoder;for(;n<e.length;){let i=Math.min(e.length-n,r),o=e.slice(n,n+i);n+=i,yield ii(a.encode(o))}}function*fbe(e,t={}){let{chunkSize:r=262144}=t,n=0;for(;n<e.byteLength;){let a=Math.min(e.byteLength-n,r),i=new ArrayBuffer(a),o=new Uint8Array(e,n,a);new Uint8Array(i).set(o),n+=a,yield i}}async function*pbe(e,t){let r=(t==null?void 0:t.chunkSize)||1048576,n=0;for(;n<e.size;){let a=n+r,i=await e.slice(n,a).arrayBuffer();n=a,yield i}}function SB(e,t){return cr?G1t(e,t):V1t(e,t)}async function*G1t(e,t){let r=e.getReader(),n;try{for(;;){let a=n||r.read();t!=null&&t._streamReadAhead&&(n=r.read());let{done:i,value:o}=await a;if(i)return;yield Kn(o)}}catch{r.releaseLock()}}async function*V1t(e,t){for await(let r of e)yield Kn(r)}function dbe(e,t){if(typeof e=="string")return lbe(e,t);if(e instanceof ArrayBuffer)return fbe(e,t);if(Hi(e))return pbe(e,t);if(Iv(e))return SB(e,t);if($i(e)){let r=e.body;if(!r)throw new Error("Readable stream not available on Response");return SB(r,t)}throw new Error("makeIterator")}var hbe="Cannot convert supplied data type";function $1t(e,t,r){if(t.text&&typeof e=="string")return e;if(Ew(e)&&(e=e.buffer),u0(e)){let n=lP(e);return t.text&&!t.binary?new TextDecoder("utf8").decode(n):Kn(n)}throw new Error(hbe)}async function mbe(e,t,r){if(typeof e=="string"||u0(e))return $1t(e,t,r);if(Hi(e)&&(e=await hA(e)),$i(e))return await Qge(e),t.binary?await e.arrayBuffer():await e.text();if(Iv(e)&&(e=dbe(e,r)),HF(e)||WF(e))return Lp(e);throw new Error(hbe)}function xA(e,t){var i;let r=Wm(),n=e||r,a=n.fetch??((i=n.core)==null?void 0:i.fetch);return typeof a=="function"?a:lc(a)?o=>si(o,a):t!=null&&t.fetch?t==null?void 0:t.fetch:si}function gbe(e,t,r){if(r)return r;let n={fetch:xA(t,e),...e};if(n.url){let a=Ff(n.url);n.baseUrl=a,n.queryString=Kge(n.url),n.filename=Ua.filename(a),n.baseUrl=Ua.dirname(a)}return Array.isArray(n.loaders)||(n.loaders=null),n}function bbe(e,t){if(e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let n=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...n]:n}return r&&r.length?r:void 0}async function Yi(e,t,r,n){t&&!Array.isArray(t)&&!b1(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let a=_d(e),o=bbe(t,n),s=await obe(e,o,r);if(!s)return null;let c=tbe(r,s,o,a);return n=gbe({url:a,_parse:Yi,loaders:o},c,n||null),await H1t(s,e,c,n)}async function H1t(e,t,r,n){if(tP(e),r=KF(e.options,r),$i(t)){let{ok:i,redirected:o,status:s,statusText:c,type:u,url:l}=t,f=Object.fromEntries(t.headers.entries());n.response={headers:f,ok:i,redirected:o,status:s,statusText:c,type:u,url:l}}t=await mbe(t,e,r);let a=e;if(a.parseTextSync&&typeof t=="string")return a.parseTextSync(t,r,n);if(nP(e,r))return await aP(e,t,r,n,Yi);if(a.parseText&&typeof t=="string")return await a.parseText(t,r,n);if(a.parse)return await a.parse(t,r,n);throw ya(!a.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function vbe(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function AB(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function kB(e){let t=1/0,r=1/0,n=1/0,a=-1/0,i=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],c=s&&s.length;for(let u=0;u<c;u+=3){let l=s[u],f=s[u+1],p=s[u+2];t=l<t?l:t,r=f<r?f:r,n=p<n?p:n,a=l>a?l:a,i=f>i?f:i,o=p>o?p:o}return[[t,r,n],[a,i,o]]}function DB(e,t,r){let n=vbe(t.value),a=r||xbe(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:a}}function xbe(e){let t={};return"byteOffset"in e&&(t.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(t.byteStride=e.byteStride.toString(10)),"normalized"in e&&(t.normalized=e.normalized.toString()),t}async function Wr(e,t,r,n){var c;let a,i;!Array.isArray(t)&&!b1(t)?(a=[],i=t,n=void 0):(a=t,i=r);let o=xA(i),s=e;return typeof e=="string"&&(s=await o(e)),Hi(e)&&(s=await o(e)),typeof e=="string"&&((c=$u(i||{}).core)!=null&&c.baseUrl||(i={...i,core:{...i==null?void 0:i.core,baseUrl:e}})),Array.isArray(a)?await Yi(s,a,i):await Yi(s,a,i)}async function Km(e,t,r){let a={...Wm(),...r};return t.encodeURLtoURL?W1t(t,e,a):iP(t,a)?await eP(t,e,a):await t.encode(e,a)}function yA(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return ii(new TextEncoder().encode(t.encodeTextSync(e,r)));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function _be(e,t,r,n){if(e=dc(e),t=dc(t),cr||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function W1t(e,t,r){if(cr)throw new Error(`Writer ${e.name} not supported in browser`);let n=ybe("input");await new Ga(n,"w").write(t);let i=ybe("output"),o=await _be(n,i,e,r);return(await si(o)).arrayBuffer()}function ybe(e){return`/tmp/${e}`}var K1t=1/Math.PI*180,X1t=1/180*Math.PI,Y1t={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Y1t}};var Rr=globalThis.mathgl.config;function OB(e,{precision:t=Rr.precision}={}){return e=Q1t(e),`${parseFloat(e.toPrecision(t))}`}function Po(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function FB(e){return wbe(e)}function PB(e){return Hu(e)}function wbe(e,t){return IB(e,r=>r*X1t,t)}function Hu(e,t){return IB(e,r=>r*K1t,t)}function CB(e,t,r){return IB(e,n=>Math.max(t,Math.min(r,n)))}function Qi(e,t,r){let n=Rr.EPSILON;r&&(Rr.EPSILON=r);try{if(e===t)return!0;if(Po(e)&&Po(t)){if(e.length!==t.length)return!1;for(let a=0;a<e.length;++a)if(!Qi(e[a],t[a]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=Rr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Rr.EPSILON=n}}function Q1t(e){return Math.round(e/Rr.EPSILON)*Rr.EPSILON}function J1t(e){return e.clone?e.clone():new Array(e.length)}function IB(e,t,r){if(Po(e)){let n=e;r=r||J1t(n);for(let a=0;a<r.length&&a<n.length;++a){let i=typeof e=="number"?e:e[a];r[a]=t(i,a,r)}return r}return t(e)}var Pf=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=t[n+r];return this.check()}toArray(t=[],r=0){for(let n=0;n<this.ELEMENTS;++n)t[r+n]=this[n];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Po(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Rr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+OB(this[n],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!Qi(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,n){if(n===void 0)return this.lerp(this,t,r);for(let a=0;a<this.ELEMENTS;++a){let i=t[a],o=typeof r=="number"?r:r[a];this[a]=i+n*(o-i)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t[n]),r[n]);return this.check()}add(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(Rr.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],t),r);return this.check()}get elements(){return this}};function Z1t(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function zt(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function Cf(e,t,r=""){if(Rr.debug&&!Z1t(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function la(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var If=class extends Pf{get x(){return this[0]}set x(t){this[0]=zt(t)}get y(){return this[1]}set y(t){this[1]=zt(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let n=0;n<this.ELEMENTS;++n){let a=this[n]-t[n];r+=a*a}return zt(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return zt(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...t){for(let r of t)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return la(t>=0&&t<this.ELEMENTS,"index is out of range"),zt(this[t])}setComponent(t,r){return la(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var nn=typeof Float32Array<"u"?Float32Array:Array,v1=Math.random;function Xm(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var hrr=Math.PI/180;function eyt(){let e=new nn(2);return nn!=Float32Array&&(e[0]=0,e[1]=0),e}function Tbe(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a,e[1]=r[1]*n+r[3]*a,e}function Ebe(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a+r[4],e[1]=r[1]*n+r[3]*a+r[5],e}function _A(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[3]*a+r[6],e[1]=r[1]*n+r[4]*a+r[7],e}function wA(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[4]*a+r[12],e[1]=r[1]*n+r[5]*a+r[13],e}var mrr=function(){let e=eyt();return function(t,r,n,a,i,o){let s,c;for(r||(r=2),n||(n=0),a?c=Math.min(a*r+n,t.length):c=t.length,s=n;s<c;s+=r)e[0]=t[s],e[1]=t[s+1],i(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function TA(e,t,r){let n=t[0],a=t[1],i=r[3]*n+r[7]*a||1;return e[0]=(r[0]*n+r[4]*a)/i,e[1]=(r[1]*n+r[5]*a)/i,e}function EA(e,t,r){let n=t[0],a=t[1],i=t[2],o=r[3]*n+r[7]*a+r[11]*i||1;return e[0]=(r[0]*n+r[4]*a+r[8]*i)/o,e[1]=(r[1]*n+r[5]*a+r[9]*i)/o,e[2]=(r[2]*n+r[6]*a+r[10]*i)/o,e}function Sbe(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a,e[1]=r[1]*n+r[3]*a,e[2]=t[2],e}function Abe(e,t,r){let n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a,e[1]=r[1]*n+r[3]*a,e[2]=t[2],e[3]=t[3],e}function SA(e,t,r){let n=t[0],a=t[1],i=t[2];return e[0]=r[0]*n+r[3]*a+r[6]*i,e[1]=r[1]*n+r[4]*a+r[7]*i,e[2]=r[2]*n+r[5]*a+r[8]*i,e[3]=t[3],e}var wd=class extends If{constructor(t=0,r=0){super(2),Po(t)&&arguments.length===1?this.copy(t):(Rr.debug&&(zt(t),zt(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return Rr.debug&&(zt(t.x),zt(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return wA(this,this,t),this.check()}transformAsVector(t){return TA(this,this,t),this.check()}transformByMatrix3(t){return _A(this,this,t),this.check()}transformByMatrix2x3(t){return Ebe(this,this,t),this.check()}transformByMatrix2(t){return Tbe(this,this,t),this.check()}};var Qm={};Jn(Qm,{add:()=>iyt,angle:()=>MB,bezier:()=>vyt,ceil:()=>oyt,clone:()=>ryt,copy:()=>nyt,create:()=>AA,cross:()=>Td,dist:()=>kyt,distance:()=>Pbe,div:()=>Ayt,divide:()=>Fbe,dot:()=>x1,equals:()=>Tyt,exactEquals:()=>wyt,floor:()=>syt,forEach:()=>Fyt,fromValues:()=>kA,hermite:()=>byt,inverse:()=>hyt,len:()=>qB,length:()=>kbe,lerp:()=>myt,max:()=>uyt,min:()=>cyt,mul:()=>Syt,multiply:()=>Obe,negate:()=>dyt,normalize:()=>jB,random:()=>xyt,rotateX:()=>RB,rotateY:()=>LB,rotateZ:()=>BB,round:()=>lyt,scale:()=>fyt,scaleAndAdd:()=>pyt,set:()=>ayt,slerp:()=>gyt,sqrDist:()=>Dyt,sqrLen:()=>Oyt,squaredDistance:()=>Cbe,squaredLength:()=>Ibe,str:()=>_yt,sub:()=>Eyt,subtract:()=>Dbe,transformMat3:()=>y1,transformMat4:()=>Ed,transformQuat:()=>_1,zero:()=>yyt});function AA(){let e=new nn(3);return nn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function ryt(e){let t=new nn(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function kbe(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function kA(e,t,r){let n=new nn(3);return n[0]=e,n[1]=t,n[2]=r,n}function nyt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function ayt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function iyt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Dbe(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Obe(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Fbe(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function oyt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function syt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function cyt(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function uyt(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function lyt(e,t){return e[0]=Xm(t[0]),e[1]=Xm(t[1]),e[2]=Xm(t[2]),e}function fyt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function pyt(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function Pbe(e,t){let r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2];return Math.sqrt(r*r+n*n+a*a)}function Cbe(e,t){let r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2];return r*r+n*n+a*a}function Ibe(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function dyt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function hyt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function jB(e,t){let r=t[0],n=t[1],a=t[2],i=r*r+n*n+a*a;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function x1(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Td(e,t,r){let n=t[0],a=t[1],i=t[2],o=r[0],s=r[1],c=r[2];return e[0]=a*c-i*s,e[1]=i*o-n*c,e[2]=n*s-a*o,e}function myt(e,t,r,n){let a=t[0],i=t[1],o=t[2];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e[2]=o+n*(r[2]-o),e}function gyt(e,t,r,n){let a=Math.acos(Math.min(Math.max(x1(t,r),-1),1)),i=Math.sin(a),o=Math.sin((1-n)*a)/i,s=Math.sin(n*a)/i;return e[0]=o*t[0]+s*r[0],e[1]=o*t[1]+s*r[1],e[2]=o*t[2]+s*r[2],e}function byt(e,t,r,n,a,i){let o=i*i,s=o*(2*i-3)+1,c=o*(i-2)+i,u=o*(i-1),l=o*(3-2*i);return e[0]=t[0]*s+r[0]*c+n[0]*u+a[0]*l,e[1]=t[1]*s+r[1]*c+n[1]*u+a[1]*l,e[2]=t[2]*s+r[2]*c+n[2]*u+a[2]*l,e}function vyt(e,t,r,n,a,i){let o=1-i,s=o*o,c=i*i,u=s*o,l=3*i*s,f=3*c*o,p=c*i;return e[0]=t[0]*u+r[0]*l+n[0]*f+a[0]*p,e[1]=t[1]*u+r[1]*l+n[1]*f+a[1]*p,e[2]=t[2]*u+r[2]*l+n[2]*f+a[2]*p,e}function xyt(e,t){t=t===void 0?1:t;let r=v1()*2*Math.PI,n=v1()*2-1,a=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*a,e[1]=Math.sin(r)*a,e[2]=n*t,e}function Ed(e,t,r){let n=t[0],a=t[1],i=t[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,e[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,e[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,e}function y1(e,t,r){let n=t[0],a=t[1],i=t[2];return e[0]=n*r[0]+a*r[3]+i*r[6],e[1]=n*r[1]+a*r[4]+i*r[7],e[2]=n*r[2]+a*r[5]+i*r[8],e}function _1(e,t,r){let n=r[0],a=r[1],i=r[2],o=r[3],s=t[0],c=t[1],u=t[2],l=a*u-i*c,f=i*s-n*u,p=n*c-a*s,d=a*p-i*f,h=i*l-n*p,m=n*f-a*l,g=o*2;return l*=g,f*=g,p*=g,d*=2,h*=2,m*=2,e[0]=s+l+d,e[1]=c+f+h,e[2]=u+p+m,e}function RB(e,t,r,n){let a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function LB(e,t,r,n){let a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function BB(e,t,r,n){let a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function MB(e,t){let r=e[0],n=e[1],a=e[2],i=t[0],o=t[1],s=t[2],c=Math.sqrt((r*r+n*n+a*a)*(i*i+o*o+s*s)),u=c&&x1(e,t)/c;return Math.acos(Math.min(Math.max(u,-1),1))}function yyt(e){return e[0]=0,e[1]=0,e[2]=0,e}function _yt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function wyt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function Tyt(e,t){let r=e[0],n=e[1],a=e[2],i=t[0],o=t[1],s=t[2];return Math.abs(r-i)<=1e-6*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(a-s)<=1e-6*Math.max(1,Math.abs(a),Math.abs(s))}var Eyt=Dbe,Syt=Obe,Ayt=Fbe,kyt=Pbe,Dyt=Cbe,qB=kbe,Oyt=Ibe,Fyt=function(){let e=AA();return function(t,r,n,a,i,o){let s,c;for(r||(r=3),n||(n=0),a?c=Math.min(a*r+n,t.length):c=t.length,s=n;s<c;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],i(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var NB=[0,0,0],DA,Z=class extends If{static get ZERO(){return DA||(DA=new Z(0,0,0),Object.freeze(DA)),DA}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Po(t)?this.copy(t):(Rr.debug&&(zt(t),zt(r),zt(n)),this[0]=t,this[1]=r,this[2]=n)}set(t,r,n){return this[0]=t,this[1]=r,this[2]=n,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.check()}fromObject(t){return Rr.debug&&(zt(t.x),zt(t.y),zt(t.z)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t}get ELEMENTS(){return 3}get z(){return this[2]}set z(t){this[2]=zt(t)}angle(t){return MB(this,t)}cross(t){return Td(this,this,t),this.check()}rotateX({radians:t,origin:r=NB}){return RB(this,this,r,t),this.check()}rotateY({radians:t,origin:r=NB}){return LB(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=NB}){return BB(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Ed(this,this,t),this.check()}transformAsVector(t){return EA(this,this,t),this.check()}transformByMatrix3(t){return y1(this,this,t),this.check()}transformByMatrix2(t){return Sbe(this,this,t),this.check()}transformByQuaternion(t){return _1(this,this,t),this.check()}};var OA,Co=class extends If{static get ZERO(){return OA||(OA=new Co(0,0,0,0),Object.freeze(OA)),OA}constructor(t=0,r=0,n=0,a=0){super(-0,-0,-0,-0),Po(t)&&arguments.length===1?this.copy(t):(Rr.debug&&(zt(t),zt(r),zt(n),zt(a)),this[0]=t,this[1]=r,this[2]=n,this[3]=a)}set(t,r,n,a){return this[0]=t,this[1]=r,this[2]=n,this[3]=a,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return Rr.debug&&(zt(t.x),zt(t.y),zt(t.z),zt(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=zt(t)}get w(){return this[3]}set w(t){this[3]=zt(t)}transform(t){return Ed(this,this,t),this.check()}transformByMatrix3(t){return SA(this,this,t),this.check()}transformByMatrix2(t){return Abe(this,this,t),this.check()}transformByQuaternion(t){return _1(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Jm=class extends Pf{toString(){let t="[";if(Rr.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=` ${this[n*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,n){return this[r*this.RANK+t]=zt(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let a=0;a<this.RANK;++a)r[a]=this[n+a];return r}setColumn(t,r){let n=t*this.RANK;for(let a=0;a<this.RANK;++a)this[n+a]=r[a];return this}};function jbe(){let e=new nn(9);return nn!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function Rbe(e,t){if(e===t){let r=t[1],n=t[2],a=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=a}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Lbe(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],c=t[6],u=t[7],l=t[8],f=l*o-s*u,p=-l*i+s*c,d=u*i-o*c,h=r*f+n*p+a*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+a*u)*h,e[2]=(s*n-a*o)*h,e[3]=p*h,e[4]=(l*r-a*c)*h,e[5]=(-s*r+a*i)*h,e[6]=d*h,e[7]=(-u*r+n*c)*h,e[8]=(o*r-n*i)*h,e):null}function Bbe(e){let t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],o=e[5],s=e[6],c=e[7],u=e[8];return t*(u*i-o*c)+r*(-u*a+o*s)+n*(c*a-i*s)}function zB(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],c=t[5],u=t[6],l=t[7],f=t[8],p=r[0],d=r[1],h=r[2],m=r[3],g=r[4],x=r[5],y=r[6],_=r[7],S=r[8];return e[0]=p*n+d*o+h*u,e[1]=p*a+d*s+h*l,e[2]=p*i+d*c+h*f,e[3]=m*n+g*o+x*u,e[4]=m*a+g*s+x*l,e[5]=m*i+g*c+x*f,e[6]=y*n+_*o+S*u,e[7]=y*a+_*s+S*l,e[8]=y*i+_*c+S*f,e}function Mbe(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],c=t[5],u=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=s,e[5]=c,e[6]=p*n+d*o+u,e[7]=p*a+d*s+l,e[8]=p*i+d*c+f,e}function qbe(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],c=t[5],u=t[6],l=t[7],f=t[8],p=Math.sin(r),d=Math.cos(r);return e[0]=d*n+p*o,e[1]=d*a+p*s,e[2]=d*i+p*c,e[3]=d*o-p*n,e[4]=d*s-p*a,e[5]=d*c-p*i,e[6]=u,e[7]=l,e[8]=f,e}function UB(e,t,r){let n=r[0],a=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=a*t[3],e[4]=a*t[4],e[5]=a*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Nbe(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=r+r,s=n+n,c=a+a,u=r*o,l=n*o,f=n*s,p=a*o,d=a*s,h=a*c,m=i*o,g=i*s,x=i*c;return e[0]=1-f-h,e[3]=l-x,e[6]=p+g,e[1]=l+x,e[4]=1-u-h,e[7]=d-m,e[2]=p-g,e[5]=d+m,e[8]=1-u-f,e}var GB;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL1ROW0=3]="COL1ROW0",e[e.COL1ROW1=4]="COL1ROW1",e[e.COL1ROW2=5]="COL1ROW2",e[e.COL2ROW0=6]="COL2ROW0",e[e.COL2ROW1=7]="COL2ROW1",e[e.COL2ROW2=8]="COL2ROW2"})(GB||(GB={}));var Pyt=Object.freeze([1,0,0,0,1,0,0,0,1]),nr=class extends Jm{static get IDENTITY(){return Iyt()}static get ZERO(){return Cyt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return GB}constructor(t,...r){super(-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):r.length>0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(Pyt)}fromObject(t){return this.check()}fromQuaternion(t){return Nbe(this,t),this.check()}set(t,r,n,a,i,o,s,c,u){return this[0]=t,this[1]=r,this[2]=n,this[3]=a,this[4]=i,this[5]=o,this[6]=s,this[7]=c,this[8]=u,this.check()}setRowMajor(t,r,n,a,i,o,s,c,u){return this[0]=t,this[1]=a,this[2]=s,this[3]=r,this[4]=i,this[5]=c,this[6]=n,this[7]=o,this[8]=u,this.check()}determinant(){return Bbe(this)}transpose(){return Rbe(this,this),this.check()}invert(){return Lbe(this,this),this.check()}multiplyLeft(t){return zB(this,t,this),this.check()}multiplyRight(t){return zB(this,this,t),this.check()}rotate(t){return qbe(this,this,t),this.check()}scale(t){return Array.isArray(t)?UB(this,this,t):UB(this,this,[t,t]),this.check()}translate(t){return Mbe(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=_A(r||[-0,-0],t,this);break;case 3:n=y1(r||[-0,-0,-0],t,this);break;case 4:n=SA(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Cf(n,t.length),n}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},FA,PA=null;function Cyt(){return FA||(FA=new nr([0,0,0,0,0,0,0,0,0]),Object.freeze(FA)),FA}function Iyt(){return PA||(PA=new nr,Object.freeze(PA)),PA}var CA={};Jn(CA,{add:()=>a_t,adjoint:()=>qyt,clone:()=>Ryt,copy:()=>Lyt,create:()=>jyt,decompose:()=>Xyt,determinant:()=>HB,equals:()=>c_t,exactEquals:()=>s_t,frob:()=>n_t,fromQuat:()=>ZB,fromQuat2:()=>Hyt,fromRotation:()=>Uyt,fromRotationTranslation:()=>Gbe,fromRotationTranslationScale:()=>Yyt,fromRotationTranslationScaleOrigin:()=>Qyt,fromScaling:()=>zyt,fromTranslation:()=>Nyt,fromValues:()=>Byt,fromXRotation:()=>Gyt,fromYRotation:()=>Vyt,fromZRotation:()=>$yt,frustum:()=>e7,getRotation:()=>Kyt,getScaling:()=>Vbe,getTranslation:()=>Wyt,identity:()=>Ube,invert:()=>$B,lookAt:()=>n7,mul:()=>u_t,multiply:()=>w1,multiplyScalar:()=>i_t,multiplyScalarAndAdd:()=>o_t,ortho:()=>r7,orthoNO:()=>Hbe,orthoZO:()=>e_t,perspective:()=>t7,perspectiveFromFieldOfView:()=>Zyt,perspectiveNO:()=>$be,perspectiveZO:()=>Jyt,rotate:()=>XB,rotateX:()=>YB,rotateY:()=>QB,rotateZ:()=>JB,scale:()=>KB,set:()=>Myt,str:()=>r_t,sub:()=>l_t,subtract:()=>Wbe,targetTo:()=>t_t,translate:()=>WB,transpose:()=>VB});function jyt(){let e=new nn(16);return nn!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Ryt(e){let t=new nn(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Lyt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Byt(e,t,r,n,a,i,o,s,c,u,l,f,p,d,h,m){let g=new nn(16);return g[0]=e,g[1]=t,g[2]=r,g[3]=n,g[4]=a,g[5]=i,g[6]=o,g[7]=s,g[8]=c,g[9]=u,g[10]=l,g[11]=f,g[12]=p,g[13]=d,g[14]=h,g[15]=m,g}function Myt(e,t,r,n,a,i,o,s,c,u,l,f,p,d,h,m,g){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=o,e[6]=s,e[7]=c,e[8]=u,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=h,e[14]=m,e[15]=g,e}function Ube(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function VB(e,t){if(e===t){let r=t[1],n=t[2],a=t[3],i=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=a,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function $B(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],c=t[6],u=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],m=t[13],g=t[14],x=t[15],y=r*s-n*o,_=r*c-a*o,S=r*u-i*o,T=n*c-a*s,O=n*u-i*s,I=a*u-i*c,B=l*m-f*h,D=l*g-p*h,A=l*x-d*h,P=f*g-p*m,R=f*x-d*m,U=p*x-d*g,G=y*U-_*R+S*P+T*A-O*D+I*B;return G?(G=1/G,e[0]=(s*U-c*R+u*P)*G,e[1]=(a*R-n*U-i*P)*G,e[2]=(m*I-g*O+x*T)*G,e[3]=(p*O-f*I-d*T)*G,e[4]=(c*A-o*U-u*D)*G,e[5]=(r*U-a*A+i*D)*G,e[6]=(g*S-h*I-x*_)*G,e[7]=(l*I-p*S+d*_)*G,e[8]=(o*R-s*A+u*B)*G,e[9]=(n*A-r*R-i*B)*G,e[10]=(h*O-m*S+x*y)*G,e[11]=(f*S-l*O-d*y)*G,e[12]=(s*D-o*P-c*B)*G,e[13]=(r*P-n*D+a*B)*G,e[14]=(m*_-h*T-g*y)*G,e[15]=(l*T-f*_+p*y)*G,e):null}function qyt(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],c=t[6],u=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],m=t[13],g=t[14],x=t[15],y=r*s-n*o,_=r*c-a*o,S=r*u-i*o,T=n*c-a*s,O=n*u-i*s,I=a*u-i*c,B=l*m-f*h,D=l*g-p*h,A=l*x-d*h,P=f*g-p*m,R=f*x-d*m,U=p*x-d*g;return e[0]=s*U-c*R+u*P,e[1]=a*R-n*U-i*P,e[2]=m*I-g*O+x*T,e[3]=p*O-f*I-d*T,e[4]=c*A-o*U-u*D,e[5]=r*U-a*A+i*D,e[6]=g*S-h*I-x*_,e[7]=l*I-p*S+d*_,e[8]=o*R-s*A+u*B,e[9]=n*A-r*R-i*B,e[10]=h*O-m*S+x*y,e[11]=f*S-l*O-d*y,e[12]=s*D-o*P-c*B,e[13]=r*P-n*D+a*B,e[14]=m*_-h*T-g*y,e[15]=l*T-f*_+p*y,e}function HB(e){let t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],o=e[5],s=e[6],c=e[7],u=e[8],l=e[9],f=e[10],p=e[11],d=e[12],h=e[13],m=e[14],g=e[15],x=t*o-r*i,y=t*s-n*i,_=r*s-n*o,S=u*h-l*d,T=u*m-f*d,O=l*m-f*h,I=t*O-r*T+n*S,B=i*O-o*T+s*S,D=u*_-l*y+f*x,A=d*_-h*y+m*x;return c*I-a*B+g*D-p*A}function w1(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],c=t[5],u=t[6],l=t[7],f=t[8],p=t[9],d=t[10],h=t[11],m=t[12],g=t[13],x=t[14],y=t[15],_=r[0],S=r[1],T=r[2],O=r[3];return e[0]=_*n+S*s+T*f+O*m,e[1]=_*a+S*c+T*p+O*g,e[2]=_*i+S*u+T*d+O*x,e[3]=_*o+S*l+T*h+O*y,_=r[4],S=r[5],T=r[6],O=r[7],e[4]=_*n+S*s+T*f+O*m,e[5]=_*a+S*c+T*p+O*g,e[6]=_*i+S*u+T*d+O*x,e[7]=_*o+S*l+T*h+O*y,_=r[8],S=r[9],T=r[10],O=r[11],e[8]=_*n+S*s+T*f+O*m,e[9]=_*a+S*c+T*p+O*g,e[10]=_*i+S*u+T*d+O*x,e[11]=_*o+S*l+T*h+O*y,_=r[12],S=r[13],T=r[14],O=r[15],e[12]=_*n+S*s+T*f+O*m,e[13]=_*a+S*c+T*p+O*g,e[14]=_*i+S*u+T*d+O*x,e[15]=_*o+S*l+T*h+O*y,e}function WB(e,t,r){let n=r[0],a=r[1],i=r[2],o,s,c,u,l,f,p,d,h,m,g,x;return t===e?(e[12]=t[0]*n+t[4]*a+t[8]*i+t[12],e[13]=t[1]*n+t[5]*a+t[9]*i+t[13],e[14]=t[2]*n+t[6]*a+t[10]*i+t[14],e[15]=t[3]*n+t[7]*a+t[11]*i+t[15]):(o=t[0],s=t[1],c=t[2],u=t[3],l=t[4],f=t[5],p=t[6],d=t[7],h=t[8],m=t[9],g=t[10],x=t[11],e[0]=o,e[1]=s,e[2]=c,e[3]=u,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=h,e[9]=m,e[10]=g,e[11]=x,e[12]=o*n+l*a+h*i+t[12],e[13]=s*n+f*a+m*i+t[13],e[14]=c*n+p*a+g*i+t[14],e[15]=u*n+d*a+x*i+t[15]),e}function KB(e,t,r){let n=r[0],a=r[1],i=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*a,e[5]=t[5]*a,e[6]=t[6]*a,e[7]=t[7]*a,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function XB(e,t,r,n){let a=n[0],i=n[1],o=n[2],s=Math.sqrt(a*a+i*i+o*o),c,u,l,f,p,d,h,m,g,x,y,_,S,T,O,I,B,D,A,P,R,U,G,W;return s<1e-6?null:(s=1/s,a*=s,i*=s,o*=s,u=Math.sin(r),c=Math.cos(r),l=1-c,f=t[0],p=t[1],d=t[2],h=t[3],m=t[4],g=t[5],x=t[6],y=t[7],_=t[8],S=t[9],T=t[10],O=t[11],I=a*a*l+c,B=i*a*l+o*u,D=o*a*l-i*u,A=a*i*l-o*u,P=i*i*l+c,R=o*i*l+a*u,U=a*o*l+i*u,G=i*o*l-a*u,W=o*o*l+c,e[0]=f*I+m*B+_*D,e[1]=p*I+g*B+S*D,e[2]=d*I+x*B+T*D,e[3]=h*I+y*B+O*D,e[4]=f*A+m*P+_*R,e[5]=p*A+g*P+S*R,e[6]=d*A+x*P+T*R,e[7]=h*A+y*P+O*R,e[8]=f*U+m*G+_*W,e[9]=p*U+g*G+S*W,e[10]=d*U+x*G+T*W,e[11]=h*U+y*G+O*W,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function YB(e,t,r){let n=Math.sin(r),a=Math.cos(r),i=t[4],o=t[5],s=t[6],c=t[7],u=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*a+u*n,e[5]=o*a+l*n,e[6]=s*a+f*n,e[7]=c*a+p*n,e[8]=u*a-i*n,e[9]=l*a-o*n,e[10]=f*a-s*n,e[11]=p*a-c*n,e}function QB(e,t,r){let n=Math.sin(r),a=Math.cos(r),i=t[0],o=t[1],s=t[2],c=t[3],u=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a-u*n,e[1]=o*a-l*n,e[2]=s*a-f*n,e[3]=c*a-p*n,e[8]=i*n+u*a,e[9]=o*n+l*a,e[10]=s*n+f*a,e[11]=c*n+p*a,e}function JB(e,t,r){let n=Math.sin(r),a=Math.cos(r),i=t[0],o=t[1],s=t[2],c=t[3],u=t[4],l=t[5],f=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a+u*n,e[1]=o*a+l*n,e[2]=s*a+f*n,e[3]=c*a+p*n,e[4]=u*a-i*n,e[5]=l*a-o*n,e[6]=f*a-s*n,e[7]=p*a-c*n,e}function Nyt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function zyt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Uyt(e,t,r){let n=r[0],a=r[1],i=r[2],o=Math.sqrt(n*n+a*a+i*i),s,c,u;return o<1e-6?null:(o=1/o,n*=o,a*=o,i*=o,c=Math.sin(t),s=Math.cos(t),u=1-s,e[0]=n*n*u+s,e[1]=a*n*u+i*c,e[2]=i*n*u-a*c,e[3]=0,e[4]=n*a*u-i*c,e[5]=a*a*u+s,e[6]=i*a*u+n*c,e[7]=0,e[8]=n*i*u+a*c,e[9]=a*i*u-n*c,e[10]=i*i*u+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function Gyt(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Vyt(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function $yt(e,t){let r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Gbe(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=n+n,c=a+a,u=i+i,l=n*s,f=n*c,p=n*u,d=a*c,h=a*u,m=i*u,g=o*s,x=o*c,y=o*u;return e[0]=1-(d+m),e[1]=f+y,e[2]=p-x,e[3]=0,e[4]=f-y,e[5]=1-(l+m),e[6]=h+g,e[7]=0,e[8]=p+x,e[9]=h-g,e[10]=1-(l+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Hyt(e,t){let r=new nn(3),n=-t[0],a=-t[1],i=-t[2],o=t[3],s=t[4],c=t[5],u=t[6],l=t[7],f=n*n+a*a+i*i+o*o;return f>0?(r[0]=(s*o+l*n+c*i-u*a)*2/f,r[1]=(c*o+l*a+u*n-s*i)*2/f,r[2]=(u*o+l*i+s*a-c*n)*2/f):(r[0]=(s*o+l*n+c*i-u*a)*2,r[1]=(c*o+l*a+u*n-s*i)*2,r[2]=(u*o+l*i+s*a-c*n)*2),Gbe(e,t,r),e}function Wyt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Vbe(e,t){let r=t[0],n=t[1],a=t[2],i=t[4],o=t[5],s=t[6],c=t[8],u=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+a*a),e[1]=Math.sqrt(i*i+o*o+s*s),e[2]=Math.sqrt(c*c+u*u+l*l),e}function Kyt(e,t){let r=new nn(3);Vbe(r,t);let n=1/r[0],a=1/r[1],i=1/r[2],o=t[0]*n,s=t[1]*a,c=t[2]*i,u=t[4]*n,l=t[5]*a,f=t[6]*i,p=t[8]*n,d=t[9]*a,h=t[10]*i,m=o+l+h,g=0;return m>0?(g=Math.sqrt(m+1)*2,e[3]=.25*g,e[0]=(f-d)/g,e[1]=(p-c)/g,e[2]=(s-u)/g):o>l&&o>h?(g=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/g,e[0]=.25*g,e[1]=(s+u)/g,e[2]=(p+c)/g):l>h?(g=Math.sqrt(1+l-o-h)*2,e[3]=(p-c)/g,e[0]=(s+u)/g,e[1]=.25*g,e[2]=(f+d)/g):(g=Math.sqrt(1+h-o-l)*2,e[3]=(s-u)/g,e[0]=(p+c)/g,e[1]=(f+d)/g,e[2]=.25*g),e}function Xyt(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let a=n[0],i=n[1],o=n[2],s=n[4],c=n[5],u=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(a*a+i*i+o*o),r[1]=Math.sqrt(s*s+c*c+u*u),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],h=1/r[1],m=1/r[2],g=a*d,x=i*h,y=o*m,_=s*d,S=c*h,T=u*m,O=l*d,I=f*h,B=p*m,D=g+S+B,A=0;return D>0?(A=Math.sqrt(D+1)*2,e[3]=.25*A,e[0]=(T-I)/A,e[1]=(O-y)/A,e[2]=(x-_)/A):g>S&&g>B?(A=Math.sqrt(1+g-S-B)*2,e[3]=(T-I)/A,e[0]=.25*A,e[1]=(x+_)/A,e[2]=(O+y)/A):S>B?(A=Math.sqrt(1+S-g-B)*2,e[3]=(O-y)/A,e[0]=(x+_)/A,e[1]=.25*A,e[2]=(T+I)/A):(A=Math.sqrt(1+B-g-S)*2,e[3]=(x-_)/A,e[0]=(O+y)/A,e[1]=(T+I)/A,e[2]=.25*A),e}function Yyt(e,t,r,n){let a=t[0],i=t[1],o=t[2],s=t[3],c=a+a,u=i+i,l=o+o,f=a*c,p=a*u,d=a*l,h=i*u,m=i*l,g=o*l,x=s*c,y=s*u,_=s*l,S=n[0],T=n[1],O=n[2];return e[0]=(1-(h+g))*S,e[1]=(p+_)*S,e[2]=(d-y)*S,e[3]=0,e[4]=(p-_)*T,e[5]=(1-(f+g))*T,e[6]=(m+x)*T,e[7]=0,e[8]=(d+y)*O,e[9]=(m-x)*O,e[10]=(1-(f+h))*O,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Qyt(e,t,r,n,a){let i=t[0],o=t[1],s=t[2],c=t[3],u=i+i,l=o+o,f=s+s,p=i*u,d=i*l,h=i*f,m=o*l,g=o*f,x=s*f,y=c*u,_=c*l,S=c*f,T=n[0],O=n[1],I=n[2],B=a[0],D=a[1],A=a[2],P=(1-(m+x))*T,R=(d+S)*T,U=(h-_)*T,G=(d-S)*O,W=(1-(p+x))*O,Q=(g+y)*O,ce=(h+_)*I,ie=(g-y)*I,le=(1-(p+m))*I;return e[0]=P,e[1]=R,e[2]=U,e[3]=0,e[4]=G,e[5]=W,e[6]=Q,e[7]=0,e[8]=ce,e[9]=ie,e[10]=le,e[11]=0,e[12]=r[0]+B-(P*B+G*D+ce*A),e[13]=r[1]+D-(R*B+W*D+ie*A),e[14]=r[2]+A-(U*B+Q*D+le*A),e[15]=1,e}function ZB(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=r+r,s=n+n,c=a+a,u=r*o,l=n*o,f=n*s,p=a*o,d=a*s,h=a*c,m=i*o,g=i*s,x=i*c;return e[0]=1-f-h,e[1]=l+x,e[2]=p-g,e[3]=0,e[4]=l-x,e[5]=1-u-h,e[6]=d+m,e[7]=0,e[8]=p+g,e[9]=d-m,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function e7(e,t,r,n,a,i,o){let s=1/(r-t),c=1/(a-n),u=1/(i-o);return e[0]=i*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i*2*c,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(a+n)*c,e[10]=(o+i)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*u,e[15]=0,e}function $be(e,t,r,n,a){let i=1/Math.tan(t/2);if(e[0]=i/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,a!=null&&a!==1/0){let o=1/(n-a);e[10]=(a+n)*o,e[14]=2*a*n*o}else e[10]=-1,e[14]=-2*n;return e}var t7=$be;function Jyt(e,t,r,n,a){let i=1/Math.tan(t/2);if(e[0]=i/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,a!=null&&a!==1/0){let o=1/(n-a);e[10]=a*o,e[14]=a*n*o}else e[10]=-1,e[14]=-n;return e}function Zyt(e,t,r,n){let a=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),c=2/(o+s),u=2/(a+i);return e[0]=c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*c*.5),e[9]=(a-i)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Hbe(e,t,r,n,a,i,o){let s=1/(t-r),c=1/(n-a),u=1/(i-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(a+n)*c,e[14]=(o+i)*u,e[15]=1,e}var r7=Hbe;function e_t(e,t,r,n,a,i,o){let s=1/(t-r),c=1/(n-a),u=1/(i-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=u,e[11]=0,e[12]=(t+r)*s,e[13]=(a+n)*c,e[14]=i*u,e[15]=1,e}function n7(e,t,r,n){let a,i,o,s,c,u,l,f,p,d,h=t[0],m=t[1],g=t[2],x=n[0],y=n[1],_=n[2],S=r[0],T=r[1],O=r[2];return Math.abs(h-S)<1e-6&&Math.abs(m-T)<1e-6&&Math.abs(g-O)<1e-6?Ube(e):(f=h-S,p=m-T,d=g-O,a=1/Math.sqrt(f*f+p*p+d*d),f*=a,p*=a,d*=a,i=y*d-_*p,o=_*f-x*d,s=x*p-y*f,a=Math.sqrt(i*i+o*o+s*s),a?(a=1/a,i*=a,o*=a,s*=a):(i=0,o=0,s=0),c=p*s-d*o,u=d*i-f*s,l=f*o-p*i,a=Math.sqrt(c*c+u*u+l*l),a?(a=1/a,c*=a,u*=a,l*=a):(c=0,u=0,l=0),e[0]=i,e[1]=c,e[2]=f,e[3]=0,e[4]=o,e[5]=u,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(i*h+o*m+s*g),e[13]=-(c*h+u*m+l*g),e[14]=-(f*h+p*m+d*g),e[15]=1,e)}function t_t(e,t,r,n){let a=t[0],i=t[1],o=t[2],s=n[0],c=n[1],u=n[2],l=a-r[0],f=i-r[1],p=o-r[2],d=l*l+f*f+p*p;d>0&&(d=1/Math.sqrt(d),l*=d,f*=d,p*=d);let h=c*p-u*f,m=u*l-s*p,g=s*f-c*l;return d=h*h+m*m+g*g,d>0&&(d=1/Math.sqrt(d),h*=d,m*=d,g*=d),e[0]=h,e[1]=m,e[2]=g,e[3]=0,e[4]=f*g-p*m,e[5]=p*h-l*g,e[6]=l*m-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=a,e[13]=i,e[14]=o,e[15]=1,e}function r_t(e){return`mat4(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]}, ${e[4]}, ${e[5]}, ${e[6]}, ${e[7]}, ${e[8]}, ${e[9]}, ${e[10]}, ${e[11]}, ${e[12]}, ${e[13]}, ${e[14]}, ${e[15]})`}function n_t(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]+e[3]*e[3]+e[4]*e[4]+e[5]*e[5]+e[6]*e[6]+e[7]*e[7]+e[8]*e[8]+e[9]*e[9]+e[10]*e[10]+e[11]*e[11]+e[12]*e[12]+e[13]*e[13]+e[14]*e[14]+e[15]*e[15])}function a_t(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Wbe(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function i_t(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function o_t(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function s_t(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function c_t(e,t){let r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],c=e[6],u=e[7],l=e[8],f=e[9],p=e[10],d=e[11],h=e[12],m=e[13],g=e[14],x=e[15],y=t[0],_=t[1],S=t[2],T=t[3],O=t[4],I=t[5],B=t[6],D=t[7],A=t[8],P=t[9],R=t[10],U=t[11],G=t[12],W=t[13],Q=t[14],ce=t[15];return Math.abs(r-y)<=1e-6*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-_)<=1e-6*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(a-S)<=1e-6*Math.max(1,Math.abs(a),Math.abs(S))&&Math.abs(i-T)<=1e-6*Math.max(1,Math.abs(i),Math.abs(T))&&Math.abs(o-O)<=1e-6*Math.max(1,Math.abs(o),Math.abs(O))&&Math.abs(s-I)<=1e-6*Math.max(1,Math.abs(s),Math.abs(I))&&Math.abs(c-B)<=1e-6*Math.max(1,Math.abs(c),Math.abs(B))&&Math.abs(u-D)<=1e-6*Math.max(1,Math.abs(u),Math.abs(D))&&Math.abs(l-A)<=1e-6*Math.max(1,Math.abs(l),Math.abs(A))&&Math.abs(f-P)<=1e-6*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(p-R)<=1e-6*Math.max(1,Math.abs(p),Math.abs(R))&&Math.abs(d-U)<=1e-6*Math.max(1,Math.abs(d),Math.abs(U))&&Math.abs(h-G)<=1e-6*Math.max(1,Math.abs(h),Math.abs(G))&&Math.abs(m-W)<=1e-6*Math.max(1,Math.abs(m),Math.abs(W))&&Math.abs(g-Q)<=1e-6*Math.max(1,Math.abs(g),Math.abs(Q))&&Math.abs(x-ce)<=1e-6*Math.max(1,Math.abs(x),Math.abs(ce))}var u_t=w1,l_t=Wbe;function f_t(){let e=new nn(4);return nn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Kbe(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Xbe(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Ybe(e){let t=e[0],r=e[1],n=e[2],a=e[3];return Math.sqrt(t*t+r*r+n*n+a*a)}function Qbe(e){let t=e[0],r=e[1],n=e[2],a=e[3];return t*t+r*r+n*n+a*a}function Jbe(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=r*r+n*n+a*a+i*i;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=a*o,e[3]=i*o,e}function Zbe(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function eve(e,t,r,n){let a=t[0],i=t[1],o=t[2],s=t[3];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function tve(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3];return e[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,e[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,e[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,e[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,e}function rve(e,t,r){let n=t[0],a=t[1],i=t[2],o=r[0],s=r[1],c=r[2],u=r[3],l=u*n+s*i-c*a,f=u*a+c*n-o*i,p=u*i+o*a-s*n,d=-o*n-s*a-c*i;return e[0]=l*u+d*-o+f*-c-p*-s,e[1]=f*u+d*-s+p*-o-l*-c,e[2]=p*u+d*-c+l*-s-f*-o,e[3]=t[3],e}var Hrr=function(){let e=f_t();return function(t,r,n,a,i,o){let s,c;for(r||(r=4),n||(n=0),a?c=Math.min(a*r+n,t.length):c=t.length,s=n;s<c;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],i(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();var o7;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(o7||(o7={}));var p_t=45*Math.PI/180,d_t=1,a7=.1,i7=500,h_t=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),mr=class extends Jm{static get IDENTITY(){return g_t()}static get ZERO(){return m_t()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return o7}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,n,a,i,o,s,c,u,l,f,p,d,h,m,g){return this[0]=t,this[1]=r,this[2]=n,this[3]=a,this[4]=i,this[5]=o,this[6]=s,this[7]=c,this[8]=u,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=h,this[14]=m,this[15]=g,this.check()}setRowMajor(t,r,n,a,i,o,s,c,u,l,f,p,d,h,m,g){return this[0]=t,this[1]=i,this[2]=u,this[3]=d,this[4]=r,this[5]=o,this[6]=l,this[7]=h,this[8]=n,this[9]=s,this[10]=f,this[11]=m,this[12]=a,this[13]=c,this[14]=p,this[15]=g,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(h_t)}fromObject(t){return this.check()}fromQuaternion(t){return ZB(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:a,top:i,near:o=a7,far:s=i7}=t;return s===1/0?b_t(this,r,n,a,i,o):e7(this,r,n,a,i,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:a=[0,1,0]}=t;return n7(this,r,n,a),this.check()}ortho(t){let{left:r,right:n,bottom:a,top:i,near:o=a7,far:s=i7}=t;return r7(this,r,n,a,i,o,s),this.check()}orthographic(t){let{fovy:r=p_t,aspect:n=d_t,focalDistance:a=1,near:i=a7,far:o=i7}=t;ave(r);let s=r/2,c=a*Math.tan(s),u=c*n;return this.ortho({left:-u,right:u,bottom:-c,top:c,near:i,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:a=.1,far:i=500}=t;return ave(r),t7(this,r,n,a,i),this.check()}determinant(){return HB(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),a=1/n[0],i=1/n[1],o=1/n[2];return t[0]=this[0]*a,t[1]=this[1]*i,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*a,t[5]=this[5]*i,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*a,t[9]=this[9]*i,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),a=1/n[0],i=1/n[1],o=1/n[2];return t[0]=this[0]*a,t[1]=this[1]*i,t[2]=this[2]*o,t[3]=this[4]*a,t[4]=this[5]*i,t[5]=this[6]*o,t[6]=this[8]*a,t[7]=this[9]*i,t[8]=this[10]*o,t}transpose(){return VB(this,this),this.check()}invert(){return $B(this,this),this.check()}multiplyLeft(t){return w1(this,t,this),this.check()}multiplyRight(t){return w1(this,this,t),this.check()}rotateX(t){return YB(this,this,t),this.check()}rotateY(t){return QB(this,this,t),this.check()}rotateZ(t){return JB(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return XB(this,this,t,r),this.check()}scale(t){return KB(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return WB(this,this,t),this.check()}transform(t,r){return t.length===4?(r=tve(r||[-0,-0,-0,-0],t,this),Cf(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,a;switch(n){case 2:a=wA(r||[-0,-0],t,this);break;case 3:a=Ed(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Cf(a,t.length),a}transformAsVector(t,r){let n;switch(t.length){case 2:n=TA(r||[-0,-0],t,this);break;case 3:n=EA(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return Cf(n,t.length),n}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,n){return this.identity().translate([t,r,n])}},IA,jA;function m_t(){return IA||(IA=new mr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(IA)),IA}function g_t(){return jA||(jA=new mr,Object.freeze(jA)),jA}function ave(e){if(e>Math.PI*2)throw Error("expected radians")}function b_t(e,t,r,n,a,i){let o=2*i/(r-t),s=2*i/(a-n),c=(r+t)/(r-t),u=(a+n)/(a-n),l=-1,f=-1,p=-2*i;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=c,e[9]=u,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function ive(){let e=new nn(4);return nn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function ove(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function s7(e,t,r){r=r*.5;let n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function c7(e,t,r){let n=t[0],a=t[1],i=t[2],o=t[3],s=r[0],c=r[1],u=r[2],l=r[3];return e[0]=n*l+o*s+a*u-i*c,e[1]=a*l+o*c+i*s-n*u,e[2]=i*l+o*u+n*c-a*s,e[3]=o*l-n*s-a*c-i*u,e}function sve(e,t,r){r*=.5;let n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),c=Math.cos(r);return e[0]=n*c+o*s,e[1]=a*c+i*s,e[2]=i*c-a*s,e[3]=o*c-n*s,e}function cve(e,t,r){r*=.5;let n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),c=Math.cos(r);return e[0]=n*c-i*s,e[1]=a*c+o*s,e[2]=i*c+n*s,e[3]=o*c-a*s,e}function uve(e,t,r){r*=.5;let n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),c=Math.cos(r);return e[0]=n*c+a*s,e[1]=a*c-n*s,e[2]=i*c+o*s,e[3]=o*c-i*s,e}function lve(e,t){let r=t[0],n=t[1],a=t[2];return e[0]=r,e[1]=n,e[2]=a,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),e}function T1(e,t,r,n){let a=t[0],i=t[1],o=t[2],s=t[3],c=r[0],u=r[1],l=r[2],f=r[3],p,d,h,m,g;return p=a*c+i*u+o*l+s*f,p<0&&(p=-p,c=-c,u=-u,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),g=Math.sin(d),h=Math.sin((1-n)*d)/g,m=Math.sin(n*d)/g):(h=1-n,m=n),e[0]=h*a+m*c,e[1]=h*i+m*u,e[2]=h*o+m*l,e[3]=h*s+m*f,e}function fve(e,t){let r=t[0],n=t[1],a=t[2],i=t[3],o=r*r+n*n+a*a+i*i,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-a*s,e[3]=i*s,e}function pve(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function u7(e,t){let r=t[0]+t[4]+t[8],n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let a=0;t[4]>t[0]&&(a=1),t[8]>t[a*3+a]&&(a=2);let i=(a+1)%3,o=(a+2)%3;n=Math.sqrt(t[a*3+a]-t[i*3+i]-t[o*3+o]+1),e[a]=.5*n,n=.5/n,e[3]=(t[i*3+o]-t[o*3+i])*n,e[i]=(t[i*3+a]+t[a*3+i])*n,e[o]=(t[o*3+a]+t[a*3+o])*n}return e}var dve=Kbe;var hve=Xbe,mve=Zbe,gve=eve,bve=Ybe;var vve=Qbe;var xve=Jbe;var yve=function(){let e=AA(),t=kA(1,0,0),r=kA(0,1,0);return function(n,a,i){let o=x1(a,i);return o<-.999999?(Td(e,t,a),qB(e)<1e-6&&Td(e,r,a),jB(e,e),s7(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Td(e,a,i),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,xve(n,n))}}(),onr=function(){let e=ive(),t=ive();return function(r,n,a,i,o,s){return T1(e,n,o,s),T1(t,a,i,s),T1(r,e,t,2*s*(1-s)),r}}(),snr=function(){let e=jbe();return function(t,r,n,a){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=a[0],e[4]=a[1],e[7]=a[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],xve(t,u7(t,e))}}();var x_t=[0,0,0,1],Io=class extends Pf{constructor(t=0,r=0,n=0,a=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,a)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,n,a){return this[0]=t,this[1]=r,this[2]=n,this[3]=a,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return u7(this,t),this.check()}fromAxisRotation(t,r){return s7(this,t,r),this.check()}identity(){return ove(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=zt(t)}get y(){return this[1]}set y(t){this[1]=zt(t)}get z(){return this[2]}set z(t){this[2]=zt(t)}get w(){return this[3]}set w(t){this[3]=zt(t)}len(){return bve(this)}lengthSquared(){return vve(this)}dot(t){return mve(this,t)}rotationTo(t,r){return yve(this,t,r),this.check()}add(t){return dve(this,this,t),this.check()}calculateW(){return lve(this,this),this.check()}conjugate(){return pve(this,this),this.check()}invert(){return fve(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):(gve(this,t,r,n),this.check())}multiplyRight(t){return c7(this,this,t),this.check()}multiplyLeft(t){return c7(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return sve(this,this,t),this.check()}rotateY(t){return cve(this,this,t),this.check()}rotateZ(t){return uve(this,this,t),this.check()}scale(t){return hve(this,this,t),this.check()}slerp(t,r,n){let a,i,o;switch(arguments.length){case 1:({start:a=x_t,target:i,ratio:o}=t);break;case 2:a=this,i=t,o=r;break;default:a=t,i=r,o=n}return T1(this,a,i,o),this.check()}transformVector4(t,r=new Co){return rve(r,t,this),Cf(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Es={};Jn(Es,{EPSILON1:()=>y_t,EPSILON10:()=>O_t,EPSILON11:()=>F_t,EPSILON12:()=>P_t,EPSILON13:()=>C_t,EPSILON14:()=>I_t,EPSILON15:()=>j_t,EPSILON16:()=>R_t,EPSILON17:()=>L_t,EPSILON18:()=>B_t,EPSILON19:()=>M_t,EPSILON2:()=>__t,EPSILON20:()=>q_t,EPSILON3:()=>w_t,EPSILON4:()=>T_t,EPSILON5:()=>E_t,EPSILON6:()=>S_t,EPSILON7:()=>A_t,EPSILON8:()=>k_t,EPSILON9:()=>D_t,PI_OVER_FOUR:()=>z_t,PI_OVER_SIX:()=>U_t,PI_OVER_TWO:()=>N_t,TWO_PI:()=>G_t});var y_t=.1,__t=.01,w_t=.001,T_t=1e-4,E_t=1e-5,S_t=1e-6,A_t=1e-7,k_t=1e-8,D_t=1e-9,O_t=1e-10,F_t=1e-11,P_t=1e-12,C_t=1e-13,I_t=1e-14,j_t=1e-15,R_t=1e-16,L_t=1e-17,B_t=1e-18,M_t=1e-19,q_t=1e-20,N_t=Math.PI/2,z_t=Math.PI/4,U_t=Math.PI/6,G_t=Math.PI*2;var Wu=6356752314245179e-9,V_t={radii:[6378137,6378137,Wu],radiiSquared:[6378137*6378137,6378137*6378137,Wu*Wu],oneOverRadii:[1/6378137,1/6378137,1/Wu],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(Wu*Wu)],maximumRadius:Math.max(6378137,6378137,Wu),centerToleranceSquared:.1};function RA(e){return e}var Bnr=new Z;function $_t(e,t=[],r=RA){return"longitude"in e?(t[0]=r(e.longitude),t[1]=r(e.latitude),t[2]=e.height):"x"in e?(t[0]=r(e.x),t[1]=r(e.y),t[2]=e.z):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function _ve(e,t=[]){return $_t(e,t,Rr._cartographicRadians?RA:FB)}function H_t(e,t,r=RA){return"longitude"in t?(t.longitude=r(e[0]),t.latitude=r(e[1]),t.height=e[2]):"x"in t?(t.x=r(e[0]),t.y=r(e[1]),t.z=e[2]):(t[0]=r(e[0]),t[1]=r(e[1]),t[2]=e[2]),t}function wve(e,t){return H_t(e,t,Rr._cartographicRadians?RA:PB)}var Tve=1e-14,W_t=new Z,Eve={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},l7={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},E1={east:new Z,north:new Z,up:new Z,west:new Z,south:new Z,down:new Z},K_t=new Z,X_t=new Z,Y_t=new Z;function f7(e,t,r,n,a,i){let o=Eve[t]&&Eve[t][r];la(o&&(!n||n===o));let s,c,u,l=W_t.copy(a);if(Qi(l.x,0,Tve)&&Qi(l.y,0,Tve)){let p=Math.sign(l.z);s=K_t.fromArray(l7[t]),t!=="east"&&t!=="west"&&s.scale(p),c=X_t.fromArray(l7[r]),r!=="east"&&r!=="west"&&c.scale(p),u=Y_t.fromArray(l7[n]),n!=="east"&&n!=="west"&&u.scale(p)}else{let{up:p,east:d,north:h}=E1;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:m,west:g,south:x}=E1;m.copy(p).scale(-1),g.copy(d).scale(-1),x.copy(h).scale(-1),s=E1[t],c=E1[r],u=E1[n]}return i[0]=s.x,i[1]=s.y,i[2]=s.z,i[3]=0,i[4]=c.x,i[5]=c.y,i[6]=c.z,i[7]=0,i[8]=u.x,i[9]=u.y,i[10]=u.z,i[11]=0,i[12]=l.x,i[13]=l.y,i[14]=l.z,i[15]=1,i}var Zm=new Z,Q_t=new Z,J_t=new Z;function Sve(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:a,centerToleranceSquared:i}=t;Zm.from(e);let o=Zm.x,s=Zm.y,c=Zm.z,u=n.x,l=n.y,f=n.z,p=o*o*u*u,d=s*s*l*l,h=c*c*f*f,m=p+d+h,g=Math.sqrt(1/m);if(!Number.isFinite(g))return;let x=Q_t;if(x.copy(e).scale(g),m<i)return x.to(r);let y=a.x,_=a.y,S=a.z,T=J_t;T.set(x.x*y*2,x.y*_*2,x.z*S*2);let O=(1-g)*Zm.len()/(.5*T.len()),I=0,B,D,A,P;do{O-=I,B=1/(1+O*y),D=1/(1+O*_),A=1/(1+O*S);let R=B*B,U=D*D,G=A*A,W=R*B,Q=U*D,ce=G*A;P=p*R+d*U+h*G-1;let le=-2*(p*W*y+d*Q*_+h*ce*S);I=P/le}while(Math.abs(P)>Es.EPSILON12);return Zm.scale([B,D,A]).to(r)}var LA=new Z,Ave=new Z,t2t=new Z,Ss=new Z,r2t=new Z,BA=new Z,Pt=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=Es.EPSILON1,la(t>=0),la(r>=0),la(n>=0),this.radii=new Z(t,r,n),this.radiiSquared=new Z(t*t,r*r,n*n),this.radiiToTheFourth=new Z(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new Z(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new Z(t===0?0:1/(t*t),r===0?0:1/(r*r),n===0?0:1/(n*n)),this.minimumRadius=Math.min(t,r,n),this.maximumRadius=Math.max(t,r,n),this.radiiSquared.z!==0&&(this.squaredXOverSquaredZ=this.radiiSquared.x/this.radiiSquared.z),Object.freeze(this)}equals(t){return this===t||Boolean(t&&this.radii.equals(t.radii))}toString(){return this.radii.toString()}cartographicToCartesian(t,r=[0,0,0]){let n=Ave,a=t2t,[,,i]=t;this.geodeticSurfaceNormalCartographic(t,n),a.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(a));return a.scale(1/o),n.scale(i),a.add(n),a.to(r)}cartesianToCartographic(t,r=[0,0,0]){BA.from(t);let n=this.scaleToGeodeticSurface(BA,Ss);if(!n)return;let a=this.geodeticSurfaceNormal(n,Ave),i=r2t;i.copy(BA).subtract(n);let o=Math.atan2(a.y,a.x),s=Math.asin(a.z),c=Math.sign(Qm.dot(i,BA))*Qm.length(i);return wve([o,s,c],r)}eastNorthUpToFixedFrame(t,r=new mr){return f7(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,a,i=new mr){return f7(this,t,r,n,a,i)}geocentricSurfaceNormal(t,r=[0,0,0]){return LA.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=_ve(t),a=n[0],i=n[1],o=Math.cos(i);return LA.set(o*Math.cos(a),o*Math.sin(a),Math.sin(i)).normalize(),LA.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return LA.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return Sve(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Ss.from(t);let n=Ss.x,a=Ss.y,i=Ss.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+a*a*o.y+i*i*o.z);return Ss.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Ss.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Ss.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){la(Qi(this.radii.x,this.radii.y,Es.EPSILON15)),la(this.radii.z>0),Ss.from(t);let a=Ss.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(a)>=this.radii.z-r))return Ss.set(0,0,a).to(n)}};Pt.WGS84=new Pt(6378137,6378137,Wu);var fa={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var rar=new Z,nar=new Z;var S1=new Z,kve=new Z,ci=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new Z,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=S1.from(r),this.center=new Z().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new ci(this.center,this.radius)}union(t){let r=this.center,n=this.radius,a=t.center,i=t.radius,o=S1.copy(a).subtract(r),s=o.magnitude();if(n>=s+i)return this.clone();if(i>=s+n)return t.clone();let c=(n+s+i)*.5;return kve.copy(o).scale((-n+c)/s).add(r),this.center.copy(kve),this.radius=c,this}expand(t){let n=S1.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=CA.getScaling(S1,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let n=S1.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,i=t.normal.dot(r)+t.distance;return i<-n?fa.OUTSIDE:i<n?fa.INTERSECTING:fa.INSIDE}};var n2t=new Z,a2t=new Z,MA=new Z,qA=new Z,NA=new Z,i2t=new Z,o2t=new Z,Ku={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},pa=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new Z().from(t),this.halfAxes=new nr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Z(t).len(),new Z(r).len(),new Z(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),a=new Z(t).normalize(),i=new Z(r).normalize(),o=new Z(n).normalize();return new Io().fromMatrix3(new nr([...a,...i,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let a=new Io(n),i=new nr().fromQuaternion(a);return i[0]=i[0]*r[0],i[1]=i[1]*r[0],i[2]=i[2]*r[0],i[3]=i[3]*r[1],i[4]=i[4]*r[1],i[5]=i[5]*r[1],i[6]=i[6]*r[2],i[7]=i[7]*r[2],i[8]=i[8]*r[2],this.center=new Z().from(t),this.halfAxes=i,this}clone(){return new pa(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new ci){let r=this.halfAxes,n=r.getColumn(0,MA),a=r.getColumn(1,qA),i=r.getColumn(2,NA),o=n2t.copy(n).add(a).add(i);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,a=this.halfAxes,i=n.x,o=n.y,s=n.z,c=Math.abs(i*a[Ku.COLUMN0ROW0]+o*a[Ku.COLUMN0ROW1]+s*a[Ku.COLUMN0ROW2])+Math.abs(i*a[Ku.COLUMN1ROW0]+o*a[Ku.COLUMN1ROW1]+s*a[Ku.COLUMN1ROW2])+Math.abs(i*a[Ku.COLUMN2ROW0]+o*a[Ku.COLUMN2ROW1]+s*a[Ku.COLUMN2ROW2]),u=n.dot(r)+t.distance;return u<=-c?fa.OUTSIDE:u>=c?fa.INSIDE:fa.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=a2t.from(t).subtract(this.center),n=this.halfAxes,a=n.getColumn(0,MA),i=n.getColumn(1,qA),o=n.getColumn(2,NA),s=a.magnitude(),c=i.magnitude(),u=o.magnitude();a.normalize(),i.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(a))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(i))-c,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-u,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let a=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,c=s.getColumn(0,MA),u=s.getColumn(1,qA),l=s.getColumn(2,NA),f=i2t.copy(c).add(u).add(l).add(o),p=o2t.copy(f).subtract(t),d=r.dot(p);return a=Math.min(d,a),i=Math.max(d,i),f.copy(o).add(c).add(u).subtract(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),f.copy(o).add(c).subtract(u).add(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),f.copy(o).add(c).subtract(u).subtract(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),o.copy(f).subtract(c).add(u).add(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),o.copy(f).subtract(c).add(u).subtract(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),o.copy(f).subtract(c).subtract(u).add(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),o.copy(f).subtract(c).subtract(u).subtract(l),p.copy(f).subtract(t),d=r.dot(p),a=Math.min(d,a),i=Math.max(d,i),n[0]=a,n[1]=i,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,MA);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,qA);n.transformAsPoint(t);let a=this.halfAxes.getColumn(2,NA);return a.transformAsPoint(t),this.halfAxes=new nr([...r,...n,...a]),this}getTransform(){throw new Error("not implemented")}};var Dve=new Z,Ove=new Z,Xu=class{constructor(t=[0,0,1],r=0){this.normal=new Z,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return la(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=Dve.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,a){return this.normal.set(t,r,n),la(Qi(this.normal.len(),1)),this.distance=a,this}clone(){return new Xu(this.normal,this.distance)}equals(t){return Qi(this.distance,t.distance)&&Qi(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Ove.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,r)}projectPointOntoPlane(t,r=[0,0,0]){let n=Dve.from(t),a=this.getPointDistance(n),i=Ove.copy(this.normal).scale(a);return n.subtract(i).to(r)}};var Fve=[new Z([1,0,0]),new Z([0,1,0]),new Z([0,0,1])],Pve=new Z,s2t=new Z,jo=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*Fve.length;let r=t.center,n=t.radius,a=0;for(let i of Fve){let o=this.planes[a],s=this.planes[a+1];o||(o=this.planes[a]=new Xu),s||(s=this.planes[a+1]=new Xu);let c=Pve.copy(i).scale(-n).add(r);o.fromPointNormal(c,i);let u=Pve.copy(i).scale(n).add(r),l=s2t.copy(i).negate();s.fromPointNormal(u,l),a+=2}return this}computeVisibility(t){let r=fa.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case fa.OUTSIDE:return fa.OUTSIDE;case fa.INTERSECTING:r=fa.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(la(Number.isFinite(r),"parentPlaneMask is required."),r===jo.MASK_OUTSIDE||r===jo.MASK_INSIDE)return r;let n=jo.MASK_INSIDE,a=this.planes;for(let i=0;i<this.planes.length;++i){let o=i<31?1<<i:0;if(i<31&&!(r&o))continue;let s=a[i],c=t.intersectPlane(s);if(c===fa.OUTSIDE)return jo.MASK_OUTSIDE;c===fa.INTERSECTING&&(n|=o)}return n}};jo.MASK_OUTSIDE=4294967295;jo.MASK_INSIDE=0;jo.MASK_INDETERMINATE=2147483647;var war=new Z,Tar=new Z,Ear=new Z,Sar=new Z,Aar=new Z;var u2t=new Z,l2t=new Z,f2t=new Z,p2t=new Z,d2t=new Z,h2t=new Z,m2t=new Z,eg=new Z,g2t=new Z,b2t=new Z,v2t=new Z,x2t=new Z;function p7(e,t=new ci){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=m2t.copy(e[0]),n=u2t.copy(r),a=l2t.copy(r),i=f2t.copy(r),o=p2t.copy(r),s=d2t.copy(r),c=h2t.copy(r);for(let O of e){r.copy(O);let I=r.x,B=r.y,D=r.z;I<n.x&&n.copy(r),I>o.x&&o.copy(r),B<a.y&&a.copy(r),B>s.y&&s.copy(r),D<i.z&&i.copy(r),D>c.z&&c.copy(r)}let u=eg.copy(o).subtract(n).magnitudeSquared(),l=eg.copy(s).subtract(a).magnitudeSquared(),f=eg.copy(c).subtract(i).magnitudeSquared(),p=n,d=o,h=u;l>h&&(h=l,p=a,d=s),f>h&&(h=f,p=i,d=c);let m=g2t;m.x=(p.x+d.x)*.5,m.y=(p.y+d.y)*.5,m.z=(p.z+d.z)*.5;let g=eg.copy(d).subtract(m).magnitudeSquared(),x=Math.sqrt(g),y=b2t;y.x=n.x,y.y=a.y,y.z=i.z;let _=v2t;_.x=o.x,_.y=s.y,_.z=c.z;let S=x2t.copy(y).add(_).multiplyByScalar(.5),T=0;for(let O of e){r.copy(O);let I=eg.copy(r).subtract(S).magnitude();I>T&&(T=I);let B=eg.copy(r).subtract(m).magnitudeSquared();if(B>g){let D=Math.sqrt(B);x=(x+D)*.5,g=x*x;let A=D-x;m.x=(x*m.x+A*r.x)/D,m.y=(x*m.y+A*r.y)/D,m.z=(x*m.z+A*r.z)/D}}return x<T?(m.to(t.center),t.radius=x):(S.to(t.center),t.radius=T),t}var jc=new nr,y2t=new nr,_2t=new nr,zA=new nr,Cve=new nr;function m7(e,t={}){let r=Es.EPSILON20,n=10,a=0,i=0,o=y2t,s=_2t;o.identity(),s.copy(e);let c=r*w2t(s);for(;i<n&&T2t(s)>c;)E2t(s,zA),Cve.copy(zA).transpose(),s.multiplyRight(zA),s.multiplyLeft(Cve),o.multiplyRight(zA),++a>2&&(++i,a=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function w2t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var d7=[1,0,0],h7=[2,2,1];function T2t(e){let t=0;for(let r=0;r<3;++r){let n=e[jc.getElementIndex(h7[r],d7[r])];t+=2*n*n}return Math.sqrt(t)}function E2t(e,t){let r=Es.EPSILON15,n=0,a=1;for(let u=0;u<3;++u){let l=Math.abs(e[jc.getElementIndex(h7[u],d7[u])]);l>n&&(a=u,n=l)}let i=d7[a],o=h7[a],s=1,c=0;if(Math.abs(e[jc.getElementIndex(o,i)])>r){let u=e[jc.getElementIndex(o,o)],l=e[jc.getElementIndex(i,i)],f=e[jc.getElementIndex(o,i)],p=(u-l)/2/f,d;p<0?d=-1/(-p+Math.sqrt(1+p*p)):d=1/(p+Math.sqrt(1+p*p)),s=1/Math.sqrt(1+d*d),c=d*s}return nr.IDENTITY.to(t),t[jc.getElementIndex(i,i)]=t[jc.getElementIndex(o,o)]=s,t[jc.getElementIndex(o,i)]=c,t[jc.getElementIndex(i,o)]=-c,t}var jf=new Z,A2t=new Z,k2t=new Z,D2t=new Z,O2t=new Z,F2t=new nr,P2t={diagonal:new nr,unitary:new nr};function A1(e,t=new pa){if(!e||e.length===0)return t.halfAxes=new nr([0,0,0,0,0,0,0,0,0]),t.center=new Z,t;let r=e.length,n=new Z(0,0,0);for(let D of e)n.add(D);let a=1/r;n.multiplyByScalar(a);let i=0,o=0,s=0,c=0,u=0,l=0;for(let D of e){let A=jf.copy(D).subtract(n);i+=A.x*A.x,o+=A.x*A.y,s+=A.x*A.z,c+=A.y*A.y,u+=A.y*A.z,l+=A.z*A.z}i*=a,o*=a,s*=a,c*=a,u*=a,l*=a;let f=F2t;f[0]=i,f[1]=o,f[2]=s,f[3]=o,f[4]=c,f[5]=u,f[6]=s,f[7]=u,f[8]=l;let{unitary:p}=m7(f,P2t),d=t.halfAxes.copy(p),h=d.getColumn(0,k2t),m=d.getColumn(1,D2t),g=d.getColumn(2,O2t),x=-Number.MAX_VALUE,y=-Number.MAX_VALUE,_=-Number.MAX_VALUE,S=Number.MAX_VALUE,T=Number.MAX_VALUE,O=Number.MAX_VALUE;for(let D of e)jf.copy(D),x=Math.max(jf.dot(h),x),y=Math.max(jf.dot(m),y),_=Math.max(jf.dot(g),_),S=Math.min(jf.dot(h),S),T=Math.min(jf.dot(m),T),O=Math.min(jf.dot(g),O);h=h.multiplyByScalar(.5*(S+x)),m=m.multiplyByScalar(.5*(T+y)),g=g.multiplyByScalar(.5*(O+_)),t.center.copy(h).add(m).add(g);let I=A2t.set(x-S,y-T,_-O).multiplyByScalar(.5),B=new nr([I[0],0,0,0,I[1],0,0,0,I[2]]);return t.halfAxes.multiplyRight(B),t}function Lve(e){return e!=null}var air=new Z,C2t=new Z,I2t=new Z,j2t=new Z,Sd=new Z,Ive=new Z,jve=new Z,Rve=new Z;function k1(e,t,r){if(yt(e,"3D Tile: boundingVolume must be defined"),e.box)return Bve(e.box,t,r);if(e.region)return L2t(e.region);if(e.sphere)return R2t(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function Bve(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let a=[];if(e.length===10){let u=e.slice(3,6),l=new Io;l.fromArray(e,6);let f=new Z([1,0,0]),p=new Z([0,1,0]),d=new Z([0,0,1]);f.transformByQuaternion(l),f.scale(u[0]),p.transformByQuaternion(l),p.scale(u[1]),d.transformByQuaternion(l),d.scale(u[2]),a=[...f.toArray(),...p.toArray(),...d.toArray()]}else a=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let i=t.transformAsVector(a.slice(0,3)),o=t.transformAsVector(a.slice(3,6)),s=t.transformAsVector(a.slice(6,9)),c=new nr([i[0],i[1],i[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return Lve(r)?(r.center=n,r.halfAxes=c,r):new pa(n,c)}function R2t(e,t,r){let n=new Z(e[0],e[1],e[2]);t.transform(n,n);let a=t.getScale(C2t),i=Math.max(Math.max(a[0],a[1]),a[2]),o=e[3]*i;return Lve(r)?(r.center=n,r.radius=o,r):new ci(n,o)}function L2t(e){let[t,r,n,a,i,o]=e,s=Pt.WGS84.cartographicToCartesian([Hu(t),Hu(a),i],I2t),c=Pt.WGS84.cartographicToCartesian([Hu(n),Hu(r),o],j2t),u=new Z().addVectors(s,c).multiplyByScalar(.5);return Pt.WGS84.cartesianToCartographic(u,Sd),Pt.WGS84.cartographicToCartesian([Hu(n),Sd[1],Sd[2]],Ive),Pt.WGS84.cartographicToCartesian([Sd[0],Hu(a),Sd[2]],jve),Pt.WGS84.cartographicToCartesian([Sd[0],Sd[1],o],Rve),Bve([...u,...Ive.subtract(u),...jve.subtract(u),...Rve.subtract(u)],new mr)}var tg="4.5.3";var da={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},uir=Object.keys(da),Rf={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function g7(e,t,r){yt(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),a=new Uint8Array(e,t,r);return n.decode(a)}function Mve(e,t=0){let r=new DataView(e);return`${String.fromCharCode(r.getUint8(t+0))}${String.fromCharCode(r.getUint8(t+1))}${String.fromCharCode(r.getUint8(t+2))}${String.fromCharCode(r.getUint8(t+3))}`}var B2t="1.5.6",M2t="1.4.1",b7=`https://www.gstatic.com/draco/versioned/decoders/${B2t}`,zr={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Rc={[zr.DECODER]:`${b7}/${zr.DECODER}`,[zr.DECODER_WASM]:`${b7}/${zr.DECODER_WASM}`,[zr.FALLBACK_DECODER]:`${b7}/${zr.FALLBACK_DECODER}`,[zr.ENCODER]:`https://raw.githubusercontent.com/google/draco/${M2t}/javascript/${zr.ENCODER}`},v7;async function Nve(e={},t){let r=e.modules||{};return r.draco3d?v7||(v7=r.draco3d.createDecoderModule({}).then(n=>({draco:n}))):v7||(v7=q2t(e,t)),await v7}function qve(e,t){if(e&&typeof e=="object"){if(e.default)return e.default;if(e[t])return e[t]}return e}async function q2t(e,t){let r,n;switch(t){case"js":r=await yo(Rc[zr.FALLBACK_DECODER],"draco",e,zr.FALLBACK_DECODER);break;case"wasm":default:try{[r,n]=await Promise.all([await yo(Rc[zr.DECODER],"draco",e,zr.DECODER),await yo(Rc[zr.DECODER_WASM],"draco",e,zr.DECODER_WASM)])}catch{r=null,n=null}}return r=qve(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule,!r&&!Rn&&([r,n]=await Promise.all([await yo(Rc[zr.DECODER],"draco",{...e,useLocalLibraries:!0},zr.DECODER),await yo(Rc[zr.DECODER_WASM],"draco",{...e,useLocalLibraries:!0},zr.DECODER_WASM)]),r=qve(r,"DracoDecoderModule"),r=r||globalThis.DracoDecoderModule),await N2t(r,n)}function N2t(e,t){if(typeof e!="function")throw new Error("DracoDecoderModule could not be loaded");let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:a=>n({draco:a})})})}var UA="4.5.3";var GA={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:UA,worker:!0,options:{draco:{},source:null}};function Uve(e,t,r){let n=Gve(t.metadata),a=[],i=z2t(t.attributes);for(let o in e){let s=e[o],c=zve(o,s,i[o]);a.push(c)}if(r){let o=zve("indices",r);a.push(o)}return{fields:a,metadata:n}}function z2t(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function zve(e,t,r){let n=r?Gve(r.metadata):void 0;return DB(e,t,n)}function Gve(e){Object.entries(e);let t={};for(let r in e)t[`${r}.string`]=JSON.stringify(e[r]);return t}var Vve={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},U2t={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},G2t=4,D1=class{draco;decoder;metadataQuerier;constructor(t){this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,r={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(r);let a=this.decoder.GetEncodedGeometryType(n),i=a===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(a){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,i);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!i.ptr){let p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}let s=this._getDracoLoaderData(i,a,r),c=this._getMeshData(i,s,r),u=kB(c.attributes),l=Uve(c.attributes,s,c.indices);return{loader:"draco",loaderData:s,header:{vertexCount:i.num_points(),boundingBox:u},...c,schema:l}}finally{this.draco.destroy(n),i&&this.draco.destroy(i)}}_getDracoLoaderData(t,r,n){let a=this._getTopLevelMetadata(t),i=this._getDracoAttributes(t,n);return{geometry_type:r,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:a,attributes:i}}_getDracoAttributes(t,r){let n={};for(let a=0;a<t.num_attributes();a++){let i=this.decoder.GetAttribute(t,a),o=this._getAttributeMetadata(t,a);n[i.unique_id()]={unique_id:i.unique_id(),attribute_type:i.attribute_type(),data_type:i.data_type(),num_components:i.num_components(),byte_offset:i.byte_offset(),byte_stride:i.byte_stride(),normalized:i.normalized(),attribute_index:a,metadata:o};let s=this._getQuantizationTransform(i,r);s&&(n[i.unique_id()].quantization_transform=s);let c=this._getOctahedronTransform(i,r);c&&(n[i.unique_id()].octahedron_transform=c)}return n}_getMeshData(t,r,n){let a=this._getMeshAttributes(r,t,n);if(!a.POSITION)throw new Error("DRACO: No position attribute found.");if(t instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:a,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:a,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:a}}_getMeshAttributes(t,r,n){let a={};for(let i of Object.values(t.attributes)){let o=this._deduceAttributeName(i,n);i.name=o;let s=this._getAttributeValues(r,i);if(s){let{value:c,size:u}=s;a[o]={value:c,size:u,byteOffset:i.byte_offset,byteStride:i.byte_stride,normalized:i.normalized}}}return a}_getTriangleListIndices(t){let n=t.num_faces()*3,a=n*G2t,i=this.draco._malloc(a);try{return this.decoder.GetTrianglesUInt32Array(t,a,i),new Uint32Array(this.draco.HEAPF32.buffer,i,n).slice()}finally{this.draco._free(i)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),H2t(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=U2t[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let a=r.num_components,o=t.num_points()*a,s=o*n.BYTES_PER_ELEMENT,c=V2t(this.draco,n),u,l=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,f,c,s,l),u=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:u,size:a}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[o,s]of Object.entries(r.extraAttributes||{}))if(s===n)return o;let a=t.attribute_type;for(let o in Vve)if(this.draco[o]===a)return Vve[o];let i=r.attributeNameEntry||"name";return t.metadata[i]?t.metadata[i].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(t){let r=this.decoder.GetMetadata(t);return this._getDracoMetadata(r)}_getAttributeMetadata(t,r){let n=this.decoder.GetAttributeMetadata(t,r);return this._getDracoMetadata(n)}_getDracoMetadata(t){if(!t||!t.ptr)return{};let r={},n=this.metadataQuerier.NumEntries(t);for(let a=0;a<n;a++){let i=this.metadataQuerier.GetEntryName(t,a);r[i]=this._getDracoMetadataField(t,i)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let a=$2t(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:a}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,a=[...r,...n];for(let i of a)this.decoder.SkipAttributeTransform(this.draco[i])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,a=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(a)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(s=>o.min_value(s))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(t,r){let{octahedronAttributes:n=[]}=r,a=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(a)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(t))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function V2t(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function $2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function H2t(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var $ve={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:UA,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",extraAttributes:{},attributeNameEntry:void 0}}},Ad={...$ve,parse:W2t};async function W2t(e,t){var a;let{draco:r}=await Nve(Nv(t),((a=t==null?void 0:t.draco)==null?void 0:a.decoderType)||"wasm"),n=new D1(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var K2t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},An={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},ht={...K2t,...An};var x7={[An.DOUBLE]:Float64Array,[An.FLOAT]:Float32Array,[An.UNSIGNED_SHORT]:Uint16Array,[An.UNSIGNED_INT]:Uint32Array,[An.UNSIGNED_BYTE]:Uint8Array,[An.BYTE]:Int8Array,[An.SHORT]:Int16Array,[An.INT]:Int32Array},X2t={DOUBLE:An.DOUBLE,FLOAT:An.FLOAT,UNSIGNED_SHORT:An.UNSIGNED_SHORT,UNSIGNED_INT:An.UNSIGNED_INT,UNSIGNED_BYTE:An.UNSIGNED_BYTE,BYTE:An.BYTE,SHORT:An.SHORT,INT:An.INT},y7="Failed to convert GL type",Yn=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in x7)if(x7[r]===t)return r;throw new Error(y7)}static fromName(t){let r=X2t[t];if(!r)throw new Error(y7);return r}static getArrayType(t){switch(t){case An.UNSIGNED_SHORT_5_6_5:case An.UNSIGNED_SHORT_4_4_4_4:case An.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=x7[t];if(!r)throw new Error(y7);return r}}static getByteSize(t){return Yn.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Yn.getArrayType(t))}static createTypedArray(t,r,n=0,a){a===void 0&&(a=(r.byteLength-n)/Yn.getByteSize(t));let i=ArrayBuffer.isView(r)?r.buffer:r,o=Yn.getArrayType(t);return new o(i,n,a)}};function Hve(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function _7(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,a=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=a<<3,t}var Nir=1/256;var zir=new wd,Uir=new Z,Gir=new wd,Vir=new wd,$ir=new Uint8Array(1);function Wve(e,t=255){return CB(e,0,t)/t*2-1}function Kve(e){return e<0?-1:1}function Xve(e,t,r,n){if(Hve(n),e<0||e>r||t<0||t>r)throw new Error(`x and y must be unsigned normalized integers between 0 and ${r}`);if(n.x=Wve(e,r),n.y=Wve(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let a=n.x;n.x=(1-Math.abs(n.y))*Kve(a),n.y=(1-Math.abs(a))*Kve(n.y)}return n.normalize()}function w7(e,t,r){return Xve(e,t,255,r)}function VA(e){return(e%1+1)%1}var Yu=class{json;buffer;featuresLength=0;_cachedTypedArrays={};constructor(t,r){this.json=t,this.buffer=r}getExtension(t){return this.json.extensions&&this.json.extensions[t]}hasProperty(t){return Boolean(this.json[t])}getGlobalProperty(t,r=ht.UNSIGNED_INT,n=1){let a=this.json[t];return a&&Number.isFinite(a.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,a.byteOffset):a}getPropertyArray(t,r,n){let a=this.json[t];return a&&Number.isFinite(a.byteOffset)?("componentType"in a&&(r=Yn.fromName(a.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,a.byteOffset)):this._getTypedArrayFromArray(t,r,a)}getProperty(t,r,n,a,i){let o=this.json[t];if(!o)return o;let s=this.getPropertyArray(t,r,n);if(n===1)return s[a];for(let c=0;c<n;++c)i[c]=s[n*a+c];return i}_getTypedArrayFromBinary(t,r,n,a,i){let o=this._cachedTypedArrays,s=o[t];return s||(s=Yn.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+i,a*n),o[t]=s),s}_getTypedArrayFromArray(t,r,n){let a=this._cachedTypedArrays,i=a[t];if(!i){if(ArrayBuffer.isView(n)){let o=n.byteOffset,c=n.byteLength/Yn.getByteSize(r);i=Yn.createTypedArray(r,n.buffer,o,c)}else if(n instanceof ArrayBuffer)i=Yn.createTypedArray(r,n);else{let o=Yn.getArrayType(r);i=new o(n)}a[t]=i}return i}};var Y2t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Q2t={SCALAR:(e,t)=>e[t],VEC2:(e,t)=>[e[2*t+0],e[2*t+1]],VEC3:(e,t)=>[e[3*t+0],e[3*t+1],e[3*t+2]],VEC4:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT2:(e,t)=>[e[4*t+0],e[4*t+1],e[4*t+2],e[4*t+3]],MAT3:(e,t)=>[e[9*t+0],e[9*t+1],e[9*t+2],e[9*t+3],e[9*t+4],e[9*t+5],e[9*t+6],e[9*t+7],e[9*t+8]],MAT4:(e,t)=>[e[16*t+0],e[16*t+1],e[16*t+2],e[16*t+3],e[16*t+4],e[16*t+5],e[16*t+6],e[16*t+7],e[16*t+8],e[16*t+9],e[16*t+10],e[16*t+11],e[16*t+12],e[16*t+13],e[16*t+14],e[16*t+15]]},J2t={SCALAR:(e,t,r)=>{t[r]=e},VEC2:(e,t,r)=>{t[2*r+0]=e[0],t[2*r+1]=e[1]},VEC3:(e,t,r)=>{t[3*r+0]=e[0],t[3*r+1]=e[1],t[3*r+2]=e[2]},VEC4:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT2:(e,t,r)=>{t[4*r+0]=e[0],t[4*r+1]=e[1],t[4*r+2]=e[2],t[4*r+3]=e[3]},MAT3:(e,t,r)=>{t[9*r+0]=e[0],t[9*r+1]=e[1],t[9*r+2]=e[2],t[9*r+3]=e[3],t[9*r+4]=e[4],t[9*r+5]=e[5],t[9*r+6]=e[6],t[9*r+7]=e[7],t[9*r+8]=e[8],t[9*r+9]=e[9]},MAT4:(e,t,r)=>{t[16*r+0]=e[0],t[16*r+1]=e[1],t[16*r+2]=e[2],t[16*r+3]=e[3],t[16*r+4]=e[4],t[16*r+5]=e[5],t[16*r+6]=e[6],t[16*r+7]=e[7],t[16*r+8]=e[8],t[16*r+9]=e[9],t[16*r+10]=e[10],t[16*r+11]=e[11],t[16*r+12]=e[12],t[16*r+13]=e[13],t[16*r+14]=e[14],t[16*r+15]=e[15]}};function Yve(e,t,r,n){let{componentType:a}=e;yt(e.componentType);let i=typeof a=="string"?Yn.fromName(a):a,o=Y2t[e.type],s=Q2t[e.type],c=J2t[e.type];return r+=e.byteOffset,{values:Yn.createTypedArray(i,t,r,o*n),type:i,size:o,unpacker:s,packer:c}}var Lc=e=>e!==void 0;function Qve(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),a=t.HIERARCHY;return a&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=a,n=a),n?Z2t(n,r):null}function Z2t(e,t){let r,n,a,i=e.instancesLength,o=e.classes,s=e.classIds,c=e.parentCounts,u=e.parentIds,l=i;Lc(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,a=getBinaryAccessor(s),s=a.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,i));let f;if(Lc(c))for(Lc(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,a=getBinaryAccessor(c),c=a.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,i)),f=new Uint16Array(i),l=0,r=0;r<i;++r)f[r]=l,l+=c[r];Lc(u)&&Lc(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,a=getBinaryAccessor(u),u=a.createArrayBufferView(t.buffer,t.byteOffset+u.byteOffset,l));let p=o.length;for(r=0;r<p;++r){let g=o[r].length,x=o[r].instances,y=getBinaryProperties(g,x,t);o[r].instances=combine(y,x)}let d=new Array(p).fill(0),h=new Uint16Array(i);for(r=0;r<i;++r)n=s[r],h[r]=d[n],++d[n];let m={classes:o,classIds:s,classIndexes:h,parentCounts:c,parentIndexes:f,parentIds:u};return rwt(m),m}function rg(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?ewt(e,t,r):twt(e,t,r)}function ewt(e,t,r){let n=e.classIds,a=e.parentCounts,i=e.parentIds,o=e.parentIndexes,s=n.length,c=scratchVisited;c.length=Math.max(c.length,s);let u=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),c[t]===u)continue;c[t]=u;let f=r(e,t);if(Lc(f))return f;let p=a[t],d=o[t];for(let h=0;h<p;++h){let m=i[d+h];m!==t&&l.push(m)}}return null}function twt(e,t,r){let n=!0;for(;n;){let a=r(e,t);if(Lc(a))return a;let i=e.parentIds[t];n=i!==t,t=i}throw new Error("traverseHierarchySingleParent")}function rwt(e){let t=[],n=e.classIds.length;for(let a=0;a<n;++a)Jve(e,a,stack)}function Jve(e,t,r){let n=e.parentCounts,a=e.parentIds,i=e.parentIndexes,s=e.classIds.length;if(!Lc(a))return;assert(t<s,`Parent index ${t} exceeds the total number of instances: ${s}`),assert(r.indexOf(t)===-1,"Circular dependency detected in the batch table hierarchy."),r.push(t);let c=Lc(n)?n[t]:1,u=Lc(n)?i[t]:t;for(let l=0;l<c;++l){let f=a[u+l];f!==t&&Jve(e,f,r)}r.pop(t)}function Oi(e){return e!=null}var $A=(e,t)=>e,nwt={HIERARCHY:!0,extensions:!0,extras:!0},kd=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,a={}){var i;yt(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=((i=this.json)==null?void 0:i.extensions)||{},this._properties={};for(let o in this.json)nwt[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),a["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Qve(this,this.json,this.binary))}getExtension(t){return this.json&&this.json.extensions&&this.json.extensions[t]}memorySizeInBytes(){return 0}isClass(t,r){if(this._checkBatchId(t),yt(typeof r=="string",r),this._hierarchy){let n=rg(this._hierarchy,t,(a,i)=>{let o=a.classIds[i];return a.classes[o].name===r});return Oi(n)}return!1}isExactClass(t,r){return yt(typeof r=="string",r),this.getExactClassName(t)===r}getExactClassName(t){if(this._checkBatchId(t),this._hierarchy){let r=this._hierarchy.classIds[t];return this._hierarchy.classes[r].name}}hasProperty(t,r){return this._checkBatchId(t),yt(typeof r=="string",r),Oi(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Oi(r)?r:[],r.length=0;let n=Object.keys(this._properties);return r.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(t,r),r}getProperty(t,r){if(this._checkBatchId(t),yt(typeof r=="string",r),this._binaryProperties){let a=this._binaryProperties[r];if(Oi(a))return this._getBinaryProperty(a,t)}let n=this._properties[r];if(Oi(n))return $A(n[t],!0);if(this._hierarchy){let a=this._getHierarchyProperty(t,r);if(Oi(a))return a}}setProperty(t,r,n){let a=this.featureCount;if(this._checkBatchId(t),yt(typeof r=="string",r),this._binaryProperties){let o=this._binaryProperties[r];if(o){this._setBinaryProperty(o,t,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,t,r,n))return;let i=this._properties[r];Oi(i)||(this._properties[r]=new Array(a),i=this._properties[r]),i[t]=$A(n,!0)}_checkBatchId(t){if(!(t>=0&&t<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(t,r){return t.unpack(t.typedArray,r)}_setBinaryProperty(t,r,n){t.pack(n,t.typedArray,r)}_initializeBinaryProperties(){let t=null;for(let r in this._properties){let n=this._properties[r],a=this._initializeBinaryProperty(r,n);a&&(t=t||{},t[r]=a)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;yt(this.binary,`Property ${t} requires a batch table binary.`),yt(n.type,`Property ${t} requires a type.`);let a=Yve(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:a.values,componentCount:a.size,unpack:a.unpacker,pack:a.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=rg(this._hierarchy,t,(a,i)=>{let o=a.classIds[i],s=a.classes[o].instances;return Oi(s[r])});return Oi(n)}_getPropertyNamesInHierarchy(t,r){rg(this._hierarchy,t,(n,a)=>{let i=n.classIds[a],o=n.classes[i].instances;for(let s in o)o.hasOwnProperty(s)&&r.indexOf(s)===-1&&r.push(s)})}_getHierarchyProperty(t,r){return rg(this._hierarchy,t,(n,a)=>{let i=n.classIds[a],o=n.classes[i],s=n.classIndexes[a],c=o.instances[r];return Oi(c)?Oi(c.typedArray)?this._getBinaryProperty(c,s):$A(c[s],!0):null})}_setHierarchyProperty(t,r,n,a){let i=rg(this._hierarchy,r,(o,s)=>{let c=o.classIds[s],u=o.classes[c],l=o.classIndexes[s],f=u.instances[n];return Oi(f)?(yt(s===r,`Inherited property "${n}" is read-only.`),Oi(f.typedArray)?this._setBinaryProperty(f,l,a):f[l]=$A(a,!0),!0):!1});return Oi(i)}};var T7=4;function Lf(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=T7,e.version=n.getUint32(r,!0),r+=T7,e.byteLength=n.getUint32(r,!0),r+=T7,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var ng=4,Zve="b3dm tile in legacy format.";function ag(e,t,r){let n=new DataView(t),a;e.header=e.header||{};let i=n.getUint32(r,!0);r+=ng;let o=n.getUint32(r,!0);r+=ng;let s=n.getUint32(r,!0);r+=ng;let c=n.getUint32(r,!0);return r+=ng,s>=570425344?(r-=ng*2,a=i,s=o,c=0,i=0,o=0,console.warn(Zve)):c>=570425344&&(r-=ng,a=s,s=i,c=o,i=0,o=0,console.warn(Zve)),e.header.featureTableJsonByteLength=i,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=c,e.header.batchLength=a,r}function ig(e,t,r,n){return r=awt(e,t,r,n),r=iwt(e,t,r,n),r}function awt(e,t,r,n){let{featureTableJsonByteLength:a,featureTableBinaryByteLength:i,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},a&&a>0){let s=g7(t,r,a);e.featureTableJson=JSON.parse(s)}return r+=a||0,e.featureTableBinary=new Uint8Array(t,r,i),r+=i||0,r}function iwt(e,t,r,n){let{batchTableJsonByteLength:a,batchTableBinaryByteLength:i}=e.header||{};if(a&&a>0){let o=g7(t,r,a);e.batchTableJson=JSON.parse(o),r+=a,i&&i>0&&(e.batchTableBinary=new Uint8Array(t,r,i),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=i)}return r}function E7(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:a,pointCount:i=0}=e;if(n&&r){let o=new Uint8ClampedArray(i*3);for(let s=0;s<i;s++){let c=n[s],l=r.getProperty(c,"dimensions").map(f=>f*255);o[s*3]=l[0],o[s*3+1]=l[1],o[s*3+2]=l[2]}return{type:ht.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(t&&a){let o=new Uint8ClampedArray(i*3);for(let s=0;s<i;s++){let c=_7(t[s]);o[s*3]=c[0],o[s*3+1]=c[1],o[s*3+2]=c[2]}return{type:ht.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===i*3?{type:ht.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:ht.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var exe=new Z;function txe(e,t){if(!t)return null;if(e.isOctEncoded16P){let r=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)w7(t[n*2],t[n*2+1],exe),exe.toArray(r,n*3);return{type:ht.FLOAT,size:2,value:r}}return{type:ht.FLOAT,size:2,value:t}}function rxe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,owt(e,t)):{type:ht.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function owt(e,t){let r=new Z,n=new Float32Array(e.pointCount*3);for(let a=0;a<e.pointCount;a++)r.set(t[a*3],t[a*3+1],t[a*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,a*3);return n}async function nxe(e,t,r,n,a){r=Lf(e,t,r),r=ag(e,t,r),r=ig(e,t,r,n),swt(e);let{featureTable:i,batchTable:o}=cwt(e);return await dwt(e,i,o,n,a),uwt(e,i,n),lwt(e,i,o),fwt(e,i),r}function swt(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function cwt(e){let t=new Yu(e.featureTableJson,e.featureTableBinary),r=t.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(r))throw new Error("POINTS_LENGTH must be defined");t.featuresLength=r,e.featuresLength=r,e.pointsLength=r,e.pointCount=r,e.rtcCenter=t.getGlobalProperty("RTC_CENTER",ht.FLOAT,3);let n=pwt(e,t);return{featureTable:t,batchTable:n}}function uwt(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(t.hasProperty("POSITION"))e.attributes.positions=t.getPropertyArray("POSITION",ht.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",ht.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",ht.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",ht.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=rxe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function lwt(e,t,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;t.hasProperty("RGBA")?(n=t.getPropertyArray("RGBA",ht.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",ht.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",ht.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=E7(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",ht.UNSIGNED_BYTE,4))}function fwt(e,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let r=null;t.hasProperty("NORMAL")?r=t.getPropertyArray("NORMAL",ht.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",ht.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=txe(e,r)}}function pwt(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",ht.UNSIGNED_SHORT,1),e.batchIds)){let n=t.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:a,batchTableBinary:i}=e;r=new kd(a,i,n)}return r}async function dwt(e,t,r,n,a){let i,o,s,c=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];c&&(s=c.properties);let u=t.getExtension("3DTILES_draco_point_compression");if(u){o=u.properties;let f=u.byteOffset,p=u.byteLength;if(!o||!Number.isFinite(f)||!p)throw new Error("Draco properties, byteOffset, and byteLength must be defined");i=(e.featureTableBinary||[]).slice(f,f+p),e.hasPositions=Number.isFinite(o.POSITION),e.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),e.hasNormals=Number.isFinite(o.NORMAL),e.hasBatchIds=Number.isFinite(o.BATCH_ID),e.isTranslucent=Number.isFinite(o.RGBA)}if(!i)return!0;let l={buffer:i,properties:{...o,...s},featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await hwt(e,l,n,a)}async function hwt(e,t,r,n){if(!n)return;let a={...r,draco:{...r==null?void 0:r.draco,extraAttributes:t.batchTableProperties||{}}};delete a["3d-tiles"];let i=await Vi(t.buffer,Ad,a,n),o=i.attributes.POSITION&&i.attributes.POSITION.value,s=i.attributes.COLOR_0&&i.attributes.COLOR_0.value,c=i.attributes.NORMAL&&i.attributes.NORMAL.value,u=i.attributes.BATCH_ID&&i.attributes.BATCH_ID.value,l=o&&i.attributes.POSITION.value.quantization,f=c&&i.attributes.NORMAL.value.quantization;if(l){let d=i.POSITION.data.quantization,h=d.range;e.quantizedVolumeScale=new Z(h,h,h),e.quantizedVolumeOffset=new Z(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<i.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let p={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))i.attributes[d]&&i.attributes[d].value&&(p[d.toLowerCase()]=i.attributes[d].value);e.attributes={positions:o,colors:E7(e,s,void 0),normals:c,batchIds:u,...p}}var i8={};Jn(i8,{createExtMeshFeatures:()=>a8,decode:()=>rTt,encode:()=>nTt,name:()=>n8});var HA="4.5.3";var axe,mwt=(axe=globalThis.loaders)==null?void 0:axe.parseImageNode,S7=typeof Image<"u",A7=typeof ImageBitmap<"u",gwt=Boolean(mwt),k7=cr?!0:gwt;function ixe(e){switch(e){case"auto":return A7||S7||k7;case"imagebitmap":return A7;case"image":return S7;case"data":return k7;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function oxe(){if(A7)return"imagebitmap";if(S7)return"image";if(k7)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function sxe(e){let t=bwt(e);if(!t)throw new Error("Not an image");return t}function D7(e){return og(e)}function og(e){switch(sxe(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function bwt(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var vwt=/^data:image\/svg\+xml/,xwt=/\.svg((\?|#).*)?$/;function WA(e){return e&&(vwt.test(e)||xwt.test(e))}function cxe(e,t){if(WA(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(i){throw new Error(i.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return O7(e,t)}function O7(e,t){if(WA(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function KA(e,t,r){let n=cxe(e,r),a=self.URL||self.webkitURL,i=typeof n!="string"&&a.createObjectURL(n);try{return await ywt(i||n,t)}finally{i&&a.revokeObjectURL(i)}}async function ywt(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((n,a)=>{try{r.onload=()=>n(r),r.onerror=i=>{let o=i instanceof Error?i.message:"error";a(new Error(o))}}catch(i){a(i)}})}var uxe=!0;async function lxe(e,t,r){let n;WA(r)?n=await KA(e,t,r):n=O7(e,r);let a=t&&t.imagebitmap;return await _wt(n,a)}async function _wt(e,t=null){if((wwt(t)||!uxe)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),uxe=!1}return await createImageBitmap(e)}function wwt(e){if(!e)return!0;for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function fxe(e){return!Awt(e,"ftyp",4)||!(e[8]&96)?null:Twt(e)}function Twt(e){switch(Ewt(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Ewt(e,t,r){return String.fromCharCode(...e.slice(t,r))}function Swt(e){return[...e].map(t=>t.charCodeAt(0))}function Awt(e,t,r=0){let n=Swt(t);for(let a=0;a<n.length;++a)if(n[a]!==e[a+r])return!1;return!0}var Bc=!1,O1=!0;function Dd(e){let t=F1(e);return Dwt(t)||Pwt(t)||Owt(t)||Fwt(t)||kwt(t)}function kwt(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=fxe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function Dwt(e){let t=F1(e);return t.byteLength>=24&&t.getUint32(0,Bc)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Bc),height:t.getUint32(20,Bc)}:null}function Owt(e){let t=F1(e);return t.byteLength>=10&&t.getUint32(0,Bc)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,O1),height:t.getUint16(8,O1)}:null}function Fwt(e){let t=F1(e);return t.byteLength>=14&&t.getUint16(0,Bc)===16973&&t.getUint32(2,O1)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,O1),height:t.getUint32(22,O1)}:null}function Pwt(e){let t=F1(e);if(!(t.byteLength>=3&&t.getUint16(0,Bc)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:a}=Cwt(),i=2;for(;i+9<t.byteLength;){let o=t.getUint16(i,Bc);if(a.has(o))return{mimeType:"image/jpeg",height:t.getUint16(i+5,Bc),width:t.getUint16(i+7,Bc)};if(!n.has(o))return null;i+=2,i+=t.getUint16(i,Bc)}return null}function Cwt(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function F1(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function pxe(e,t){var a;let{mimeType:r}=Dd(e)||{},n=(a=globalThis.loaders)==null?void 0:a.parseImageNode;return yt(n),await n(e,r)}async function dxe(e,t,r){t=t||{};let a=(t.image||{}).type||"auto",{url:i}=r||{},o=Iwt(a),s;switch(o){case"imagebitmap":s=await lxe(e,t,i);break;case"image":s=await KA(e,t,i);break;case"data":s=await pxe(e,t);break;default:yt(!1)}return a==="data"&&(s=og(s)),s}function Iwt(e){switch(e){case"auto":case"data":return oxe();default:return ixe(e),e}}var jwt=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],Rwt=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Lwt={image:{type:"auto",decode:!0}},sg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:HA,mimeTypes:Rwt,extensions:jwt,parse:dxe,tests:[e=>Boolean(Dd(new DataView(e)))],options:Lwt};var gxe,hxe=(gxe=globalThis.loaders)==null?void 0:gxe.encodeImageNode;async function bxe(e,t){return t=t||{},t.image=t.image||{},hxe?hxe(e,{type:t.image.mimeType}):Bwt(e,t)}var mxe=!0;async function Bwt(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:a,height:i}=D7(e),o=document.createElement("canvas");o.width=a,o.height=i,Mwt(e,o);let s=await new Promise(c=>{if(n&&mxe)try{o.toBlob(c,r,n);return}catch{mxe=!1}o.toBlob(c,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function Mwt(e,t,r=0,n=0){if(r===0&&n===0&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let i=t.getContext("bitmaprenderer");if(i)return i.transferFromImageBitmap(e),t}let a=t.getContext("2d");if(e.data){let i=new Uint8ClampedArray(e.data),o=new ImageData(i,e.width,e.height);return a.putImageData(o,0,0),t}return a.drawImage(e,0,0),t}var F7={name:"Images",id:"image",module:"images",version:HA,extensions:["jpeg"],mimeTypes:[],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:bxe};var qwt=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/tiff","image/svg","image/svg+xml","image/bmp","image/vnd.microsoft.icon"],XA=null;async function C7(){return XA?await XA:(XA=Nwt(),await XA)}async function Nwt(){let e=new Set;for(let t of qwt)(cr?await Gwt(t):vxe(t))&&e.add(t);return e}var P7={};function I7(e){if(P7[e]===void 0){let t=cr?zwt(e):vxe(e);P7[e]=t}return P7[e]}function vxe(e){var a,i;let t=["image/png","image/jpeg","image/gif"],r=((a=globalThis.loaders)==null?void 0:a.imageFormatsNode)||t,n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return Boolean(n)&&r.includes(e)}function zwt(e){switch(e){case"image/avif":case"image/webp":return Vwt(e);default:return!0}}var Uwt={"image/avif":"data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=","image/webp":"data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"};async function Gwt(e){let t=Uwt[e];return t?await $wt(t):!0}function Vwt(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}async function $wt(e){return new Promise(t=>{let r=new Image;r.src=e,r.onload=()=>t(r.height>0),r.onerror=()=>t(!1)})}function xn(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var YA={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},QA={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var Hwt=1.33,xxe=["SCALAR","VEC2","VEC3","VEC4"],Wwt=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Kwt=new Map(Wwt),Xwt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ywt={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Qwt={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function JA(e){return xxe[e-1]||xxe[0]}function Bf(e){let t=Kwt.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function Od(e,t){let r=Qwt[e.componentType],n=Xwt[e.type],a=Ywt[e.componentType],i=e.count*n,o=e.count*n*a;xn(o>=0&&o<=t.byteLength);let s=QA[e.componentType],c=YA[e.type];return{ArrayType:r,length:i,byteLength:o,componentByteSize:s,numberOfComponentsInElement:c}}function P1(e){let{images:t,bufferViews:r}=e;t=t||[],r=r||[];let n=t.map(o=>o.bufferView);r=r.filter(o=>!n.includes(o));let a=r.reduce((o,s)=>o+s.byteLength,0),i=t.reduce((o,s)=>{let{width:c,height:u}=s.image;return o+c*u},0);return a+Math.ceil(4*i*Hwt)}function yxe(e,t,r){let n=e.bufferViews[r];xn(n);let a=n.buffer,i=t[a];xn(i);let o=(n.byteOffset||0)+i.byteOffset;return new Uint8Array(i.arrayBuffer,o,n.byteLength)}function _xe(e,t,r){var m,g;let n=typeof r=="number"?(m=e.accessors)==null?void 0:m[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let a=(g=e.bufferViews)==null?void 0:g[n.bufferView||0];if(!a)throw new Error(`No gltf buffer view for accessor ${a}`);let{arrayBuffer:i,byteOffset:o}=t[a.buffer],s=(o||0)+(n.byteOffset||0)+(a.byteOffset||0),{ArrayType:c,length:u,componentByteSize:l,numberOfComponentsInElement:f}=Od(n,a),p=l*f,d=a.byteStride||p;if(typeof a.byteStride>"u"||a.byteStride===p)return new c(i,s,u);let h=new c(u);for(let x=0;x<n.count;x++){let y=new c(i,s+x*d,f);h.set(y,x*f)}return h}function Jwt(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Ut=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||Jwt(),buffers:(t==null?void 0:t.buffers)||[],images:(t==null?void 0:t.images)||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}hasExtension(t){let r=this.getUsedExtensions().find(a=>a===t),n=this.getRequiredExtensions().find(a=>a===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(a=>a===t),n=this.json.extensions||{};return r?n[t]:null}getRequiredExtension(t){return this.getRequiredExtensions().find(n=>n===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(t,r){return(t.extensions||{})[r]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,r){if(typeof r=="object")return r;let n=this.json[t]&&this.json[t][r];if(!n)throw new Error(`glTF file error: Could not find ${t}[${r}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);let r=t.buffer,n=this.gltf.buffers[r];xn(n);let a=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,a,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return _xe(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),a=this.getBuffer(r.buffer).data,i=r.byteOffset||0;return new Uint8Array(a,i,r.byteLength)}addApplicationData(t,r){return this.json[t]=r,this}addExtraData(t,r){return this.json.extras=this.json.extras||{},this.json.extras[t]=r,this}addObjectExtension(t,r,n){return t.extensions=t.extensions||{},t.extensions[r]=n,this.registerUsedExtension(r),this}setObjectExtension(t,r,n){let a=t.extensions||{};a[r]=n}removeObjectExtension(t,r){let n=(t==null?void 0:t.extensions)||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let a=this.json.extensionsRemoved;a.includes(r)||a.push(r)}delete n[r]}addExtension(t,r={}){return xn(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return xn(r),this.addExtension(t,r),this.registerRequiredExtension(t),r}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(r=>r===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(r=>r===t)||this.json.extensionsRequired.push(t)}removeExtension(t){var r;if((r=this.json.extensions)!=null&&r[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(t)||n.push(t)}this.json.extensions&&delete this.json.extensions[t],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t)}setDefaultScene(t){this.json.scene=t}addScene(t){let{nodeIndices:r}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:r}),this.json.scenes.length-1}addNode(t){let{meshIndex:r,matrix:n}=t;this.json.nodes=this.json.nodes||[];let a={mesh:r};return n&&(a.matrix=n),this.json.nodes.push(a),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:a,mode:i=4}=t,s={primitives:[{attributes:this._addAttributes(r),mode:i}]};if(n){let c=this._addIndices(n);s.primitives[0].indices=c}return Number.isFinite(a)&&(s.primitives[0].material=a),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){let n={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(t,r){let n=Dd(t),a=r||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(t),mimeType:a};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(t,r=0,n=this.byteLength){let a=t.byteLength;xn(Number.isFinite(a)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let i={buffer:r,byteOffset:n,byteLength:a};return this.byteLength+=Ki(a,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:JA(r.size),componentType:r.componentType,count:r.count,max:r.max,min:r.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,r={size:3}){let n=this.addBufferView(t),a={min:r.min,max:r.max};(!a.min||!a.max)&&(a=this._getAccessorMinMax(t,r.size));let i={size:r.size,componentType:Bf(t),count:Math.round(t.length/r.size),min:a.min,max:a.max};return this.addAccessor(n,Object.assign(i,r))}addTexture(t){let{imageIndex:r}=t,n={source:r};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var i,o;let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),a=0;for(let s of this.sourceBuffers||[])a=sP(s,n,a);(o=(i=this.json)==null?void 0:i.buffers)!=null&&o[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r],this.gltf.buffers=[{arrayBuffer:r,byteOffset:0,byteLength:r.byteLength}]}_removeStringFromArray(t,r){let n=!0;for(;n;){let a=t.indexOf(r);a>-1?t.splice(a,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let a=t[n],i=this._getGltfAttributeName(n),o=this.addBinaryBuffer(a.value,a);r[i]=o}return r}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,r){let n={min:null,max:null};if(t.length<r)return n;n.min=[],n.max=[];let a=t.subarray(0,r);for(let i of a)n.min.push(i),n.max.push(i);for(let i=r;i<t.length;i+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],t[i+o]),n.max[0+o]=Math.max(n.max[0+o],t[i+o]);return n}};function wxe(e){return(e%1+1)%1}var Txe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},Zwt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Exe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function C1(e,t){return Exe[t]*Txe[e]}function cg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let a=e.getTypedArrayForBufferView(t),i=ug(a,"SCALAR",r,n+1);return i instanceof BigInt64Array||i instanceof BigUint64Array?null:i}function ug(e,t,r,n=1){let a=Txe[t],i=Zwt[r],o=Exe[r],s=n*a,c=s*o,u=e.buffer,l=e.byteOffset;return l%o!==0&&(u=new Uint8Array(u).slice(l,l+c).buffer,l=0),new i(ii(u),l,s)}function lg(e,t,r){var u,l,f,p,d;let n=`TEXCOORD_${t.texCoord||0}`,a=r.attributes[n],i=e.getTypedArrayForAccessor(a),o=e.gltf.json,s=t.index,c=(l=(u=o.textures)==null?void 0:u[s])==null?void 0:l.source;if(typeof c<"u"){let h=(p=(f=o.images)==null?void 0:f[c])==null?void 0:p.mimeType,m=(d=e.gltf.images)==null?void 0:d[c];if(m&&typeof m.width<"u"){let g=[];for(let x=0;x<i.length;x+=2){let y=eTt(m,h,i,x,t.channels);g.push(y)}return g}}return[]}function ZA(e,t,r,n,a){if(!(r!=null&&r.length))return;let i=[];for(let l of r){let f=n.findIndex(p=>p===l);f===-1&&(f=n.push(l)-1),i.push(f)}let o=new Uint32Array(i),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,c=e.addBufferView(o,s,0),u=e.addAccessor(c,{size:1,componentType:Bf(o),count:o.length});a.attributes[t]=u}function eTt(e,t,r,n,a=[0]){let i={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=r[n],s=r[n+1],c=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(c=4);let u=tTt(o,s,e,c),l=0;for(let f of a){let p=typeof f=="number"?Object.values(i)[f]:i[f],d=u+p.offset,h=og(e);if(h.data.length<=d)throw new Error(`${h.data.length} <= ${d}`);let m=h.data[d];l|=m<<p.shift}return l}function tTt(e,t,r,n=1){let a=r.width,i=wxe(e)*(a-1),o=Math.round(i),s=r.height,c=wxe(t)*(s-1),u=Math.round(c),l=r.components?r.components:n;return(u*a+o)*l}function e8(e,t,r,n,a){let i=[];for(let o=0;o<t;o++){let s=r[o],c=r[o+1]-r[o];if(c+s>n)break;let u=s/a,l=c/a;i.push(e.slice(u,u+l))}return i}function t8(e,t,r){let n=[];for(let a=0;a<t;a++){let i=a*r;n.push(e.slice(i,i+r))}return n}function r8(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let a=[],i=new TextDecoder("utf8"),o=0;for(let s=0;s<e;s++){let c=n[s+1]-n[s];if(c+o<=t.length){let u=t.subarray(o,c+o),l=i.decode(u);a.push(l),o+=c}}return a}return[]}var fg="EXT_mesh_features",n8=fg;async function rTt(e,t){let r=new Ut(e);aTt(r,t)}function nTt(e,t){let r=new Ut(e);return oTt(r,t),r.createBinaryChunk(),r.gltf}function aTt(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let a of n.primitives)iTt(e,a,t)}function iTt(e,t,r){var i,o,s;if(!((i=r==null?void 0:r.gltf)!=null&&i.loadBuffers))return;let n=(o=t.extensions)==null?void 0:o[fg],a=n==null?void 0:n.featureIds;if(a)for(let c of a){let u;if(typeof c.attribute<"u"){let l=`_FEATURE_ID_${c.attribute}`,f=t.attributes[l];u=e.getTypedArrayForAccessor(f)}else typeof c.texture<"u"&&((s=r==null?void 0:r.gltf)!=null&&s.loadImages)?u=lg(e,c.texture,t):u=[];c.data=u}}function oTt(e,t){let r=e.gltf.json.meshes;if(r)for(let n of r)for(let a of n.primitives)sTt(e,a)}function a8(e,t,r,n){t.extensions||(t.extensions={});let a=t.extensions[fg];a||(a={featureIds:[]},t.extensions[fg]=a);let{featureIds:i}=a,o={featureCount:r.length,propertyTable:n,data:r};i.push(o),e.addObjectExtension(t,fg,a)}function sTt(e,t){var a;let r=(a=t.extensions)==null?void 0:a[fg];if(!r)return;let n=r.featureIds;n.forEach((i,o)=>{if(i.data){let{accessorKey:s,index:c}=cTt(t.attributes),u=new Uint32Array(i.data);n[o]={featureCount:u.length,propertyTable:i.propertyTable,attribute:c},e.gltf.buffers.push({arrayBuffer:u.buffer,byteOffset:u.byteOffset,byteLength:u.byteLength});let l=e.addBufferView(u),f=e.addAccessor(l,{size:1,componentType:Bf(u),count:u.length});t.attributes[s]=f}})}function cTt(e){let t="_FEATURE_ID_",r=Object.keys(e).filter(i=>i.indexOf(t)===0),n=-1;for(let i of r){let o=Number(i.substring(t.length));o>n&&(n=o)}return n++,{accessorKey:`${t}${n}`,index:n}}var s8={};Jn(s8,{createExtStructuralMetadata:()=>o8,decode:()=>uTt,encode:()=>lTt,name:()=>Qu});var pg="EXT_structural_metadata",Qu=pg;async function uTt(e,t){let r=new Ut(e);fTt(r,t)}function lTt(e,t){let r=new Ut(e);return kTt(r,t),r.createBinaryChunk(),r.gltf}function fTt(e,t){var n,a;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(pg);r&&((a=t.gltf)!=null&&a.loadImages&&pTt(e,r),dTt(e,r))}function pTt(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let a of n.meshes)for(let i of a.primitives)mTt(e,r,i,t)}function dTt(e,t){let r=t.schema;if(!r)return;let n=r.classes,a=t.propertyTables;if(n&&a)for(let i in n){let o=hTt(a,i);o&&bTt(e,r,o)}}function hTt(e,t){for(let r of e)if(r.class===t)return r;return null}function mTt(e,t,r,n){var o;if(!t)return;let a=(o=r.extensions)==null?void 0:o[pg],i=a==null?void 0:a.propertyTextures;if(i)for(let s of i){let c=t[s];gTt(e,c,r,n)}}function gTt(e,t,r,n){var i;if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let a=t.class;for(let o in t.properties){let s=`${a}_${o}`,c=(i=t.properties)==null?void 0:i[o];if(!c)continue;c.data||(c.data=[]);let u=c.data,l=lg(e,c,r);l!==null&&(ZA(e,s,l,u,r),c.data=u,n.dataAttributeNames.push(s))}}function bTt(e,t,r){var i,o;let n=(i=t.classes)==null?void 0:i[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let a=r.count;for(let s in n.properties){let c=n.properties[s],u=(o=r.properties)==null?void 0:o[s];if(u){let l=vTt(e,t,c,a,u);u.data=l}}}function vTt(e,t,r,n,a){let i=[],o=a.values,s=e.getTypedArrayForBufferView(o),c=xTt(e,r,a,n),u=yTt(e,a,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{i=_Tt(r,n,s,c);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{i=r8(n,s,c,u);break}case"ENUM":{i=wTt(t,r,n,s,c);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return i}function xTt(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?cg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function yTt(e,t,r){return typeof t.stringOffsets<"u"?cg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function _Tt(e,t,r,n){let a=e.array,i=e.count,o=C1(e.type,e.componentType),s=r.byteLength/o,c;return e.componentType?c=ug(r,e.type,e.componentType,s):c=r,a?n?e8(c,t,n,r.length,o):i?t8(c,t,i):[]:c}function wTt(e,t,r,n,a){var f;let i=t.enumType;if(!i)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=(f=e.enums)==null?void 0:f[i];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${i}`);let s=o.valueType||"UINT16",c=C1(t.type,s),u=n.byteLength/c,l=ug(n,t.type,s,u);if(l||(l=n),t.array){if(a)return TTt({valuesData:l,numberOfElements:r,arrayOffsets:a,valuesDataBytesLength:n.length,elementSize:c,enumEntry:o});let p=t.count;return p?ETt(l,r,p,o):[]}return R7(l,0,r,o)}function TTt(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:a,elementSize:i,enumEntry:o}=e,s=[];for(let c=0;c<r;c++){let u=n[c],l=n[c+1]-n[c];if(l+u>a)break;let f=u/i,p=l/i,d=R7(t,f,p,o);s.push(d)}return s}function ETt(e,t,r,n){let a=[];for(let i=0;i<t;i++){let o=r*i,s=R7(e,o,r,n);a.push(s)}return a}function R7(e,t,r,n){let a=[];for(let i=0;i<r;i++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)a.push("");else{let o=e[t+i],s=STt(n,o);s?a.push(s.name):a.push("")}return a}function STt(e,t){for(let r of e.values)if(r.value===t)return r;return null}var ATt="schemaClassId";function kTt(e,t){var n,a;let r=e.getExtension(pg);if(r&&r.propertyTables)for(let i of r.propertyTables){let o=i.class,s=(a=(n=r.schema)==null?void 0:n.classes)==null?void 0:a[o];i.properties&&s&&DTt(i,s,e)}}function DTt(e,t,r){for(let n in e.properties){let a=e.properties[n].data;if(a){let i=t.properties[n];if(i){let o=PTt(a,i,r);e.properties[n]=o}}}}function o8(e,t,r=ATt){let n=e.getExtension(pg);n||(n=e.addExtension(pg)),n.schema=OTt(t,r,n.schema);let a=FTt(t,r,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(a)-1}function OTt(e,t,r){let n=r??{id:"schema_id"},a={properties:{}};for(let i of e){let o={type:i.elementType,componentType:i.componentType};a.properties[i.name]=o}return n.classes={},n.classes[t]=a,n}function FTt(e,t,r){var o;let n={class:t,count:0},a=0,i=(o=r.classes)==null?void 0:o[t];for(let s of e){if(a===0&&(a=s.values.length),a!==s.values.length&&s.values.length)throw new Error("Illegal values in attributes");(i==null?void 0:i.properties[s.name])&&(n.properties||(n.properties={}),n.properties[s.name]={values:0,data:s.values})}return n.count=a,n}function PTt(e,t,r){let n={values:0};if(t.type==="STRING"){let{stringData:a,stringOffsets:i}=jTt(e);n.stringOffsets=j7(i,r),n.values=j7(a,r)}else if(t.type==="SCALAR"&&t.componentType){let a=ITt(e,t.componentType);n.values=j7(a,r)}return n}var CTt={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function ITt(e,t){let r=[];for(let a of e)r.push(Number(a));let n=CTt[t];if(!n)throw new Error("Illegal component type");return new n(r)}function jTt(e){let t=new TextEncoder,r=[],n=0;for(let c of e){let u=t.encode(c);n+=u.length,r.push(u)}let a=new Uint8Array(n),i=[],o=0;for(let c of r)a.set(c,o),i.push(o),o+=c.length;i.push(o);let s=new Uint32Array(i);return{stringData:a,stringOffsets:s}}function j7(e,t){return t.gltf.buffers.push({arrayBuffer:ii(e.buffer),byteOffset:e.byteOffset,byteLength:e.byteLength}),t.addBufferView(e)}var L7={};Jn(L7,{decode:()=>RTt,name:()=>Ro});var Sxe="EXT_feature_metadata",Ro=Sxe;async function RTt(e,t){let r=new Ut(e);LTt(r,t)}function LTt(e,t){var n,a;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(Sxe);r&&((a=t.gltf)!=null&&a.loadImages&&BTt(e,r),MTt(e,r))}function BTt(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:a}=t;if(n&&a)for(let i in n){let o=n[i],s=NTt(a,i);s&&UTt(e,s,o)}}function MTt(e,t){let r=t.schema;if(!r)return;let n=r.classes,a=t.featureTables;if(n&&a)for(let i in n){let o=qTt(a,i);o&&zTt(e,r,o)}}function qTt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function NTt(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function zTt(e,t,r){var i,o;if(!r.class)return;let n=(i=t.classes)==null?void 0:i[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let a=r.count;for(let s in n.properties){let c=n.properties[s],u=(o=r.properties)==null?void 0:o[s];if(u){let l=GTt(e,t,c,a,u);u.data=l}}}function UTt(e,t,r){var a;let n=t.class;for(let i in r.properties){let o=(a=t==null?void 0:t.properties)==null?void 0:a[i];if(o){let s=KTt(e,o,n);o.data=s}}}function GTt(e,t,r,n,a){let i=[],o=a.bufferView,s=e.getTypedArrayForBufferView(o),c=VTt(e,r,a,n),u=$Tt(e,r,a,n);return r.type==="STRING"||r.componentType==="STRING"?i=r8(n,s,c,u):HTt(r)&&(i=WTt(r,n,s,c)),i}function VTt(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?cg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function $Tt(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?cg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function HTt(e){let t=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return t.includes(e.type)||typeof e.componentType<"u"&&t.includes(e.componentType)}function WTt(e,t,r,n){let a=e.type==="ARRAY",i=e.componentCount,o="SCALAR",s=e.componentType||e.type,c=C1(o,s),u=r.byteLength/c,l=ug(r,o,s,u);return a?n?e8(l,t,n,r.length,c):i?t8(l,t,i):[]:l}function KTt(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let a=[];for(let i of n.meshes)for(let o of i.primitives)XTt(e,r,t,a,o);return a}function XTt(e,t,r,n,a){let i={channels:r.channels,...r.texture},o=lg(e,i,a);o&&ZA(e,t,o,n,a)}var c8="4.5.3";var dg="4.5.3";var Mc={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Axe;async function M7(e){l0(e.modules);let t=XF("basis");return t||(Axe||(Axe=YTt(e)),await Axe)}async function YTt(e){let t=null,r=null;return[t,r]=await Promise.all([await yo(Mc.TRANSCODER,"textures",e),await yo(Mc.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await QTt(t,r)}function QTt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(a=>{let{BasisFile:i,initializeBasis:o}=a;o(),n({BasisFile:i})})})}var B7;async function q7(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(B7=B7||JTt(e),await B7)}async function JTt(e){let t=null,r=null;return[t,r]=await Promise.all([await yo(Mc.ENCODER,"textures",e),await yo(Mc.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await ZTt(t,r)}function ZTt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(a=>{let{BasisFile:i,KTX2File:o,initializeBasis:s,BasisEncoder:c}=a;s(),n({BasisFile:i,KTX2File:o,BasisEncoder:c})})})}var e6t=["","WEBKIT_","MOZ_"],kxe={WEBGL_compressed_texture_s3tc:["bc1-rgb-unorm-webgl","bc1-rgba-unorm","bc2-rgba-unorm","bc3-rgba-unorm"],WEBGL_compressed_texture_s3tc_srgb:["bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm-srgb","bc2-rgba-unorm-srgb","bc3-rgba-unorm-srgb"],EXT_texture_compression_rgtc:["bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm"],EXT_texture_compression_bptc:["bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb"],WEBGL_compressed_texture_etc1:["etc1-rgb-unorm-webgl"],WEBGL_compressed_texture_etc:["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"],WEBGL_compressed_texture_pvrtc:["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"],WEBGL_compressed_texture_atc:["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"],WEBGL_compressed_texture_astc:["astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"]};var u8=null;function Dxe(e){if(!u8){e=e||t6t()||void 0,u8=new Set;for(let t of e6t)for(let r in kxe)if(e&&e.getExtension(`${t}${r}`))for(let n of kxe[r])u8.add(n)}return u8}function t6t(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var N7=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}},Fd=class{constructor(t,r,n,a){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,n),this._littleEndian=a,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian),r=this._dataView.getUint32(this._offset+4,this._littleEndian),n=t+2**32*r;return this._offset+=8,n}_nextInt32(){let t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint8Array(t){let r=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,t);return this._offset+=t,r}_skip(t){return this._offset+=t,this}_scan(t,r=0){let n=this._offset,a=0;for(;this._dataView.getUint8(this._offset)!==r&&a<t;)a++,this._offset++;return a<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,a)}};var bcr=new Uint8Array([0]),ui=[171,75,84,88,32,50,48,187,13,10,26,10];function Oxe(e){return new TextDecoder().decode(e)}function Fxe(e){let t=new Uint8Array(e.buffer,e.byteOffset,ui.length);if(t[0]!==ui[0]||t[1]!==ui[1]||t[2]!==ui[2]||t[3]!==ui[3]||t[4]!==ui[4]||t[5]!==ui[5]||t[6]!==ui[6]||t[7]!==ui[7]||t[8]!==ui[8]||t[9]!==ui[9]||t[10]!==ui[10]||t[11]!==ui[11])throw new Error("Missing KTX 2.0 identifier.");let r=new N7,n=17*Uint32Array.BYTES_PER_ELEMENT,a=new Fd(e,ui.length,n,!0);r.vkFormat=a._nextUint32(),r.typeSize=a._nextUint32(),r.pixelWidth=a._nextUint32(),r.pixelHeight=a._nextUint32(),r.pixelDepth=a._nextUint32(),r.layerCount=a._nextUint32(),r.faceCount=a._nextUint32();let i=a._nextUint32();r.supercompressionScheme=a._nextUint32();let o=a._nextUint32(),s=a._nextUint32(),c=a._nextUint32(),u=a._nextUint32(),l=a._nextUint64(),f=a._nextUint64(),p=i*3*8,d=new Fd(e,ui.length+n,p,!0);for(let fe=0;fe<i;fe++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+d._nextUint64(),d._nextUint64()),uncompressedByteLength:d._nextUint64()});let h=new Fd(e,o,s,!0),m={vendorId:h._skip(4)._nextUint16(),descriptorType:h._nextUint16(),versionNumber:h._nextUint16(),descriptorBlockSize:h._nextUint16(),colorModel:h._nextUint8(),colorPrimaries:h._nextUint8(),transferFunction:h._nextUint8(),flags:h._nextUint8(),texelBlockDimension:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],bytesPlane:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],samples:[]},g=6,x=4,y=(m.descriptorBlockSize/4-g)/x;for(let fe=0;fe<y;fe++){let me={bitOffset:h._nextUint16(),bitLength:h._nextUint8(),channelType:h._nextUint8(),samplePosition:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};me.channelType&64?(me.sampleLower=h._nextInt32(),me.sampleUpper=h._nextInt32()):(me.sampleLower=h._nextUint32(),me.sampleUpper=h._nextUint32()),m.samples[fe]=me}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(m);let _=new Fd(e,c,u,!0);for(;_._offset<u;){let fe=_._nextUint32(),me=_._scan(fe),ye=Oxe(me);if(r.keyValue[ye]=_._nextUint8Array(fe-me.byteLength-1),ye.match(/^ktx/i)){let N=Oxe(r.keyValue[ye]);r.keyValue[ye]=N.substring(0,N.lastIndexOf("\0"))}let Y=fe%4?4-fe%4:0;_._skip(Y)}if(f<=0)return r;let S=new Fd(e,l,f,!0),T=S._nextUint16(),O=S._nextUint16(),I=S._nextUint32(),B=S._nextUint32(),D=S._nextUint32(),A=S._nextUint32(),P=[];for(let fe=0;fe<i;fe++)P.push({imageFlags:S._nextUint32(),rgbSliceByteOffset:S._nextUint32(),rgbSliceByteLength:S._nextUint32(),alphaSliceByteOffset:S._nextUint32(),alphaSliceByteLength:S._nextUint32()});let R=l+S._offset,U=R+I,G=U+B,W=G+D,Q=new Uint8Array(e.buffer,e.byteOffset+R,I),ce=new Uint8Array(e.buffer,e.byteOffset+U,B),ie=new Uint8Array(e.buffer,e.byteOffset+G,D),le=new Uint8Array(e.buffer,e.byteOffset+W,A);return r.globalData={endpointCount:T,selectorCount:O,imageDescs:P,endpointsData:Q,selectorsData:ce,tablesData:ie,extendedData:le},r}var Yxe={[34836]:"rgba32float",[33776]:"bc1-rgb-unorm-webgl",[35916]:"bc1-rgb-unorm-srgb-webgl",[33777]:"bc1-rgba-unorm",[35917]:"bc1-rgba-unorm-srgb",[33778]:"bc2-rgba-unorm",[35918]:"bc2-rgba-unorm-srgb",[33779]:"bc3-rgba-unorm",[35919]:"bc3-rgba-unorm-srgb",[36283]:"bc4-r-unorm",[36284]:"bc4-r-snorm",[36285]:"bc5-rg-unorm",[36286]:"bc5-rg-snorm",[37492]:"etc2-rgb8unorm",[37494]:"etc2-rgb8unorm-srgb",[37496]:"etc2-rgb8a1unorm",[37497]:"etc2-rgb8a1unorm-srgb",[37493]:"etc2-rgba8unorm",[37495]:"etc2-rgba8unorm-srgb",[37488]:"eac-r11unorm",[37489]:"eac-r11snorm",[37490]:"eac-rg11unorm",[37491]:"eac-rg11snorm",[37808]:"astc-4x4-unorm",[37840]:"astc-4x4-unorm-srgb",[37809]:"astc-5x4-unorm",[37841]:"astc-5x4-unorm-srgb",[37810]:"astc-5x5-unorm",[37842]:"astc-5x5-unorm-srgb",[37811]:"astc-6x5-unorm",[37843]:"astc-6x5-unorm-srgb",[37812]:"astc-6x6-unorm",[37844]:"astc-6x6-unorm-srgb",[37813]:"astc-8x5-unorm",[37845]:"astc-8x5-unorm-srgb",[37814]:"astc-8x6-unorm",[37846]:"astc-8x6-unorm-srgb",[37815]:"astc-8x8-unorm",[37847]:"astc-8x8-unorm-srgb",[37816]:"astc-10x5-unorm",[37848]:"astc-10x5-unorm-srgb",[37817]:"astc-10x6-unorm",[37849]:"astc-10x6-unorm-srgb",[37818]:"astc-10x8-unorm",[37850]:"astc-10x8-unorm-srgb",[37819]:"astc-10x10-unorm",[37851]:"astc-10x10-unorm-srgb",[37820]:"astc-12x10-unorm",[37852]:"astc-12x10-unorm-srgb",[37821]:"astc-12x12-unorm",[37853]:"astc-12x12-unorm-srgb",[35840]:"pvrtc-rgb4unorm-webgl",[35842]:"pvrtc-rgba4unorm-webgl",[35841]:"pvrtc-rgb2unorm-webgl",[35843]:"pvrtc-rgba2unorm-webgl",[36196]:"etc1-rgb-unorm-webgl",[35986]:"atc-rgb-unorm-webgl",[35987]:"atc-rgba-unorm-webgl",[34798]:"atc-rgbai-unorm-webgl"},M6t=Object.fromEntries(Object.entries(Yxe).map(([e,t])=>[t,Number(e)]));function l8(e){if(e!==void 0)return Yxe[e]}function Qxe(e){if(e!==void 0)return M6t[e]}function hg(e,t){let r=new Array(t.mipMapLevels),n=t.textureFormat||l8(t.internalFormat),a=t.internalFormat||Qxe(t.textureFormat),i=t.width,o=t.height,s=0;for(let c=0;c<t.mipMapLevels;++c){let u=N6t(t,i,o,e,c),f={shape:"texture-level",compressed:!0,data:q6t(e,c,s,u),width:i,height:o,levelSize:u};a!==void 0&&(f.format=a),n&&(f.textureFormat=n),r[c]=f,i=Math.max(1,i>>1),o=Math.max(1,o>>1),s+=u}return r}function q6t(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function N6t(e,t,r,n,a){return Array.isArray(n)?e.sizeFunction(n[a]):e.sizeFunction(t,r)}var z6t={131:33776,132:35916,133:33777,134:35917,135:33778,136:35918,137:33779,138:35919,139:36283,140:36284,141:36285,142:36286,147:37492,148:37494,149:37496,150:37497,151:37493,152:37495,153:37488,154:37489,155:37490,156:37491,157:37808,158:37840,159:37809,160:37841,161:37810,162:37842,163:37811,164:37843,165:37812,166:37844,167:37813,168:37845,169:37814,170:37846,171:37815,172:37847,173:37816,174:37848,175:37817,176:37849,177:37818,178:37850,179:37819,180:37851,181:37820,182:37852,183:37821,184:37853,1000054e3:35843,1000054001:35842,1000066e3:37808,1000066001:37809,1000066002:37810,1000066003:37811,1000066004:37812,1000066005:37813,1000066006:37814,1000066007:37815,1000066008:37816,1000066009:37817,1000066010:37818,1000066011:37819,1000066012:37820,1000066013:37821};function U6t(e){return z6t[e]}function Jxe(e){return l8(U6t(e))}var Ji=[171,75,84,88,32,50,48,187,13,10,26,10];function f8(e){let t=new Uint8Array(e);return!(t.byteLength<Ji.length||t[0]!==Ji[0]||t[1]!==Ji[1]||t[2]!==Ji[2]||t[3]!==Ji[3]||t[4]!==Ji[4]||t[5]!==Ji[5]||t[6]!==Ji[6]||t[7]!==Ji[7]||t[8]!==Ji[8]||t[9]!==Ji[9]||t[10]!==Ji[10]||t[11]!==Ji[11])}function Zxe(e){let t=new Uint8Array(e),r=Fxe(t),n=Math.max(1,r.levels.length),a=r.pixelWidth,i=r.pixelHeight,o=Jxe(r.vkFormat);return o===void 0&&Cv.warn(`KTX2 container vkFormat ${r.vkFormat} does not map to a known texture format; returning texture levels without format metadata.`)(),hg(r.levels,{mipMapLevels:n,width:a,height:i,sizeFunction:s=>s.uncompressedByteLength,textureFormat:o})}var e1e=Promise.resolve(),r1e={etc1:{basisFormat:0,compressed:!0,format:36196,textureFormat:"etc1-rgb-unorm-webgl"},etc2:{basisFormat:1,compressed:!0,format:37493,textureFormat:"etc2-rgba8unorm"},bc1:{basisFormat:2,compressed:!0,format:33776,textureFormat:"bc1-rgb-unorm-webgl"},bc3:{basisFormat:3,compressed:!0,format:33779,textureFormat:"bc3-rgba-unorm"},bc4:{basisFormat:4,compressed:!0,format:36283,textureFormat:"bc4-r-unorm"},bc5:{basisFormat:5,compressed:!0,format:36285,textureFormat:"bc5-rg-unorm"},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0,format:36492,textureFormat:"bc7-rgba-unorm"},"bc7-m5":{basisFormat:7,compressed:!0,format:36492,textureFormat:"bc7-rgba-unorm"},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:35840,textureFormat:"pvrtc-rgb4unorm-webgl"},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:35842,textureFormat:"pvrtc-rgba4unorm-webgl"},"astc-4x4":{basisFormat:10,compressed:!0,format:37808,textureFormat:"astc-4x4-unorm"},"atc-rgb":{basisFormat:11,compressed:!0,format:35986,textureFormat:"atc-rgb-unorm-webgl"},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0,format:34798,textureFormat:"atc-rgbai-unorm-webgl"},rgba32:{basisFormat:13,compressed:!1,format:32856,textureFormat:"rgba8unorm"},rgb565:{basisFormat:14,compressed:!1,format:36194,textureFormat:"rgb565unorm-webgl"},bgr565:{basisFormat:15,compressed:!1,format:36194,textureFormat:"rgb565unorm-webgl"},rgba4444:{basisFormat:16,compressed:!1,format:32854,textureFormat:"rgba4unorm-webgl"}},Mcr=Object.freeze(Object.keys(r1e));async function $6t(e){let t=e1e,r;e1e=new Promise(n=>{r=n}),await t;try{return await e()}finally{r()}}async function p8(e,t={}){let r=Nv(t);return await $6t(async()=>{var n;if(!((n=t.basis)!=null&&n.containerFormat)||t.basis.containerFormat==="auto"){if(f8(e)){let i=await q7(r);return t1e(i.KTX2File,e,t)}let{BasisFile:a}=await M7(r);return U7(a,e,t)}switch(t.basis.module){case"encoder":let a=await q7(r);switch(t.basis.containerFormat){case"ktx2":return t1e(a.KTX2File,e,t);case"basis":default:return U7(a.BasisFile,e,t)}case"transcoder":default:let{BasisFile:i}=await M7(r);return U7(i,e,t)}})}function U7(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let a=n.getNumImages(),i=[];for(let o=0;o<a;o++){let s=n.getNumLevels(o),c=[];for(let u=0;u<s;u++)c.push(H6t(n,o,u,r));i.push(c)}return i}finally{n.close(),n.delete()}}function H6t(e,t,r,n){let a=e.getImageWidth(t,r),i=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:c,basisFormat:u,textureFormat:l}=n1e(n,o),f=e.getImageTranscodedSizeInBytes(t,r,u),p=new Uint8Array(f);if(!e.transcodeImage(p,t,r,u,0,0))throw new Error("failed to start Basis transcoding");return{shape:"texture-level",width:a,height:i,data:p,compressed:s,...c!==void 0?{format:c}:{},...l!==void 0?{textureFormat:l}:{},hasAlpha:o}}function t1e(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let a=n.getLevels(),i=[];for(let o=0;o<a;o++)i.push(W6t(n,o,r));return[i]}finally{n.close(),n.delete()}}function W6t(e,t,r){let{alphaFlag:n,height:a,width:i}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:c,textureFormat:u}=n1e(r,n),l=e.getImageTranscodedSizeInBytes(t,0,0,c),f=new Uint8Array(l);if(!e.transcodeImage(f,t,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{shape:"texture-level",width:i,height:a,data:f,compressed:o,...s!==void 0?{format:s}:{},...u!==void 0?{textureFormat:u}:{},levelSize:l,hasAlpha:n}}function n1e(e,t){var i,o;let r=((i=e.basis)==null?void 0:i.format)||"auto";r==="auto"&&(r=(o=e.basis)!=null&&o.supportedTextureFormats?I1(e.basis.supportedTextureFormats):I1()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha);let n=r.toLowerCase(),a=r1e[n];if(!a)throw new Error(`Unknown Basis format ${r}`);return a}function I1(e=Dxe()){let t=new Set(e);return mg(t,["astc-4x4-unorm","astc-4x4-unorm-srgb"])?"astc-4x4":mg(t,["bc7-rgba-unorm","bc7-rgba-unorm-srgb"])?{alpha:"bc7-m5",noAlpha:"bc7-m6-opaque-only"}:mg(t,["bc1-rgb-unorm-webgl","bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb"])?{alpha:"bc3",noAlpha:"bc1"}:mg(t,["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"])?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:mg(t,["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"])?"etc2":t.has("etc1-rgb-unorm-webgl")?"etc1":mg(t,["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"])?{alpha:"atc-rgba-interpolated-alpha",noAlpha:"atc-rgb"}:"rgb565"}function mg(e,t){return t.some(r=>e.has(r))}var a1e={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:dg,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",containerFormat:"auto",module:"transcoder"}}},Pd={...a1e,parse:p8};var Zi={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},K6t={DXT1:"bc1-rgb-unorm-webgl",DXT3:"bc2-rgba-unorm",DXT5:"bc3-rgba-unorm","ATC ":"atc-rgb-unorm-webgl",ATCA:"atc-rgba-unorm-webgl",ATCI:"atc-rgbai-unorm-webgl"},X6t=s1e,Y6t=d8,Q6t=d8,J6t={DXT1:s1e,DXT3:d8,DXT5:d8,"ATC ":X6t,ATCA:Y6t,ATCI:Q6t};function i1e(e){return new Uint32Array(e,0,Zi.HEADER_LENGTH)[Zi.MAGIC_NUMBER_INDEX]===Zi.MAGIC_NUMBER}function o1e(e){let t=new Int32Array(e,0,Zi.HEADER_LENGTH),r=t[Zi.HEADER_PF_FOURCC_INDEX];yt(Boolean(t[Zi.HEADER_PF_FLAGS_INDEX]&Zi.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=Z6t(r),a=K6t[n],i=J6t[n];yt(a&&i,`DDS: Unknown pixel format ${r}`);let o=1;t[Zi.HEADER_FLAGS_INDEX]&Zi.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[Zi.MIPMAPCOUNT_INDEX]));let s=t[Zi.HEADER_WIDTH_INDEX],c=t[Zi.HEADER_HEIGHT_INDEX],u=t[Zi.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,u);return hg(l,{mipMapLevels:o,width:s,height:c,sizeFunction:i,textureFormat:a})}function s1e(e,t){return(e+3>>2)*(t+3>>2)*8}function d8(e,t){return(e+3>>2)*(t+3>>2)*16}function Z6t(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Lo={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},eEt={0:["pvrtc-rgb2unorm-webgl"],1:["pvrtc-rgba2unorm-webgl"],2:["pvrtc-rgb4unorm-webgl"],3:["pvrtc-rgba4unorm-webgl"],6:["etc1-rgb-unorm-webgl"],7:["bc1-rgb-unorm-webgl"],9:["bc2-rgba-unorm"],11:["bc3-rgba-unorm"],22:["etc2-rgb8unorm"],23:["etc2-rgba8unorm"],24:["etc2-rgb8a1unorm"],25:["eac-r11unorm"],26:["eac-rg11unorm"],27:["astc-4x4-unorm","astc-4x4-unorm-srgb"],28:["astc-5x4-unorm","astc-5x4-unorm-srgb"],29:["astc-5x5-unorm","astc-5x5-unorm-srgb"],30:["astc-6x5-unorm","astc-6x5-unorm-srgb"],31:["astc-6x6-unorm","astc-6x6-unorm-srgb"],32:["astc-8x5-unorm","astc-8x5-unorm-srgb"],33:["astc-8x6-unorm","astc-8x6-unorm-srgb"],34:["astc-8x8-unorm","astc-8x8-unorm-srgb"],35:["astc-10x5-unorm","astc-10x5-unorm-srgb"],36:["astc-10x6-unorm","astc-10x6-unorm-srgb"],37:["astc-10x8-unorm","astc-10x8-unorm-srgb"],38:["astc-10x10-unorm","astc-10x10-unorm-srgb"],39:["astc-12x10-unorm","astc-12x10-unorm-srgb"],40:["astc-12x12-unorm","astc-12x12-unorm-srgb"]},tEt={0:c1e,1:c1e,2:u1e,3:u1e,6:j1,7:j1,9:R1,11:R1,22:j1,23:R1,24:j1,25:j1,26:R1,27:R1,28:rEt,29:nEt,30:aEt,31:iEt,32:oEt,33:sEt,34:cEt,35:uEt,36:lEt,37:fEt,38:pEt,39:dEt,40:hEt};function l1e(e){let r=new Uint32Array(e,0,Lo.HEADER_LENGTH)[Lo.MAGIC_NUMBER_INDEX];return r===Lo.MAGIC_NUMBER||r===Lo.MAGIC_NUMBER_EXTRA}function f1e(e){let t=new Uint32Array(e,0,Lo.HEADER_LENGTH),r=t[Lo.PIXEL_FORMAT_INDEX],n=t[Lo.COLOUR_SPACE_INDEX],a=eEt[r]||[],i=a.length>1&&n?a[1]:a[0],o=tEt[r],s=t[Lo.MIPMAPCOUNT_INDEX],c=t[Lo.WIDTH_INDEX],u=t[Lo.HEIGHT_INDEX],l=Lo.HEADER_SIZE+t[Lo.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return hg(f,{mipMapLevels:s,width:c,height:u,sizeFunction:o,textureFormat:i})}function c1e(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function u1e(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function j1(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function R1(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function rEt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function nEt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function aEt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function iEt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function oEt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function sEt(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function cEt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function uEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function lEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function fEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function pEt(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function dEt(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function hEt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function p1e(e){if(f8(e))return Zxe(e);if(i1e(e))return o1e(e);if(l1e(e))return f1e(e);throw new Error("Texture container format not recognized")}var d1e={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:dg,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{useBasis:!1}}},h8={...d1e,parse:async(e,t)=>{var r;return t={...t},(r=t==null?void 0:t["compressed-texture"])!=null&&r.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await p8(e,t))[0]):p1e(e)}};var G7={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:dg,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var gg=!0,h1e=1735152710,H7=12,m8=8,mEt=1313821514,gEt=5130562,bEt=0,vEt=0,xEt=1;function yEt(e,t=0){return`${String.fromCharCode(e.getUint8(t+0))}${String.fromCharCode(e.getUint8(t+1))}${String.fromCharCode(e.getUint8(t+2))}${String.fromCharCode(e.getUint8(t+3))}`}function m1e(e,t=0,r={}){let n=new DataView(e),{magic:a=h1e}=r,i=n.getUint32(t,!1);return i===a||i===h1e}function g1e(e,t,r=0,n={}){let a=new DataView(t),i=yEt(a,r+0),o=a.getUint32(r+4,gg),s=a.getUint32(r+8,gg);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:i,version:o,json:{},binChunks:[]}),r+=H7,e.version){case 1:return _Et(e,a,r);case 2:return wEt(e,a,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function _Et(e,t,r){yt(e.header.byteLength>H7+m8);let n=t.getUint32(r+0,gg),a=t.getUint32(r+4,gg);return r+=m8,yt(a===bEt),V7(e,t,r,n),r+=n,r+=$7(e,t,r,e.header.byteLength),r}function wEt(e,t,r,n){return yt(e.header.byteLength>H7+m8),TEt(e,t,r,n),r+e.header.byteLength}function TEt(e,t,r,n){for(;r+8<=e.header.byteLength;){let a=t.getUint32(r+0,gg),i=t.getUint32(r+4,gg);switch(r+=m8,i){case mEt:V7(e,t,r,a);break;case gEt:$7(e,t,r,a);break;case vEt:n.strict||V7(e,t,r,a);break;case xEt:n.strict||$7(e,t,r,a);break;default:break}r+=Ki(a,4)}return r}function V7(e,t,r,n){let a=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(a);return e.json=JSON.parse(o),Ki(n,4)}function $7(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ki(n,4)}function W7(e,t,r){var i;if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let a=(r==null?void 0:r.baseUrl)||EEt((i=t==null?void 0:t.core)==null?void 0:i.baseUrl);if(!a)throw new Error(`'baseUrl' must be provided to resolve relative url ${e}`);return a.endsWith("/")?`${a}${e}`:`${a}/${e}`}function EEt(e){if(!e)return;if(e.endsWith("/"))return e;let t=e.lastIndexOf("/");return t>=0?e.slice(0,t+1):""}var X7={};Jn(X7,{decode:()=>DEt,name:()=>v1e});var K7=function(){var e="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq1Zkdbk:kYi5ud9:du8Jjjjjbcjq9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCaAcethXaxaDfhiaOaeaoaeao6E9RhQalcl4cifcd4hLazcjdfaAfhKcbhYabaOad2fg8AhEaHh3incbh5dnawTmbaxaYcd4fRbbh5kcbh8Eazcjdfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcjdfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcjdfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaL6mva8FaLfhidnaCTmbaPai9RcK6mbaocdtc:q:G:cjbfcj:G:cjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bwar9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfcbaicdfa8J9c8N1:NfghRbbag9cjjjjjw:dg8J9qE86bbarcVfcbaha8J9c8M1:NfghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fcbaha8J9c8N1:NfgiRbbag9cjjjjjw:dg8J9qE86bbarc96fcbaia8J9c8M1:NfgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbw83bwarai8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasaYcd4fRbbgociGPlbedrbkaATmdazaYfh8Fazcjdfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeazaYfhaazcjdfhhcbhoceh8EaKh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaQaocefgofmbka8FaXfh8FcdhoaacdfhaahaXfhha8EceGhlcbh8EalmbxdkkaATmbaocl4h8EazaYfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaKhainazcjdfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E94aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3aYclfgYad6mbkaza8AaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcjqf8Kjjjjbaok:ysezu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8Aav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbavaiaqaDcsGfRbbgscl4gP9RcsGcdtfydbaxcefgOaPEhDavaias9RcsGcdtfydbaOaPTgzfgOascsGgPEhsaPThPdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiazfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaPfhiaOaPfhxxekaxcbalRbbgsEgHaDc;:eSgDfhOascsGhAdndnascl4gCmbaOcefhzxekaOhzavaiaC9RcsGcdtfydbhOkdndnaAmbazcefhxxekazhxavaias9RcsGcdtfydbhzkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhHascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaHhDxekaDcefhDkasce4cbasceG9R7amfgmhHkdndnaCcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhOaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkaOhsxekascefhskaPce4cbaPceG9R7amfgmhOkdndnaAcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhzaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkazhlxekalcefhlkaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabarcetfgDaH87ebaDclfaz87ebaDcdfaO87ebxekabarcdtfgDaHBdbaDcwfazBdbaDclfaOBdbkavc;abfaocitfgDaOBdbaDaHBdlavaicdtfaHBdbavc;abfaocefcsGcitfgDazBdbaDaOBdlavaicefgicsGcdtfaOBdbavc;abfaocdfcsGcitfgDaHBdbaDazBdlavaiaCTaCcsSVfgicsGcdtfazBdbaiaATaAcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk:4ioiue99dud99dud99dnaeTmbcbhiabhlindndnal8Uebgv:YgoJ:ji:1Salcof8UebgrciVgw:Y:vgDNJbbbZJbbb:;avcu9kEMgq:lJbbb9p9DTmbaq:Ohkxekcjjjj94hkkalclf8Uebhvalcdf8UebhxalarcefciGcetfak87ebdndnax:YgqaDNJbbbZJbbb:;axcu9kEMgm:lJbbb9p9DTmbam:Ohxxekcjjjj94hxkabaiarciGgkfcd7cetfax87ebdndnav:YgmaDNJbbbZJbbb:;avcu9kEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkalarcufciGcetfav87ebdndnawaw2:ZgPaPMaoaoN:taqaqN:tamamN:tgoJbbbbaoJbbbb9GE:raDNJbbbZMgD:lJbbb9p9DTmbaD:Ohrxekcjjjj94hrkalakcetfar87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K:G:cjbgeabcifc98GfgbBd:K:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk83dbcj:Gdk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:K:Gdkl8W:qbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq:59Dklbzik94evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaeai86b:q:W:cjbaecitab8Piw83i:q:G:cjbaecefgecjd9hmbkk:SBlEud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaialfgxar9RhodnadTgmmbavaoad;8qbbkaicefhPcj;abad9Uc;WFbGcjdadca0EhsdndndnadTmbaoadfhzcbhHinaeaH9nmdaxaP9RaD6miabaHad2fgOavcjdfasaeaH9RaHasfae6EgAaAcsfgoc9WGgCSEhXaPaDfhQaocl4cifcd4hLavcj;cbfaCcetfhKavcj;cbfaCci2fhYavcj;cbfaCfh8AcbhEaoc;ab6h3incbh5dnawTmbaPaEcd4fRbbh5kcbh8Eavcj;cbfh8Findndndndna5a8Ecet4ciGgoc9:fPdebdkaxaQ9RaC6mwdnaCTmbavcj;cbfa8EaC2faQaC;8qbbkaQaAfhQxdkaCTmeavcj;cbfa8EaC2fcbaC;8kbxekaxaQ9RaL6moaoclVcbawEhraQaLfhocbhidna3mbaxao9Rc;Gb6mbcbhlina8FalfhidndndndndndnaQalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaiaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaiczfaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaicafaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsaap5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbaiaoclffaqRb:q:W:cjbfhoxikaic8Wfaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsaap5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbaiaocwffaqRb:q:W:cjbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitpbi:q:G:cjbaiRb:q:W:cjbgipsaoRbegqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqRb:q:W:cjbfhokalc;abfhialcjefaC0meaihlaxao9Rc;Fb0mbkkdnaiaC9pmbaici4hlinaxao9RcK6mwa8FaifhqdndndndndndnaQaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spkbbagaoclffa8JRb:q:W:cjbfhoxikaqaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spkbbagaocwffa8JRb:q:W:cjbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpkbbagaocdffa8JRb:q:W:cjbfhokalcdfhlaiczfgiaC6mbkkaohQaoTmoka8FaCfh8Fa8Ecefg8Ecl9hmbkdndndndnawTmbazaEcd4fRbbglciGPlbedwbkaCTmdaXaEfhlavaEfpbdbh8Kcbhoinalavcj;cbfaofpblbg8La8Aaofpblbg8MpmbzeHdOiAlCvXoQrLg8NaKaofpblbgyaYaofpblbg8PpmbzeHdOiAlCvXoQrLgIpmbezHdiOAlvCXorQLgacep9Taapxeeeeeeeeeeeeeeeeghp9op9Hp9rgaa8Kp9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8NaIpmwDKYqk8AExm35Ps8E8Fgacep9Taaahp9op9Hp9rgap9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8La8MpmwKDYq8AkEx3m5P8Es8Fg8Laya8PpmwKDYq8AkEx3m5P8Es8Fg8MpmbezHdiOAlvCXorQLgacep9Taaahp9op9Hp9rgap9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8La8MpmwDKYqk8AExm35Ps8E8Fgacep9Taaahp9op9Hp9rgap9Ughp9Abbbaladfglahaaaapmlvorlvorlvorlvorp9Ughp9AbbbaladfglahaaaapmwDqkwDqkwDqkwDqkp9Ughp9AbbbaladfglahaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9AbbbaladfhlaoczfgoaC6mbxikkaCTmeaXaEfhlavaEfpbdbh8Kcbhoinalavcj;cbfaofpblbg8La8Aaofpblbg8MpmbzeHdOiAlCvXoQrLg8NaKaofpblbgyaYaofpblbg8PpmbzeHdOiAlCvXoQrLgIpmbezHdiOAlvCXorQLgacep:neaapxebebebebebebebebghp9op:bep9rgaa8Kp:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8NaIpmwDKYqk8AExm35Ps8E8Fgacep:neaaahp9op:bep9rgap:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8La8MpmwKDYq8AkEx3m5P8Es8Fg8Laya8PpmwKDYq8AkEx3m5P8Es8Fg8MpmbezHdiOAlvCXorQLgacep:neaaahp9op:bep9rgap:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8La8MpmwDKYqk8AExm35Ps8E8Fgacep:neaaahp9op:bep9rgap:oeghp9Abbbaladfglahaaaapmlvorlvorlvorlvorp:oeghp9AbbbaladfglahaaaapmwDqkwDqkwDqkwDqkp:oeghp9AbbbaladfglahaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9AbbbaladfhlaoczfgoaC6mbxdkkaCTmbaXaEfhrcbhocbalcl4gl9Rc8FGhiavaEfpbdbhhinaravcj;cbfaofpblbg8Ka8Aaofpblbg8LpmbzeHdOiAlCvXoQrLg8MaKaofpblbg8NaYaofpblbgypmbzeHdOiAlCvXoQrLg8PpmbezHdiOAlvCXorQLgaaip:Reaaalp:Tep9qgaahp9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ma8PpmwDKYqk8AExm35Ps8E8Fgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ka8LpmwKDYq8AkEx3m5P8Es8Fg8Ka8NaypmwKDYq8AkEx3m5P8Es8Fg8LpmbezHdiOAlvCXorQLgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ka8LpmwDKYqk8AExm35Ps8E8Fgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9AbbbaradfhraoczfgoaC6mbkkaEclfgEad6mbkdnaXavcjdf9hmbaAad2goTmbaOavcjdfao;8qbbkdnammbavaXaAcufad2fad;8qbbkaAaHfhHc9:hoaQhPaQmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdasaeao9Raoasfae6Eaofgoae6mbkaial9RhPkcbc99axaP9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbkNsezu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbavaiaqaDcsGfRbbgscl4gP9RcsGcdtfydbaxcefgOaPEhDavaias9RcsGcdtfydbaOaPTgzfgOascsGgPEhsaPThPdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiazfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaPfhiaOaPfhxxekaxcbalRbbgsEgHaDc;:eSgDfhOascsGhAdndnascl4gCmbaOcefhzxekaOhzavaiaC9RcsGcdtfydbhOkdndnaAmbazcefhxxekazhxavaias9RcsGcdtfydbhzkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhHascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaHhDxekaDcefhDkasce4cbasceG9R7amfgmhHkdndnaCcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhOaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkaOhsxekascefhskaPce4cbaPceG9R7amfgmhOkdndnaAcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhzaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkazhlxekalcefhlkaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabarcetfgDaH87ebaDclfaz87ebaDcdfaO87ebxekabarcdtfgDaHBdbaDcwfazBdbaDclfaOBdbkavc;abfaocitfgDaOBdbaDaHBdlavaicdtfaHBdbavc;abfaocefcsGcitfgDazBdbaDaOBdlavaicefgicsGcdtfaOBdbavc;abfaocdfcsGcitfgDaHBdbaDazBdlavaiaCTaCcsSVfgicsGcdtfazBdbaiaATaAcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk;Toio97eue97aec98Ghedndnadcl9hmbaeTmecbhdinababpbbbgicKp:RecKp:Sep;6eglaicwp:RecKp:Sep;6ealp;Geaiczp:RecKp:Sep;6egvp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgwp9op9rp;Keglpxbb;:9cbb;:9cbb;:9cbb;:9calalp;Meaoaop;Meavaravawp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFbbbFbbbFbbbFbbbp9oaipxbbbFbbbFbbbFbbbFp9op9qalavp;Mearp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaoavp;Mearp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgDaDpbbbgipxbbbbbbFFbbbbbbFFgwp9oabpbbbgoaipmbediwDqkzHOAKY8AEgvczp:Reczp:Sep;6eglaoaipmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eavczp:Sep;6egvp;Gealp;Gep;Kep;Legipxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgqp9op9rp;Keglpxb;:FSb;:FSb;:FSb;:FSalalp;Meaiaip;Meavaravaqp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbp9oaiavp;Mearp;Keczp:Rep9qgialavp;Mearp;KepxFFbbFFbbFFbbFFbbp9oglpmwDKYqk8AExm35Ps8E8Fp9qpkbbabaoawp9oaialpmbezHdiOAlvCXorQLp9qpkbbabcafhbadclfgdae6mbkkk;2ileue97euo97dnaec98GgiTmbcbheinabcKfpx:ji:1S:ji:1S:ji:1S:ji:1SabpbbbglabczfgvpbbbgopmlvorxmPsCXQL358E8Fgrczp:Segwpxibbbibbbibbbibbbp9qp;6egDp;NegqaDaDp;MegDaDp;KealaopmbediwDqkzHOAKY8AEgDczp:Reczp:Sep;6eglalp;MeaDczp:Sep;6egoaop;Mearczp:Reczp:Sep;6egrarp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gDp;KepxFFbbFFbbFFbbFFbbgkp9oaqaop;MeaDp;Keczp:Rep9qgoaqalp;MeaDp;Keakp9oaqarp;MeaDp;Keczp:Rep9qgDpmwDKYqk8AExm35Ps8E8Fglp5eawclp:RegqpEi:T:j83ibavalp5baqpEd:T:j83ibabcwfaoaDpmbezHdiOAlvCXorQLgDp5eaqpEe:T:j83ibabaDp5baqpEb:T:j83ibabcafhbaeclfgeai6mbkkkuee97dnadcd4ae2c98GgeTmbcbhdinababpbbbgicwp:Recwp:Sep;6eaicep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbabczfhbadclfgdae6mbkkk:Sodw97euaec98Ghedndnadcl9hmbaeTmecbhdinabpxbbuJbbuJbbuJbbuJabpbbbgicKp:TeglaicYp:Tep9qgvcdp:Teavp9qgvclp:Teavp9qgop;6ep;Negvaicwp:RecKp:SegraipxFbbbFbbbFbbbFbbbgwp9ogDp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oavaDarp:Xeaiczp:RecKp:Segip:Uep;6ep;Meaqp;Keawp9op9qavaDaraip:Uep:Xep;6ep;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qavaoalcep:Rep9oalpxebbbebbbebbbebbbp9op9qp;6ep;Meaqp;KecKp:Rep9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgkpxbFu9hbFu9hbFu9hbFu9habpbbbglakpbbbgrpmlvorxmPsCXQL358E8Fgvczp:TegqavcHp:Tep9qgicdp:Teaip9qgiclp:Teaip9qgicwp:Teaip9qgop;6ep;NegialarpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbglp9ograDczp:Segwp:Ueavczp:Reczp:SegDp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gvp;Kealp9oaiarawaDp:Uep:Xep;6ep;Meavp;Keczp:Rep9qgwaiaoaqcep:Rep9oaqpxebbbebbbebbbebbbp9op9qp;6ep;Meavp;Keczp:ReaiaDarp:Uep;6ep;Meavp;Kealp9op9qgipmwDKYqk8AExm35Ps8E8FpkbbabawaipmbezHdiOAlvCXorQLpkbbabcafhbadclfgdae6mbkkk9teiucbcbydj:G:cjbgeabcifc98GfgbBdj:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkxebcj:Gdklz:zbb",r=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),n=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var a=WebAssembly.validate(r)?s(t):s(e),i,o=WebAssembly.instantiate(a,{}).then(function(x){i=x.instance,i.exports.__wasm_call_ctors()});function s(x){for(var y=new Uint8Array(x.length),_=0;_<x.length;++_){var S=x.charCodeAt(_);y[_]=S>96?S-97:S>64?S-39:S+4}for(var T=0,_=0;_<x.length;++_)y[T++]=y[_]<60?n[y[_]]:(y[_]-60)*64+y[++_];return y.buffer.slice(0,T)}function c(x,y,_,S,T,O,I){var B=x.exports.sbrk,D=S+3&-4,A=B(D*T),P=B(O.length),R=new Uint8Array(x.exports.memory.buffer);R.set(O,P);var U=y(A,S,T,P,O.length);if(U==0&&I&&I(A,D,T),_.set(R.subarray(A,A+S*T)),B(A-B(0)),U!=0)throw new Error("Malformed buffer data: "+U)}var u={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp",COLOR:"meshopt_decodeFilterColor"},l={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},f=[],p=0;function d(x){var y={object:new Worker(x),pending:0,requests:{}};return y.object.onmessage=function(_){var S=_.data;y.pending-=S.count,y.requests[S.id][S.action](S.value),delete y.requests[S.id]},y}function h(x){for(var y="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(a)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+g.name+";"+c.toString()+g.toString(),_=new Blob([y],{type:"text/javascript"}),S=URL.createObjectURL(_),T=f.length;T<x;++T)f[T]=d(S);for(var T=x;T<f.length;++T)f[T].object.postMessage({});f.length=x,URL.revokeObjectURL(S)}function m(x,y,_,S,T){for(var O=f[0],I=1;I<f.length;++I)f[I].pending<O.pending&&(O=f[I]);return new Promise(function(B,D){var A=new Uint8Array(_),P=++p;O.pending+=x,O.requests[P]={resolve:B,reject:D},O.object.postMessage({id:P,count:x,size:y,source:A,mode:S,filter:T},[A.buffer])})}function g(x){var y=x.data;self.ready.then(function(_){if(!y.id)return self.close();try{var S=new Uint8Array(y.count*y.size);c(_,_.exports[y.mode],S,y.count,y.size,y.source,_.exports[y.filter]),self.postMessage({id:y.id,count:y.count,action:"resolve",value:S},[S.buffer])}catch(T){self.postMessage({id:y.id,count:y.count,action:"reject",value:T})}})}return{ready:o,supported:!0,useWorkers:function(x){h(x)},decodeVertexBuffer:function(x,y,_,S,T){c(i,i.exports.meshopt_decodeVertexBuffer,x,y,_,S,i.exports[u[T]])},decodeIndexBuffer:function(x,y,_,S){c(i,i.exports.meshopt_decodeIndexBuffer,x,y,_,S)},decodeIndexSequence:function(x,y,_,S){c(i,i.exports.meshopt_decodeIndexSequence,x,y,_,S)},decodeGltfBuffer:function(x,y,_,S,T,O){c(i,i.exports[l[T]],x,y,_,S,i.exports[u[O]])},decodeGltfBufferAsync:function(x,y,_,S,T){return f.length>0?m(x,y,_,l[S],u[T]):o.then(function(){var O=new Uint8Array(x*y);return c(i,i.exports[l[S]],O,x,y,_,i.exports[u[T]]),O})}}}();function SEt(e){return typeof e=="string"?e:["NONE","OCTAHEDRAL","QUATERNION","EXPONENTIAL","COLOR"][e]}async function b1e(e,t,r,n,a,i="NONE"){await K7.ready,K7.decodeGltfBuffer(e,t,r,n,a,SEt(i))}async function g8(e,t,r){var o;if(!((o=t.gltf)!=null&&o.decompressMeshes)||!t.gltf.loadBuffers)return;AEt(e.json);let n=new Ut(e),a=e.json.bufferViews||[],i=a.map(s=>kEt(n,s,r));await Promise.all(i);for(let s of a)n.removeObjectExtension(s,r);for(let s of e.json.buffers||[])n.removeObjectExtension(s,r);n.removeExtension(r)}function AEt(e){let t=e.bufferViews||[];for(let n=0;n<t.length;n++){let a=t[n].extensions;if(a!=null&&a.KHR_meshopt_compression&&a.EXT_meshopt_compression)throw new Error(`glTF bufferView ${n} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`)}let r=e.buffers||[];for(let n=0;n<r.length;n++){let a=r[n].extensions;if(a!=null&&a.KHR_meshopt_compression&&a.EXT_meshopt_compression)throw new Error(`glTF buffer ${n} cannot use both KHR_meshopt_compression and EXT_meshopt_compression.`)}}async function kEt(e,t,r){let n=e.getObjectExtension(t,r);if(!n)return;let{byteOffset:a=0,byteLength:i,byteStride:o,count:s,mode:c,filter:u="NONE",buffer:l}=n,f=e.gltf.buffers[l],p=e.gltf.buffers[t.buffer],d=new Uint8Array(f.arrayBuffer,f.byteOffset+a,i),h=new Uint8Array(p.arrayBuffer,p.byteOffset+(t.byteOffset||0),t.byteLength);await b1e(h,s,o,d,c,u)}var v1e="EXT_meshopt_compression";async function DEt(e,t){await g8(e,t,v1e)}var Y7={};Jn(Y7,{decode:()=>OEt,name:()=>x1e});var x1e="KHR_meshopt_compression";async function OEt(e,t){await g8(e,t,x1e)}var Q7={};Jn(Q7,{name:()=>FEt,preprocess:()=>PEt});var bg="EXT_texture_webp",FEt=bg;function PEt(e,t){let r=new Ut(e);if(!I7("image/webp")){if(r.getRequiredExtensions().includes(bg))throw new Error(`gltf: Required extension ${bg} not supported by browser`);return}let{json:n}=r;for(let a of n.textures||[]){let i=r.getObjectExtension(a,bg);i&&(a.source=i.source),r.removeObjectExtension(a,bg)}r.removeExtension(bg)}var J7={};Jn(J7,{name:()=>CEt,preprocess:()=>IEt});var vg="EXT_texture_avif",CEt=vg;async function IEt(e,t){let r=new Ut(e);if(!(await C7()).has("image/avif")){if(r.getRequiredExtensions().includes(vg))throw new Error(`gltf: Required extension ${vg} not supported by browser`);return}let{json:a}=r;for(let i of a.textures||[]){let o=r.getObjectExtension(i,vg);o&&(i.source=o.source),r.removeObjectExtension(i,vg)}r.removeExtension(vg)}var Z7={};Jn(Z7,{name:()=>jEt,preprocess:()=>REt});var b8="KHR_texture_basisu",jEt=b8;function REt(e,t){let r=new Ut(e),{json:n}=r;for(let a of n.textures||[]){let i=r.getObjectExtension(a,b8);i&&(a.source=i.source,r.removeObjectExtension(a,b8))}r.removeExtension(b8)}var tM={};Jn(tM,{decode:()=>NEt,encode:()=>zEt,name:()=>MEt,preprocess:()=>qEt});function y1e(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let a=eM(n);t[r]=a}}return t}function eM(e){let{buffer:t,size:r,count:n}=LEt(e);return{value:t,size:r,byteOffset:0,count:n,type:JA(r),componentType:Bf(t)}}function LEt(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=BEt(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function BEt(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var Mf="KHR_draco_mesh_compression",MEt=Mf;function qEt(e,t,r){let n=new Ut(e);for(let a of _1e(n))n.getObjectExtension(a,Mf)}async function NEt(e,t,r){var i;if(!((i=t==null?void 0:t.gltf)!=null&&i.decompressMeshes))return;let n=new Ut(e),a=[];for(let o of _1e(n))n.getObjectExtension(o,Mf)&&a.push(UEt(n,o,t,r));await Promise.all(a),n.removeExtension(Mf)}function zEt(e,t={}){let r=new Ut(e);for(let n of r.json.meshes||[])GEt(n,t),r.addRequiredExtension(Mf)}async function UEt(e,t,r,n){let a=e.getObjectExtension(t,Mf);if(!a)return;let i=e.getTypedArrayForBufferView(a.bufferView),o=Rp(i.buffer,i.byteOffset),s={...r};delete s["3d-tiles"];let c=await Vi(o,Ad,s,n),u=y1e(c.attributes);for(let[l,f]of Object.entries(u))if(l in t.attributes){let p=t.attributes[l],d=e.getAccessor(p);d!=null&&d.min&&(d!=null&&d.max)&&(f.min=d.min,f.max=d.max)}t.attributes=u,c.indices&&(t.indices=eM(c.indices)),e.removeObjectExtension(t,Mf),VEt(t)}function GEt(e,t,r=4,n,a){var l;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let i=n.DracoWriter.encodeSync({attributes:e}),o=(l=a==null?void 0:a.parseSync)==null?void 0:l.call(a,{attributes:e}),s=n._addFauxAttributes(o.attributes),c=n.addBufferView(i);return{primitives:[{attributes:s,mode:r,extensions:{[Mf]:{bufferView:c,attributes:s}}}]}}function VEt(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*_1e(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var nM={};Jn(nM,{decode:()=>KEt,name:()=>$Et});var xg="KHR_texture_transform",$Et=xg,v8=new Z,HEt=new nr,WEt=new nr;async function KEt(e,t){var i;let r=new Ut(e);if(!r.hasExtension(xg)||!((i=t.gltf)!=null&&i.loadBuffers))return;let a=e.json.materials||[];for(let o=0;o<a.length;o++)XEt(o,e,r);a.some(o=>rM(o).length>0)||r.removeExtension(xg)}function XEt(e,t,r){var s,c;let n=(s=t.json.materials)==null?void 0:s[e],a=rM(n),i=new Map,o=YEt(t);for(let u of a){let l=(c=u.extensions)==null?void 0:c[xg];if(l){let f=l.texCoord??u.texCoord??0,p=QEt(f,l),d=i.get(p);if(!d){if(d={sourceTexCoord:f,texCoord:o,matrix:r3t(l)},!JEt(t,e,d))continue;o++,i.set(p,d)}u.texCoord=d.texCoord,r.removeObjectExtension(u,xg),u.extensions&&Object.keys(u.extensions).length===0&&delete u.extensions}}}function rM(e){if(!e||typeof e!="object")return[];let t=e,r=[],n=t.extensions;Number.isFinite(t.index)&&(n!=null&&n[xg])&&r.push(t);for(let[a,i]of Object.entries(t))a!=="extras"&&r.push(...rM(i));return r}function YEt(e){let t=-1;for(let r of e.json.meshes||[])for(let n of r.primitives)for(let a of Object.keys(n.attributes)){let i=/^TEXCOORD_(\d+)$/.exec(a);i&&(t=Math.max(t,Number(i[1])))}return t+1}function QEt(e,t){let{offset:r=[0,0],rotation:n=0,scale:a=[1,1]}=t;return JSON.stringify([e,r,n,a])}function JEt(e,t,r){let n=[],a=e.json.meshes||[];for(let i of a)for(let o of i.primitives){let s=o.material;Number.isFinite(s)&&t===s&&n.push(o)}if(n.length===0||n.some(i=>!ZEt(e,i,r.sourceTexCoord)))return!1;for(let i of n)e3t(e,i,r);return!0}function ZEt(e,t,r){var o,s;let n=t.attributes[`TEXCOORD_${r}`];if(!Number.isFinite(n))return!1;let a=(o=e.json.accessors)==null?void 0:o[n];if(!a||a.bufferView===void 0||a.sparse)return!1;let i=(s=e.json.bufferViews)==null?void 0:s[a.bufferView];return Boolean(i&&e.buffers[i.buffer])}function e3t(e,t,r){var s,c;let{sourceTexCoord:n,texCoord:a,matrix:i}=r,o=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let u=(s=e.json.accessors)==null?void 0:s[o];if(u&&u.bufferView!==void 0){let l=(c=e.json.bufferViews)==null?void 0:c[u.bufferView];if(l){let{arrayBuffer:f,byteOffset:p}=e.buffers[l.buffer],d=(p||0)+(u.byteOffset||0)+(l.byteOffset||0),{ArrayType:h,length:m}=Od(u,l),g=QA[u.componentType],x=YA[u.type],y=l.byteStride||g*x,_=new Float32Array(m);for(let S=0;S<u.count;S++){let T=new h(f,d+S*y,2);v8.set(T[0],T[1],1),v8.transformByMatrix3(i),_.set([v8[0],v8[1]],S*x)}t3t(a,u,t,e,_)}}}}function t3t(e,t,r,n,a){n.buffers.push({arrayBuffer:ii(a.buffer),byteOffset:0,byteLength:a.buffer.byteLength}),n.json.bufferViews=n.json.bufferViews||[];let i=n.json.bufferViews;i.push({buffer:n.buffers.length-1,byteLength:a.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:(i==null?void 0:i.length)-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=o.length-1)}function r3t(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,a=new nr().set(1,0,0,0,1,0,t[0],t[1],1),i=HEt.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=WEt.set(n[0],0,0,0,n[1],0,0,0,1);return a.multiplyRight(i).multiplyRight(o)}var aM={};Jn(aM,{decode:()=>a3t,encode:()=>i3t,name:()=>n3t});var Cd="KHR_lights_punctual",n3t=Cd;async function a3t(e){let t=new Ut(e),{json:r}=t,n=t.getExtension(Cd);n&&(t.json.lights=n.lights,t.removeExtension(Cd));for(let a of r.nodes||[]){let i=t.getObjectExtension(a,Cd);i&&(a.light=i.light),t.removeObjectExtension(a,Cd)}}async function i3t(e){let t=new Ut(e),{json:r}=t;if(r.lights){let n=t.addExtension(Cd);xn(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let a=n.node;t.addObjectExtension(a,Cd,n)}delete t.json.lights}}var iM={};Jn(iM,{decode:()=>s3t,encode:()=>c3t,name:()=>o3t});var L1="KHR_materials_unlit",o3t=L1;async function s3t(e){let t=new Ut(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,L1);t.removeExtension(L1)}function c3t(e){let t=new Ut(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,L1,{}),t.addExtension(L1))}var oM={};Jn(oM,{decode:()=>l3t,encode:()=>f3t,name:()=>u3t});var B1="KHR_techniques_webgl",u3t=B1;async function l3t(e){let t=new Ut(e),{json:r}=t,n=t.getExtension(B1);if(n){let a=p3t(n,t);for(let i of r.materials||[]){let o=t.getObjectExtension(i,B1);o&&(i.technique=Object.assign({},o,a[o.technique]),i.technique.values=d3t(i.technique,t)),t.removeObjectExtension(i,B1)}t.removeExtension(B1)}}async function f3t(e,t){}function p3t(e,t){let{programs:r=[],shaders:n=[],techniques:a=[]}=e,i=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=i.decode(t.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),r.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),a.forEach(o=>{o.program=r[o.program]}),a}function d3t(e,t){let r=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in r)&&(r[n]=e.uniforms[n].value)}),Object.keys(r).forEach(n=>{typeof r[n]=="object"&&r[n].index!==void 0&&(r[n].texture=t.getTexture(r[n].index))}),r}var w1e=[s8,i8,Y7,X7,J7,Q7,Z7,tM,aM,iM,oM,nM,L7],h3t=[s8,i8];async function T1e(e,t={},r){var a;let n=w1e.filter(i=>A1e(i.name,t));for(let i of n)await((a=i.preprocess)==null?void 0:a.call(i,e,t,r))}async function E1e(e,t={},r){var a;let n=w1e.filter(i=>A1e(i.name,t));for(let i of n)await((a=i.decode)==null?void 0:a.call(i,e,t,r))}function S1e(e,t={}){var r;for(let n of h3t)e=((r=n.encode)==null?void 0:r.call(n,e,t))??e;return e}function A1e(e,t){var a;let r=((a=t==null?void 0:t.gltf)==null?void 0:a.excludeExtensions)||{};return!(e in r&&!r[e])}var sM="KHR_binary_glTF";function k1e(e){let t=new Ut(e),{json:r}=t;for(let n of r.images||[]){let a=t.getObjectExtension(n,sM);a&&Object.assign(n,a),t.removeObjectExtension(n,sM)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension(sM)}var D1e={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},g3t={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},cM=class{idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}};json;normalize(t,r){this.json=t.json;let n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!r.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),k1e(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(let r in D1e)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let a in n){let i=n[a];i.id=i.id||a;let o=t[r].length;t[r].push(i),this.idToIndexMap[r][a]=o}}}_convertObjectIdsToArrayIndices(t){for(let r in D1e)this._convertIdsToIndices(t,r);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(let r of t.textures)this._convertTextureIds(r);for(let r of t.meshes)this._convertMeshIds(r);for(let r of t.nodes)this._convertNodeIds(r);for(let r of t.scenes)this._convertSceneIds(r)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(let r of t.primitives){let{attributes:n,indices:a,material:i}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");a&&(r.indices=this._convertIdToIndex(a,"accessor")),i&&(r.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(r=>this._convertIdToIndex(r,"node"))),t.meshes&&(t.meshes=t.meshes.map(r=>this._convertIdToIndex(r,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(r=>this._convertIdToIndex(r,"node")))}_convertIdsToIndices(t,r){t[r]||(console.warn(`gltf v1: json doesn't contain attribute ${r}`),t[r]=[]);for(let n of t[r])for(let a in n){let i=n[a],o=this._convertIdToIndex(i,a);n[a]=o}}_convertIdToIndex(t,r){let n=g3t[r];if(n in this.idToIndexMap){let a=this.idToIndexMap[n][t];if(!Number.isFinite(a))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return a}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){var r,n,a;for(let i of t.materials){i.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=i.values)==null?void 0:r.tex)||((n=i.values)==null?void 0:n.texture2d_0)||((a=i.values)==null?void 0:a.diffuseTex),s=t.textures.findIndex(c=>c.id===o);s!==-1&&(i.pbrMetallicRoughness.baseColorTexture={index:s})}}};function O1e(e,t={}){return new cM().normalize(e,t)}function b3t(e,t){let r=e.basis,n=r==null?void 0:r.format;return{...e,core:{...e.core,mimeType:t},basis:{...r,format:n&&n!=="auto"?n:I1(r==null?void 0:r.supportedTextureFormats)}}}async function F1e(e,t,r=0,n,a){var i,o,s;return v3t(e,t,r,n),O1e(e,{normalize:(i=n==null?void 0:n.gltf)==null?void 0:i.normalize}),await T1e(e,n,a),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await x3t(e,n,a),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await y3t(e,n,a),await E1e(e,n,a),e}function v3t(e,t,r,n){var o,s;if((o=n.core)!=null&&o.baseUrl&&(e.baseUri=(s=n.core)==null?void 0:s.baseUrl),t instanceof ArrayBuffer&&!m1e(t,r,n.glb)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=oP(t);else if(t instanceof ArrayBuffer){let c={};r=g1e(c,t,r,n.glb),xn(c.type==="glTF",`Invalid GLB magic string ${c.type}`),e._glb=c,e.json=c.json}else xn(!1,"GLTF: must be ArrayBuffer or string");let a=e.json.buffers||[];if(e.buffers=new Array(a.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:c}=e._glb;e.buffers[0]={arrayBuffer:c[0].arrayBuffer,byteOffset:c[0].byteOffset,byteLength:c[0].byteLength}}let i=e.json.images||[];e.images=new Array(i.length).fill({})}async function x3t(e,t,r){var a,i;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:c}=r;xn(c);let u=W7(s.uri,t,r),l=await((a=r==null?void 0:r.fetch)==null?void 0:a.call(r,u)),f=await((i=l==null?void 0:l.arrayBuffer)==null?void 0:i.call(l));e.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function y3t(e,t,r){let n=_3t(e),a=e.json.images||[],i=[];for(let o of n)i.push(w3t(e,a[o],o,t,r));return await Promise.all(i)}function _3t(e){let t=new Set,r=e.json.textures||[];for(let n of r)n.source!==void 0&&t.add(n.source);return Array.from(t).sort()}async function w3t(e,t,r,n,a){let i;if(t.uri&&!t.hasOwnProperty("bufferView")){let c=W7(t.uri,n,a),{fetch:u}=a;i=await(await u(c)).arrayBuffer(),t.bufferView={data:i}}if(Number.isFinite(t.bufferView)){let c=yxe(e.json,e.buffers,t.bufferView);i=Rp(c.buffer,c.byteOffset,c.byteLength)}xn(i,"glTF image has no data");let o=b3t(n,t.mimeType),s=await Vi(i,[sg,Pd],o,a);s&&s[0]&&(s={compressed:!0,mipmaps:!1,width:s[0].width,height:s[0].height,data:s[0]}),e.images=e.images||[],e.images[r]=s}var Ju={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:c8,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:T3t,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0}}};async function T3t(e,t={},r){var o;let n={...Ju.options,...t};n.gltf={...Ju.options.gltf,...n.gltf};let a=((o=t==null?void 0:t.glb)==null?void 0:o.byteOffset)||0;return await F1e({},e,a,n,r)}var E3t=1179937895,S3t=1313821514,A3t=5130562,qc=!0;function P1e(e,t,r=0,n={}){let{magic:a=E3t,version:i=2,json:o={},binary:s}=e,c=r;t&&(t.setUint32(r+0,a,qc),t.setUint32(r+4,i,qc),t.setUint32(r+8,0,qc));let u=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,qc),t.setUint32(r+4,S3t,qc)),r+=8;let f=JSON.stringify(o);if(r=d0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,qc)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,qc),t.setUint32(r+4,A3t,qc)),r+=8,r=Tw(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,qc)}}if(t){let p=r-c;t.setUint32(u,p,qc)}return r}function uM(e,t,r,n){return k3t(e),P1e(e,t,r,n)}function k3t(e){if(e.buffers&&e.buffers.length>1)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var lM={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:c8,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>C1e(e,t),encodeSync:C1e};function C1e(e,t={}){let{byteOffset:r=0}=t,n=S1e(e),a=uM(n,null,r,t),i=new ArrayBuffer(a),o=new DataView(i);return uM(n,o,r,t),i}var D3t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},O3t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Bo={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},F3t={magFilter:Bo.TEXTURE_MAG_FILTER,minFilter:Bo.TEXTURE_MIN_FILTER,wrapS:Bo.TEXTURE_WRAP_S,wrapT:Bo.TEXTURE_WRAP_T},P3t={[Bo.TEXTURE_MAG_FILTER]:Bo.LINEAR,[Bo.TEXTURE_MIN_FILTER]:Bo.NEAREST_MIPMAP_LINEAR,[Bo.TEXTURE_WRAP_S]:Bo.REPEAT,[Bo.TEXTURE_WRAP_T]:Bo.REPEAT};function C3t(){return{id:"default-sampler",parameters:P3t}}function I3t(e){return O3t[e]}function j3t(e){return D3t[e]}var fM=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:a=[],images:i=[]}=t,{baseUri:o=""}=t;return xn(n),this.baseUri=o,this.buffers=a,this.images=i,this.jsonUnprocessed=n,this.json=this._resolveTree(t.json,r),this.json}_resolveTree(t,r={}){let n={...t};return this.json=n,t.bufferViews&&(n.bufferViews=t.bufferViews.map((a,i)=>this._resolveBufferView(a,i))),t.images&&(n.images=t.images.map((a,i)=>this._resolveImage(a,i))),t.samplers&&(n.samplers=t.samplers.map((a,i)=>this._resolveSampler(a,i))),t.textures&&(n.textures=t.textures.map((a,i)=>this._resolveTexture(a,i))),t.accessors&&(n.accessors=t.accessors.map((a,i)=>this._resolveAccessor(a,i))),t.materials&&(n.materials=t.materials.map((a,i)=>this._resolveMaterial(a,i))),t.meshes&&(n.meshes=t.meshes.map((a,i)=>this._resolveMesh(a,i))),t.nodes&&(n.nodes=t.nodes.map((a,i)=>this._resolveNode(a,i)),n.nodes=n.nodes.map((a,i)=>this._resolveNodeChildren(a))),t.skins&&(n.skins=t.skins.map((a,i)=>this._resolveSkin(a,i))),t.scenes&&(n.scenes=t.scenes.map((a,i)=>this._resolveScene(a,i))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(t){return this._get(this.json.scenes,t)}getNode(t){return this._get(this.json.nodes,t)}getSkin(t){return this._get(this.json.skins,t)}getMesh(t){return this._get(this.json.meshes,t)}getMaterial(t){return this._get(this.json.materials,t)}getAccessor(t){return this._get(this.json.accessors,t)}getCamera(t){return this._get(this.json.cameras,t)}getTexture(t){return this._get(this.json.textures,t)}getSampler(t){return this._get(this.json.samplers,t)}getImage(t){return this._get(this.json.images,t)}getBufferView(t){return this._get(this.json.bufferViews,t)}getBuffer(t){return this._get(this.json.buffers,t)}_get(t,r){if(typeof r=="object")return r;let n=t&&t[r];return n||console.warn(`glTF file error: Could not find ${t}[${r}]`),n}_resolveScene(t,r){return{...t,id:t.id||`scene-${r}`,nodes:(t.nodes||[]).map(n=>this.getNode(n))}}_resolveNode(t,r){let n={...t,id:(t==null?void 0:t.id)||`node-${r}`};return t.mesh!==void 0&&(n.mesh=this.getMesh(t.mesh)),t.camera!==void 0&&(n.camera=this.getCamera(t.camera)),t.skin!==void 0&&(n.skin=this.getSkin(t.skin)),t.meshes!==void 0&&t.meshes.length&&(n.mesh=t.meshes.reduce((a,i)=>{let o=this.getMesh(i);return a.id=o.id,a.primitives=a.primitives.concat(o.primitives),a},{primitives:[]})),n}_resolveNodeChildren(t){return t.children&&(t.children=t.children.map(r=>this.getNode(r))),t}_resolveSkin(t,r){let n=typeof t.inverseBindMatrices=="number"?this.getAccessor(t.inverseBindMatrices):void 0;return{...t,id:t.id||`skin-${r}`,inverseBindMatrices:n}}_resolveMesh(t,r){let n={...t,id:t.id||`mesh-${r}`,primitives:[]};return t.primitives&&(n.primitives=t.primitives.map((a,i)=>{let o={...a,attributes:{},indices:void 0,material:void 0},s=a.attributes;for(let c in s)o.attributes[c]=this.getAccessor(s[c]);return a.indices!==void 0&&(o.indices=this.getAccessor(a.indices)),a.material!==void 0&&(o.material=this.getMaterial(a.material)),R3t(o,n.id,i)})),n}_resolveMaterial(t,r){let n={...t,id:t.id||`material-${r}`};if(n.normalTexture&&(n.normalTexture={...n.normalTexture},n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture={...n.occlusionTexture},n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture={...n.emissiveTexture},n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness={...n.pbrMetallicRoughness};let a=n.pbrMetallicRoughness;a.baseColorTexture&&(a.baseColorTexture={...a.baseColorTexture},a.baseColorTexture.texture=this.getTexture(a.baseColorTexture.index)),a.metallicRoughnessTexture&&(a.metallicRoughnessTexture={...a.metallicRoughnessTexture},a.metallicRoughnessTexture.texture=this.getTexture(a.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=I3t(t.componentType),a=j3t(t.type),i=n*a,o={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:a,bytesPerElement:i,value:void 0,bufferView:void 0,sparse:void 0};if(t.bufferView!==void 0&&(o.bufferView=this.getBufferView(t.bufferView)),o.bufferView){let s=o.bufferView.buffer,{ArrayType:c,byteLength:u}=Od(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=yu(s.arrayBuffer,l,u);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new c(f)}else{let{ArrayType:s}=Od(o,{byteLength:o.count*o.bytesPerElement});o.value=new s(o.count*o.components)}return t.sparse&&this._applySparseAccessor(o,t.sparse),o}_applySparseAccessor(t,r){let n=L3t(r.indices.componentType),a=this._getTypedArrayFromBufferView(n,this.getBufferView(r.indices.bufferView),r.indices.byteOffset||0,r.count),i=t.value.constructor,o=this._getTypedArrayFromBufferView(i,this.getBufferView(r.values.bufferView),r.values.byteOffset||0,r.count*t.components);for(let s=0;s<r.count;s++){let c=Number(a[s]);xn(Number.isInteger(c)&&c>=0&&c<t.count,"glTF sparse accessor index is out of bounds");for(let u=0;u<t.components;u++){let l=c*t.components+u,f=s*t.components+u;Reflect.set(t.value,l,o[f])}}}_getTypedArrayFromBufferView(t,r,n,a){let i=a*t.BYTES_PER_ELEMENT;xn(n+i<=r.byteLength,"glTF sparse accessor data exceeds its buffer view");let o=r.buffer,s=o.byteOffset+(r.byteOffset||0)+n,c=yu(o.arrayBuffer,s,i);return new t(c)}_getValueFromInterleavedBuffer(t,r,n,a,i){let o=new Uint8Array(i*a);for(let s=0;s<i;s++){let c=r+s*n;o.set(new Uint8Array(t.arrayBuffer.slice(c,c+a)),s*a)}return o.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):C3t(),source:typeof t.source=="number"?this.getImage(t.source):void 0}}_resolveSampler(t,r){let n={id:t.id||`sampler-${r}`,...t,parameters:{}};for(let a in n){let i=this._enumSamplerParameter(a);i!==void 0&&(n.parameters[i]=n[a])}return n}_enumSamplerParameter(t){return F3t[t]}_resolveImage(t,r){let n={...t,id:t.id||`image-${r}`,image:null,bufferView:t.bufferView!==void 0?this.getBufferView(t.bufferView):void 0},a=this.images[r];return a&&(n.image=a),n}_resolveBufferView(t,r){let n=t.buffer,a=this.buffers[n].arrayBuffer,i=this.buffers[n].byteOffset||0;return t.byteOffset&&(i+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(a,i,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function R3t(e,t,r){var c,u;if(e.mode!==2&&e.mode!==6)return e;let n=(c=e.indices)==null?void 0:c.value,a=((u=e.indices)==null?void 0:u.count)??B3t(e),i=M3t(n,a),o=i<=65535?Uint16Array:Uint32Array,s=e.mode===2?N3t(n,a,o):z3t(n,a,o);return e.mode=e.mode===2?1:4,e.indices={id:`${t}-primitive-${r}-portable-indices`,components:1,bytesPerComponent:o.BYTES_PER_ELEMENT,bytesPerElement:o.BYTES_PER_ELEMENT,componentType:o===Uint16Array?5123:5125,normalized:!1,count:s.length,type:"SCALAR",min:s.length?[q3t(s)]:void 0,max:s.length?[i]:void 0,value:s},e}function L3t(e){switch(e){case 5121:return Uint8Array;case 5123:return Uint16Array;case 5125:return Uint32Array;default:throw new Error(`Invalid glTF sparse index component type ${e}`)}}function B3t(e){let t=Object.values(e.attributes)[0];return xn(t,"glTF primitive must define at least one attribute"),t.count}function M3t(e,t){if(!e)return Math.max(0,t-1);let r=0;for(let n=0;n<t;n++)r=Math.max(r,Number(e[n]));return r}function q3t(e){let t=1/0;for(let r of e)t=Math.min(t,r);return t}function M1(e,t){return e?Number(e[t]):t}function N3t(e,t,r){if(t<2)return new r(0);let n=new r(t*2);for(let a=0;a<t;a++)n[a*2]=M1(e,a),n[a*2+1]=M1(e,(a+1)%t);return n}function z3t(e,t,r){let n=Math.max(0,t-2),a=new r(n*3);for(let i=0;i<n;i++)a[i*3]=M1(e,0),a[i*3+1]=M1(e,i+1),a[i*3+2]=M1(e,i+2);return a}function q1(e,t){return new fM().postProcess(e,t)}var x8={URI:0,EMBEDDED:1};function y8(e,t,r,n){e.rotateYtoZ=!0;let a=(e.byteOffset||0)+(e.byteLength||0)-r;if(a===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=n!=null&&n["3d-tiles"]&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=Rp(t,r,a),e.gltfByteOffset=0,e.gltfByteLength=a,r%4===0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function _8(e,t,r,n){let a=(r==null?void 0:r["3d-tiles"])||{};if(U3t(e,t,r),a.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:i}=n,o=await i(e.gltfUrl,r==null?void 0:r.core);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let i=await Vi(e.gltfArrayBuffer,Ju,r,n);e.gltf=q1(i),e.gpuMemoryUsageInBytes=P1(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function U3t(e,t,r){switch(t){case x8.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),i=new TextDecoder().decode(n);e.gltfUrl=i.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case x8.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function I1e(e,t,r,n,a){var o;r=G3t(e,t,r,n,a),await _8(e,x8.EMBEDDED,n,a);let i=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return i&&i.CESIUM_RTC&&(e.rtcCenter=i.CESIUM_RTC.center),r}function G3t(e,t,r,n,a){r=Lf(e,t,r),r=ag(e,t,r),r=ig(e,t,r,n),r=y8(e,t,r,n);let i=new Yu(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=i.getGlobalProperty("RTC_CENTER",ht.FLOAT,3),r}async function j1e(e,t,r,n,a){return r=V3t(e,t,r,n,a),await _8(e,e.gltfFormat||0,n,a),r}function V3t(e,t,r,n,a){var u;if(r=Lf(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=ag(e,t,r);let i=new DataView(t);if(e.gltfFormat=i.getUint32(r,!0),r+=4,r=ig(e,t,r,n),r=y8(e,t,r,n),!((u=e==null?void 0:e.header)!=null&&u.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new Yu(e.featureTableJson,e.featureTableBinary),s=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=s,!Number.isFinite(s))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",ht.FLOAT,3);let c=new kd(e.batchTableJson,e.batchTableBinary,s);return $3t(e,o,c,s),r}function $3t(e,t,r,n){let a=new Array(n),i=new Z,o=new Z,s=new Z,c=new Z,u=new nr,l=new Io,f=new Z,p={},d=new mr,h=[],m=[],g=[],x=[];for(let y=0;y<n;y++){let _;if(t.hasProperty("POSITION"))_=t.getProperty("POSITION",ht.FLOAT,3,y,i);else if(t.hasProperty("POSITION_QUANTIZED")){_=t.getProperty("POSITION_QUANTIZED",ht.UNSIGNED_SHORT,3,y,i);let A=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",ht.FLOAT,3);if(!A)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let P=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",ht.FLOAT,3);if(!P)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let R=65535;for(let U=0;U<3;U++)_[U]=_[U]/R*P[U]+A[U]}if(!_)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");i.copy(_),p.translation=i,e.normalUp=t.getProperty("NORMAL_UP",ht.FLOAT,3,y,h),e.normalRight=t.getProperty("NORMAL_RIGHT",ht.FLOAT,3,y,m);let S=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=t.getProperty("NORMAL_UP_OCT32P",ht.UNSIGNED_SHORT,2,y,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",ht.UNSIGNED_SHORT,2,y,m),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(Pt.WGS84.eastNorthUpToFixedFrame(i,d),d.getRotationMatrix3(u)):u.identity()}S&&(c.copy(o).cross(s).normalize(),u.setColumn(0,o),u.setColumn(1,s),u.setColumn(2,c)),l.fromMatrix3(u),p.rotation=l,f.set(1,1,1);let T=t.getProperty("SCALE",ht.FLOAT,1,y,g);Number.isFinite(T)&&f.multiplyByScalar(T);let O=t.getProperty("SCALE_NON_UNIFORM",ht.FLOAT,3,y,h);O&&f.scale(O),p.scale=f;let I=t.getProperty("BATCH_ID",ht.UNSIGNED_SHORT,1,y,x);I===void 0&&(I=y);let B=new mr().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(B),d.scale(p.scale);let D=d.clone();a[y]={modelMatrix:D,batchId:I}}e.instances=a}async function R1e(e,t,r,n,a,i){r=Lf(e,t,r);let o=new DataView(t);for(e.tilesLength=o.getUint32(r,!0),r+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-r>12;){let s={shape:"tile3d"};e.tiles.push(s),r=await i(t,r,n,a,s)}return r}async function L1e(e,t,r,n){var a,i;if(e.rotateYtoZ=!0,e.gltfUpAxis=(a=r==null?void 0:r["3d-tiles"])!=null&&a.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",(i=r==null?void 0:r["3d-tiles"])!=null&&i.loadGLTF){if(!n)return t.byteLength;let o=await Vi(t,Ju,r,n);e.gltf=q1(o),e.gpuMemoryUsageInBytes=P1(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function pM(e,t=0,r,n,a={shape:"tile3d"}){switch(a.byteOffset=t,a.type=Mve(e,t),a.type){case da.COMPOSITE:return await R1e(a,e,t,r,n,pM);case da.BATCHED_3D_MODEL:return await I1e(a,e,t,r,n);case da.GLTF:return await L1e(a,e,r,n);case da.INSTANCED_3D_MODEL:return await j1e(a,e,t,r,n);case da.POINT_CLOUD:return await nxe(a,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${a.type}`)}}async function dM(e,t,r){if(new Uint32Array(e.slice(0,4))[0]!==1952609651)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==1)throw new Error("Wrong subtree file verson, must be 1");let i=B1e(e.slice(8,16)),o=new Uint8Array(e,24,i),c=new TextDecoder("utf8").decode(o),u=JSON.parse(c),l=B1e(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+i)),await w8(u,u.tileAvailability,f,r),Array.isArray(u.contentAvailability))for(let p of u.contentAvailability)await w8(u,p,f,r);else await w8(u,u.contentAvailability,f,r);return await w8(u,u.childSubtreeAvailability,f,r),u}async function w8(e,t,r,n){let a=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof a!="number")return;let i=e.bufferViews[a],o=e.buffers[i.buffer];if(!(n!=null&&n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let c=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(c)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,i.byteOffset,i.byteLength);return}let s=e.buffers.slice(0,i.buffer).reduce((c,u)=>c+u.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(s,s+o.byteLength),i.byteOffset,i.byteLength)}function B1e(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var T8={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:tg,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:dM,options:{}};var Mo=null;try{Mo=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Sr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Sr.prototype.__isLong__;Object.defineProperty(Sr.prototype,"__isLong__",{value:!0});function Ha(e){return(e&&e.__isLong__)===!0}function M1e(e){var t=Math.clz32(e&-e);return e?31-t:t}Sr.isLong=Ha;var q1e={},N1e={};function Id(e,t){var r,n,a;return t?(e>>>=0,(a=0<=e&&e<256)&&(n=N1e[e],n)?n:(r=lr(e,0,!0),a&&(N1e[e]=r),r)):(e|=0,(a=-128<=e&&e<128)&&(n=q1e[e],n)?n:(r=lr(e,e<0?-1:0,!1),a&&(q1e[e]=r),r))}Sr.fromInt=Id;function qo(e,t){if(isNaN(e))return t?Zu:As;if(t){if(e<0)return Zu;if(e>=V1e)return W1e}else{if(e<=-U1e)return Fi;if(e+1>=U1e)return H1e}return e<0?qo(-e,t).neg():lr(e%_g|0,e/_g|0,t)}Sr.fromNumber=qo;function lr(e,t,r){return new Sr(e,t,r)}Sr.fromBits=lr;var E8=Math.pow;function mM(e,t,r){if(e.length===0)throw Error("empty string");if(typeof t=="number"?(r=t,t=!1):t=!!t,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return t?Zu:As;if(r=r||10,r<2||36<r)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return mM(e.substring(1),t,r).neg();for(var a=qo(E8(r,8)),i=As,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),c=parseInt(e.substring(o,o+s),r);if(s<8){var u=qo(E8(r,s));i=i.mul(u).add(qo(c))}else i=i.mul(a),i=i.add(qo(c))}return i.unsigned=t,i}Sr.fromString=mM;function No(e,t){return typeof e=="number"?qo(e,t):typeof e=="string"?mM(e,t):lr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Sr.fromValue=No;var z1e=1<<16,H3t=1<<24,_g=z1e*z1e,V1e=_g*_g,U1e=V1e/2,G1e=Id(H3t),As=Id(0);Sr.ZERO=As;var Zu=Id(0,!0);Sr.UZERO=Zu;var yg=Id(1);Sr.ONE=yg;var $1e=Id(1,!0);Sr.UONE=$1e;var hM=Id(-1);Sr.NEG_ONE=hM;var H1e=lr(-1,2147483647,!1);Sr.MAX_VALUE=H1e;var W1e=lr(-1,-1,!0);Sr.MAX_UNSIGNED_VALUE=W1e;var Fi=lr(0,-2147483648,!1);Sr.MIN_VALUE=Fi;var Ae=Sr.prototype;Ae.toInt=function(){return this.unsigned?this.low>>>0:this.low};Ae.toNumber=function(){return this.unsigned?(this.high>>>0)*_g+(this.low>>>0):this.high*_g+(this.low>>>0)};Ae.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Fi)){var r=qo(t),n=this.div(r),a=n.mul(r).sub(this);return n.toString(t)+a.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var i=qo(E8(t,6),this.unsigned),o=this,s="";;){var c=o.div(i),u=o.sub(c.mul(i)).toInt()>>>0,l=u.toString(t);if(o=c,o.isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}};Ae.getHighBits=function(){return this.high};Ae.getHighBitsUnsigned=function(){return this.high>>>0};Ae.getLowBits=function(){return this.low};Ae.getLowBitsUnsigned=function(){return this.low>>>0};Ae.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Fi)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return this.high!=0?r+33:r+1};Ae.isSafeInteger=function(){var t=this.high>>21;return t?this.unsigned?!1:t===-1&&!(this.low===0&&this.high===-2097152):!0};Ae.isZero=function(){return this.high===0&&this.low===0};Ae.eqz=Ae.isZero;Ae.isNegative=function(){return!this.unsigned&&this.high<0};Ae.isPositive=function(){return this.unsigned||this.high>=0};Ae.isOdd=function(){return(this.low&1)===1};Ae.isEven=function(){return(this.low&1)===0};Ae.equals=function(t){return Ha(t)||(t=No(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Ae.eq=Ae.equals;Ae.notEquals=function(t){return!this.eq(t)};Ae.neq=Ae.notEquals;Ae.ne=Ae.notEquals;Ae.lessThan=function(t){return this.comp(t)<0};Ae.lt=Ae.lessThan;Ae.lessThanOrEqual=function(t){return this.comp(t)<=0};Ae.lte=Ae.lessThanOrEqual;Ae.le=Ae.lessThanOrEqual;Ae.greaterThan=function(t){return this.comp(t)>0};Ae.gt=Ae.greaterThan;Ae.greaterThanOrEqual=function(t){return this.comp(t)>=0};Ae.gte=Ae.greaterThanOrEqual;Ae.ge=Ae.greaterThanOrEqual;Ae.compare=function(t){if(Ha(t)||(t=No(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};Ae.comp=Ae.compare;Ae.negate=function(){return!this.unsigned&&this.eq(Fi)?Fi:this.not().add(yg)};Ae.neg=Ae.negate;Ae.add=function(t){Ha(t)||(t=No(t));var r=this.high>>>16,n=this.high&65535,a=this.low>>>16,i=this.low&65535,o=t.high>>>16,s=t.high&65535,c=t.low>>>16,u=t.low&65535,l=0,f=0,p=0,d=0;return d+=i+u,p+=d>>>16,d&=65535,p+=a+c,f+=p>>>16,p&=65535,f+=n+s,l+=f>>>16,f&=65535,l+=r+o,l&=65535,lr(p<<16|d,l<<16|f,this.unsigned)};Ae.subtract=function(t){return Ha(t)||(t=No(t)),this.add(t.neg())};Ae.sub=Ae.subtract;Ae.multiply=function(t){if(this.isZero())return this;if(Ha(t)||(t=No(t)),Mo){var r=Mo.mul(this.low,this.high,t.low,t.high);return lr(r,Mo.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?Zu:As;if(this.eq(Fi))return t.isOdd()?Fi:As;if(t.eq(Fi))return this.isOdd()?Fi:As;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(G1e)&&t.lt(G1e))return qo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,a=this.high&65535,i=this.low>>>16,o=this.low&65535,s=t.high>>>16,c=t.high&65535,u=t.low>>>16,l=t.low&65535,f=0,p=0,d=0,h=0;return h+=o*l,d+=h>>>16,h&=65535,d+=i*l,p+=d>>>16,d&=65535,d+=o*u,p+=d>>>16,d&=65535,p+=a*l,f+=p>>>16,p&=65535,p+=i*u,f+=p>>>16,p&=65535,p+=o*c,f+=p>>>16,p&=65535,f+=n*l+a*u+i*c+o*s,f&=65535,lr(d<<16|h,f<<16|p,this.unsigned)};Ae.mul=Ae.multiply;Ae.divide=function(t){if(Ha(t)||(t=No(t)),t.isZero())throw Error("division by zero");if(Mo){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Mo.div_u:Mo.div_s)(this.low,this.high,t.low,t.high);return lr(r,Mo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Zu:As;var n,a,i;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return Zu;if(t.gt(this.shru(1)))return $1e;i=Zu}else{if(this.eq(Fi)){if(t.eq(yg)||t.eq(hM))return Fi;if(t.eq(Fi))return yg;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(As)?t.isNegative()?yg:hM:(a=this.sub(t.mul(n)),i=n.add(a.div(t)),i)}else if(t.eq(Fi))return this.unsigned?Zu:As;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();i=As}for(a=this;a.gte(t);){n=Math.max(1,Math.floor(a.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),c=s<=48?1:E8(2,s-48),u=qo(n),l=u.mul(t);l.isNegative()||l.gt(a);)n-=c,u=qo(n,this.unsigned),l=u.mul(t);u.isZero()&&(u=yg),i=i.add(u),a=a.sub(l)}return i};Ae.div=Ae.divide;Ae.modulo=function(t){if(Ha(t)||(t=No(t)),Mo){var r=(this.unsigned?Mo.rem_u:Mo.rem_s)(this.low,this.high,t.low,t.high);return lr(r,Mo.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Ae.mod=Ae.modulo;Ae.rem=Ae.modulo;Ae.not=function(){return lr(~this.low,~this.high,this.unsigned)};Ae.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Ae.clz=Ae.countLeadingZeros;Ae.countTrailingZeros=function(){return this.low?M1e(this.low):M1e(this.high)+32};Ae.ctz=Ae.countTrailingZeros;Ae.and=function(t){return Ha(t)||(t=No(t)),lr(this.low&t.low,this.high&t.high,this.unsigned)};Ae.or=function(t){return Ha(t)||(t=No(t)),lr(this.low|t.low,this.high|t.high,this.unsigned)};Ae.xor=function(t){return Ha(t)||(t=No(t)),lr(this.low^t.low,this.high^t.high,this.unsigned)};Ae.shiftLeft=function(t){return Ha(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?lr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):lr(0,this.low<<t-32,this.unsigned)};Ae.shl=Ae.shiftLeft;Ae.shiftRight=function(t){return Ha(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?lr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):lr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Ae.shr=Ae.shiftRight;Ae.shiftRightUnsigned=function(t){return Ha(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?lr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?lr(this.high,0,this.unsigned):lr(this.high>>>t-32,0,this.unsigned)};Ae.shru=Ae.shiftRightUnsigned;Ae.shr_u=Ae.shiftRightUnsigned;Ae.rotateLeft=function(t){var r;return Ha(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?lr(this.high,this.low,this.unsigned):t<32?(r=32-t,lr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,lr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Ae.rotl=Ae.rotateLeft;Ae.rotateRight=function(t){var r;return Ha(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?lr(this.high,this.low,this.unsigned):t<32?(r=32-t,lr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,lr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Ae.rotr=Ae.rotateRight;Ae.toSigned=function(){return this.unsigned?lr(this.low,this.high,!1):this};Ae.toUnsigned=function(){return this.unsigned?this:lr(this.low,this.high,!0)};Ae.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Ae.toBytesLE=function(){var t=this.high,r=this.low;return[r&255,r>>>8&255,r>>>16&255,r>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};Ae.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,r>>>24,r>>>16&255,r>>>8&255,r&255]};Sr.fromBytes=function(t,r,n){return n?Sr.fromBytesLE(t,r):Sr.fromBytesBE(t,r)};Sr.fromBytesLE=function(t,r){return new Sr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Sr.fromBytesBE=function(t,r){return new Sr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};typeof BigInt=="function"&&(Sr.fromBigInt=function(t,r){var n=Number(BigInt.asIntN(32,t)),a=Number(BigInt.asIntN(32,t>>BigInt(32)));return lr(n,a,r)},Sr.fromValue=function(t,r){return typeof t=="bigint"?Sr.fromBigInt(t,r):No(t,r)},Ae.toBigInt=function(){var t=BigInt(this.low>>>0),r=BigInt(this.unsigned?this.high>>>0:this.high);return r<<BigInt(32)|t});var wg=Sr;var W3t=16;function N1(e){e==="X"&&(e="");let t=e.padEnd(W3t,"0");return wg.fromString(t,!0,16)}function gM(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let i=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-i.length).join("0")+i}function bM(e,t){let r=K3t(e).shiftRightUnsigned(2);return e.add(wg.fromNumber(2*t+1-4).multiply(r))}function K3t(e){return e.and(e.not().add(1))}var X3t=3,Y3t=30,Q3t=2*Y3t+1,K1e=180/Math.PI;function Y1e(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let t=e.split("/"),r=parseInt(t[0],10),n=t[1],a=n.length,i=0,o=[0,0];for(let s=a-1;s>=0;s--){i=a-s;let c=n[s],u=0,l=0;c==="1"?l=1:c==="2"?(u=1,l=1):c==="3"&&(u=1);let f=Math.pow(2,i-1);J3t(f,o,u,l),o[0]+=f*u,o[1]+=f*l}if(r%2===1){let s=o[0];o[0]=o[1],o[1]=s}return{face:r,ij:o,level:i}}function Q1e(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<X3t+Q3t;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),a=t.substring(3,r),i=a.length/2,o=wg.fromString(n,!0,2).toString(10),s="";if(i!==0)for(s=wg.fromString(a,!0,2).toString(4);s.length<i;)s="0"+s;return`${o}/${s}`}function vM(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function X1e(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function xM(e){return[X1e(e[0]),X1e(e[1])]}function yM(e,[t,r]){switch(e){case 0:return[1,t,r];case 1:return[-t,1,r];case 2:return[-t,-r,1];case 3:return[-1,-r,-t];case 4:return[r,-1,-t];case 5:return[r,t,-1];default:throw new Error("Invalid face")}}function _M([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*K1e,n*K1e]}function J3t(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let a=t[0];t[0]=t[1],t[1]=a}}function J1e(e){let t=vM(e.ij,e.level,[.5,.5]),r=xM(t),n=yM(e.face,r);return _M(n)}var Z3t=100;function wM(e){let{face:t,ij:r,level:n}=e,a=[[0,0],[0,1],[1,1],[1,0],[0,0]],i=Math.max(1,Math.ceil(Z3t*Math.pow(2,-n))),o=new Float64Array(4*i*2+2),s=0,c=0;for(let u=0;u<4;u++){let l=a[u].slice(0),f=a[u+1],p=(f[0]-l[0])/i,d=(f[1]-l[1])/i;for(let h=0;h<i;h++){l[0]+=p,l[1]+=d;let m=vM(r,n,l),g=xM(m),x=yM(t,g),y=_M(x);Math.abs(y[1])>89.999&&(y[0]=c);let _=y[0]-c;y[0]+=_>180?-360:_<-180?360:0,o[s++]=y[0],o[s++]=y[1],c=y[0]}}return o[s++]=o[0],o[s++]=o[1],o}function Tg(e){let t=eSt(e);return Y1e(t)}function eSt(e){if(e.indexOf("/")>0)return e;let t=N1(e);return Q1e(t)}function TM(e){let t=Tg(e);return J1e(t)}function eye(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let a=0;a<4;a++){let i=`${e.face}/${a}`,o=Tg(i),s=wM(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=Z1e(r)}else{let r=wM(e);t=Z1e(r)}return t}function Z1e(e){if(e.length%2!==0)throw new Error("Invalid corners");let t=[],r=[];for(let n=0;n<e.length;n+=2)t.push(e[n]),r.push(e[n+1]);return t.sort((n,a)=>n-a),r.sort((n,a)=>n-a),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function EM(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,a=Tg(e),i=eye(a),o=i.west,s=i.south,c=i.east,u=i.north,l=[];return l.push(new Z(o,u,r)),l.push(new Z(c,u,r)),l.push(new Z(c,s,r)),l.push(new Z(o,s,r)),l.push(new Z(o,u,n)),l.push(new Z(c,u,n)),l.push(new Z(c,s,n)),l.push(new Z(o,s,n)),l}function S8(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=EM(t,r),a=TM(t),i=a[0],o=a[1],s=Pt.WGS84.cartographicToCartesian([i,o,r.maximumHeight]),c=new Z(s[0],s[1],s[2]);n.push(c);let u=A1(n);return[...u.center,...u.halfAxes]}var tSt=4,rSt=8,nSt={QUADTREE:tSt,OCTREE:rSt};function aSt(e,t,r){if(e!=null&&e.box){let n=N1(e.s2VolumeInfo.token),a=bM(n,t),i=gM(a),o={...e.s2VolumeInfo};switch(o.token=i,r){case"OCTREE":let u=e.s2VolumeInfo,l=u.maximumHeight-u.minimumHeight,f=l/2,p=u.minimumHeight+l/2;u.minimumHeight=p-f,u.maximumHeight=p+f;break;default:break}return{box:S8(o),s2VolumeInfo:o}}}async function AM(e){let{subtree:t,subtreeData:r={level:0,x:0,y:0,z:0},parentData:n={mortonIndex:0,localLevel:-1,localX:0,localY:0,localZ:0},childIndex:a=0,implicitOptions:i,loaderOptions:o,s2VolumeBox:s}=e,{subdivisionScheme:c,subtreeLevels:u,maximumLevel:l,contentUrlTemplate:f,subtreesUriTemplate:p,basePath:d}=i,h={children:[],lodMetricValue:0,contentUrl:""};if(typeof l!="number"||!Number.isFinite(l))return GF.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${f} won't be loaded...`),h;let m=n.localLevel+1,g=r.level+m;if(g>l)return h;let x=nSt[c],y=Math.log2(x),_=a&1,S=a>>1&1,T=a>>2&1,O=jd(n.localX,_,1),I=jd(n.localY,S,1),B=jd(n.localZ,T,1),D=jd(r.x,O,m),A=jd(r.y,I,m),P=jd(r.z,B,m),R=jd(n.mortonIndex,a,y),U=m===u&&SM(t.childSubtreeAvailability,R),G,W,Q,ce;if(U){let fe=`${d}/${p}`,me=A8(fe,g,D,A,P);G=await Wr(me,T8,o),ce=0,W={level:g,x:D,y:A,z:P},Q={mortonIndex:0,localLevel:0,localX:0,localY:0,localZ:0}}else G=t,ce=(x**m-1)/(x-1)+R,W=r,Q={mortonIndex:R,localLevel:m,localX:O,localY:I,localZ:B};if(!SM(G.tileAvailability,ce))return h;SM(G.contentAvailability,ce)&&(h.contentUrl=A8(f,g,D,A,P));for(let fe=0;fe<x;fe++){let me=aSt(s,fe,c),ye=await AM({subtree:G,subtreeData:W,parentData:Q,childIndex:fe,implicitOptions:i,loaderOptions:o,s2VolumeBox:me});(ye.contentUrl||ye.children.length)&&h.children.push(ye)}return h.contentUrl||h.children.length?iSt(h,{level:g,x:D,y:A,z:P},i,s):h}function SM(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&GF.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?cSt(t,r.explicitBitstream):!1}function iSt(e,t,r,n){let{basePath:a,refine:i,getRefine:o,lodMetricType:s,getTileType:c,rootLodMetricValue:u,rootBoundingVolume:l}=r,f=e.contentUrl&&e.contentUrl.replace(`${a}/`,""),p=u/2**t.level,d=n!=null&&n.box?{box:n.box}:l,h=oSt(d,t,r.subdivisionScheme);return{children:e.children,contentUrl:e.contentUrl,content:{uri:f},id:e.contentUrl,refine:o(i),type:c(e),lodMetricType:s,lodMetricValue:p,geometricError:p,transform:e.transform,boundingVolume:h}}function oSt(e,t,r){if(e.region){let{level:n,x:a,y:i,z:o}=t,[s,c,u,l,f,p]=e.region,d=2**n,h=(u-s)/d,[m,g]=[s+h*a,s+h*(a+1)],x=(l-c)/d,[y,_]=[c+x*i,c+x*(i+1)],S,T;if(r==="OCTREE"){let O=(p-f)/d;[S,T]=[f+O*o,f+O*(o+1)]}else[S,T]=[f,p];return{region:[m,y,g,_,S,T]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function jd(e,t,r){return(e<<r)+t}function A8(e,t,r,n,a){let i=sSt({level:t,x:r,y:n,z:a});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>i[o])}function sSt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function cSt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function DM(e,t=""){if(!t)return"empty";let n=t.split("?")[0].split(".").pop();switch(n){case"pnts":return"pointcloud";case"i3dm":case"b3dm":case"glb":case"gltf":return"scenegraph";default:return n||"empty"}}function OM(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function kM(e,t){if(/^[a-z][0-9a-z+.-]*:/i.test(t)){let n=new URL(e,`${t}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return Ua.resolve(t,e)}function tye(e,t){var a;if(!e)return null;let r;if(e.content){let i=e.content.uri||((a=e.content)==null?void 0:a.url);typeof i<"u"&&(r=kM(i,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:DM(e,r),refine:OM(e.refine)}}async function aye(e,t,r){let n=null,a=nye(e.root);a&&e.root?n=await rye(e.root,e,t,a,r):n=tye(e.root,t);let i=[];for(i.push(n);i.length>0;){let o=i.pop()||{},s=o.children||[],c=[];for(let u of s){let l=nye(u),f;l?f=await rye(u,e,t,l,r):f=tye(u,t),f&&(c.push(f),i.push(f))}o.children=c}return n}async function rye(e,t,r,n,a){var S,T,O;let{subdivisionScheme:i,maximumLevel:o,availableLevels:s,subtreeLevels:c,subtrees:{uri:u}}=n,l=A8(u,0,0,0,0),f=kM(l,r),p=await Wr(f,T8,a),d=(S=e.content)==null?void 0:S.uri,h=d?kM(d,r):"",m=(T=t==null?void 0:t.root)==null?void 0:T.refine,g=e.geometricError,x=(O=e.boundingVolume.extensions)==null?void 0:O["3DTILES_bounding_volume_S2"];if(x){let B={box:S8(x),s2VolumeInfo:x};e.boundingVolume=B}let y=e.boundingVolume,_={contentUrlTemplate:h,subtreesUriTemplate:u,subdivisionScheme:i,subtreeLevels:c,maximumLevel:Number.isFinite(s)?s-1:o,refine:m,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:g,rootBoundingVolume:y,getTileType:DM,getRefine:OM};return await uSt(e,r,p,_,a)}async function uSt(e,t,r,n,a){if(!e)return null;let{children:i,contentUrl:o}=await AM({subtree:r,implicitOptions:n,loaderOptions:a}),s,c=null;return o&&(s=o,c={uri:o.replace(`${t}/`,"")}),{...e,id:s,contentUrl:s,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:DM(e,s),refine:OM(e.refine),content:c||e.content,children:i}}function nye(e){var t;return((t=e==null?void 0:e.extensions)==null?void 0:t["3DTILES_implicit_tiling"])||(e==null?void 0:e.implicitTiling)}var Nc={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:tg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:lSt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function lSt(e,t={},r){let n=t["3d-tiles"]||{},a;return n.isTileset==="auto"?a=(r==null?void 0:r.url)&&r.url.indexOf(".json")!==-1:a=n.isTileset,a?fSt(e,t,r):pSt(e,t,r)}async function fSt(e,t,r){var c;let n=JSON.parse(new TextDecoder().decode(e)),a=(r==null?void 0:r.url)||"",i=dSt(a),o=await aye(n,i,t||{});return{...n,shape:"tileset3d",loader:Nc,url:a,queryString:(r==null?void 0:r.queryString)||"",basePath:i,root:o||n.root,type:"TILES3D",lodMetricType:"geometricError",lodMetricValue:((c=n.root)==null?void 0:c.geometricError)||0}}async function pSt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await pM(e,0,t,r,n.content),n.content}function dSt(e){return Ua.dirname(e)}var iye="https://api.cesium.com/v1/assets";async function oye(e,t){var i;if(!t){let o=await hSt(e);for(let s of o.items)s.type==="3DTILES"&&(t=s.id)}let r=await mSt(e,t),n=r.type,a=((i=r.options)==null?void 0:i.url)||r.url;return yt(n==="3DTILES"&&a),r.headers={Authorization:`Bearer ${r.accessToken||e}`},r}async function hSt(e){yt(e);let t=iye,r={Authorization:`Bearer ${e}`},n=await si(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function mSt(e,t){yt(e,t);let r={Authorization:`Bearer ${e}`},n=`${iye}/${t}`,a=await si(`${n}`,{headers:r});if(!a.ok)throw new Error(a.statusText);let i=await a.json();if(a=await si(`${n}/endpoint`,{headers:r}),!a.ok)throw new Error(a.statusText);let o=await a.json();return i={...i,...o},i}async function gSt(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let a=e.match(/\/([0-9]+)\/tileset.json/);n=a&&a[1]}return oye(r,n)}var k8={...Nc,id:"cesium-ion",name:"Cesium Ion",preload:gSt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=k8,Nc.parse(e,t,r)),options:{"cesium-ion":{...Nc.options["3d-tiles"],accessToken:null}}};var mTe=Dt(hTe(),1),L4t="4.5.3",bN={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:L4t,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:B4t};async function B4t(e,t={}){let r=[],n={};try{let a=new mTe.default;return(await a.loadAsync(e,t)).forEach((o,s)=>{if(s.dir)return;let c=s.name,u=M4t(a,c,t).then(l=>{n[o]=l});r.push(u)}),await Promise.all(r),n}catch(a){throw t.log.error(`Unable to read zip archive: ${a}`),a}}async function M4t(e,t,r={}){try{return await e.file(t).async(r.dataType||"arraybuffer")}catch(n){return r.log.error(`Unable to read ${t} from zip archive: ${n}`),n}}function wy(e){return typeof e=="bigint"?e:BigInt(e)}function bTe(e){let t=Number(e);if(!Number.isFinite(t))throw new Error("Offset is out of bounds");return t}function gTe(e,t){return e<0?Math.max(t+e,0):Math.min(e,t)}async function Xr(e,t,r){let n=wy(t),i=wy(r)-n;if(i<0)throw new Error("Invalid range requested");return await e.read(n,bTe(i))}async function Xd(e,t,r){let n=await Xr(e,t,r);return new DataView(n)}async function vTe(e,t){return(await Xd(e,t,wy(t)+2n)).getUint16(0,!0)}async function vN(e,t){return(await Xd(e,t,wy(t)+4n)).getUint32(0,!0)}async function Ey(e,t){return(await Xd(e,t,wy(t)+8n)).getBigUint64(0,!0)}async function Sy(e){if(e.bigsize>0n)return e.bigsize;if(e.size>0)return BigInt(e.size);if(e.stat){let t=await e.stat();if((t==null?void 0:t.bigsize)!==void 0)return t.bigsize;if((t==null?void 0:t.size)!==void 0)return BigInt(t.size)}return 0n}var Ty=class{handle;size;bigsize;url;constructor(t,r=""){this.handle=t,this.size=t.byteLength,this.bigsize=BigInt(t.byteLength),this.url=r}async close(){}async stat(){return{size:this.size,bigsize:this.bigsize,isDirectory:!1}}async read(t=0,r){let n=bTe(t),a=r?n+r:this.size,i=gTe(n,this.size),o=gTe(a,this.size),c=Math.max(o,i)-i;return c<=0?new ArrayBuffer(0):yu(this.handle.buffer,i,c)}};var q4t=1024,Yd=async(e,t)=>{let r=await Sy(e),n=new Uint8Array(await Xr(e,r-3n,r+1n)),a=[n[3],n[2],n[1],void 0],i=-1,o=r-4n;do{let s=o;o-=BigInt(q4t),o=o>=0n?o:0n;let c=new Uint8Array(await Xr(e,o,s));for(let u=c.length-1;u>-1;u--)if(a[3]=a[2],a[2]=a[1],a[1]=a[0],a[0]=c[u],a.every((l,f)=>l===t[f])){i=u;break}}while(i===-1&&o>0n);return o+BigInt(i)};var N4t=new Uint8Array([1,0]);function vk(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of z4t){if(!t[n.name??""]&&!n.default)continue;let a=new DataView(new ArrayBuffer(n.size));xTe[n.size](a,0,t[n.name??""]??n.default),r.push(a.buffer)}return bn(...r)}function ka(e,t,r,n){xTe[t](e,Number(r),n)}var xTe={2:(e,t,r)=>{e.setUint16(t,Number(r>65535?65535:r),!0)},4:(e,t,r)=>{e.setUint32(t,Number(r>4294967295?4294967295:r),!0)},8:(e,t,r)=>{e.setBigUint64(t,BigInt(r),!0)}},z4t=[{size:2,default:new DataView(N4t.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var yTe=new Uint8Array([80,75,5,6]),_Te=new Uint8Array([80,75,6,7]),wTe=new Uint8Array([80,75,6,6]),TTe=8n,U4t=10n,ETe=12n,STe=16n,G4t=22n,ATe=8n,kTe=24n,V4t=32n,DTe=40n,OTe=48n,$4t=56n,xk=async e=>{let t=await Yd(e,yTe),r=BigInt(await vTe(e,t+TTe)),n=BigInt(await vN(e,t+ETe)),a=BigInt(await vN(e,t+STe)),i=t-20n,o=0n,s=await Xr(e,i,i+4n);if(pc(s,_Te.buffer)){o=await Ey(e,i+ATe);let c=await Xr(e,o,o+4n);if(!pc(c,wTe.buffer))throw new Error("zip64 EoCD not found");r=await Ey(e,o+kTe),n=await Ey(e,o+DTe),a=await Ey(e,o+OTe)}else i=0n;return{cdRecordsNumber:r,cdStartOffset:a,cdByteSize:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:i,zipEoCDOffset:t}}};function FTe(e,t,r,n,a){let i=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(a)<=65535&&(ka(i,2,o+TTe,a),ka(i,2,o+U4t,a)),n-r<=4294967295&&ka(i,4,o+ETe,n-r),r<4294967295&&ka(i,4,o+STe,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;ka(i,8,s+ATe,n),ka(i,8,OTe,r),ka(i,8,kTe,a),ka(i,8,V4t,a),ka(i,8,DTe,n-r)}return new Uint8Array(i.buffer)}function PTe(e){let t=new DataView(new ArrayBuffer(Number(G4t)));for(let a of H4t)ka(t,a.size,a.offset,e[a.name??""]??a.default??0);let r=K4t(e),n=W4t(e);return bn(n,r,t.buffer)}var H4t=[{offset:0,size:4,default:new DataView(yTe.buffer).getUint32(0,!0)},{offset:4,size:2,default:0},{offset:6,size:2,default:0},{offset:8,size:2,name:"recordsNumber"},{offset:10,size:2,name:"recordsNumber"},{offset:12,size:4,name:"cdSize"},{offset:16,size:4,name:"cdOffset"},{offset:20,size:2,default:0}];function W4t(e){let t=new DataView(new ArrayBuffer(Number($4t)));for(let r of Y4t)ka(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function K4t(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of X4t)ka(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var X4t=[{offset:0,size:4,default:new DataView(_Te.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],Y4t=[{offset:0,size:4,default:new DataView(wTe.buffer).getUint32(0,!0)},{offset:4,size:8,default:44},{offset:12,size:2,default:45},{offset:14,size:2,default:45},{offset:16,size:4,default:0},{offset:20,size:4,default:0},{offset:24,size:8,name:"recordsNumber"},{offset:32,size:8,name:"recordsNumber"},{offset:40,size:8,name:"cdSize"},{offset:48,size:8,name:"cdOffset"}];var Q4t=20,J4t=24,Z4t=28,e5t=30,t5t=32,r5t=42,Ay=46n,n5t=1,Jd=new Uint8Array([80,75,1,2]),Qd=async(e,t)=>{let r=await Sy(t);if(e>=r)return null;let n=await Xd(t,e,e+Ay),a=n.buffer.slice(0,4);if(!pc(a,Jd.buffer))return null;let i=BigInt(n.getUint32(Q4t,!0)),o=BigInt(n.getUint32(J4t,!0)),s=n.getUint16(e5t,!0),c=BigInt(n.getUint16(t5t,!0)),u=n.getUint16(Z4t,!0),l=await Xr(t,e+Ay,e+Ay+BigInt(u+s)),f=l.slice(0,u),p=new TextDecoder().decode(f),d=e+Ay+BigInt(u),h=n.getUint32(r5t,!0),m=BigInt(h),g=new DataView(l.slice(u,l.byteLength)),x={uncompressedSize:o,compressedSize:i,localHeaderOffset:m,startDisk:c},y=a5t(x,g);return{...x,...y,extraFieldLength:s,fileNameLength:u,fileName:p,extraOffset:d}};async function*Kc(e){let{cdStartOffset:t,cdByteSize:r}=await xk(e),n=new Ty(new DataView(await Xr(e,t,t+r))),a=await Qd(0n,n);for(;a;)yield a,a=await Qd(a.extraOffset+BigInt(a.extraFieldLength),n)}var a5t=(e,t)=>{let r=i5t(e),n={};if(r.length>0){let a=r.reduce((o,s)=>o+s.length,0),i=0;for(;i+4<=t.byteLength;){let o=t.getUint16(i,!0),s=t.getUint16(i+2,!0),c=i+4;if(c+s>t.byteLength)break;if(o===n5t&&s===a){let u=0;for(let l of r){let f=c+u;if(f+8>c+s)break;n[l.name]=t.getBigUint64(f,!0),u+=l.length}break}i=c+s}}return n},i5t=e=>{let t=[];return e.uncompressedSize===BigInt(4294967295)&&t.push({name:"uncompressedSize",length:8}),e.compressedSize===BigInt(4294967295)&&t.push({name:"compressedSize",length:8}),e.localHeaderOffset===BigInt(4294967295)&&t.push({name:"localHeaderOffset",length:8}),e.startDisk===BigInt(4294967295)&&t.push({name:"startDisk",length:4}),t};function xN(e){let t={...e,fnlength:e.fileName.length,extraLength:0},r=new ArrayBuffer(0),n={};t.offset>=4294967295&&(n.offset=t.offset,t.offset=BigInt(4294967295)),t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=vk(n),t.extraLength=r.byteLength);let a=new DataView(new ArrayBuffer(Number(Ay)));for(let s of o5t)ka(a,s.size,s.offset,t[s.name??""]??s.default??0);let i=new TextEncoder().encode(t.fileName);return bn(a.buffer,i,r)}var o5t=[{offset:0,size:4,default:new DataView(Jd.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:45},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:2,default:0},{offset:16,size:4,name:"crc32"},{offset:20,size:4,name:"length"},{offset:24,size:4,name:"length"},{offset:28,size:2,name:"fnlength"},{offset:30,size:2,default:0,name:"extraLength"},{offset:32,size:2,default:0},{offset:34,size:2,default:0},{offset:36,size:2,default:0},{offset:38,size:4,default:0},{offset:42,size:4,name:"offset"}];var s5t=8,c5t=18,u5t=22,l5t=26,f5t=28,ky=30n,yN=new Uint8Array([80,75,3,4]),Cs=async(e,t)=>{let r=await Xd(t,e,e+ky),n=r.buffer.slice(0,4);if(!pc(n,yN.buffer))return null;let a=r.getUint16(l5t,!0),i=r.getUint16(f5t,!0),o=await Xr(t,e+ky,e+ky+BigInt(a+i)),s=o.slice(0,a),c=new DataView(o.slice(a,o.byteLength)),u=new TextDecoder().decode(s).split("\\").join("/"),l=e+ky+BigInt(a+i),f=r.getUint16(s5t,!0),p=BigInt(r.getUint32(c5t,!0)),d=BigInt(r.getUint32(u5t,!0)),h=4;return d===BigInt(4294967295)&&(d=c.getBigUint64(h,!0),h+=8),p===BigInt(4294967295)&&(p=c.getBigUint64(h,!0),h+=8),l===BigInt(4294967295)&&(l=c.getBigUint64(h,!0)),{fileNameLength:a,fileName:u,extraFieldLength:i,fileDataOffset:l,compressedSize:p,compressionMethod:f}};function _N(e){let t={...e,extraLength:0,fnlength:e.fileName.length},r=new ArrayBuffer(0),n={};t.length>=4294967295&&(n.size=t.length,t.length=4294967295),Object.keys(n).length&&(r=vk(n),t.extraLength=r.byteLength);let a=new DataView(new ArrayBuffer(Number(ky)));for(let s of p5t)ka(a,s.size,s.offset,t[s.name??""]??s.default??0);let i=new TextEncoder().encode(t.fileName);return bn(a.buffer,i,r)}var p5t=[{offset:0,size:4,default:new DataView(yN.buffer).getUint32(0,!0)},{offset:4,size:2,default:45},{offset:6,size:2,default:0},{offset:8,size:2,default:0},{offset:10,size:2,default:0},{offset:12,size:2,default:0},{offset:14,size:4,name:"crc32"},{offset:18,size:4,name:"length"},{offset:22,size:4,name:"length"},{offset:26,size:2,name:"fnlength"},{offset:28,size:2,default:0,name:"extraLength"}];async function d5t(e){let t=await xk(e),r=t.cdStartOffset,n=(await e.stat()).bigsize,a=Number(t.offsets.zip64EoCDOffset?t.offsets.zip64EoCDOffset-r:t.offsets.zipEoCDOffset-r),i=await Xr(e,r,n);await e.truncate(Number(r));let o=i.slice(0,a),s=i.slice(a,i.byteLength);return[o,s,t]}async function ITe(e,t,r){let n=parseInt(await new Hv().hash(t,"hex"),16),a=_N({crc32:n,fileName:e,length:t.byteLength}),i=xN({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(bn(a,t)),new Uint8Array(i)]}async function wN(e,t,r){let n=new Ga(e,"a+"),[a,i,o]=await d5t(n),s=(await n.stat()).bigsize,c=s,[u,l]=await ITe(r,t,c);await n.append(u),s+=BigInt(u.byteLength);let f=bn(a,l),p=s;await n.append(new Uint8Array(f)),s+=BigInt(f.byteLength);let d=s,h=FTe(i,o.offsets,p,d,o.cdRecordsNumber+1n);await n.append(h),s+=BigInt(h.byteLength)}async function TN(e,t,r){let n=h5t(e),a=new Ga(t,"w"),i=[],o=[];for await(let l of n)await CTe(l,a,o,i);if(r){let l=await r(i);await CTe(l,a,o)}let s=(await a.stat()).bigsize,c=bn(...o);await a.append(new Uint8Array(c));let u=(await a.stat()).bigsize;await a.append(new Uint8Array(PTe({recordsNumber:o.length,cdSize:c.byteLength,cdOffset:s,eoCDStart:u})))}async function CTe(e,t,r,n){let a=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:a});let[i,o]=await ITe(e.path,e.file,a);await t.append(i),r.push(Kn(o))}function h5t(e){async function*t(){let r=await jTe(e);for(let n of r){let a=await(await si(Ua.join(e,n))).arrayBuffer();yield{path:n,file:a}}}return t()}async function jTe(e,t="",r){let n=r||new $v({}),a=await n.readdir(yk(e,t)),i=[];for(let o of a){let s=yk(e,t,o);if((await n.stat(s)).isDirectory){let c=await jTe(e,yk(t,o));i.push(...c)}else i.push(yk(t,o))}return i}function yk(...e){let t=e.filter(r=>r.length);return Ua.join(...t)}var Xg=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){l0(t)}async compress(t){return await this.preload(),this.compressSync(t)}async decompress(t,r){return await this.preload(),this.decompressSync(t,r)}compressSync(t){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(t,r){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(t){let r=await this.concatenate(t);yield this.compress(r)}async*decompressBatches(t){let r=await this.concatenate(t);yield this.decompress(r)}concatenate(t){return Lp(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var Dy=class extends Xg{name="uncompressed";extensions=[];contentEncodings=[];isSupported=!0;options;constructor(t){super(t),this.options=t||{}}compressSync(t){return t}decompressSync(t){return t}async*compressBatches(t){return yield*t}async*decompressBatches(t){return yield*t}};var Zd=Dt(aN(),1),ll=Dt(require("zlib"),1),fl=class extends Xg{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!cr&&((r=this.options.deflate)!=null&&r.useZlib)){let a=(n=this.options.deflate)!=null&&n.gzip?await h0(ll.default.gzip)(t):await h0(ll.default.deflate)(t);return Kn(a)}return this.compressSync(t)}async decompress(t){var r,n;if(!cr&&((r=this.options.deflate)!=null&&r.useZlib)){let a=(n=this.options.deflate)!=null&&n.gzip?await h0(ll.default.gunzip)(t):await h0(ll.default.inflate)(t);return Kn(a)}return this.decompressSync(t)}compressSync(t){var i,o,s,c;if(!cr&&((i=this.options.deflate)!=null&&i.useZlib)){let u=(o=this.options.deflate)!=null&&o.gzip?ll.default.gzipSync(t):ll.default.deflateSync(t);return Kn(u)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t),a=(c=this.options)!=null&&c.raw?Zd.default.deflateRaw:Zd.default.deflate;return Kn(a(n,r).buffer)}decompressSync(t){var i,o,s,c;if(!cr&&((i=this.options.deflate)!=null&&i.useZlib)){let u=(o=this.options.deflate)!=null&&o.gzip?ll.default.gunzipSync(t):ll.default.inflateSync(t);return Kn(u)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t),a=(c=this.options)!=null&&c.raw?Zd.default.inflateRaw:Zd.default.inflate;return Kn(a(n,r).buffer)}async*compressBatches(t){var a;let r=((a=this.options)==null?void 0:a.deflate)||{},n=new Zd.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){var a;let r=((a=this.options)==null?void 0:a.deflate)||{},n=new Zd.default.Inflate(r);yield*this.transformBatches(n,t)}async*transformBatches(t,r){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(let o of r){let s=new Uint8Array(o);if(!t.push(s,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),a=t.push(n,!0);yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){let t=this._chunks;return this._chunks=[],t}_getError(t=0){let r={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${r[t]}`}};var Oy=class extends fl{name="gzip";extensions=["gz","gzip"];contentEncodings=["gzip","x-gzip"];isSupported=!0;constructor(t){super({...t,deflate:{...t==null?void 0:t.gzip,gzip:!0}})}};var RTe={0:async e=>e,8:async e=>await new fl({raw:!0}).decompress(e)},pl=class{file=null;fileName;archive=null;constructor(t){if(typeof t=="string"){if(this.fileName=t,cr)throw new Error("ZipFileSystem cannot open file paths in browser environments");this.file=new Ga(t)}else t instanceof Blob||t instanceof ArrayBuffer?this.file=new Gv(t):t instanceof dl?(this.file=t.file,this.archive=t,this.fileName=t.fileName):this.file=t}async destroy(){this.file&&await this.file.close()}async readdir(){if(!this.file)throw new Error("No data detected in the zip archive");let t=[],r=Kc(this.file);for await(let n of r)t.push(n.fileName);return t}async stat(t){let r=await this.getCDFileHeader(t);return{...r,size:Number(r.uncompressedSize)}}async fetch(t){this.fileName&&t.indexOf(this.fileName)===0&&(t=t.substring(this.fileName.length+1));let r;if(this.archive)r=await this.archive.getFile(t,"http");else{if(!this.file)throw new Error("No data detected in the zip archive");let a=await this.getCDFileHeader(t),i=await Cs(a.localHeaderOffset,this.file);if(!i)throw new Error("Local file header has not been found in the zip archive`");let o=RTe[i.compressionMethod.toString()];if(!o)throw Error("Only Deflation compression is supported");let s=await Xr(this.file,i.fileDataOffset,i.fileDataOffset+i.compressedSize);r=await o(s)}let n=new Response(r);return Object.defineProperty(n,"url",{value:t?`${this.fileName||""}/${t}`:this.fileName||""}),n}async getCDFileHeader(t){if(!this.file)throw new Error("No data detected in the zip archive");let r=Kc(this.file),n=null;for await(let a of r)if(a.fileName===t){n=a;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var dl=class{file;fileName;constructor(t,r,n){this.file=t,this.fileName=n}async getFileWithoutHash(t){return await(await new pl(this.file).fetch(t)).arrayBuffer()}};function Fy(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let a=t.getBigUint64(n+16,!0),i=m5t(e,n,16);r[i]=a}return r}function m5t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function EN(e){let t=Kc(e);return g5t(t)}async function g5t(e){let t=new mc,r=new TextEncoder,n={};for await(let a of e){let i=a.fileName.split("\\").join("/").toLocaleLowerCase(),o=r.encode(i).buffer,s=await t.hash(o,"hex");n[s]=a.localHeaderOffset}return n}async function Py(e){let t=new mc,r=new TextEncoder,n=[];for await(let i of e){let o=i.fileName.split("\\").join("/");o!=="3dSceneLayer.json.gz"&&(o=o.toLocaleLowerCase());let s=r.encode(o).buffer,c=await t.hash(s,"hex");n.push(bn(v5t(c),x5t(i.localHeaderOffset)))}let a=n.sort(b5t);return ww(a)}function b5t(e,t){let r=new BigUint64Array(e),n=new BigUint64Array(t);return Number(r[0]===n[0]?r[1]-n[1]:r[0]-n[0])}function v5t(e){var r;let t=(r=e.match(/../g))==null?void 0:r.map(n=>parseInt(n,16));return new Uint8Array(t??new Array(16)).buffer}function x5t(e){return new BigUint64Array([e]).buffer}var y5t={0:e=>new Dy().decompress(e),8:e=>new fl({raw:!0}).decompress(e)},Cy=class extends dl{hashTable;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!r)throw new Error(`No such file in the archive: ${t}`);return r}async getFileBytes(t){let r;if(this.hashTable){let n=new TextEncoder().encode(t).buffer,a=await new mc().hash(n,"hex"),i=this.hashTable[a];if(i===void 0)return null;let o=await Cs(i,this.file);if(!o)return null;let s=await Xr(this.file,o.fileDataOffset,o.fileDataOffset+o.compressedSize),c=y5t[o.compressionMethod];if(!c)throw Error("Only Deflation compression is supported");r=await c(s)}else r=await this.getFileWithoutHash(t);return r}};function Yf(e,t,r){if(!t)return r+12;let{magic:a,version:i=1,byteLength:o=12}=e;return yt(Array.isArray(a)&&Number.isFinite(i)&&Number.isFinite(o)),t.setUint8(r+0,a[0]),t.setUint8(r+1,a[1]),t.setUint8(r+2,a[2]),t.setUint8(r+3,a[3]),t.setUint32(r+4,i,!0),t.setUint32(r+8,o,!0),r+=12,r}function Qf(e,t,r){e&&e.setUint32(t+8,r,!0)}function LTe(e,t,r,n,a){e={magic:Rf.COMPOSITE,tiles:[],...e};let i=r;r+=Yf(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let o=0;o<e.tiles.length;++o)r+=a(e.tiles[o],t,r,n);return Qf(t,i,r-i),r}function BTe(e,t,r,n){let{featuresLength:a=0,batchTable:i}=e,s=JSON.stringify({BATCH_LENGTH:a}),c=i?JSON.stringify(i):"",u=Ki(s.length,8),l=c?Ki(c.length,8):0;e={magic:Rf.BATCHED_MODEL,...e};let f=r;r=Yf(e,t,r),t&&(t.setUint32(12,u,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=d0(t,r,s,8),i&&(r=d0(t,r,c,8));let p=e.gltfEncoded;return p&&(r=zv(t,r,p,p.byteLength)),Qf(t,f,r-f),r}function MTe(e,t,r,n){let{featuresLength:a=1,gltfFormat:i=1,gltfUri:o=""}=e,s=o.length,c={INSTANCES_LENGTH:a,POSITION:new Array(a*3).fill(0)},u=JSON.stringify(c),l=u.length;e={magic:Rf.INSTANCED_MODEL,...e};let f=r;return r=Yf(e,t,0),t&&(t.setUint32(12,l,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint32(24,0,!0),t.setUint32(28,i,!0)),r+=20,r+=p0(t,r,u,l),r+=p0(t,r,o,s),Qf(t,f,r-f),r}var _5t={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function qTe(e,t,r,n){let{featureTableJson:a=_5t}=e,i=JSON.stringify(a);i=cP(i,4);let{featureTableJsonByteLength:o=i.length}=e,s=new ArrayBuffer(12),c=s.byteLength;e={magic:Rf.POINT_CLOUD,...e};let u=r;return r+=Yf(e,t,0),t&&(t.setUint32(r+0,o,!0),t.setUint32(r+4,c,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=p0(t,r,i,o),r+=zv(t,r,s,c),Qf(t,u,r-u),r}function AN(e,t){let r=SN(e,null,0,t),n=new ArrayBuffer(r),a=new DataView(n);return SN(e,a,0,t),n}function SN(e,t,r,n){switch(yt(typeof e.type=="string"),e.type){case da.COMPOSITE:return LTe(e,t,r,n,SN);case da.POINT_CLOUD:return qTe(e,t,r,n);case da.BATCHED_3D_MODEL:return BTe(e,t,r,n);case da.INSTANCED_3D_MODEL:return MTe(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var kN={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:tg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>NTe(e,t),encodeSync:NTe};function NTe(e,t){return AN(e,t)}var Xo=require("path");var zTe=Dt(require("crypto")),wk=new Uint8Array(256),_k=wk.length;function DN(){return _k>wk.length-16&&(zTe.default.randomFillSync(wk),_k=0),wk.slice(_k,_k+=16)}var Da=[];for(let e=0;e<256;++e)Da.push((e+256).toString(16).slice(1));function UTe(e,t=0){return Da[e[t+0]]+Da[e[t+1]]+Da[e[t+2]]+Da[e[t+3]]+"-"+Da[e[t+4]]+Da[e[t+5]]+"-"+Da[e[t+6]]+Da[e[t+7]]+"-"+Da[e[t+8]]+Da[e[t+9]]+"-"+Da[e[t+10]]+Da[e[t+11]]+Da[e[t+12]]+Da[e[t+13]]+Da[e[t+14]]+Da[e[t+15]]}var GTe=Dt(require("crypto")),ON={randomUUID:GTe.default.randomUUID};function w5t(e,t,r){if(ON.randomUUID&&!t&&!e)return ON.randomUUID();e=e||{};let n=e.random||(e.rng||DN)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let a=0;a<16;++a)t[r+a]=n[a];return t}return UTe(n)}var Xc=w5t;var ph=Dt(require("process"),1),g4=Dt(Is(),1),b4=Dt(CN(),1);var Sk=require("path"),i6e=Dt(Is(),1);var t6e=()=>({folderPattern:{path:"folderPattern",default:"BASIC"},archiveCompressionType:{path:"archiveCompressionType",default:"STORE"},resourceCompressionType:{path:"resourceCompressionType",default:"GZIP"},I3SVersion:{path:"I3SVersion",default:"1.8"},nodeCount:{path:"nodeCount"}});var eh=require("fs"),Yg=require("path");var r6e=require("zlib"),Tk=require("fs");function Ek(e){let t=`${e}.gz`,r=(0,r6e.createGzip)(),n=(0,Tk.createReadStream)(e),a=(0,Tk.createWriteStream)(t);return new Promise((i,o)=>{n.on("end",()=>{console.log(`${t} compressed and saved.`),i(t)}),n.on("error",s=>{console.log(`${t}: compression error!`),o(s)}),n.pipe(r).pipe(a)})}async function Ci(e,t,r="index.json"){let n;t instanceof Promise?n=new Uint8Array(await t):t instanceof ArrayBuffer?n=new Uint8Array(t):n=t,await eh.promises.mkdir(e,{recursive:!0});let a=(0,Yg.join)(e,r);try{await eh.promises.writeFile(a,n)}catch(i){throw i}return console.log(`${a} saved.`),a}async function Yc(e,t,r="index.json",n=!0,a){let i=await Ci(e,t,r);if(n){if(a)return a.includes(i)?null:(a.push(i),`${i}.gz`);let o=await Ek(i);return await Ly(i),o}return i}async function Qg(e,t){return new Promise((r,n)=>{let a=0;console.log(`load ${e}/${t}.`);let i=setInterval(()=>{let o=(0,Yg.join)(e,t);Wr(o,uP).then(s=>{clearInterval(i),r(s)}).catch(()=>{a++,a>100&&(clearInterval(i),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function jy(e){try{return await eh.promises.stat(e),!0}catch{return!1}}function Ry(e){return eh.promises.rm(e,{recursive:!0})}function Ly(e){return eh.promises.unlink(e)}function n6e(e){return(0,Yg.isAbsolute)(e)?e:(0,Yg.join)(process.cwd(),e)}async function a6e(e,t){try{await eh.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Oa=class{nodesPerPage;nodesCounter;writeFile;converter;nodePages;length=0;constructor(t,r,n){this.nodesPerPage=r,this.nodesCounter=0,this.nodePages=[{}],this.nodePages[0].nodes=[],this.writeFile=t,this.converter=n,this.length=0}useWriteFunction(t){this.writeFile=t}getNodePageFileName(t){let r=(0,Sk.join)(this.converter.layers0Path,"nodepages"),n=`${t.toString()}.json`;return{filePath:r,fileName:n}}async loadNodePage(t){let{filePath:r,fileName:n}=this.getNodePageFileName(t),a=(0,Sk.join)(r,n);return await jy(a)?(console.log(`load ${a}.`),await Qg(r,n)):{nodes:[]}}getPageIndexByNodeId(t){return Math.floor(t/this.nodesPerPage)}async getPageByNodeId(t){let r=this.getPageIndexByNodeId(t);return this.converter.options.instantNodeWriting?await this.loadNodePage(r):this.nodePages[r]}async getNodeById(t,r){let n=t%this.nodesPerPage;return r=r||await this.getPageByNodeId(t),r.nodes[n]}async addChildRelation(t,r){var a;if(t==null)return;let n=await this.getNodeById(t);(a=n.children)==null||a.push(r),await this.saveNode(n)}async push(t,r){if(t.index=this.nodesCounter++,!this.converter.options.instantNodeWriting){let n=this.nodePages[this.nodePages.length-1];n.nodes.length===this.nodesPerPage&&(n={nodes:[]},this.nodePages.push(n)),n.nodes.push(t)}return await this.addChildRelation(r,t.index),Oa.updateResourceInMesh(t),await this.saveNode(t),t}async saveNode(t){if(!this.converter.options.instantNodeWriting)return;let r=this.getPageIndexByNodeId(t.index),n=await this.getPageByNodeId(t.index),{filePath:a,fileName:i}=this.getNodePageFileName(r),o=await this.getNodeById(t.index,n);o?Oa.updateAll(o,t):n.nodes.push(t);let s=JSON.stringify(n);await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(a,s,i,!0,this.converter.compressList)},!0)}async saveMetadata(){let t=(0,i6e.default)({nodeCount:this.nodesCounter},t6e()),r=!1;await this.converter.writeQueue.enqueue({archiveKey:"metadata.json",writePromise:()=>this.writeFile(this.converter.layers0Path,JSON.stringify(t),"metadata.json",r)})}async save(){if(this.converter.options.instantNodeWriting){await this.saveMetadata();return}for(let[t,r]of this.nodePages.entries()){let n=JSON.stringify(r),a=(0,Sk.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(a,n,`${t.toString()}.json`)})}await this.saveMetadata()}static updateResourceInMesh(t){t.mesh&&isFinite(t.index)&&(t.mesh.geometry.resource=t.index)}static updateAll(t,r){return Object.assign(t,r,{index:t.index}),Oa.updateResourceInMesh(t),t}static updateMaterialByNodeId(t,r){t.mesh&&(t.mesh.material={definition:r,resource:t.index})}static updateVertexCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.vertexCount=r)}static updateNodeAttributeByNodeId(t){!t.mesh||!t.index||(t.mesh.attribute.resource=t.index)}static updateFeatureCountByNodeId(t,r){t.mesh&&(t.mesh.geometry.featureCount=r)}static updateTexelCountHintByNodeId(t,r){!t.mesh||!t.mesh.material||(t.mesh.material.texelCountHint=r)}};var By=require("path"),Ak=require("fs");function Jg(e){if(typeof e=="number"){let i=Math.floor(e/1e3),o=e-i*1e3;return o6e(i,o)}let t=1e6,r=e[0],n=e[1]/t;return o6e(r,n)}function o6e(e,t){let r=Math.floor(e/3600);e=e-r*3600;let n=Math.floor(e/60);e=e-n*60;let a=Math.floor(e),i="";return r&&(i+=`${r}h `),n&&(i+=`${n}m `),a&&(i+=`${a}s`),i||(i+=`${Math.floor(t)}ms`),i}async function kk(e){let{slpk:t,outputPath:r,tilesetName:n}=e,a=n6e(r);try{if(t){let s=(0,By.join)(a,`${n}.slpk`);return(await Ak.promises.stat(s)).size}let i=(0,By.join)(a,n);return await s6e(i)}catch(i){return console.log("Calculate file sizes error: ",i),null}}async function s6e(e){let t=0,r=await Ak.promises.readdir(e);for(let n of r){let a=await Ak.promises.stat((0,By.join)(e,n));a.isDirectory()?t+=await s6e((0,By.join)(e,n)):t+=a.size}return t}var S6e=require("module"),Pk=require("path");var A6e=Dt(CN(),1);var th=3,Zg=9;function u6e(e){let{positions:t,normals:r,texCoords:n,colors:a,uvRegions:i,featureIndices:o}=e,s=t.length/Zg;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:t,normals:r,texCoords:n,colors:a,uvRegions:i};let c=I5t(o),u=j5t({...c,...e}),l=R5t(u);return L5t(l,c.featureCount)}function I5t(e){let t=1,r=1,n=c6e(e.slice(0,th)),a=[],i=[],o=[n];a[0]=0,i[0]=n;for(let u=th;u<e.length;u+=th){let l=c6e(e.slice(u,u+th));n!==l&&(a[t]=u/th-1,a[t+1]=u/th,i[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}a[t]=e.length/th-1;let s=new Uint32Array(a),c=o.length;return{faceRange:s,featureCount:c,featureIds:i}}function c6e(e){let t={},r=e[0],n=1;for(let a of e)t[a]=(t[a]||0)+1,n=n>t[a]?n:t[a],r=n>t[a]?r:a;return r}function j5t(e){let{featureIds:t,positions:r,normals:n,colors:a,uvRegions:i,texCoords:o,faceRange:s=new Uint32Array(0)}=e,c=[],u=new Float32Array(r),l=new Float32Array(n),f=new Uint8Array(a),p=new Float32Array(o),d=new Uint16Array(i),h=0,m=0,g=0,x=0,y=0;for(let _=0;_<t.length;_++){let S=s[_*2],T=s[_*2+1],O=My("positions",S,T),I=My("normals",S,T),B=My("colors",S,T),D=My("uvRegions",S,T),A=My("texCoords",S,T);c.push({featureId:t[_],positions:u.subarray(h,h+O),normals:l.subarray(m,m+I),colors:f.subarray(g,g+B),uvRegions:d.subarray(x,x+D),texCoords:p.subarray(y,y+A)}),h+=O,m+=I,g+=B,x+=D,y+=A}return c}function My(e,t,r){let i=r-t+1,o=i*3;switch(e){case"positions":case"normals":return i*Zg;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function R5t(e){let t=[];for(let n of e){let a=t.find(i=>i.featureId===n.featureId);a?a.attributes.push(n):t.push({featureId:n.featureId,attributes:[n]})}let r=[];for(let n of t){let a=l6e(n.attributes);r.push({featureId:n.featureId,...a})}return r}function L5t(e,t){let n=[e[0].featureId||0],a=[0],i=0,o=0;for(let u=1;u<e.length;u++){let l=e[u];n.push(l.featureId||0);let f=e[i];a.push(f.positions.length/Zg-1+o),a.push(f.positions.length/Zg+o),o+=f.positions.length/Zg,i+=1}let s=l6e(e);return a.push(s.positions.length/Zg-1),{faceRange:new Uint32Array(a),featureIds:n,featureCount:t,...s}}function l6e(e){let t=e.map(({positions:f})=>f),r=t.length>1?Wi(...t):t[0],n=e.map(({normals:f})=>f),a=n.length>1?Wi(...n):n[0],i=e.map(({colors:f})=>f),o=i.length>1?Wi(...i):i[0],s=e.map(({texCoords:f})=>f),c=s.length>1?Wi(...s):s[0],u=e.map(({uvRegions:f})=>f),l=u.length>1?Wi(...u):u[0];return{positions:r,normals:a,colors:o,texCoords:c,uvRegions:l}}function Dk(e,t){let r,n,a,i=Pt.WGS84.cartesianToCartographic(e.center,new Z);return t&&(i[2]=i[2]-t.getHeight(i[1],i[0])),e instanceof pa?(n=e.halfSize,r=new Z(n[0],n[1],n[2]).len(),a=e.quaternion):(r=e.radius,n=[r,r,r],a=new Io().fromMatrix3(new nr([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[i[0],i[1],i[2],r],obb:{center:[i[0],i[1],i[2]],halfSize:n,quaternion:a}}}function f6e(e,t){let r=B5t(e),n=A1(r),a=p7(r),i=Pt.WGS84.cartesianToCartographic(a.center,new Z),o=Pt.WGS84.cartesianToCartographic(n.center,new Z);return t&&(i[2]=i[2]-t.getHeight(i[1],i[0]),o[2]=o[2]-t.getHeight(o[1],o[0])),{mbs:[i[0],i[1],i[2],a.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function B5t(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new Z([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function p6e(e){let t;e instanceof ci?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,a=Pt.WGS84.cartesianToCartographic(new Z(r[0]+n,r[1]+n,r[2]+n),new Z),i=Pt.WGS84.cartesianToCartographic(new Z(r[0]-n,r[1]-n,r[2]-n),new Z);return{xmin:Math.min(i[0],a[0]),xmax:Math.max(i[0],a[0]),ymin:Math.min(i[1],a[1]),ymax:Math.max(i[1],a[1]),zmin:Math.min(i[2],a[2]),zmax:Math.max(i[2],a[2])}}function IN(e){let t=e[3],r=new Z(e[0],e[1],e[2]),n=new nr([t,0,0,0,t,0,0,0,t]);return new pa(r,n)}function d6e(e,t,r){var s,c,u,l,f,p,d,h;let n=((c=(s=e.gltf)==null?void 0:s.scene)==null?void 0:c.nodes)||((f=(l=(u=e.gltf)==null?void 0:u.scenes)==null?void 0:l[0])==null?void 0:f.nodes)||((p=e.gltf)==null?void 0:p.nodes)||[],a=((h=(d=e.gltf)==null?void 0:d.images)==null?void 0:h.map(m=>{var y,_;if((y=m==null?void 0:m.image)!=null&&y.compressed)return null;let g=(_=m==null?void 0:m.image)==null?void 0:_.data,x=new Uint8Array(g.length);return x.set(g),{data:x,compressed:!1,height:m.image.height,width:m.image.width,components:m.image.components,mimeType:m.mimeType}}))||[];h6e(n);let{cartographicOrigin:i,modelMatrix:o}=q5t(e,t,r);return{nodes:n,images:a,cartographicOrigin:i,cartesianModelMatrix:o}}function M5t(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function q5t(e,t,r){let{rtcCenter:n,gltfUpAxis:a}=e,{center:i}=r,o=new mr(t);switch(n&&o.translate(n),a){case"Z":break;case"Y":let u=new mr().rotateX(Math.PI/2);o=o.multiplyRight(u);break;case"X":let l=new mr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new Z(i),c=Pt.WGS84.cartesianToCartographic(s,new Z);return{modelMatrix:o,cartographicOrigin:c}}function h6e(e){var t;for(let r=0;r<e.length;r++){let n=e[r];n.mesh&&(e[r]={...n,mesh:{...n.mesh,primitives:(t=n.mesh)==null?void 0:t.primitives.map(a=>{var i,o,s;return{...a,indices:{value:(i=a==null?void 0:a.indices)==null?void 0:i.value},attributes:M5t(a.attributes),material:{id:(o=a==null?void 0:a.material)==null?void 0:o.id,uniqueId:(s=a==null?void 0:a.material)==null?void 0:s.uniqueId}}})}}),n.children&&h6e(n.children)}}function m6e(e,t){var n,a;let r=(a=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:a[Ro];if(!(r!=null&&r.featureTextures))return null;for(let i in r.featureTextures)if(r.featureTextures[i].class===t)return i;return null}function g6e(e,t,r,n){let a=t==null?void 0:t.extensions;if(!a)return[];for(let[i,o]of Object.entries(a||{}))switch(i){case Ro:return z5t(e,o,r,n);case n8:return N5t(e,o);default:return[]}return[]}function N5t(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function z5t(e,t,r,n){var o,s,c,u,l,f,p;let a=(o=t==null?void 0:t.featureIdAttributes)==null?void 0:o[0];if((s=a==null?void 0:a.featureIds)!=null&&s.attribute)return e[a.featureIds.attribute].value;if((c=a==null?void 0:a.featureIds)!=null&&c.hasOwnProperty("constant")&&((u=a==null?void 0:a.featureIds)!=null&&u.hasOwnProperty("divisor"))){let d=((l=e==null?void 0:e.POSITIONS)==null?void 0:l.value.length)/3||0;return U5t(d,a.featureIds.constant,a.featureIds.divisor)}let i=(t==null?void 0:t.featureIdTextures)&&(t==null?void 0:t.featureIdTextures[0]);if(i){let h=`TEXCOORD_${((p=(f=i==null?void 0:i.featureIds)==null?void 0:f.texture)==null?void 0:p.texCoord)||0}`,m=e[h].value;return G5t(i,m,r)}return n?e[n].value:[]}function U5t(e,t=0,r=0){let n=[];if(r>0){let a=t,i=r;for(let o=0;o<e;o++)n.push(a),i-=1,i===0&&(a++,i=r)}else n=Array(e).fill(t,0,e);return n}function G5t(e,t,r){var u,l,f;if(!(r!=null&&r.length))return[];let n={r:0,g:1,b:2,a:3},a=(l=(u=e==null?void 0:e.featureIds)==null?void 0:u.texture)==null?void 0:l.index,i=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!i||a===void 0)return[];let o=r[a],s=[],c=n[i];if(o&&(o!=null&&o.width)&&(o!=null&&o.height)&&(o!=null&&o.components))for(let p=0;p<t.length;p+=2){let d=t[p],h=t[p+1],m=Math.min(VA(d)*o.width|0,o.width-1),x=(Math.min(VA(h)*o.height|0,o.height-1)*o.width+m)*o.components+c,y=new Uint8Array(o.data)[x];s.push(y)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function b6e(e,t){let r={};for(let n in t){let a=t[n];r[n]=V5t(a,e)}return r}function V5t(e,t){let r=[];if(e)for(let n in t){let a=e[n]||null;r.push(a)}return r}function v6e(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function $5t(e){return typeof e=="string"||typeof e=="bigint"?rn.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?rn.SHORT_INT_TYPE:rn.DOUBLE_TYPE:rn.STRING_TYPE}function x6e(e){let t={};for(let r in e){let n=e[r][0],a=$5t(n);t[r]=a}return t}var y6e=(e,t)=>{var i,o,s,c,u,l,f,p;let r={},n=(c=(s=(o=(i=e.extensions)==null?void 0:i[Ro])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:c[t];if(n){for(let d in n.properties){let h=n.properties[d],m=H5t(h);r[d]=m}return r}let a=(p=(f=(l=(u=e.extensions)==null?void 0:u[Qu])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:p[t];if(a){for(let d in a.properties){let h=a.properties[d],m=W5t(h);r[d]=m}return r}return null},H5t=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=rn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=rn.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=rn.STRING_TYPE;break;default:t=rn.STRING_TYPE;break}return t},W5t=e=>{let t;if(e.array)t=rn.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=rn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=rn.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=rn.STRING_TYPE;break;default:t=rn.STRING_TYPE;break}return t};var Ok=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var UDt={},K5t=1,X5t=1,js=3,qy=2,Y5t=4,Q5t="string",J5t="Int32",Z5t="Float64",eDt="Oid32",_6e=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],Jf=new Z;async function jN({tileContent:e,tileTransform:t,tileBoundingVolume:r,addNodeToNodePage:n,propertyTable:a,featuresHashArray:i,attributeStorageInfo:o,draco:s,generateBoundingVolumes:c,shouldMergeMaterials:u,geoidHeightModel:l,libraries:f,metadataClass:p}){var _;let d=c,h=await mDt((_=e.gltf)==null?void 0:_.materials,u),m=d6e(e,t,r),g=m6e(e,p),x=await nDt(m,h,d,g);c&&tDt(x,l);let y=[];for(let S of h){let T=S.mergedMaterials[0].originalMaterialId;if(!x.has(T))continue;let O=x.get(T);if(!O)continue;let{material:I,texture:B}=S,D=await n();y.push(await rDt({convertedAttributes:O,material:I,texture:B,tileContent:e,nodeId:D,featuresHashArray:i,propertyTable:a,attributeStorageInfo:o,draco:s,libraries:f}))}return y.length?y:null}function tDt(e,t){for(let r of e.values()){let n=f6e(r.positions,t);r.boundingVolumes=n;let a=n.obb.center;for(let i=0;i<r.positions.length;i+=js){let o=r.positions.subarray(i,i+js);Pt.WGS84.cartesianToCartographic(Array.from(o),Jf),t&&(Jf[2]=Jf[2]-t.getHeight(Jf[1],Jf[0])),Jf=Jf.subtract(a),r.positions.set(Jf,i)}}}async function rDt({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:a,featuresHashArray:i,propertyTable:o,attributeStorageInfo:s,draco:c,libraries:u}){var A;let l=e.boundingVolumes,f=e.positions.length/js,{faceRange:p,featureIds:d,positions:h,normals:m,colors:g,uvRegions:x,texCoords:y,featureCount:_}=u6e(e),S={};o&&(S=ADt(d,e.featureIndices,i,o));let T=new Uint32Array(2),O=RDt(d);T.set([f,_],0);let I=new Uint8Array(bn(T.buffer,h.buffer,m.buffer,r?y.buffer:new ArrayBuffer(0),g.buffer,x,O.buffer,p.buffer)),B=c?LDt(f,e,{positions:h,normals:m,texCoords:r?y:new Float32Array(0),colors:g,uvRegions:x,featureIds:d,faceRange:p},u):null,D=[];return s&&o&&(D=FDt(d,S,o,s)),{nodeId:a,geometry:I,compressedGeometry:B,texture:r,hasUvRegions:Boolean(x.length),sharedResources:_Dt(((A=n.gltf)==null?void 0:A.materials)||[],a),meshMaterial:t,vertexCount:f,attributes:D,featureCount:_,boundingVolumes:l}}async function nDt(e,t,r,n){let{nodes:a,images:i,cartographicOrigin:o,cartesianModelMatrix:s}=e,c=new Map;for(let u of t){let l={positions:new Float32Array(0),normals:new Float32Array(0),texCoords:new Float32Array(0),colors:new Uint8Array(0),uvRegions:new Uint16Array(0),featureIndicesGroups:[],featureIndices:[],boundingVolumes:null,mergedMaterials:u.mergedMaterials};for(let f of u.mergedMaterials)c.set(f.originalMaterialId,l)}k6e({nodes:a,images:i,cartographicOrigin:o,cartesianModelMatrix:s,attributesMap:c,useCartesianPositions:r,featureTexture:n});for(let u of c.keys()){let l=c.get(u);if(l){if(l.positions.length===0){c.delete(u);continue}l.featureIndicesGroups&&(l.featureIndices=l.featureIndicesGroups.reduce((f,p)=>f.concat(p)),delete l.featureIndicesGroups)}}return c}function k6e({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i,matrix:o=new mr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){if(e)for(let c of e)iDt({node:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i,matrix:o,featureTexture:s})}function aDt(e,t){let r=t,{matrix:n,rotation:a,scale:i,translation:o}=e;return n&&(r=t.multiplyRight(n)),o&&(r=r.translate(o)),a&&(r=r.rotateXYZ(a)),i&&(r=r.scale(i)),r}function iDt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i,matrix:o=new mr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let c=aDt(e,o),u=e.mesh;u&&oDt({mesh:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i,matrix:c,featureTexture:s}),k6e({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i,matrix:c,featureTexture:s})}function oDt({mesh:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:a,useCartesianPositions:i=!1,matrix:o,featureTexture:s}){var c;for(let u of e.primitives){let l=null,f;u.material?(l=a.get(u.material.id),f=(c=l==null?void 0:l.mergedMaterials.find(({originalMaterialId:h})=>{var m;return h===((m=u.material)==null?void 0:m.id)}))==null?void 0:c.uvRegion):a.has("default")&&(l=a.get("default")),yt(l!==null,"Primitive - material mapping failed"),yt(u.mode===void 0||u.mode===ht.TRIANGLES||u.mode===ht.TRIANGLE_STRIP,`Primitive - unsupported mode ${u.mode}`);let p=u.attributes;if(!l)continue;let d=sDt(u);l.positions=Wi(l.positions,w6e({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:cDt,useCartesianPositions:i})),l.normals=Wi(l.normals,w6e({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:uDt,useCartesianPositions:!1})),l.texCoords=Wi(l.texCoords,lDt(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=Wi(l.colors,fDt(p.COLOR_0,d)),f&&(l.uvRegions=Wi(l.uvRegions,pDt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(dDt(hDt(p,u,t,s),d))}}function sDt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return Ok(n.length/js)}if(t&&e.mode===ht.TRIANGLE_STRIP){let n=t.constructor,a=new n((t.length-2)*3),i=0,o=t.slice(0,3);a.set(o,0);for(let s=1;s+2<t.length;s++)i+=3,o=t.slice(s,s+3),s%2===0?a.set(o,i):a.set(o.reverse(),i);t=a}return t}function w6e(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,a=new Float32Array(r.length*js);if(!t)return a;for(let i=0;i<r.length;i++){let o=r[i]*js,s=t.subarray(o,o+js),c=new Z(Array.from(s));c=n(c,e),a[i*js]=c.x,a[i*js+1]=c.y,a[i*js+2]=c.z}return a}function cDt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:a,useCartesianPositions:i}=t;return a&&(e=e.transform(a)),e=e.transform(r),i||(Pt.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function uDt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function lDt(e,t){let r=new Float32Array(t.length*qy);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let a=t[n]*qy,i=e.subarray(a,a+qy);r[n*qy]=i[0],r[n*qy+1]=i[1]}return r}function fDt(e,t){let r=(e==null?void 0:e.components)||Y5t,n=new Uint8Array(t.length*r);if(!e)return n.fill(255),n;let a=e.value;for(let i=0;i<t.length;i++){let o=t[i]*r,s=a.subarray(o,o+r),c=new Uint8Array(r);for(let u=0;u<s.length;u++)c[u]=s[u]*255;n.set(c,i*r)}return n}function pDt(e,t){let r=new Uint16Array(t.length*4);for(let n=0;n<r.length;n+=4)r.set(e,n);return r}function dDt(e,t){if(!e.length||!t.length)return[];let r=[];for(let n=0;n<t.length;n++){let a=t[n];r.push(e[a])}return r}function hDt(e,t,r,n){let a=g6e(e,t,r,n);if(a.length)return a;for(let i=0;i<_6e.length;i++){let o=_6e[i];if(e[o]&&e[o].value)return e[o].value}return[]}async function mDt(e=[],t){let r=[];for(let n of e)r.push(vDt(n));return t&&(r=await gDt(r)),r}async function gDt(e){var r,n;let t=[];for(;e.length>0;){let a=e.splice(0,1)[0],i=[];for(let o=0;o<e.length;o++){let s=e[o];(a.texture&&s.texture||!a.texture&&!s.texture)&&(a=await bDt(a,s),i.push(o))}if(a.texture&&i.length){let o=(r=a.mergedMaterials)==null?void 0:r.reduce((u,{textureSize:l})=>u+((l==null?void 0:l.width)||0),0),s=(n=a.mergedMaterials)==null?void 0:n.reduce((u,{textureSize:l})=>Math.max(u,(l==null?void 0:l.height)||0),0),c=-1;for(let u of a.mergedMaterials)if(u.textureSize){let l=c+1+u.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;u.uvRegion=new Uint16Array([c+1,0,l,u.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),c=l}a.texture.image.width=o,a.texture.image.height=s}for(let o of i.reverse())e.splice(o,1);t.push(a)}return t.length||t.push({material:yDt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function bDt(e,t){var r,n;if((r=e.texture)!=null&&r.bufferView&&((n=t.texture)!=null&&n.bufferView)&&e.mergedMaterials&&t.mergedMaterials){let a=Buffer.from(e.texture.bufferView.data),i=Buffer.from(t.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([a,i],{direction:"horizontal"});e.texture.bufferView.data=await s.toFormat(e.texture.mimeType==="image/png"?"png":"jpeg").toBuffer()}catch(o){throw console.log("Join images into a texture atlas has failed. Consider usage `--split-nodes` option. (See documentation https://loaders.gl/modules/tile-converter/docs/cli-reference/tile-converter)"),o}e.material.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId=1}return e.mergedMaterials=e.mergedMaterials.concat(t.mergedMaterials),e}function vDt(e){var a,i,o,s,c;let t={doubleSided:e.doubleSided,emissiveFactor:(a=e.emissiveFactor)==null?void 0:a.map(u=>Math.round(u*255)),alphaMode:xDt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((i=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:i.roughnessFactor)||K5t,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||X5t}},r;(s=e==null?void 0:e.pbrMetallicRoughness)!=null&&s.baseColorTexture?(r=e.pbrMetallicRoughness.baseColorTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}):e.emissiveTexture&&(r=e.emissiveTexture.texture.source,t.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}),e.id=Number.isFinite(e.id)?e.id:Xc();let n=[{originalMaterialId:e.id}];if(r)n[0].textureSize={width:r.image.width,height:r.image.height};else{let u=(c=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:c.baseColorFactor;t.pbrMetallicRoughness.baseColorFactor=u&&u.map(l=>Math.round(l*255))||void 0}return{material:t,texture:r,mergedMaterials:n}}function xDt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function yDt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function _Dt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:a,textureDefinitionInfo:i}=wDt(n,t);r.materialDefinitionInfos.push(a),i&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(i))}return r}function wDt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=EDt(r.texture,t));let{baseColorFactor:a,metallicFactor:i}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=a;return(!a||a[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:TDt(o||[1,1,1,1],i),textureDefinitionInfo:n}}function TDt(e,t=1){let r=.00015686274509803922,n=new Co(0,0,0,1),a=new Co(1,1,1,1),i=new Co(r,r,r,0),o=new Co(e),s=a.subtract(i).multiply(o),c=s.lerp(s,n,t);i[3]=1;let u=i.lerp(i,o,t);return{params:{diffuse:c.toArray(),specular:u.toArray(),renderMode:"solid"}}}function EDt(e,t){var r,n,a,i;return{encoding:(r=e==null?void 0:e.source)!=null&&r.mimeType?[e.source.mimeType]:void 0,images:[{id:SDt(e,t),size:(n=e.source)==null?void 0:n.image.width,length:(a=e.source)!=null&&a.image.data.length?[(i=e.source)==null?void 0:i.image.data.length]:void 0}]}}function SDt(e,t){var m;let{width:r,height:n}=((m=e.source)==null?void 0:m.image)||{};if(!r||!n)return"";let a=1,i=0,o=t+1,s=32-o.toString(2).length,c="0".repeat(s).concat(o.toString(2)),u=a<<28,l=i<<24,f=r-1<<12,p=n-1<<0,d=u+l+f+p;return BigInt(`0b${d.toString(2)}${c}`).toString()}function ADt(e,t,r,n){let a=kDt(e,n,r);return T6e(t,a),T6e(e,a),a}function kDt(e,t,r){let n={};for(let a=0;a<e.length;a++){let i=e[a],o=ODt(a,t,r);n[i.toString()]=o}return n}function DDt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function ODt(e,t,r){let n=DDt(t,e),a=(0,A6e.default)(n);return r.includes(a)?r.indexOf(a):r.push(a)-1}function T6e(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function FDt(e,t,r,n){let a=[],o=v6e(e,r)?b6e(t,r):r,s={OBJECTID:e,...o};for(let c in s){let u=CDt(c,n);if(u){let l=s[c],f=PDt(u,l);a.push(f)}}return a}function PDt(e,t){let r;switch(e){case eDt:case J5t:r=IDt(t);break;case Z5t:r=jDt(t);break;case Q5t:r=E6e(t);break;default:r=E6e(t)}return r}function CDt(e,t){let r=t.find(n=>n.name===e);return r?r.attributeValues?r.attributeValues.valueType:(console.error(`attributeValues is null, attribute=${r}`),""):(console.error(`attribute is null, key=${e}, attributeStorageInfo=${JSON.stringify(t,null,2)}`),"")}function IDt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return bn(t.buffer,r.buffer)}function jDt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return bn(t.buffer,r.buffer,n.buffer)}function E6e(e){let t=new Uint32Array([e.length]),r=0,n=new Uint32Array(e.length),a=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,c=Buffer.from(s),u=c.length;r+=u,n[o]=u,a.push(c)}let i=new Uint32Array([r]);return bn(t.buffer,i.buffer,n.buffer,...a)}function RDt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function LDt(e,t,r,n){let{positions:a,normals:i,texCoords:o,colors:s,uvRegions:c,featureIds:u,faceRange:l}=r,f=new Uint32Array(e);for(let g=0;g<f.length;g++)f.set([g],g);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=MDt(p,l),h={positions:a,normals:i,colors:s,"feature-index":d};o.length&&(h.texCoords=o);let m={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(u)}};return c.length&&(h["uv-region"]=c,m["uv-region"]={"i3s-attribute-type":"uv-region"}),Km({attributes:h,indices:f},GA,{...GA.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:m},["draco-writer"]:{workerUrl:BDt()}})}function BDt(){try{let t=(0,S6e.createRequire)(UDt.url).resolve("@loaders.gl/draco/package.json");return(0,Pk.join)((0,Pk.dirname)(t),"src/workers/draco-writer-worker-node.cjs")}catch{return"./modules/draco/src/workers/draco-writer-worker-node.cjs"}}function MDt(e,t){let r=new Uint32Array(e.length),n=0,a=0;for(let i=1;i<t.length;i+=2){let o=(t[i]+1)*js;r.fill(n,a,o),n++,a=o+1}return r}function D6e(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:a,extension:i}=zDt(e);switch(a){case Qu:return r=qDt(i,t),r;case Ro:return r=NDt(i,t),r;default:return null}}function qDt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return Fk(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return Fk(r)}return null}function NDt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return Fk(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return Fk(n)}return null}function Fk(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function zDt(e){var i,o,s,c;let t=[Ro,Qu];if(!((i=e==null?void 0:e.gltf)==null?void 0:i.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let u of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(t.includes(u)){n=u;break}if(!n)return{extensionName:null,extension:null};let a=(c=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:c[n];return{extensionName:n,extension:a}}var F6e=Dt(Is(),1),P6e=require("path");var O6e=()=>({serviceItemId:{path:"serviceItemId"},serviceName:{path:"layerName"},name:{path:"layerName"},currentVersion:{path:"currentVersion",default:10.7},serviceVersion:{path:"serviceVersion",default:"1.8"},supportedBindings:{path:"supportedBindings",default:["REST"]},layers:{path:"layers0",transform:e=>[e]}});async function C6e(e,t,r){let n={serviceItemId:Xc().replace(/-/gi,""),layerName:e,layers0:t},a=(0,F6e.default)(n,O6e()),i=(0,P6e.join)(r,"SceneServer");await Ci(i,JSON.stringify(a))}var RN=16;function I6e(e,t){let r=[],n=e.boundingVolume,a=e.lodMetricValue||.1,i={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*RN/a},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*i.maxError*i.maxError};return n.constructor.name==="OrientedBoundingBox"?(r.push(o),r.push(i)):(r.push(i),r.push(o)),r}function LN(e){var n,a;let t=(n=e.lodSelection)==null?void 0:n.find(i=>i.metricType==="maxScreenThreshold"),r=t==null?void 0:t.maxError;if(!r){let i=(a=e.lodSelection)==null?void 0:a.find(o=>o.metricType==="maxScreenThresholdSQ");i&&(r=Math.sqrt(i.maxError/(Math.PI*.25)))}return r||(r=RN),e.mbs[3]*2*RN/r}var GDt=[9,-18,-88,0,96,90,0,0,-60,-20,-9,18,8,0,-96,30,0,0,60,-20,9,-88,-18,90,96,0,-20,-60,0,0,186,-42,-42,-150,-96,-150,60,60,60,60,54,162,-78,30,-24,-90,-60,60,-60,60,-9,-32,18,30,24,0,20,-60,0,0,-9,8,18,30,-96,0,-20,60,0,0,54,-78,162,-90,-24,30,60,-60,60,-60,-54,78,78,90,144,90,-60,-60,-60,-60,9,-8,-18,-30,-24,0,20,60,0,0,-9,18,-32,0,24,30,0,0,-60,20,9,-18,-8,0,-24,-30,0,0,60,20],VDt=372,$Dt=[0,0,-131,0,138,144,0,0,-102,-31,0,0,7,0,-138,42,0,0,102,-31,62,0,-31,0,0,-62,0,0,0,31,124,0,-62,0,0,-124,0,0,0,62,124,0,-62,0,0,-124,0,0,0,62,62,0,-31,0,0,-62,0,0,0,31,0,0,45,0,-183,-9,0,93,18,0,0,0,216,0,33,87,0,-93,12,-93,0,0,156,0,153,99,0,-93,-12,-93,0,0,-45,0,-3,9,0,93,-18,0,0,0,-55,0,48,42,0,0,-84,31,0,0,-7,0,-48,-42,0,0,84,31],HDt=372,WDt=[18,-36,-122,0,120,135,0,0,-84,-31,-18,36,-2,0,-120,51,0,0,84,-31,36,-165,-27,93,147,-9,0,-93,18,0,210,45,-111,-93,-57,-192,0,93,12,93,162,141,-75,-93,-129,-180,0,93,-12,93,-36,-21,27,93,39,9,0,-93,-18,0,0,0,62,0,0,31,0,0,0,-31,0,0,124,0,0,62,0,0,0,-62,0,0,124,0,0,62,0,0,0,-62,0,0,62,0,0,31,0,0,0,-31,-18,36,-64,0,66,51,0,0,-102,31,18,-36,2,0,-66,-51,0,0,102,31],KDt=12,BN=(3+1)*(3+2)/2,XDt=2,eb=class{constructor(t){this._v00=0,this._v01=0,this._v10=0,this._v11=0,this._t=[],this.options=t,this._ix=this.options._width,this._iy=this.options._height}getHeight(t,r){if(t=Math.abs(t)>90?NaN:t,isNaN(t)||isNaN(r))return NaN;let n=YDt(r,360);r=n!==-180?n:180;let a=r*this.options._rlonres,i=-t*this.options._rlatres,o=Math.floor(a),s=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(i));a-=o,i-=s,s+=(this.options._height-1)/2,o+=o<0?this.options._width:o>=this.options._width?-this.options._width:0;let c=0,u=0,l=0,f=0,p=new Array(BN);if(o===this._ix&&s===this._iy)this.options.cubic?p=this._t:(c=this._v00,u=this._v01,l=this._v10,f=this._v11);else if(!this.options.cubic)c=this._rawval(o,s),u=this._rawval(o+1,s),l=this._rawval(o,s+1),f=this._rawval(o+1,s+1);else{let h=[this._rawval(o,s-1),this._rawval(o+1,s-1),this._rawval(o-1,s),this._rawval(o,s),this._rawval(o+1,s),this._rawval(o+2,s),this._rawval(o-1,s+1),this._rawval(o,s+1),this._rawval(o+1,s+1),this._rawval(o+2,s+1),this._rawval(o,s+2),this._rawval(o+1,s+2)],m=$Dt;s!==0&&(m=s===this.options._height-2?WDt:GDt);let g=VDt;s!==0&&(g=s===this.options._height-2?HDt:240);for(let x=0;x<BN;++x){p[x]=0;for(let y=0;y<KDt;++y)p[x]+=h[y]*m[BN*y+x];p[x]/=g}}if(!this.options.cubic){let h=(1-a)*c+a*u,m=(1-a)*l+a*f,g=(1-i)*h+i*m,x=this.options._offset+this.options._scale*g;return this._ix=o,this._iy=s,this._v00=c,this._v01=u,this._v10=l,this._v11=f,x}let d=p[0]+a*(p[1]+a*(p[3]+a*p[6]))+i*(p[2]+a*(p[4]+a*p[7])+i*(p[5]+a*p[8]+i*p[9]));return d=this.options._offset+this.options._scale*d,this._ix=o,this._iy=s,this._t=p,d}_rawval(t,r){t<0?t+=this.options._width:t>=this.options._width&&(t-=this.options._width),(r<0||r>=this.options._height)&&(r=r<0?-r:2*(this.options._height-1)-r,t+=(t<this.options._width/2?1:-1)*this.options._width/2);let n=this.options._datastart+XDt*(r*this.options._swidth+t),a=this.options.data[n],i=this.options.data[n+1];return a<<8|i}};function YDt(e,t){t=Math.abs(t);let r=j6e(e,t);return 2*Math.abs(r)===t?r-=j6e(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function j6e(e,t){return e-Math.floor(e/t)*t}var QDt=10,JDt=65535;function MN(e,t){let r=ZDt(e),n=r.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");let a=Number.MAX_VALUE,i=0,o=-1,s=-1,c="NONE",u="UNKNOWN",l=0,f=0,p=null,d=null;do{n=r.next();let x=n.value.line;if(x.length)if(x[0]==="#"){let y=x.split(" "),_=y[0],S=y[1];if(_!=="#"||!S)continue;let T=y.length>2?y.slice(2):[];if(S==="Description")c=T.join(" ");else if(S==="DateTime")u=T.join(" ");else if(S==="Offset"){if(!y[2])throw new Error("Geoid model file: Error reading offset");a=parseInt(y[2],10)}else if(S==="Scale"){if(!y[2])throw new Error("Geoid model file: Error reading scale");i=parseFloat(y[2])}else S===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(y[2]))&&(o=parseFloat(y[2])):S===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(y[2]))&&(s=parseFloat(y[2]))}else{let y=x.split(" ");if(y=y.filter(_=>_!==""),l=parseInt(y[0],10),f=parseInt(y[1],10),!(l&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=r.next();let h=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(h!==JDt)throw new Error("Geoid model file: Incorrect value of maxval");if(p=n.value.offset,d=l,a===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(i===0)throw new Error("Geoid model file: Scale not set");if(i<0)throw new Error("Geoid model file: Scale must be positive");if(f<2||l<2)throw new Error("Geoid model file: Raster size too small");if(l&1)throw new Error("Geoid model file: Raster width is odd");if(!(f&1))throw new Error("Geoid model file: Raster height is even");let m=l/360,g=(f-1)/180;return new eb({cubic:t.cubic,_width:l,_height:f,_rlonres:m,_rlatres:g,_offset:a,_scale:i,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:c,_datetime:u,data:e})}function*ZDt(e){let t=0;do{let r=e.indexOf(QDt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:R6e(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:R6e(n)}}}while(t<e.length);return{offset:t,line:""}}function R6e(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var eOt="4.5.3";var Ck={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:eOt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>MN(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var tb=Dt(Is(),1);var L6e={id:{path:"id",transform:e=>e.toUpperCase()},profile:{path:"profile",default:"meshpyramids"},version:{path:"version",default:"1.8"},resourcePattern:{path:"resourcePattern",default:["3dNodeIndexDocument","Attributes","SharedResource","Geometry"]},rootNode:{path:"rootNode",default:"./nodes/root"},extent:{path:"extent"},indexCRS:{path:"indexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},vertexCRS:{path:"vertexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},normalReferenceFrame:{path:"normalReferenceFrame",default:"east-north-up"},attributeEncoding:{path:"attributeEncoding",default:"application/octet-stream; version=1.6"},textureEncoding:{path:"textureEncoding",default:["image/jpeg","image/ktx2"]},lodType:{path:"lodType",default:"MeshPyramid"},lodModel:{path:"lodModel",default:"node-switching"},defaultGeometrySchema:{path:"defaultGeometrySchema",default:{geometryType:"triangles",header:[{property:"vertexCount",type:"UInt32"},{property:"featureCount",type:"UInt32"}],topology:"PerAttributeArray",ordering:["position","normal","uv0","color"],vertexAttributes:{position:{valueType:"Float32",valuesPerElement:3},normal:{valueType:"Float32",valuesPerElement:3},uv0:{valueType:"Float32",valuesPerElement:2},color:{valueType:"UInt8",valuesPerElement:4}},featureAttributeOrder:["id","faceRange"],featureAttributes:{id:{valueType:"UInt64",valuesPerElement:1},faceRange:{valueType:"UInt32",valuesPerElement:2}}}}};var tOt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),rOt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),nOt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),aOt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),B6e=()=>({version:{path:"version",transform:e=>e.toUpperCase()},id:{path:"id",default:0},name:{path:"name"},href:{path:"href",default:"./layers/0"},layerType:{path:"layerType",default:"IntegratedMesh"},spatialReference:{path:"spatialReference",transform:e=>(0,tb.default)(e,tOt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,tb.default)(e,L6e)},fullExtent:{path:"fullExtent",transform:e=>(0,tb.default)(e,aOt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,tb.default)(e,rOt())},nodePages:{path:"nodePages",transform:e=>(0,tb.default)(e,nOt())},materialDefinitions:{path:"materialDefinitions",default:[]},textureSetDefinitions:{path:"textureSetDefinitions",default:[]},geometryDefinitions:{path:"geometryDefinitions",default:[]},attributeStorageInfo:{path:"attributeStorageInfo",default:[]},fields:{path:"fields",default:[]},popupInfo:{path:"popupInfo",default:null}});var qN=Dt(Is(),1),iOt=()=>({offset:{default:8},position:{default:{type:"Float32",component:3}},normal:{default:{type:"Float32",component:3}},uv0:{path:"hasTexture",transform:e=>e&&{type:"Float32",component:2}||!1,omitValues:[!1]},color:{default:{type:"UInt8",component:4}},uvRegion:{path:"hasUvRegions",transform:e=>e&&{type:"UInt16",component:4}||!1,omitValues:[!1]},featureId:{default:{binding:"per-feature",type:"UInt64",component:1}},faceRange:{default:{binding:"per-feature",type:"UInt32",component:2}}}),oOt=()=>({"compressedAttributes.encoding":{default:"draco"},"compressedAttributes.attributes":{path:"geometryConfig",transform:e=>{let t=["position","normal"];return e.hasTexture&&t.push("uv0"),t.push("color"),e.hasUvRegions&&t.push("uv-region"),t.push("feature-index"),t}}}),M6e=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,qN.default)(e,iOt())];return e.draco&&t.push((0,qN.default)({geometryConfig:e},oOt())),t}}});var Ny=Dt(Is(),1),sOt=()=>({renderMode:{path:"renderMode",default:"solid"},shininess:{path:"shininess",default:1},reflectivity:{path:"reflectivity",default:0},ambient:{path:"ambient",default:[1,1,1]},diffuse:{path:"diffuse",default:[1,1,1]},specular:{path:"specular",default:[0,0,0]},useVertexColorAlpha:{path:"useVertexColorAlpha",default:!1},vertexRegions:{path:"vertexRegions",default:!1},vertexColors:{path:"vertexColors",default:!0}}),cOt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,Ny.default)(r,sOt())}}),uOt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),lOt=()=>({encoding:{path:"encoding"},wrap:{path:"wrap",default:["none"]},atlas:{path:"atlas",default:!1},uvSet:{path:"uvSet",default:"uv0"},channels:{path:"channels",default:"rgb"},images:{path:"images",transform:(e,t,r)=>e.map(n=>(0,Ny.default)(n,uOt()))}}),q6e=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:fOt},textureDefinitions:{path:"textureDefinitionInfos",transform:pOt}});function fOt(e,t,r){let n={};for(let[a,i]of e.entries())n[`Mat${r.nodePath}${a}`]=(0,Ny.default)(i,cOt());return n}function pOt(e,t,r){if(!e)return null;let n={};for(let[a,i]of e.entries()){let o=`${r.nodePath}${a}`;i.imageIndex=o,n[o]=(0,Ny.default)(i,lOt())}return n}var dOt=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]);function z6e(e){var r,n;if(!((r=e==null?void 0:e.parentNode)!=null&&r.obb)||!((n=e==null?void 0:e.parentNode)!=null&&n.mbs))return[];let t=[];return hOt(t,e),mOt(t,e),t}function hOt(e,t){var o;let r=gOt(t.parentNode.obb),n=bOt(t);if(vOt(r,n))return;let i=`OBB of Tile (${t.id}) doesn't fit into Parent (${(o=t.parentNode)==null?void 0:o.id}) tile OBB`;e.push(i)}function mOt(e,t){var i;let r=N6e(t.mbs),n=N6e(t.parentNode.mbs);if(r.center.distanceTo(n.center)+r.radius>n.radius){let o=`MBS of Tile (${t.id}) doesn't fit into Parent (${(i=t.parentNode)==null?void 0:i.id}) tile MBS`;e.push(o)}}function N6e(e){return new ci([e[0],e[1],e[2]],e[3])}function gOt(e){let{center:t,halfSize:r,quaternion:n}=e;return new pa().fromCenterHalfSizeQuaternion(t,r,n)}function bOt(e){let t=e.obb.halfSize,r=dOt,n=Pt.WGS84.cartographicToCartesian(e.obb.center),a=[];for(let i=0;i<r.length;i+=3){let s=new Z(r[i]*=t[0],r[i+1]*=t[1],r[i+2]*=t[2]).transformByQuaternion(e.obb.quaternion).add(n);a=a.concat(s)}return a}function vOt(e,t){let r=!0;for(let n=0;n<t.length/3;n+=3){let a=[t[n],t[n+1],t[n+2]],i=Pt.WGS84.cartesianToCartographic(a);if(e.distanceTo(i)>0){r=!1;break}}return r}var Ik=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var U6e=Dt(require("process"),1),xOt=4*1024*1024*1024,rb=class extends Ik{intervalId;conversionDump;writePromise=null;fileMap={};listeningInterval;writeConcurrency;constructor(t,r=2e3,n=400){super(),this.conversionDump=t,this.listeningInterval=r,this.writeConcurrency=n}async enqueue(t,r=!1){if(r){let{archiveKey:n,writePromise:a}=t,i=await a();n&&i&&(this.fileMap[n]=i)}else super.enqueue(t),U6e.default.memoryUsage().rss>xOt&&await this.startWrite()}startListening(){this.intervalId=setInterval(()=>this.startWrite.bind(this),this.listeningInterval)}stopListening(){this.intervalId&&clearInterval(this.intervalId)}async startWrite(){this.writePromise||(this.writePromise=this.doWrite()),await this.writePromise,this.writePromise=null}async finalize(){this.stopListening(),await this.startWrite()}async doWrite(){for(;this.length;){let t=[],r=[],n=[];for(let i=0;i<this.writeConcurrency;i++){let o=this.dequeue();if(!o)break;let{archiveKey:s,sourceId:c,outputId:u,resourceType:l,writePromise:f}=o;r.push(s),n.push({sourceId:c,outputId:u,resourceType:l});let p=f();t.push(p)}let a=await Promise.allSettled(t);this.updateFileMap(r,a),await this.conversionDump.updateConvertedTilesDump(n,a)}}updateFileMap(t,r){for(let n=0;n<t.length;n++){let a=t[n];a&&"value"in r[n]&&(this.fileMap[a]=r[n].value)}}};var nb="Tile converter does not work in browser, only in node js environment",Zf=".dump.json";var zN=require("path"),UN=Dt(Is(),1);var G6e=Dt(Is(),1),V6e=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),yOt=()=>({href:{path:"href"}}),_Ot=()=>({id:{path:"id"},...yOt(),...V6e()}),NN=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...V6e(),lodSelection:{path:"lodSelection",default:[{metricType:"maxScreenThresholdSQ",maxError:196349.54374999998},{metricType:"maxScreenThreshold",maxError:999.9999999999999}]},children:{path:"children",default:null},neighbors:{path:"neighbors",default:null},parentNode:{path:"parentNode",transform:e=>(0,G6e.default)(e,_Ot()),default:null},sharedResource:{path:"sharedResource",default:null},featureData:{path:"featureData",default:null},geometryData:{path:"geometryData",default:null},textureData:{path:"textureData",default:null},attributeData:{path:"attributeData",default:null}});var Rs=class{id;inPageId;data=null;children=[];converter;_finalized=!1;get finalized(){return this._finalized}constructor(t,r){this.inPageId=t,this.id=t===0?"root":t.toString(),this.converter=r}async addData(t){return this.converter.options.instantNodeWriting?await this.write(t):this.data=t,this}async addChildren(t){let r=[];for(let a of t){let i=await a.load();r.push({id:a.id,href:`../${a.id}`,obb:i.obb,mbs:i.mbs})}this.children=this.children.concat(t);let n=this.data;this.converter.options.instantNodeWriting&&(n=await this.load()),n&&(n.children=n.children??[],n.children=n.children.concat(r)),this.converter.options.instantNodeWriting&&n&&await this.write(n)}async addNeighbors(){var r;if(this.finalized)return;let t=await this.load();for(let n of this.children){let a=await n.load();if(a.neighbors=a.neighbors??[],Number((r=t==null?void 0:t.children)==null?void 0:r.length)<1e3)for(let i of t.children||[])n.id!==i.id&&a.neighbors.push({...i});else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete a.neighbors;this.converter.options.instantNodeWriting&&a&&await n.write(a),await n.save()}this.finalize()}async save(){this.data&&await this.write(this.data)}finalize(){this._finalized=!0;for(let t of this.children)t.flush()}async write(t){let r=(0,zN.join)(this.converter.layers0Path,"nodes",this.id);await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>Yc(r,JSON.stringify(t),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0)}async load(){if(this.data)return this.data;let t=this.id,r=(0,zN.join)(this.converter.layers0Path,"nodes",t);return await Qg(r,"3dNodeIndexDocument.json")}flush(){this.data=null}static async createRootNode(t,r){let n=Rs.createRootNodeIndexDocument(t);return await new Rs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:a,resources:i,converter:o}){let s=await Rs.createNodeIndexDocument(t,r,n,a,i);return await new Rs(a.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${Xc().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,UN.default)(r,NN())}static async createNodeIndexDocument(t,r,n,a,i){var l,f,p,d,h;let o=a.index,s=await t.load(),c={version:s.version,id:o.toString(),level:s.level+1,...r,lodSelection:n,parentNode:{id:t.id,href:`../${t.id}`,mbs:s.mbs,obb:s.obb},children:[],neighbors:[]},u=(0,UN.default)(c,NN());if(a.mesh&&(u.geometryData=[{href:"./geometries/0"}],u.sharedResource={href:"./shared"},("texture"in i&&i.texture||"texelCountHint"in i&&i.texelCountHint)&&(u.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),"attributes"in i&&i.attributes&&i.attributes.length&&((f=(l=t.converter.layers0)==null?void 0:l.attributeStorageInfo)!=null&&f.length)||"attributesCount"in i&&i.attributesCount&&((d=(p=t.converter.layers0)==null?void 0:p.attributeStorageInfo)!=null&&d.length))){let m=("attributes"in i?(h=i.attributes)==null?void 0:h.length:i.attributesCount)||0;u.attributeData=[];let g=m<t.converter.layers0.attributeStorageInfo.length?m:t.converter.layers0.attributeStorageInfo.length;for(let x=0;x<g;x++){let y=t.converter.layers0.attributeStorageInfo[x].key;u.attributeData.push({href:`./attributes/${y}/0`})}}return u}};var GN=async(e,t,r)=>{let n=zy(t);if(!e||!t.contentUrl||!n)return;let a={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},i=await jk(t.contentUrl,e.loader,a);i.root&&(t.children=[i.root])},VN=async(e,t,r)=>{let n=zy(t);if(!e||!t.contentUrl||n)return null;let a={...r,[e.loader.id]:{...r[e.loader.id]||{},isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}};return await jk(t.contentUrl,e.loader,a)};async function jk(e,t,r){let n=e.split(".3tz"),a;if(n.length===1)a=null;else if(n.length===2)a=n[1].slice(1),a===""&&(a="tileset.json");else throw new Error("Unexpected URL format");if(a){let i=`${n[0]}.3tz`,o=wOt(i),s=await TOt(o),c=new Cy(o,s,i),u=new pl(c),l=await Wr(a,t,r);return await u.destroy(),l}return await Wr(e,t,r)}function zy(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}function wOt(e){return e.startsWith("http://")||e.startsWith("https://")?new m0(e):cr?new m0(e):new Ga(e)}async function TOt(e){let t,r=await Yd(e,Jd),n=await Qd(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let a=await Cs(n.localHeaderOffset,e);if(!a)throw new Error("corrupted 3tz");let i=a.fileDataOffset,o=await Xr(e,i,i+a.compressedSize);t=Fy(o)}return t}var Rk=async({tile:e,traversalProps:t,processTile:r,postprocessTile:n,maxDepth:a,level:i=0})=>{if(a&&i>a)return;let o=[],s=await r(e,t);o.push(s);for(let c of e.children)await Rk({tile:c,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:a,level:i+1});n&&await n(o,t)};var EOt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],$6e=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await Yi(e.gltfArrayBuffer,Ju,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let a=SOt(n),i=AOt(n);return{meshTopologyTypes:a,metadataClasses:i}},SOt=e=>{let t=new Set;for(let r of e.meshes||[])for(let n of r.primitives){let{mode:a}=n;typeof a!="number"&&(a=4),t.add(EOt[a])}return t},AOt=e=>{var a,i,o,s,c,u;let t=new Set,r=(o=(i=(a=e.extensions)==null?void 0:a[Ro])==null?void 0:i.schema)==null?void 0:o.classes;if(r)for(let l of Object.keys(r))t.add(l);let n=(u=(c=(s=e.extensions)==null?void 0:s[Qu])==null?void 0:c.schema)==null?void 0:u.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},H6e=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var W6e=Dt(require("process"),1);var kOt=.2,ab=class{_stepsTotal=0;_stepsDone=0;startTime=0;stopTime=0;timeOfUpdatingStepsDone=0;milliSecForOneStep=0;trust=!1;numberOfDigitsInPercentage=0;threshold;getTime;constructor(t={}){this.getTime=t.getTime||W6e.default.hrtime.bigint,this.threshold=t.threshold||kOt}get stepsTotal(){return this._stepsTotal}set stepsTotal(t){this._stepsTotal=t,this.numberOfDigitsInPercentage=this.stepsTotal>100?Math.ceil(Math.log10(this.stepsTotal))-2:0}get stepsDone(){return this._stepsDone}set stepsDone(t){if(this._stepsDone=t,this.timeOfUpdatingStepsDone=this.getCurrentTimeInMilliSeconds(),this._stepsDone){let n=(this.timeOfUpdatingStepsDone-this.startTime)/this._stepsDone;this.trust=this.isVelocityTrust(n,this.milliSecForOneStep),this.milliSecForOneStep=n}}startMonitoring(){this.startTime=this.getCurrentTimeInMilliSeconds(),this.milliSecForOneStep=0,this.trust=!1,this.timeOfUpdatingStepsDone=0,this.stopTime=0,this.stepsDone=0}stopMonitoring(){this.stopTime=this.getCurrentTimeInMilliSeconds()}getPercent(){return this._stepsTotal?this._stepsDone/this._stepsTotal*100:null}getPercentString(){let t=this.getPercent();return t!==null?t.toFixed(this.numberOfDigitsInPercentage):""}getTimeCurrentlyElapsed(){return(this.stopTime?this.stopTime:this.getCurrentTimeInMilliSeconds())-this.startTime}getTimeRemaining(){return!this._stepsTotal||!this._stepsDone||!this.startTime?null:{timeRemaining:(this._stepsTotal-this._stepsDone)*this.milliSecForOneStep,trust:this.trust}}getTimeRemainingString(){let t=this.getTimeRemaining();return t!=null&&t.trust?Jg(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var _Se=require("util");var sp=require("path"),wSe=Dt(require("process"),1),TSe=Dt(xSe(),1);var ySe={type:"object",properties:{options:{type:"object",properties:{inputUrl:{type:"string"},outputPath:{type:"string"},tilesetName:{type:"string"},maxDepth:{type:"number"},slpk:{type:"boolean"},egmFilePath:{type:"string"},token:{type:"string"},draco:{type:"boolean"},mergeMaterials:{type:"boolean"},generateTextures:{type:"boolean"},generateBoundingVolumes:{type:"boolean"},metadataClass:{type:"string"},analyze:{type:"boolean"}},required:["inputUrl","outputPath","tilesetName"]},tilesConverted:{type:"object",patternProperties:{".*":{type:"object",properties:{nodes:{type:"array",items:{type:"object",properties:{nodeId:{type:["number","string"]},done:{type:"boolean"},progress:{type:"object",patternProperties:{".*":{type:"boolean"}}},dumpMetadata:{type:"object",properties:{boundingVolumes:{type:["object","null"],properties:{mbs:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},obb:{type:"object",properties:{center:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},halfSize:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},quaternion:{type:"array",minItems:4,maxItems:4,items:{type:"number"}}},required:["center","halfSize","quaternion"]}},required:["mbs","obb"]},attributesCount:{type:"number"},featureCount:{type:"number"},geometry:{type:"boolean"},hasUvRegions:{type:"boolean"},materialId:{type:"number"},texelCountHint:{type:"number"},vertexCount:{type:"number"}},required:["boundingVolumes","featureCount","geometry","hasUvRegions","materialId","vertexCount"]}},required:["nodeId","done"]}}},required:["nodes"]}}},textureSetDefinitions:{type:"array",items:{type:"object",properties:{formats:{type:"array",items:{type:"object",properties:{name:{type:"string"},format:{enum:["jpg","png","ktx-etc2","dds","ktx2"]}},required:["name","format"]}},atlas:{type:"boolean"}},required:["formats"]}},attributeMetadataInfo:{type:"object",properties:{attributeStorageInfo:{type:"array",items:{type:"object",properties:{key:{type:"string"},name:{type:"string"},header:{type:"array",items:{type:"object",properties:{property:{type:"string"},valueType:{type:"string"}},required:["property","valueType"]}},ordering:{type:"array",items:{type:"string"}},attributeValues:{$ref:"#/$defs/AttributeValue"},attributeByteCounts:{$ref:"#/$defs/AttributeValue"},objectIds:{$ref:"#/$defs/AttributeValue"}},required:["key","name","header"]}},fields:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{$ref:"#/$defs/ESRIField"},alias:{type:"string"},domain:{$ref:"#/$defs/Domain"}},required:["name","type"]}},popupInfo:{type:"object",properties:{title:{type:"string"},description:{type:"string"},expressionInfos:{type:"array",items:{}},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}},mediaInfos:{type:"array",items:{}},popupElements:{type:"array",items:{type:"object",properties:{text:{type:"string"},type:{type:"string"},fieldInfos:{type:"array",items:{$ref:"#/$defs/FieldInfo"}}}}}}}},required:["attributeStorageInfo","fields"]},materialDefinitions:{type:"array",items:{type:"object",properties:{pbrMetallicRoughness:{type:"object",properties:{baseColorFactor:{type:"array",minItems:4,maxItems:4,items:{type:"number"}},baseColorTexture:{$ref:"#/$defs/I3SMaterialTexture"},metallicFactor:{type:"number"},roughnessFactor:{type:"number"},metallicRoughnessTexture:{$ref:"#/$defs/I3SMaterialTexture"}},required:["metallicFactor","roughnessFactor"]},normalTexture:{$ref:"#/$defs/I3SMaterialTexture"},occlusionTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveTexture:{$ref:"#/$defs/I3SMaterialTexture"},emissiveFactor:{type:"array",minItems:3,maxItems:3,items:{type:"number"}},alphaMode:{enum:["opaque","mask","blend"]},alphaCutoff:{type:"number"},doubleSided:{type:"boolean"},cullFace:{enum:["none","front","back"]}},required:["pbrMetallicRoughness","alphaMode"]}}},required:["options","tilesConverted"],$defs:{AttributeValue:{type:"object",properties:{valueType:{type:"string"},encoding:{type:"string"},valuesPerElement:{type:"number"}},required:["valueType"]},ESRIField:{enum:["esriFieldTypeDate","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeInteger","esriFieldTypeOID","esriFieldTypeSmallInteger","esriFieldTypeString"]},Domain:{type:"object",properties:{type:{type:"string"},name:{type:"string"},description:{type:"string"},fieldType:{type:"string"},range:{type:"array",items:{type:"number"}},codedValues:{type:"array",items:{type:"object",properties:{name:{type:"string"},code:{type:["string","number"]}},required:["name","code"]}},mergePolicy:{type:"string"},splitPolicy:{type:"string"}},required:["type","name"]},FieldInfo:{type:"object",properties:{fieldName:{type:"string"},visible:{type:"boolean"},isEditable:{type:"boolean"},label:{type:"string"}},required:["fieldName","visible","isEditable","label"]},I3SMaterialTexture:{type:"object",properties:{textureSetDefinitionId:{type:"number"},texCoord:{type:"number"},factor:{type:"number"}},required:["textureSetDefinitionId"]}}};var fh=class{restored=!1;options;tilesConverted;textureSetDefinitions;attributeMetadataInfo;materialDefinitions;constructor(){this.tilesConverted={}}async createDump(t){let{tilesetName:r,slpk:n,egmFilePath:a,inputUrl:i,outputPath:o,draco:s=!0,maxDepth:c,token:u,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p=!0,metadataClass:d,analyze:h=!1,outputVersion:m="1.1"}=t;this.options={tilesetName:r,slpk:n,egmFilePath:a,inputUrl:i,outputPath:o,draco:s,maxDepth:c,token:u,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p,metadataClass:d,analyze:h,outputVersion:m};let g=(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`);if(await jy(g))try{let x=await Qg((0,sp.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${Zf}`),{options:y,tilesConverted:_,textureSetDefinitions:S,attributeMetadataInfo:T,materialDefinitions:O}=x;if(new TSe.default().compile(ySe)(x)&&(0,_Se.isDeepStrictEqual)(y,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=_,this.textureSetDefinitions=S,this.attributeMetadataInfo=T,this.materialDefinitions=O,this.restored=!0;return}}catch(x){console.log("Can't open dump file",x)}await this.deleteDumpFile()}reset(){this.restored=!1,this.tilesConverted={},this.textureSetDefinitions&&delete this.textureSetDefinitions,this.attributeMetadataInfo&&delete this.attributeMetadataInfo,this.materialDefinitions&&delete this.materialDefinitions}async updateDumpFile(){var t;if((t=this.options)!=null&&t.outputPath&&this.options.tilesetName)try{let r=wSe.default.hrtime();await Ci((0,sp.join)(this.options.outputPath,this.options.tilesetName),JSON.stringify({options:this.options,tilesConverted:this.tilesConverted,textureSetDefinitions:this.textureSetDefinitions,attributeMetadataInfo:this.attributeMetadataInfo,materialDefinitions:this.materialDefinitions}),`${this.options.tilesetName}${Zf}.${r[0]}.${r[1]}`),await a6e((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}.${r[0]}.${r[1]}`),(0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await jy((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))&&await Ly((0,sp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Zf}`))}getRecord(t){return this.tilesConverted[t]}setRecord(t,r){this.tilesConverted[t]=r}async addNode(t,r,n){let{nodes:a}=this.getRecord(t)||{nodes:[]};a.push({nodeId:r,done:!1,dumpMetadata:n}),a.length===1&&this.setRecord(t,{nodes:a}),await this.updateDumpFile()}clearDumpRecord(t){this.setRecord(t,{nodes:[]})}addTexturesDefinitions(t){this.textureSetDefinitions=t}updateDoneStatus(t,r,n,a){var o;let i=(o=this.tilesConverted[t])==null?void 0:o.nodes.find(s=>s.nodeId===r);i&&(i.progress||(i.progress={}),i.progress[n]=a,a||(i.done=!1))}async updateConvertedTilesDump(t,r){for(let n=0;n<t.length;n++)if(t[n]&&"value"in r[n]){let{sourceId:a,resourceType:i,outputId:o}=t[n];this.updateNodes(a,o,i)}await this.updateDumpFile()}updateNodes(t,r,n){if(!(!t||!n||!r)){for(let a of this.tilesConverted[t].nodes)if(a.nodeId===r&&a.progress){a.progress[n]=!0;let i=!1;for(let o in a.progress)if(i=a.progress[o],!i)break;a.done=i,a.done&&delete a.progress;break}}}async updateConvertedNodesDumpFile(t,r,n){var i;let a=(i=this.tilesConverted[t])==null?void 0:i.nodes.find(o=>o.nodeId===r);a&&(a.done=n,await this.updateDumpFile())}isFileConversionComplete(t){var n,a,i;let r=!0;for(let o of((n=this.tilesConverted[t])==null?void 0:n.nodes)||[])if(!o.done){r=!1;break}return r&&((i=(a=this.tilesConverted[t])==null?void 0:a.nodes)==null?void 0:i.length)>0}setMaterialsDefinitions(t){this.materialDefinitions=t}};var SSe,e9t=(SSe=ph.default.env)==null?void 0:SSe.IonToken,ESe=64,t9t="3DTILES",r9t="3DObject",n9t=1800,a9t="https://",cp="phase1-count",yb=class{attributeMetadataInfo;nodePages;options;layers0Path;materialMap;materialDefinitions;geometryMap;geometryConfigs;vertexCounter;layers0;featuresHashArray;refinementCounter;validate;boundingVolumeWarnings=[];conversionStartTime=[0,0];refreshTokenTime=[0,0];sourceTileset=null;loadOptions={core:{_nodeWorkers:!0,reuseWorkers:!0,useLocalLibraries:!0},basis:{format:"rgba32",workerUrl:"./modules/textures/dist/basis-worker-node.js"},draco:{workerUrl:"./modules/draco/dist/draco-worker-node.js"},modules:{}};geoidHeightModel=null;Loader=Nc;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new rb(new fh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new pA,this.nodePages=new Oa(Ci,ESe,this),this.options={},this.layers0Path="",this.materialMap=new Map,this.materialDefinitions=[],this.geometryMap=new Map,this.geometryConfigs=[],this.vertexCounter=0,this.layers0=null,this.featuresHashArray=[],this.refinementCounter={tilesCount:0,tilesWithAddRefineCount:0},this.validate=!1,this.generateTextures=!1,this.generateBoundingVolumes=!1,this.layersHasTexture=!1,this.compressList=null,this.conversionDump=new fh}async convert(t){var x;if(cr)return console.log(nb),nb;this.conversionStartTime=ph.default.hrtime();let{tilesetName:r,egmFilePath:n,inputUrl:a,validate:i,outputPath:o,draco:s=!0,maxDepth:c,token:u,generateTextures:l,generateBoundingVolumes:f,instantNodeWriting:p=!1,mergeMaterials:d=!0,inquirer:h,metadataClass:m,analyze:g=!1}=t;this.options={outputPath:o,tilesetName:r,maxDepth:c,egmFilePath:n,draco:s,token:u,inputUrl:a,instantNodeWriting:p,mergeMaterials:d,inquirer:h,metadataClass:m},this.progresses[cp]=new ab,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(i),this.Loader=a.indexOf(a9t)!==-1?k8:Nc,this.generateTextures=Boolean(l),this.generateBoundingVolumes=Boolean(f),this.writeQueue=new rb(this.conversionDump),this.writeQueue.startListening(),n.toLowerCase()==="none"?console.log('--egm chousen to be "none", skip loading egm file'):(console.log("Loading egm file..."),this.geoidHeightModel=await Wr(n,Ck),console.log("Loading egm file completed!")),this.nodePages.useWriteFunction(Yc);try{let y=await this._fetchPreloadOptions(),_=a;if(y.url&&(_=y.url),y.headers){(x=this.loadOptions).core||(x.core={});let T=this.loadOptions.core.fetch;if(typeof T=="function")this.loadOptions.core.fetch=(O,I)=>T(O,{...I||{},headers:y.headers});else{let O=T&&typeof T=="object"?T:{};this.loadOptions.core.fetch={...O,headers:y.headers}}}this.sourceTileset=await jk(_,this.Loader,this.loadOptions),(this.Loader===Nc||g?await this.preprocessConversion():!0)&&!g&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(o,r),await this._finishConversion({outputPath:o,tilesetName:r}))}catch(y){throw y}finally{await this.writeQueue.finalize(),za.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await Rk({tile:t,traversalProps:null,processTile:this.analyzeTile.bind(this),postprocessTile:void 0,maxDepth:this.options.maxDepth});let{meshTopologyTypes:r,metadataClasses:n}=this.preprocessData;return console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`Tile count: ${this.progresses[cp].stepsTotal}`),console.log(`glTF mesh topology types: ${Array.from(r).join(", ")}`),n.size?console.log(`Feature metadata classes have been found: ${Array.from(n).join(", ")}`):console.log("Feature metadata classes have not been found"),!r.has("TRIANGLES")&&!r.has("TRIANGLE_STRIP")?(console.log("The tileset is of unsupported mesh topology types. The conversion will be interrupted."),console.log("------------------------------------------------"),!1):(console.log("------------------------------------------------"),!0)}async analyzeTile(t,r){if(zy(t))return await GN(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[cp].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let a=null;try{a=await VN(this.sourceTileset,t,{...this.loadOptions,"3d-tiles":{...this.loadOptions["3d-tiles"],loadGLTF:!1}})}catch{console.log(`[warning]: Failed to load ${t.contentUrl}. An I3S tile with empty content will be added to the output tileset`)}let i=await $6e(a);return H6e(this.preprocessData,i),null}async selectMetadataClass(){var r;let{metadataClasses:t}=this.preprocessData;if(t.size>1)if((r=this.options.metadataClass)!=null&&r.length)console.log(`${this.options.metadataClass} has been selected`);else if(this.options.inquirer){let n=await this.options.inquirer.prompt([{name:"metadataClass",type:"list",message:"Select feature metadata data class to convert...",choices:Array.from(t)}]);this.options.metadataClass=n.metadataClass,console.log(`${n.metadataClass} has been selected`)}else return console.log(`A feature metadata class has not been selected. Start the converter with option "--metadata-class". For example, "npx tile-converter ... --metadata-class ${Array.from(t)[0]}"`),console.log("------------------------------------------------"),!1;return!0}async _createAndSaveTileset(t,r){var u,l,f;let n=(0,Xo.join)(`${t}`,`${r}`);await this.conversionDump.createDump(this.options),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),this.layers0Path=(0,Xo.join)(n,"SceneServer","layers","0");let a=this.conversionDump.restored?(0,Xo.join)(this.layers0Path,"nodepages"):n;try{await Ry(a)}catch{}if(this.conversionDump.restored&&this.conversionDump.attributeMetadataInfo&&this.attributeMetadataInfo.fromObject(this.conversionDump.attributeMetadataInfo),this.materialDefinitions=[],this.materialMap=new Map,this.conversionDump.restored&&this.conversionDump.materialDefinitions){for(let p=0;p<this.conversionDump.materialDefinitions.length;p++){let d=(0,b4.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let i=this.sourceTileset.root,o=k1(i.boundingVolume,new mr(i.transform),null);this._formLayers0(r,o,(f=(l=(u=this.sourceTileset)==null?void 0:u.root)==null?void 0:l.boundingVolume)==null?void 0:f.region);let s=Dk(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[cp].startMonitoring();let c=await Rs.createRootNode(s,this);await Rk({tile:i,traversalProps:{transform:new mr(i.transform),parentNodes:[c]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[cp].stopMonitoring(),console.log("[finalizing conversion]"),this.layers0.attributeStorageInfo=this.attributeMetadataInfo.attributeStorageInfo,this.layers0.fields=this.attributeMetadataInfo.fields,this.layers0.popupInfo=this.attributeMetadataInfo.popupInfo,this.attributeMetadataInfo.attributeStorageInfo.length&&(this.layers0.layerType=r9t),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,g4.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),M6e()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),C6e(r,this.layers0,n);for(let p of this.compressList||[])await Ek(p),await Ly(p);await this.nodePages.save(),await this.writeQueue.finalize(),await this._createSlpk(n)}_formLayers0(t,r,n){var s;if(!((s=this.sourceTileset)!=null&&s.root))return;let a=p6e(r);n&&(a.zmin=n[4],a.zmax=n[5]);let i=[a.xmin,a.ymin,a.xmax,a.ymax],o={version:`{${Xc().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${Xc().toUpperCase()}}`,extent:i},nodePages:{nodesPerPage:ESe},compressGeometry:this.options.draco,fullExtent:a};this.layers0=(0,g4.default)(o,B6e())}async _writeLayers0(){await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>Yc(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")})}async _createSlpk(t){await this.conversionDump.deleteDumpFile();let r=(0,Xo.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await TN(r,n,async a=>({path:"@specialIndexFileHASH128@",file:await Py(a)}));try{await Ry(t)}catch{}}async convertTile(t,r){let n=zy(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await GN(this.sourceTileset,t,this.loadOptions)),r;t.id&&console.log(`[convert]: ${t.id}`);let{parentNodes:a,transform:i}=r,o=i.clone();t.transform&&(o=o.multiplyRight(t.transform));let s=a[0],c=await this._restoreNode(s,t,o),u;c===null?u=await this._createNode(s,t,o):u=c,await s.addChildren(u);let l={transform:o,parentNodes:u};if(t.id){this.progresses[cp].stepsDone+=1;let f="Calculating time left...",p=this.progresses[cp].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[cp].getPercentString(),h=d?` ${d}%, ${f}`:"";console.log(`[converted${h}]: ${t.id}`)}return l}async finalizeTile(t,r){for(let n of t)for(let a of n.parentNodes)await a.addNeighbors();for(let n of r.parentNodes)await n.save()}async _generateNodeIndexDocument(t,r,n,a,i){this.layersHasTexture=this.layersHasTexture||Boolean("texture"in r&&r.texture||"texelCountHint"in r&&r.texelCountHint),this.generateBoundingVolumes&&r.boundingVolumes&&(t=r.boundingVolumes);let o=I6e(a,t),s=o.find(f=>f.metricType==="maxScreenThresholdSQ")||{maxError:0};if(i){let f={center:[],halfSize:[],quaternion:[]};await this.nodePages.push({index:0,obb:f},n.inPageId)}let c=await this._updateNodeInNodePages(s,t,a,n.inPageId,r),u=await Rs.createNodeIndexDocument(n,t,o,c,r);return{node:await new Rs(c.index,this).addData(u),nodeInPage:c,nodeData:u}}async _restoreNode(t,r,n){if(this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions(),this.conversionDump.restored&&r.id&&this.conversionDump.isFileConversionComplete(r.id)){let a=k1(r.boundingVolume,n,null),i=Dk(a,this.geoidHeightModel),o=[];for(let s of this.conversionDump.tilesConverted[r.id].nodes){let{node:c}=await this._generateNodeIndexDocument(i,{...s.dumpMetadata,nodeId:s.nodeId},t,r,!0);o.push(c)}return o}else this.conversionDump.restored&&r.id&&this.conversionDump.clearDumpRecord(r.id);return null}async _createNode(t,r,n){var d;this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions();let a=null;try{a=await VN(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let i=k1(r.boundingVolume,n,null),o=Dk(i,this.geoidHeightModel),s=D6e(a,this.options.metadataClass);this.createAttributeStorageInfo(a,s),this.conversionDump.attributeMetadataInfo={attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,fields:this.attributeMetadataInfo.fields,popupInfo:this.attributeMetadataInfo.popupInfo};let c=await this._convertResources({sourceTile:r,transformationMatrix:n,boundingVolume:i,tileContent:a,parentId:t.inPageId,propertyTable:s}),u=[],l=[],f=[],p={geometry:null,compressedGeometry:null,texture:null,hasUvRegions:!1,sharedResources:null,meshMaterial:null,vertexCount:null,attributes:null,featureCount:null,boundingVolumes:null};for(let h of c||[p]){let{node:m,nodeInPage:g,nodeData:x}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(u.push(m),g.mesh){if(r.id){let y={boundingVolumes:h.boundingVolumes,attributesCount:(d=h.attributes)==null?void 0:d.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:g.mesh.material.definition,texelCountHint:g.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,g.index,y)}await this._writeResources(h,m.id,r)}this.validate&&(this.boundingVolumeWarnings=z6e(x),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(g.index),f.push(g)}return u}async _convertResources({sourceTile:t,transformationMatrix:r,boundingVolume:n,tileContent:a,parentId:i,propertyTable:o}){if(!this.isContentSupported(t)||!a)return null;let s={center:[],halfSize:[],quaternion:[]};return await jN({tileContent:a,tileTransform:r,tileBoundingVolume:n,addNodeToNodePage:async()=>(await this.nodePages.push({index:0,obb:s},i)).index,propertyTable:o,featuresHashArray:this.featuresHashArray,attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,draco:this.options.draco??!1,generateBoundingVolumes:this.generateBoundingVolumes,shouldMergeMaterials:this.options.mergeMaterials??!1,geoidHeightModel:this.geoidHeightModel,libraries:this.loadOptions.modules,metadataClass:this.options.metadataClass})}async _updateNodeInNodePages(t,r,n,a,i){let{vertexCount:o,featureCount:s,geometry:c,hasUvRegions:u}=i,l={index:0,lodThreshold:t.maxError,obb:r.obb,children:[]};c&&this.isContentSupported(n)&&(l.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean("texture"in i&&i.texture||"texelCountHint"in i&&i.texelCountHint),u),resource:0},attribute:{resource:0},material:{definition:0}});let f="nodeId"in i?i.nodeId:void 0,p;if(f?p=await this.nodePages.getNodeById(f):p=await this.nodePages.push(l,a),l.mesh||console.log(`[warning]: node ${p.index} is created with empty content`),Oa.updateAll(p,l),"meshMaterial"in i&&i.meshMaterial?Oa.updateMaterialByNodeId(p,this._findOrCreateMaterial(i.meshMaterial)):"materialId"in i&&i.materialId!==null&&Oa.updateMaterialByNodeId(p,i.materialId),"texture"in i&&i.texture){let d=i.texture.image.height*i.texture.image.width;Oa.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in i&&i.texelCountHint&&Oa.updateTexelCountHintByNodeId(p,i.texelCountHint);return o&&(this.vertexCounter+=o,Oa.updateVertexCountByNodeId(p,o)),Oa.updateNodeAttributeByNodeId(p),s&&Oa.updateFeatureCountByNodeId(p,s),this.nodePages.saveNode(p),p}async _writeResources(t,r,n){let{geometry:a,compressedGeometry:i,texture:o,sharedResources:s,attributes:c}=t,u=(0,Xo.join)(this.layers0Path,"nodes",r),l=(0,Xo.join)("nodes",r);await this._writeGeometries({geometryBuffer:a,compressedGeometry:i,childPath:u,slpkChildPath:l,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeShared({sharedResources:s,childPath:u,slpkChildPath:l,nodePath:r,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeTexture(o,u,l,n.id||"",parseInt(r)),await this._writeAttributes(c,u,l,n.id||"",parseInt(r))}async _writeGeometries({geometryBuffer:t,compressedGeometry:r,childPath:n,slpkChildPath:a,sourceId:i,nodeId:o}){if(!t)return;this.conversionDump.updateDoneStatus(i,o,"GEOMETRY",!1);let s=(0,Xo.join)(n,"geometries");if(await this.writeQueue.enqueue({archiveKey:`${a}/geometries/0.bin.gz`,sourceId:i,outputId:o,resourceType:"GEOMETRY",writePromise:()=>Yc(s,t,"0.bin")}),this.options.draco&&r){this.conversionDump.updateDoneStatus(i,o,"DRACO_GEOMETRY",!1);let c=(0,Xo.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${a}/geometries/1.bin.gz`,sourceId:i,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>Yc(c,r,"1.bin")})}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:a,sourceId:i,nodeId:o}){if(!t)return;t.nodePath=a;let s=(0,g4.default)(t,q6e()),c=JSON.stringify(s);this.conversionDump.updateDoneStatus(i,o,"SHARED",!1);let u=(0,Xo.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:i,outputId:o,resourceType:"SHARED",writePromise:()=>Yc(u,c,"sharedResource.json")})}async _writeTexture(t,r,n,a,i){if(t){let o=this._getFormatByMimeType(t==null?void 0:t.mimeType),s=[],c=t.bufferView.data;switch(o){case"jpg":case"png":{if(s.push({name:"0",format:o}),this.conversionDump.updateDoneStatus(a,i,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:c,name:"0",format:o,childPath:r,slpkChildPath:n,sourceId:a,nodeId:i}),this.generateTextures){s.push({name:"1",format:"ktx2"});let u=t.image.data.subarray(),l=new Uint8Array(u),f=Km({...t.image,data:l},G7,{...G7.options,["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0});this.conversionDump.updateDoneStatus(a,i,`${"TEXTURE"}/ktx2`,!1),await this.writeTextureFile({textureData:f,name:"1",format:"ktx2",childPath:r,slpkChildPath:n,sourceId:a,nodeId:i})}break}case"ktx2":{if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(a,i,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:c,name:"1",format:o,childPath:r,slpkChildPath:n,sourceId:a,nodeId:i}),this.generateTextures){s.push({name:"0",format:"jpg"});let u=Km(t.image.data[0],F7);this.conversionDump.updateDoneStatus(a,i,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile({textureData:u,name:"0",format:"jpg",childPath:r,slpkChildPath:n,sourceId:a,nodeId:i})}break}default:}this.layers0.textureSetDefinitions.length||(this.layers0.textureSetDefinitions.push({formats:s}),this.layers0.textureSetDefinitions.push({formats:s,atlas:!0}),this.layers0.textureSetDefinitions&&this.conversionDump.addTexturesDefinitions(this.layers0.textureSetDefinitions))}}async writeTextureFile({textureData:t,name:r,format:n,childPath:a,slpkChildPath:i,sourceId:o,nodeId:s}){let c=(0,Xo.join)(a,"textures"),u=!1;await this.writeQueue.enqueue({archiveKey:`${i}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>Yc(c,t,`${r}.${n}`,u)})}async _writeAttributes(t=[],r,n,a,i){if(t!=null&&t.length&&this.attributeMetadataInfo.attributeStorageInfo.length){let o=t.length<this.attributeMetadataInfo.attributeStorageInfo.length?t.length:this.attributeMetadataInfo.attributeStorageInfo.length;for(let s=0;s<o;s++){let c=this.attributeMetadataInfo.attributeStorageInfo[s].key,u=new Uint8Array(t[s]);this.conversionDump.updateDoneStatus(a,i,`${"ATTRIBUTES"}/${c}`,!1);let l=(0,Xo.join)(r,"attributes",c);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${c}.bin.gz`,sourceId:a,outputId:i,resourceType:`${"ATTRIBUTES"}/${c}`,writePromise:()=>Yc(l,u,"0.bin")})}}}_getFormatByMimeType(t){switch(t){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/ktx2":return"ktx2";default:return"jpg"}}_findOrCreateMaterial(t){let r=(0,b4.default)(JSON.stringify(t));if(this.materialMap.has(r))return this.materialMap.get(r)||0;let n=this.materialDefinitions.push(t)-1;return this.materialMap.set(r,n),n}findOrCreateGeometryDefinition(t,r){let n={hasTexture:t,hasUvRegions:r},a=(0,b4.default)(JSON.stringify(n));if(this.geometryMap.has(a))return this.geometryMap.get(a)||0;let i=this.geometryConfigs.push(n)-1;return this.geometryMap.set(a,i),i}createAttributeStorageInfo(t,r){let n=null;this.options.metadataClass?!this.attributeMetadataInfo.attributeStorageInfo.length&&(t!=null&&t.gltf)&&(n=y6e(t.gltf,this.options.metadataClass)):r&&(n=x6e(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,a=n?n/r*100:0,i=await kk({outputPath:t.outputPath,tilesetName:t.tilesetName,slpk:!0}),o=ph.default.hrtime(this.conversionStartTime),s=Jg(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${t9t}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",i," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',a,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let t={"cesium-ion":{accessToken:this.options.token||e9t}},r=await this.Loader.preload(this.options.inputUrl??"",t);return this.refreshTokenTime=ph.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){var n;if(ph.default.hrtime(this.refreshTokenTime)[0]<n9t)return;this.refreshTokenTime=ph.default.hrtime();let r=await this._fetchPreloadOptions();if(r.headers){(n=this.loadOptions).core||(n.core={});let a=this.loadOptions.core.fetch;if(typeof a=="function")this.loadOptions.core.fetch=(i,o)=>a(i,{...o||{},headers:r.headers});else{let i=a&&typeof a=="object"?a:{};this.loadOptions.core.fetch={...i,headers:r.headers}}console.log("Authorization Bearer token has been updated")}}_checkAddRefinementTypeForTile(t){let r=1;t.refine===r&&(this.refinementCounter.tilesWithAddRefineCount+=1,console.warn('This tile uses "ADD" type of refinement')),this.refinementCounter.tilesCount+=1}isContentSupported(t){return["b3dm","glTF","scenegraph"].includes(t.type||"")}};var JSe=require("path"),IU=Dt(require("process"),1),ZSe=Dt(Is(),1);function DU(e){switch(e){case"UInt8":return Uint8Array;case"UInt16":return Uint16Array;case"UInt32":return Uint32Array;case"Float32":return Float32Array;case"UInt64":return Float64Array;default:throw new Error(`parse i3s tile content: unknown type of data: ${e}`)}}var ASe={UInt8:ht.UNSIGNED_BYTE,UInt16:ht.UNSIGNED_SHORT,Float32:ht.FLOAT,UInt32:ht.UNSIGNED_INT,UInt64:ht.DOUBLE};function _b(e){switch(e){case"UInt8":return 1;case"UInt16":case"Int16":return 2;case"UInt32":case"Int32":case"Float32":return 4;case"UInt64":case"Int64":case"Float64":return 8;default:throw new Error(`parse i3s tile content: unknown size of data: ${e}`)}}var kSe="String",DSe="Oid32",OSe="Float64",FSe="Int16",dh={DEFAULT:"default",LNGLAT:"lnglat",METER_OFFSETS:"meter-offsets",LNGLAT_OFFSETS:"lnglat-offsets",CARTESIAN:"cartesian"};function v4(e){let t;try{let r=new URL(e);t=`${r.origin}${r.pathname}`,t.startsWith("null")&&(t=null)}catch{t=null}return t||e}function wb(e,t=null){return t?`${e}?token=${t}`:e}function PSe(e,t){let{attributeData:r=[]}=t,n=[];for(let a=0;a<r.length;a++){let i=r[a].href.replace("./","");n.push(`${e}/${i}`)}return n}function CSe(e,t,r){let n=[],{attributeStorageInfo:a=[]}=e;for(let i=0;i<a.length;i++){let o=a[i].key;n.push(`${t}/nodes/${r}/attributes/${o}/0`)}return n}var x4=new Z([0,0,0]);function i9t(e){switch(e){case"ktx-etc2":case"dds":return h8;case"ktx2":return Pd;case"jpg":case"png":default:return sg}}var o9t="i3s-attribute-type";async function LSe(e,t,r,n,a){var o;let i={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new mr,coordinateSystem:"meter-offsets",byteLength:0,texture:null};if(t.textureUrl){let s=wb(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),c=i9t(t.textureFormat),f=await(await((a==null?void 0:a.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(c===sg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await Vi(f,[],p,a);i.texture=d}catch{let h=await Yi(f,c,p,a);i.texture=h}}else if(c===h8||c===Pd){let p=await Wr(f,c,t.textureLoaderOptions);c===Pd&&(p=p[0]),i.texture={compressed:!0,mipmaps:!1,width:p[0].width,height:p[0].height,data:p}}}else i.texture=f}return i.material=m9t(t.materialDefinition,i.texture),i.material&&(i.texture=null),await s9t(e,i,t,r,n)}async function s9t(e,t,r,n,a){var f,p;let i=e.byteLength,o,s,c=0,u=0,l;if(r.isDracoGeometry){let d=await Yi(e,Ad,{draco:{attributeNameEntry:o9t}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:m,COLOR_0:g,TEXCOORD_0:x,["feature-index"]:y,["uv-region"]:_}=d.attributes;o={position:h,normal:m,color:g,uv0:x,uvRegion:_,id:y},c9t(o,d);let S=x9t(y);S&&v9t(o,S)}else{let{vertexAttributes:d,ordering:h,featureAttributes:m,featureAttributeOrder:g}=n.store.defaultGeometrySchema,x=l9t(e,n);c=x.byteOffset,s=x.vertexCount,u=x.featureCount;let{attributes:y,byteOffset:_}=jSe(e,c,d,s,h),{attributes:S}=jSe(e,_,m,u,g);b9t(S),o=u9t(y,S)}if(!((p=a==null?void 0:a.i3s)!=null&&p.coordinateSystem)||a.i3s.coordinateSystem===dh.METER_OFFSETS){let d=p9t(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem="meter-offsets"}else t.modelMatrix=h9t(o.position),t.coordinateSystem="lnglat-offsets";t.attributes={positions:o.position,normals:o.normal,colors:ISe(o.color),texCoords:o.uv0,uvRegions:ISe(o.uvRegion||o.region)},t.indices=l||null,o.id&&o.id.value&&(t.featureIds=o.id.value);for(let d in t.attributes)t.attributes[d]||delete t.attributes[d];return t.vertexCount=s,t.byteLength=i,t}function c9t(e,t){for(let r in t.loaderData.attributes){let n=t.loaderData.attributes[r];switch(n.name){case"POSITION":e.position.metadata=n.metadata;break;case"feature-index":e.id.metadata=n.metadata;break;default:break}}}function u9t(e,t){return{...e,...t}}function ISe(e){return e&&(e.normalized=!0,e)}function l9t(e,t){let r=0,n=0,a=0;for(let{property:i,type:o}of t.store.defaultGeometrySchema.header){let s=DU(o);switch(i){case"vertexCount".toString():n=new s(e,0,4)[0],r+=_b(o);break;case"featureCount".toString():a=new s(e,4,4)[0],r+=_b(o);break;default:break}}return{vertexCount:n,featureCount:a,byteOffset:r}}function jSe(e,t,r,n,a){let i={};for(let o of a)if(r[o]){let{valueType:s,valuesPerElement:c}=r[o];if(t+n*c*_b(s)<=e.byteLength){let u=e.slice(t),l;if(s==="UInt64")l=f9t(u,n*c,_b(s));else{let f=DU(s);l=new f(u,0,n*c)}switch(i[o]={value:l,type:ASe[s],size:c},o){case"color":i.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*c*_b(s)}else if(o!=="uv0")break}return{attributes:i,byteOffset:t}}function f9t(e,t,r){let n=[],a=new DataView(e),i=0;for(let o=0;o<t;o++){let s=a.getUint32(i,!0),c=a.getUint32(i+4,!0),u=s+2**32*c;n.push(u),i+=r}return new Uint32Array(n)}function p9t(e,t){let r=t.mbs,n=e.value,a=e.metadata,i=new mr,o=new Z(r[0],r[1],r[2]),s=new Z;return Pt.WGS84.cartographicToCartesian(o,s),Pt.WGS84.eastNorthUpToFixedFrame(s,i),e.value=d9t(n,a,o),i}function d9t(e,t={},r){let n=new Float64Array(e.length),a=t["i3s-scale_x"]&&t["i3s-scale_x"].double||1,i=t["i3s-scale_y"]&&t["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*a+r.x,n[o+1]=e[o+1]*i+r.y,n[o+2]=e[o+2]+r.z;for(let o=0;o<n.length;o+=3)Pt.WGS84.cartographicToCartesian(n.subarray(o,o+3),x4),n[o]=x4.x,n[o+1]=x4.y,n[o+2]=x4.z;return n}function h9t(e){var i,o;let t=e.metadata,r=((i=t==null?void 0:t["i3s-scale_x"])==null?void 0:i.double)||1,n=((o=t==null?void 0:t["i3s-scale_y"])==null?void 0:o.double)||1,a=new mr;return a[0]=r,a[5]=n,a}function m9t(e,t){let r;return e?r={...e,pbrMetallicRoughness:e.pbrMetallicRoughness?{...e.pbrMetallicRoughness}:{baseColorFactor:[255,255,255,255]}}:(r={pbrMetallicRoughness:{}},t?r.pbrMetallicRoughness.baseColorTexture={texCoord:0}:r.pbrMetallicRoughness.baseColorFactor=[255,255,255,255]),r.alphaCutoff=r.alphaCutoff||.25,r.alphaMode&&(r.alphaMode=r.alphaMode.toUpperCase()),r.emissiveFactor&&(r.emissiveFactor=RSe(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=RSe(r.pbrMetallicRoughness.baseColorFactor)),t&&g9t(r,t),r}function RSe(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function g9t(e,t){let r={source:{image:t}};e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture?e.pbrMetallicRoughness.baseColorTexture={...e.pbrMetallicRoughness.baseColorTexture,texture:r}:e.emissiveTexture?e.emissiveTexture={...e.emissiveTexture,texture:r}:e.pbrMetallicRoughness&&e.pbrMetallicRoughness.metallicRoughnessTexture?e.pbrMetallicRoughness.metallicRoughnessTexture={...e.pbrMetallicRoughness.metallicRoughnessTexture,texture:r}:e.normalTexture?e.normalTexture={...e.normalTexture,texture:r}:e.occlusionTexture&&(e.occlusionTexture={...e.occlusionTexture,texture:r})}function b9t(e){let{id:t,faceRange:r}=e;if(!t||!r)return;let n=t.value,a=r.value,i=a[a.length-1]+1,o=new Uint32Array(i*3),s=0,c=0;for(let u=1;u<a.length;u+=2){let l=Number(n[s]),f=a[u],p=a[u-1],d=f-p+1,h=c+d*3;o.fill(l,c,h),s++,c=h}e.id.value=o}function v9t(e,t){let r=e.id.value,n=new Float32Array(r.length);for(let a=0;a<r.length;a++)n[a]=t[r[a]];e.id.value=n}function x9t(e){var t,r;return(r=(t=e==null?void 0:e.metadata)==null?void 0:t["i3s-feature-ids"])==null?void 0:r.intArray}var y9t="4.5.3",BSe={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:y9t,mimeTypes:["application/octet-stream"],parse:_9t,extensions:["bin"],options:{"i3s-content":{}}};async function _9t(e,t,r){let{tile:n,_tileOptions:a,tileset:i,_tilesetOptions:o}=(t==null?void 0:t.i3s)||{},s=a||n,c=o||i;return!s||!c?null:await LSe(e,s,c,t,r)}var w9t="4.5.3",MSe={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:w9t,mimeTypes:["application/json"],parse:T9t,extensions:["json"],options:{i3s:{}}};async function T9t(e,t){return JSON.parse(new TextDecoder().decode(e))}var E9t=["","WEBKIT_","MOZ_"],qSe={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},g_=class{tileset;nodePages=[];pendingNodePages=[];nodesPerPage;options;lodSelectionMetricType;textureDefinitionsSelectedFormats=[];nodesInNodePages;url;textureLoaderOptions={};constructor(t,r="",n){var a,i;this.tileset={...t},this.url=r,this.nodesPerPage=((a=t.nodePages)==null?void 0:a.nodesPerPage)||64,this.lodSelectionMetricType=(i=t.nodePages)==null?void 0:i.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(t)}async getNodeById(t){var a;let r=Math.floor(t/this.nodesPerPage);if(!this.nodePages[r]&&!this.pendingNodePages[r]){let i=wb(`${this.url}/nodepages/${r}`,(a=this.options.i3s)==null?void 0:a.token);this.pendingNodePages[r]={status:"Pending",promise:Wr(i,MSe,this.options)},this.nodePages[r]=await this.pendingNodePages[r].promise,this.nodesInNodePages+=this.nodePages[r].nodes.length,this.pendingNodePages[r].status="Done"}this.pendingNodePages[r].status==="Pending"&&(this.nodePages[r]=await this.pendingNodePages[r].promise);let n=t%this.nodesPerPage;return this.nodePages[r].nodes[n]}async formTileFromNodePages(t){let r=await this.getNodeById(t),n=[],a=[];for(let d of r.children||[])a.push(this.getNodeById(d));let i=await Promise.all(a);for(let d of i)n.push({id:d.index.toString(),obb:d.obb});let o,s,c,u="jpg",l=[],f=!1;if(r&&r.mesh){let{url:d,isDracoGeometry:h}=r.mesh.geometry&&this.getContentUrl(r.mesh.geometry)||{isDracoGeometry:!1};o=d,f=h;let{textureData:m,materialDefinition:g}=this.getInformationFromMaterial(r.mesh.material);c=g,u=m.format||u,m.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${m.name}`),this.tileset.attributeStorageInfo&&(l=CSe(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return OU({id:t.toString(),lodSelection:p,obb:r.obb,contentUrl:o,textureUrl:s,attributeUrls:l,materialDefinition:c,textureFormat:u,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(t){let r=null,n=this.tileset.geometryDefinitions[t.definition],a=-1,i=this.options.i3s;if(i&&typeof i=="object"&&i.useDracoGeometry&&(a=n.geometryBuffers.findIndex(o=>o.compressedAttributes&&o.compressedAttributes.encoding==="draco")),a===-1&&(a=n.geometryBuffers.findIndex(o=>!o.compressedAttributes)),a!==-1){let o=Boolean(n.geometryBuffers[a].compressedAttributes);r={url:`${this.url}/nodes/${t.resource}/geometries/${a}`,isDracoGeometry:o}}return r}getLodSelection(t){let r=[];return this.lodSelectionMetricType==="maxScreenThresholdSQ"&&r.push({metricType:"maxScreenThreshold",maxError:Math.sqrt(t.lodThreshold/(Math.PI*.25))}),r.push({metricType:this.lodSelectionMetricType,maxError:t.lodThreshold}),r}getInformationFromMaterial(t){var n,a,i;let r={textureData:{name:null}};if(t){let o=(n=this.tileset.materialDefinitions)==null?void 0:n[t.definition];if(o){r.materialDefinition=o;let s=(i=(a=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:a.baseColorTexture)==null?void 0:i.textureSetDefinitionId;typeof s=="number"&&(r.textureData=this.textureDefinitionsSelectedFormats[s]||r.textureData)}}return r}initSelectedFormatsForTextureDefinitions(t){this.textureDefinitionsSelectedFormats=[];let r=this.getSupportedTextureFormats(),n=t.textureSetDefinitions||[];for(let a of n){let i=a&&a.formats||[],o=null;for(let s of r){let c=i.find(u=>u.format===s);if(c){o=c;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[],r=this.options.i3s;if(!r||r.useCompressedTextures){let n=S9t();n.has("etc2")&&t.push("ktx-etc2"),n.has("dxt")&&t.push("dds"),t.push("ktx2")}return t.push("jpg"),t.push("png"),t}};function S9t(e){let t=new Set;e=e||A9t()||void 0;for(let r of E9t)for(let n in qSe)e&&e.getExtension(`${r}${n}`)&&t.add(qSe[n]);return t}function A9t(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}function NSe(e,t){let r=t.url||"",n;e.geometryData&&(n=`${r}/${e.geometryData[0].href}`);let a;e.textureData&&(a=`${r}/${e.textureData[0].href}`);let i;e.attributeData&&(i=PSe(r,e));let o=e.children||[];return OU({...e,children:o,url:r,contentUrl:n,textureUrl:a,textureFormat:"jpg",attributeUrls:i,isDracoGeometry:!1})}function OU(e){var s,c;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Pt.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Pt.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new pa().fromCenterHalfSizeQuaternion(t.box.slice(0,3),e.obb.halfSize,e.obb.quaternion).getBoundingSphere();t.sphere=[...l.center,l.radius],r=[...e.obb.center,l.radius]}let n=(s=e.lodSelection)==null?void 0:s[0].metricType,a=(c=e.lodSelection)==null?void 0:c[0].maxError,i="mesh",o=2;return{...e,mbs:r,boundingVolume:t,lodMetricType:n,lodMetricValue:a,type:i,refine:o}}async function zSe(e,t,r){let n=v4(r.url||""),a,i;if(e.nodePages)a=new g_(e,n,t),i=await a.formTileFromNodePages(0);else{let o=t.i3s&&typeof t.i3s=="object"?t.i3s:{},s=wb(`${n}/nodes/root`,o.token);i=await Wr(s,xl,{...t,i3s:{...o,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:xl,url:n,basePath:n,type:"I3S",nodePagesTile:a,root:i,lodMetricType:i.lodMetricType,lodMetricValue:i.lodMetricValue}}var k9t="4.5.3",D9t=/layers\/[0-9]+$/,O9t=/\.slpk$/,F9t=/nodes\/([0-9-]+|root)$/,P9t="504b0304",C9t="PointCloud",xl={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:k9t,mimeTypes:["application/octet-stream"],parse:I9t,extensions:["bin"],options:{i3s:{token:void 0,isTileset:"auto",isTileHeader:"auto",tile:void 0,tileset:void 0,_tileOptions:void 0,_tilesetOptions:void 0,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:dh.METER_OFFSETS}}};async function I9t(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},B9t(e)===P9t)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let i=v4(n),o;t.i3s.isTileset==="auto"?o=D9t.test(i)||O9t.test(i):o=t.i3s.isTileset;let s;return t.i3s.isTileHeader==="auto"?s=F9t.test(i):s=t.i3s.isTileHeader,o?e=await R9t(e,t,r):s?e=await L9t(e,r):e=await j9t(e,t),e}async function j9t(e,t){return await Yi(e,BSe,t)}async function R9t(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===C9t)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await zSe(n,t,r)}async function L9t(e,t){return e=JSON.parse(new TextDecoder().decode(e)),NSe(e,t)}function B9t(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var M9t=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/nodepages\/\d+$/,extensions:[".json.gz"]},{test:/sublayers\/\d+$/,extensions:["/3dSceneLayer.json.gz"]},{test:/nodes\/(\d+|root)$/,extensions:["/3dNodeIndexDocument.json.gz"]},{test:/nodes\/\d+\/textures\/.+$/,extensions:[".jpg",".png",".bin.dds.gz",".ktx",".ktx2"]},{test:/nodes\/\d+\/geometries\/\d+$/,extensions:[".bin.gz",".draco.gz"]},{test:/nodes\/\d+\/attributes\/f_\d+\/\d+$/,extensions:[".bin.gz"]},{test:/statistics\/(f_\d+\/\d+|summary)$/,extensions:[".json.gz"]},{test:/nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],y4=class extends dl{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new mc;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let a=(n=M9t.find(i=>i.test.test(t)))==null?void 0:n.extensions;if(a){let i;for(let o of a)if(i=await this.getDataByPath(`${t}${o}`),i)break;if(i)return i}}if(r==="raw"){let a=await this.getDataByPath(`${t}.gz`);if(a)return a;let i=await this.getFileBytes(t);if(i)return i}throw new Error(`No such file in the archive: ${t}`)}async getDataByPath(t){let r=await this.getFileBytes(t.toLocaleLowerCase());if(r||(r=await this.getFileBytes(t)),!!r)return/\.gz$/.test(t)?await new Oy().decompress(r):r}async getFileBytes(t){let r;if(this.hashTable){let n=this._textEncoder.encode(t),a=await this._md5Hash.hash(n.buffer,"hex"),i=this.hashTable[a];if(i===void 0)return;let o=await Cs(i,this.file);if(!o)return;r=await Xr(this.file,o.fileDataOffset,o.fileDataOffset+o.compressedSize)}else try{r=await this.getFileWithoutHash(t)}catch{r=void 0}return r}};async function FU(e,t,r){let n=await Yd(e,Jd),a=await Qd(n,e),i;if((a==null?void 0:a.fileName)!=="@specialIndexFileHASH128@")i=await EN(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Cs(a.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,c=await Xr(e,s,s+o.compressedSize);i=Fy(c)}return new y4(e,i,r)}function GSe(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?q9t(n,e):null}:{}}function q9t(e,t){switch(e){case kSe:return U9t(t);case DSe:return USe(t);case OSe:return z9t(t);case FSe:return N9t(t);default:return USe(t)}}function USe(e){return new Uint32Array(e,4)}function N9t(e){return new Int16Array(e,4)}function z9t(e){return new Float64Array(e,8)}function U9t(e){let a=[];try{let i=new DataView(e,0,4).getUint32(0,!0),o=new Uint32Array(e,8,i),s=8+i*4;for(let c of o){let u=new TextDecoder("utf-8"),l=new Uint8Array(e,s,c);a.push(u.decode(l)),s+=c}}catch(i){console.error("Parse string attribute error: ",i.message)}return a}var G9t="4.5.3";var PU={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:G9t,mimeTypes:["application/binary"],parse:async(e,t)=>GSe(e,t),extensions:["bin"],options:{},binary:!0};function CU(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Pt.WGS84.cartographicToCartesian(r,new Z),a=new pa().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...a.center,...a.halfAxes.toArray()]}var _4=Dt(Is(),1),V9t=()=>({version:{path:"version",default:"1.0"}}),VSe=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,_4.default)(t,VSe()))}}),$Se=()=>({asset:{path:"asset",transform:e=>(0,_4.default)(e,V9t())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,_4.default)(e,VSe())}});function HSe(e,t){let r=new Float32Array(e.length),n=H9t(t);for(let a=0;a<e.length;a+=2){let i=e.subarray(a,a+2),o=n.slice(a*2,a*2+4),s=$9t([i[0],i[1]]),c=[o[2]-o[0],o[3]-o[1]],u=[s[0]*c[0],s[1]*c[1]],l=[u[0]+o[0],u[1]+o[1]];r[a]=l[0],r[a+1]=l[1]}return r}function $9t(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function H9t(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var W9t=new mr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),WSe=new Z,KSe="KHR_materials_unlit",K9t=1,X9t=1,w4=class{rtcCenter;i3sTile;tileType;constructor(t={outputVersion:"1.1"}){this.tileType=t.outputVersion==="1.0"?da.BATCHED_3D_MODEL:da.GLTF}async convert(t,r=null,n){let a=await this.buildGLTF(t,r,n);return this.tileType===da.BATCHED_3D_MODEL?yA({gltfEncoded:new Uint8Array(a),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},kN):a}async buildGLTF(t,r,n){let{tileContent:a,textureFormat:i,box:o}=t,{material:s,attributes:c,indices:u,modelMatrix:l}=a,f=new Ut,p=await this._addI3sTextureToGLTF(a,i,f),d=s==null?void 0:s.pbrMetallicRoughness;d&&(d.metallicFactor===void 0||d.metallicFactor===K9t)&&(d.roughnessFactor===void 0||d.roughnessFactor===X9t)&&(f.addObjectExtension(s,KSe,{}),f.addExtension(KSe));let h=this._convertI3sMaterialToGLTFMaterial(s,p),m=f.addMaterial(h),g=c.positions,x=g.value;c.uvRegions&&c.texCoords&&(c.texCoords.value=HSe(c.texCoords.value,c.uvRegions.value));let y=new Z(o),_=Pt.WGS84.cartesianToCartographic(y,new Z);c.positions.value=this._normalizePositions(x,y,_,l),this._createBatchIds(a,r),c.normals&&!this._checkNormals(c.normals.value)&&delete c.normals;let S=u||Ok(x.length/g.size),T=f.addMesh({attributes:c,indices:S,material:m,mode:4});this.tileType===da.GLTF&&this._createMetadataExtensions(f,T,r,n,a);let O=this._generateTransformMatrix(y),I=f.addNode({meshIndex:T,matrix:O}),B=f.addScene({nodeIndices:[I]});return f.setDefaultScene(B),f.createBinaryChunk(),yA(f.gltf,lM,{gltfBuilder:f})}_createMetadataExtensions(t,r,n,a,i){var u;let o=this._createPropertyAttibutes(n,a),s=o8(t,o),c=t.getMesh(r);for(let l of c.primitives)(u=i.attributes._BATCHID)!=null&&u.value&&a8(t,l,i.attributes._BATCHID.value,s)}_createPropertyAttibutes(t,r){if(!t||!r)return[];let n=[];for(let a in t){let i=this._convertAttributeStorageInfoToPropertyAttribute(a,r,t);i&&n.push(i)}return n}_convertAttributeStorageInfoToPropertyAttribute(t,r,n){let a=n[t],i=r.find(l=>l.name===t);if(!i)return null;let o=i.attributeValues;if(!(o!=null&&o.valueType))return null;let s,c;switch(o.valueType.toLowerCase()){case"oid32":s="SCALAR",c="UINT32";break;case"int32":s="SCALAR",c="INT32";break;case"uint32":s="SCALAR",c="UINT32";break;case"int16":s="SCALAR",c="INT16";break;case"uint16":s="SCALAR",c="UINT16";break;case"float64":s="SCALAR",c="FLOAT64";break;case"string":s="STRING";break;default:s="";break}let u={name:t,elementType:s,componentType:c,values:[]};return AB(a)?u.values=Array.from(a):a!==null&&(u.values=a),u}async _addI3sTextureToGLTF(t,r,n){let{texture:a,material:i,attributes:o}=t,s=null,c=a;if(!a&&i&&(c=i.pbrMetallicRoughness&&i.pbrMetallicRoughness.baseColorTexture&&i.pbrMetallicRoughness.baseColorTexture.texture.source.image),c){let u=this._deduceMimeTypeFromFormat(r),l=n.addImage(c,u);s=n.addTexture({imageIndex:l}),delete o.colors}return s}_normalizePositions(t,r,n,a){let i=new Float32Array(t.length);for(let o=0;o<t.length;o+=3){let s=t.subarray(o,o+3),c=new Z(r),u=new Z(Array.from(s)).transform(a).add(n);Pt.WGS84.cartographicToCartesian(u,WSe),u=WSe.subtract(c),i.set(u,o)}return i}_generateTransformMatrix(t){return new mr().translate(t).multiplyLeft(W9t)}_createBatchIds(t,r){let{featureIds:n}=t,{OBJECTID:a}=r||{};if(!(!n||!a)){for(let i=0;i<n.length;i++){let o=n[i],s=a.indexOf(o);n[i]=s}t.attributes._BATCHID={size:1,byteOffset:0,value:n}}}_deduceMimeTypeFromFormat(t){switch(t){case"jpg":return"image/jpeg";case"png":return"image/png";case"ktx2":return"image/ktx2";default:return console.warn(`Unexpected texture format in I3S: ${t}`),"image/jpeg"}}_convertI3sMaterialToGLTFMaterial(t,r){let n=r!==null;return t?(r!==null&&(t=this._setGLTFTexture(t,r)),t):(t={alphaMode:"OPAQUE",doubleSided:!1,pbrMetallicRoughness:{metallicFactor:0,roughnessFactor:1}},n?t.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,1],t)}_setGLTFTexture(t,r){let n={...t,pbrMetallicRoughness:{...t.pbrMetallicRoughness}};return t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorTexture?n.pbrMetallicRoughness.baseColorTexture={index:r,texCoord:0}:t.emissiveTexture?n.emissiveTexture={index:r,texCoord:0}:t.pbrMetallicRoughness&&t.pbrMetallicRoughness.metallicRoughnessTexture?n.pbrMetallicRoughness.metallicRoughnessTexture={index:r,texCoord:0}:t.normalTexture?n.normalTexture={index:r,texCoord:0}:t.occlusionTexture&&(n.occlusionTexture={index:r,texCoord:0}),n}_getFeaturesLength(t){if(!t)return 0;let r=Object.keys(t)[0];return r?t[r].length:0}_checkNormals(t){return t.find(r=>r)}};var XSe=async(e,t,r,n)=>{if(!e||!t.contentUrl)return null;let a={...r,i3s:{...r.i3s,isTileset:!1,isTileHeader:!1,_tileOptions:{attributeUrls:t.attributeUrls||[],textureUrl:t.textureUrl,textureFormat:t.textureFormat,textureLoaderOptions:t.textureLoaderOptions,materialDefinition:t.materialDefinition,isDracoGeometry:t.isDracoGeometry,mbs:t.mbs},_tilesetOptions:{store:e.store,attributeStorageInfo:e.attributeStorageInfo,fields:e.fields}}};return await b_(t.contentUrl,xl,a,n)};async function YSe(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new Ga(r),a=await FU(n,void 0,r);return new pl(a)}return null}async function b_(e,t,r,n){return n!==null?await Wr(e,t,{...r,core:{...r==null?void 0:r.core,fetch:n.fetch.bind(n)}}):await Wr(e,t,r)}async function QSe(e){if(!(e!=null&&e.file))return 0;let t=new Set,r=Kc(e.file);for await(let n of r){let a=n.fileName,i=/^nodes\/(\d+)\//.exec(a);i&&t.add(i[1])}return t.size}var Y9t="I3S",Tb=class{options;tilesetPath;vertexCounter;conversionStartTime;geoidHeightModel;sourceTileset;attributeStorageInfo;workerSource={};slpkFilesystem=null;loaderOptions={core:{_nodeWorkers:!0,reuseWorkers:!0,worker:!1},i3s:{coordinateSystem:dh.LNGLAT_OFFSETS,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};conversionDump;progress;fileExt;constructor(){this.options={},this.tilesetPath="",this.vertexCounter=0,this.conversionStartTime=[0,0],this.geoidHeightModel=null,this.sourceTileset=null,this.attributeStorageInfo=null,this.workerSource={},this.conversionDump=new fh,this.progress=new ab,this.fileExt=""}async convert(t){var m;if(cr)return console.log(nb),nb;let{inputUrl:r,outputPath:n,outputVersion:a,tilesetName:i,maxDepth:o,egmFilePath:s,inquirer:c,analyze:u}=t;this.conversionStartTime=IU.default.hrtime(),this.options={maxDepth:o,inquirer:c,outputVersion:a},this.fileExt=this.options.outputVersion==="1.0"?"b3dm":"glb",console.log("Loading egm file..."),this.geoidHeightModel=await Wr(s,Ck),console.log("Loading egm file completed!"),this.slpkFilesystem=await YSe(r);let l=!0;if((u||this.slpkFilesystem)&&(l=await this.preprocessConversion(),!l||u)||(this.progress.startMonitoring(),this.sourceTileset=await b_(r,xl,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let f=(m=this.sourceTileset)==null?void 0:m.root;if(f.obb||(f.obb=IN(f.mbs)),this.tilesetPath=(0,JSe.join)(`${n}`,`${i}`),this.attributeStorageInfo=this.sourceTileset.attributeStorageInfo,await this.conversionDump.createDump(t),this.conversionDump.restored&&this.options.inquirer&&((await this.options.inquirer.prompt([{name:"resumeConversion",type:"confirm",message:"Dump file of the previous conversion exists, do you want to resume that conversion?"}])).resumeConversion||this.conversionDump.reset()),!this.conversionDump.restored)try{await Ry(this.tilesetPath)}catch{}let p={boundingVolume:{box:CU(f.obb,this.geoidHeightModel)},geometricError:LN(f),children:[],refine:"REPLACE"};await this._addChildren(f,p,1);let d=(0,ZSe.default)({asset:{version:a},root:p},$Se());await Ci(this.tilesetPath,JSON.stringify(d),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:i}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),za.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await QSe(this.slpkFilesystem);if(this.progress.stepsTotal=t,console.log("------------------------------------------------"),console.log("Preprocess results:"),this.slpkFilesystem){if(console.log(`Node count: ${t}`),t===0)return console.log("Node count is 0. The conversion will be interrupted."),console.log("------------------------------------------------"),!1}else console.log("Node count cannot be calculated for the remote dataset");return console.log("------------------------------------------------"),!0}async convertChildNode(t,r,n,a){let i=r,o=await this._loadChildNode(t,a);if(o.contentUrl){if(this.conversionDump.restored&&this.conversionDump.isFileConversionComplete(`${o.id}.${this.fileExt}`)&&(o.obb||o.mbs)){let{child:y}=this._createChildAndBoundingVolume(o);r.children.push(y),await this._addChildren(o,y,n+1);return}let f=await XSe(this.sourceTileset,o,this.loaderOptions,this.slpkFilesystem);if(!f){await this._addChildren(o,r,n+1);return}this.vertexCounter+=(f==null?void 0:f.vertexCount)||0;let p=null;this.attributeStorageInfo&&(p=await this._loadChildAttributes(o,this.attributeStorageInfo));let{child:d,boundingVolume:h}=this._createChildAndBoundingVolume(o),m={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},x=await new w4({outputVersion:this.options.outputVersion}).convert(m,p,this.attributeStorageInfo);await this.conversionDump.addNode(`${o.id}.${this.fileExt}`,o.id),await Ci(this.tilesetPath,new Uint8Array(x),`${o.id}.${this.fileExt}`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.${this.fileExt}`,o.id,!0),r.children.push(d),i=d}this.progress.stepsDone+=1;let s="Calculating time left...",c=this.progress.getTimeRemainingString();c&&(s=`${c} left`);let u=this.progress.getPercentString(),l=u?` ${u}%, ${s}`:"";console.log(`[converted${l}]: ${a.id}`),await this._addChildren(o,i,n+1)}async _addChildren(t,r,n){if(!(this.options.maxDepth&&n>this.options.maxDepth))for(let a of t.children||[])await this.convertChildNode(t,r,n,a)}async _loadChildNode(t,r){var a;let n;if((a=this.sourceTileset)!=null&&a.nodePagesTile)console.log(`Node conversion: ${r.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(r.id));else{let i=this._relativeUrlToFullUrl(t.url,r.href),o={i3s:{...this.loaderOptions,isTileHeader:!0,loadContent:!1}};console.log(`Node conversion: ${i}`),n=await b_(i,xl,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=IN(t.mbs));let r={box:CU(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:LN(t),children:[],content:{uri:`${t.id}.${this.fileExt}`,boundingVolume:r}};return{boundingVolume:r,child:n}}_relativeUrlToFullUrl(t="",r){let n=t.split("/"),a=r.split("/");for(let i of a)switch(i){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(i)}return n.join("/")}async _loadChildAttributes(t,r){let n=[],{attributeUrls:a=[]}=t;for(let o=0;o<a.length;o++){let s=a[o],c=r[o],u={i3s:{attributeName:c.name,attributeType:this._getAttributeType(c)}};n.push(b_(s,PU,u,this.slpkFilesystem))}let i=await Promise.all(n);return this._replaceNestedArrays(i),Object.assign({},...i)}_getAttributeType(t){return t.attributeValues?t.attributeValues.valueType:t.objectIds?"Oid32":""}_replaceNestedArrays(t){for(let r=0;r<t.length;r++){let n=t[r];for(let a in n)n[a]=Array.from(n[a])}}async _finishConversion(t){let r=await kk(t),n=IU.default.hrtime(this.conversionStartTime),a=Jg(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${Y9t}`),console.log(`Total conversion time: ${a}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var Eb=require("path");var Q9t="4.5.3",J9t="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",T4=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await Wr(J9t,bN,{}),n=process.cwd();t&&(n=(0,Eb.join)(n,t)),await Ci(n,new Uint8Array(r["geoids/egm2008-5.pgm"]),"egm2008-5.pgm"),console.log('Installing "I3S Content Loader" worker'),await this.installFromNpm("i3s","i3s-content-worker-node.js"),console.log('Installing "Draco Loader" worker'),await this.installFromNpm("draco","draco-worker-node.js"),console.log('Installing "Draco Writer" worker'),await this.installFromNpm("draco","draco-writer-worker-node.js"),console.log('Installing "Basis Loader" worker'),await this.installFromNpm("textures","basis-worker-node.js"),console.log('Installing "KTX2 Basis Writer" worker'),await this.installFromNpm("textures","ktx2-basis-writer-worker-node.js"),console.log('Installing "Draco decoder" library'),await this.installFromUrl(Rc[zr.DECODER],"draco",zr.DECODER),await this.installFromUrl(Rc[zr.DECODER_WASM],"draco",zr.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(Rc[zr.ENCODER],"draco",zr.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Mc.TRANSCODER,"libs"),await this.installFromNpm("textures",Mc.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Mc.ENCODER,"libs"),await this.installFromNpm("textures",Mc.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let a=new f0,i=(0,Eb.dirname)(process.execPath);await a.start({command:`"${i}/${process.platform==="win32"?"npm.cmd":"npm"}"`,arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0,spawn:{shell:!0}}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let a=await si(`https://unpkg.com/@loaders.gl/${t}@${Q9t}/dist/${n}/${r}`);if(a.status<200||a.status>=300)throw new Error(`Failed to load resource ${r}`);let i=await a.arrayBuffer();if(!i)return;let o=(0,Eb.join)(process.cwd(),"modules",t,"dist",n);await Ci(o,i,r)}async installFromUrl(t,r,n){let i=await(await si(t)).arrayBuffer();if(!i)return;let o=(0,Eb.join)(process.cwd(),"modules",r,"dist","libs");await Ci(o,i,n)}};function zs(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function eAe(e,t){let r=zs(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function tAe(e){return e.reduce((t,r)=>{let n=r.indexOf("="),a=r.slice(0,n),i=r.slice(n+1,r.length);return r.includes("=")&&r.startsWith("--")&&i?t.concat(a,i):t.concat(r)},[])}function rAe(e,t){let r=zs(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function Us(e,t){let r=zs(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var iAe=require("fs/promises"),jU={I3S:"I3S",_3DTILES:"3DTILES"};async function Z9t(){let[,,...e]=process.argv;e.length===0&&RU();let t=tAe(e),r=tRt(t);if(r.installDependencies){new T4().install("deps");return}if(r.addHash){let a=nAe(r,!0),i=a.tileset;if(!r.quiet)if(a.output==="data"){let s=a.tileset.substring(0,a.tileset.length-5);(await E4.default.prompt([{name:"isNewFileRequired",type:"list",message:"What would you like to do?",choices:[{name:"Add hash file to the current SLPK file",value:!1},{name:`Create a new file ${s}-hash.slpk with hash file inside`,value:!0}]}])).isNewFileRequired&&(i=`${s}-hash.slpk`)}else i=a.output;i!==a.tileset&&await(0,iAe.copyFile)(a.tileset,i);let o=await Py(Kc(new Ga(i)));await wN(i,o,"@specialIndexFileHASH128@");return}let n=nAe(r);await eRt(n)}Z9t().catch(e=>{console.log(e),process.exit(1)});function RU(){console.log("cli: converter 3dTiles to I3S or I3S to 3dTiles..."),console.log('--install-dependencies [Run the script for installing dependencies. Run this options separate from others. Now "*.pgm" file installation is implemented]'),console.log("--max-depth [Maximal depth of hierarchical tiles tree traversal, default: infinite]"),console.log("--name [Tileset name]"),console.log('--output [Output folder, default: "data" folder]'),console.log("--instant-node-writing [Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduces memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent merging similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [(Deprecated since version 4.3.0) Whether the converter generates *.slpk (Scene Layer Package) I3S output files. Note: For versions 4.3.0 and up *.slpk is the default output without this option specified.]"),console.log("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log("--output-version [3DTiles version: 1.0 or 1.1, default: 1.1]. This option supports only 1.0/1.1 values for 3DTiles output. I3S output version setting is not supported yet."),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format or "None" to not use it. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"'),console.log("--token [Token for Cesium ION tilesets authentication]"),console.log("--no-draco [Disable draco compression for geometry]"),console.log("--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]"),console.log("--generate-bounding-volumes [Generate obb and mbs bounding volumes from geometry]"),console.log("--analyze [Analyze the input tileset content without conversion, default: false]"),console.log('--metadata-class [One of the list of feature metadata classes, detected by converter on "analyze" stage, default: not set]'),console.log("--validate [Enable validation]"),console.log("--quiet [Skip all prompts that stop conversion and wait for a user input: default: false]"),process.exit(0)}async function eRt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case jU.I3S:await new Tb().convert({inputUrl:e.tileset,outputPath:e.output,outputVersion:e.outputVersion,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:E4.default});break;case jU._3DTILES:await new yb().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,token:e.token,draco:e.draco,mergeMaterials:e.mergeMaterials,generateTextures:e.generateTextures,generateBoundingVolumes:e.generateBoundingVolumes,validate:e.validate,instantNodeWriting:e.instantNodeWriting,metadataClass:e.metadataClass,analyze:e.analyze,inquirer:e.quiet?void 0:E4.default});break;default:RU()}}function nAe(e,t){let r={name:{getMessage:()=>console.log("Missed: --name [Tileset name]"),condition:a=>t||Boolean(a)||Boolean(e.analyze)},output:{getMessage:()=>console.log("Missed: --output [Output path name]")},egm:{getMessage:()=>console.log("Missed: --egm [*.pgm earth gravity model file path]")},tileset:{getMessage:()=>console.log("Missed: --tileset [tileset.json file]")},inputType:{getMessage:()=>console.log("Missed/Incorrect: --input-type [tileset input type: I3S or 3DTILES]"),condition:a=>t||Boolean(a)&&Object.values(jU).includes(a.toUpperCase())},outputVersion:{getMessage:()=>console.log('Incorrect: --output-version [1.0 or 1.1] is for --input-type "I3S" only'),condition:a=>t||Boolean(a)&&Object.values(["1.0","1.1"]).includes(a)&&Boolean(e.inputType==="I3S")||Boolean(e.inputType!=="I3S")||Boolean(e.analyze)}},n=[];for(let a in r){let i=e[a],o=r[a].condition;(o?o(i):i)||n.push(r[a].getMessage)}return n.length&&(n.forEach(a=>a()),process.exit(1)),e}function tRt(e){let t={output:"data",outputVersion:"1.1",instantNodeWriting:!1,mergeMaterials:!0,egm:(0,aAe.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,addHash:!1,quiet:!1};return e.forEach((r,n)=>{if(r.indexOf("--")===0)switch(r){case"--input-type":t.inputType=zs(n,e);break;case"--tileset":t.tileset=eAe(n,e);break;case"--name":t.name=zs(n,e);break;case"--output":t.output=zs(n,e);break;case"--output-version":t.outputVersion=zs(n,e);break;case"--instant-node-writing":t.instantNodeWriting=Us(n,e);break;case"--split-nodes":t.mergeMaterials=Us(n,e);break;case"--max-depth":t.maxDepth=rAe(n,e);break;case"--add-hash":t.addHash=Us(n,e);break;case"--egm":t.egm=zs(n,e);break;case"--token":t.token=zs(n,e);break;case"--no-draco":t.draco=Us(n,e);break;case"--validate":t.validate=Us(n,e);break;case"--install-dependencies":t.installDependencies=Us(n,e);break;case"--generate-textures":t.generateTextures=Us(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=Us(n,e);break;case"--analyze":t.analyze=Us(n,e);break;case"--quiet":t.quiet=Us(n,e);break;case"--metadata-class":t.metadataClass=zs(n,e);break;case"--help":RU();break;case"--slpk":break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
|
|
161
161
|
/*! Bundled license information:
|
|
162
162
|
|
|
163
163
|
is-buffer/index.js:
|