@loaders.gl/tile-converter 4.3.0-alpha.6 → 4.3.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/converter.min.cjs +2 -2
- package/dist/deps-installer/deps-installer.d.ts.map +1 -1
- package/dist/deps-installer/deps-installer.js +4 -3
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.js +5 -1
- package/dist/index.cjs +6 -2
- package/dist/index.cjs.map +2 -2
- package/dist/pgm-loader.js +1 -1
- package/package.json +16 -16
- package/src/deps-installer/deps-installer.ts +3 -2
- package/src/i3s-converter/i3s-converter.ts +5 -1
package/dist/converter.min.cjs
CHANGED
|
@@ -151,13 +151,13 @@ Calls to async() callback can have unexpected results.`),l=!0,function(h,g){h?c(
|
|
|
151
151
|
|| ${o} === "boolean" || ${i} === null`).assign(s,(0,It._)`[${i}]`)}}}function vIt({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,It._)`${t} !== undefined`,()=>e.assign((0,It._)`${t}[${r}]`,n))}function oG(e,t,r,n=z2.Correct){let i=n===z2.Correct?It.operators.EQ:It.operators.NEQ,a;switch(e){case"null":return(0,It._)`${t} ${i} null`;case"array":a=(0,It._)`Array.isArray(${t})`;break;case"object":a=(0,It._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":a=o((0,It._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":a=o();break;default:return(0,It._)`typeof ${t} ${i} ${e}`}return n===z2.Correct?a:(0,It.not)(a);function o(s=It.nil){return(0,It.and)((0,It._)`typeof ${t} == "number"`,s,r?(0,It._)`isFinite(${t})`:It.nil)}}Mi.checkDataType=oG;function sG(e,t,r,n){if(e.length===1)return oG(e[0],t,r,n);let i,a=(0,aSe.toHash)(e);if(a.array&&a.object){let o=(0,It._)`typeof ${t} != "object"`;i=a.null?o:(0,It._)`!${t} || ${o}`,delete a.null,delete a.array,delete a.object}else i=It.nil;a.number&&delete a.integer;for(let o in a)i=(0,It.and)(i,oG(o,t,r,n));return i}Mi.checkDataTypes=sG;var yIt={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,It._)`{type: ${e}}`:(0,It._)`{type: ${t}}`};function uG(e){let t=bIt(e);(0,dIt.reportError)(t,yIt)}Mi.reportTypeError=uG;function bIt(e){let{gen:t,data:r,schema:n}=e,i=(0,aSe.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}});var cSe=x(L4=>{"use strict";Object.defineProperty(L4,"__esModule",{value:!0});L4.assignDefaults=void 0;var Q1=Ut(),_It=cr();function wIt(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let i in r)uSe(e,i,r[i].default);else t==="array"&&Array.isArray(n)&&n.forEach((i,a)=>uSe(e,a,i.default))}L4.assignDefaults=wIt;function uSe(e,t,r){let{gen:n,compositeRule:i,data:a,opts:o}=e;if(r===void 0)return;let s=(0,Q1._)`${a}${(0,Q1.getProperty)(t)}`;if(i){(0,_It.checkStrictMode)(e,`default is ignored for: ${s}`);return}let u=(0,Q1._)`${s} === undefined`;o.useDefaults==="empty"&&(u=(0,Q1._)`${u} || ${s} === null || ${s} === ""`),n.if(u,(0,Q1._)`${s} = ${(0,Q1.stringify)(r)}`)}});var Qo=x(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.validateUnion=Br.validateArray=Br.usePattern=Br.callValidateCode=Br.schemaProperties=Br.allSchemaProperties=Br.noPropertyInData=Br.propertyInData=Br.isOwnProperty=Br.hasPropFunc=Br.reportMissingProp=Br.checkMissingProp=Br.checkReportMissingProp=void 0;var Zr=Ut(),cG=cr(),Fp=Rl(),EIt=cr();function AIt(e,t){let{gen:r,data:n,it:i}=e;r.if(fG(r,n,t,i.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Zr._)`${t}`},!0),e.error()})}Br.checkReportMissingProp=AIt;function TIt({gen:e,data:t,it:{opts:r}},n,i){return(0,Zr.or)(...n.map(a=>(0,Zr.and)(fG(e,t,a,r.ownProperties),(0,Zr._)`${i} = ${a}`)))}Br.checkMissingProp=TIt;function SIt(e,t){e.setParams({missingProperty:t},!0),e.error()}Br.reportMissingProp=SIt;function lSe(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Zr._)`Object.prototype.hasOwnProperty`})}Br.hasPropFunc=lSe;function lG(e,t,r){return(0,Zr._)`${lSe(e)}.call(${t}, ${r})`}Br.isOwnProperty=lG;function CIt(e,t,r,n){let i=(0,Zr._)`${t}${(0,Zr.getProperty)(r)} !== undefined`;return n?(0,Zr._)`${i} && ${lG(e,t,r)}`:i}Br.propertyInData=CIt;function fG(e,t,r,n){let i=(0,Zr._)`${t}${(0,Zr.getProperty)(r)} === undefined`;return n?(0,Zr.or)(i,(0,Zr.not)(lG(e,t,r))):i}Br.noPropertyInData=fG;function fSe(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}Br.allSchemaProperties=fSe;function DIt(e,t){return fSe(t).filter(r=>!(0,cG.alwaysValidSchema)(e,t[r]))}Br.schemaProperties=DIt;function FIt({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:a},it:o},s,u,c){let l=c?(0,Zr._)`${e}, ${t}, ${n}${i}`:t,f=[[Fp.default.instancePath,(0,Zr.strConcat)(Fp.default.instancePath,a)],[Fp.default.parentData,o.parentData],[Fp.default.parentDataProperty,o.parentDataProperty],[Fp.default.rootData,Fp.default.rootData]];o.opts.dynamicRef&&f.push([Fp.default.dynamicAnchors,Fp.default.dynamicAnchors]);let p=(0,Zr._)`${l}, ${r.object(...f)}`;return u!==Zr.nil?(0,Zr._)`${s}.call(${u}, ${p})`:(0,Zr._)`${s}(${p})`}Br.callValidateCode=FIt;var kIt=(0,Zr._)`new RegExp`;function BIt({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:i}=t.code,a=i(r,n);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:(0,Zr._)`${i.code==="new RegExp"?kIt:(0,EIt.useFunc)(e,i)}(${r}, ${n})`})}Br.usePattern=BIt;function OIt(e){let{gen:t,data:r,keyword:n,it:i}=e,a=t.name("valid");if(i.allErrors){let s=t.let("valid",!0);return o(()=>t.assign(s,!1)),s}return t.var(a,!0),o(()=>t.break()),a;function o(s){let u=t.const("len",(0,Zr._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:cG.Type.Num},a),t.if((0,Zr.not)(a),s)})}}Br.validateArray=OIt;function IIt(e){let{gen:t,schema:r,keyword:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0,cG.alwaysValidSchema)(i,u))&&!i.opts.unevaluated)return;let o=t.let("valid",!1),s=t.name("_valid");t.block(()=>r.forEach((u,c)=>{let l=e.subschema({keyword:n,schemaProp:c,compositeRule:!0},s);t.assign(o,(0,Zr._)`${o} || ${s}`),e.mergeValidEvaluated(l,s)||t.if((0,Zr.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}Br.validateUnion=IIt});var hSe=x(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.validateKeywordUsage=fc.validSchemaType=fc.funcKeywordCode=fc.macroKeywordCode=void 0;var ga=Ut(),jh=Rl(),PIt=Qo(),RIt=G2();function MIt(e,t){let{gen:r,keyword:n,schema:i,parentSchema:a,it:o}=e,s=t.macro.call(o.self,i,a,o),u=dSe(r,n,s);o.opts.validateSchema!==!1&&o.self.validateSchema(s,!0);let c=r.name("valid");e.subschema({schema:s,schemaPath:ga.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:!0},c),e.pass(c,()=>e.error(!0))}fc.macroKeywordCode=MIt;function jIt(e,t){var r;let{gen:n,keyword:i,schema:a,parentSchema:o,$data:s,it:u}=e;qIt(u,t);let c=!s&&t.compile?t.compile.call(u.self,a,o,u):t.validate,l=dSe(n,i,c),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)g(),t.modifying&&pSe(e),m(()=>e.error());else{let v=t.async?d():h();t.modifying&&pSe(e),m(()=>LIt(e,v))}}function d(){let v=n.let("ruleErrs",null);return n.try(()=>g((0,ga._)`await `),b=>n.assign(f,!1).if((0,ga._)`${b} instanceof ${u.ValidationError}`,()=>n.assign(v,(0,ga._)`${b}.errors`),()=>n.throw(b))),v}function h(){let v=(0,ga._)`${l}.errors`;return n.assign(v,null),g(ga.nil),v}function g(v=t.async?(0,ga._)`await `:ga.nil){let b=u.opts.passContext?jh.default.this:jh.default.self,_=!("compile"in t&&!s||t.schema===!1);n.assign(f,(0,ga._)`${v}${(0,PIt.callValidateCode)(e,l,b,_)}`,t.modifying)}function m(v){var b;n.if((0,ga.not)((b=t.valid)!==null&&b!==void 0?b:f),v)}}fc.funcKeywordCode=jIt;function pSe(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,ga._)`${n.parentData}[${n.parentDataProperty}]`))}function LIt(e,t){let{gen:r}=e;r.if((0,ga._)`Array.isArray(${t})`,()=>{r.assign(jh.default.vErrors,(0,ga._)`${jh.default.vErrors} === null ? ${t} : ${jh.default.vErrors}.concat(${t})`).assign(jh.default.errors,(0,ga._)`${jh.default.vErrors}.length`),(0,RIt.extendErrors)(e)},()=>e.error())}function qIt({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function dSe(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,ga.stringify)(r)})}function NIt(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")}fc.validSchemaType=NIt;function UIt({schema:e,opts:t,self:r,errSchemaPath:n},i,a){if(Array.isArray(i.keyword)?!i.keyword.includes(a):i.keyword!==a)throw new Error("ajv implementation error");let o=i.dependencies;if(o!=null&&o.some(s=>!Object.prototype.hasOwnProperty.call(e,s)))throw new Error(`parent schema must have dependencies of ${a}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(e[a])){let u=`keyword "${a}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}fc.validateKeywordUsage=UIt});var gSe=x(kp=>{"use strict";Object.defineProperty(kp,"__esModule",{value:!0});kp.extendSubschemaMode=kp.extendSubschemaData=kp.getSubschema=void 0;var pc=Ut(),mSe=cr();function GIt(e,{keyword:t,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:a,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,pc._)`${e.schemaPath}${(0,pc.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,pc._)`${e.schemaPath}${(0,pc.getProperty)(t)}${(0,pc.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,mSe.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||a===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:o,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')}kp.getSubschema=GIt;function zIt(e,t,{dataProp:r,dataPropType:n,data:i,dataTypes:a,propertyName:o}){if(i!==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:c,dataPathArr:l,opts:f}=t,p=s.let("data",(0,pc._)`${t.data}${(0,pc.getProperty)(r)}`,!0);u(p),e.errorPath=(0,pc.str)`${c}${(0,mSe.getErrorPath)(r,n,f.jsPropertySyntax)}`,e.parentDataProperty=(0,pc._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(i!==void 0){let c=i instanceof pc.Name?i:s.let("data",i,!0);u(c),o!==void 0&&(e.propertyName=o)}a&&(e.dataTypes=a);function u(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c]}}kp.extendSubschemaData=zIt;function HIt(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:a}){n!==void 0&&(e.compositeRule=n),i!==void 0&&(e.createErrors=i),a!==void 0&&(e.allErrors=a),e.jtdDiscriminator=t,e.jtdMetadata=r}kp.extendSubschemaMode=HIt});var vSe=x((t2r,xSe)=>{"use strict";var Bp=xSe.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};q4(t,n,i,e,"",e)};Bp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Bp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Bp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Bp.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 q4(e,t,r,n,i,a,o,s,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,i,a,o,s,u,c);for(var l in n){var f=n[l];if(Array.isArray(f)){if(l in Bp.arrayKeywords)for(var p=0;p<f.length;p++)q4(e,t,r,f[p],i+"/"+l+"/"+p,a,i,l,n,p)}else if(l in Bp.propsKeywords){if(f&&typeof f=="object")for(var d in f)q4(e,t,r,f[d],i+"/"+l+"/"+VIt(d),a,i,l,n,d)}else(l in Bp.keywords||e.allKeys&&!(l in Bp.skipKeywords))&&q4(e,t,r,f,i+"/"+l,a,i,l,n)}r(n,i,a,o,s,u,c)}}function VIt(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var V2=x(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.getSchemaRefs=qa.resolveUrl=qa.normalizeId=qa._getFullPath=qa.getFullPath=qa.inlineRef=void 0;var $It=cr(),WIt=B0(),KIt=vSe(),XIt=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function JIt(e,t=!0){return typeof e=="boolean"?!0:t===!0?!pG(e):t?ySe(e)<=t:!1}qa.inlineRef=JIt;var YIt=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function pG(e){for(let t in e){if(YIt.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(pG)||typeof r=="object"&&pG(r))return!0}return!1}function ySe(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!XIt.has(r)&&(typeof e[r]=="object"&&(0,$It.eachItem)(e[r],n=>t+=ySe(n)),t===1/0))return 1/0}return t}function bSe(e,t="",r){r!==!1&&(t=Z1(t));let n=e.parse(t);return _Se(e,n)}qa.getFullPath=bSe;function _Se(e,t){return e.serialize(t).split("#")[0]+"#"}qa._getFullPath=_Se;var QIt=/#\/?$/;function Z1(e){return e?e.replace(QIt,""):""}qa.normalizeId=Z1;function ZIt(e,t,r){return r=Z1(r),e.resolve(t,r)}qa.resolveUrl=ZIt;var ePt=/^[a-z_][-a-z0-9._]*$/i;function tPt(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=Z1(e[r]||t),a={"":i},o=bSe(n,i,!1),s={},u=new Set;return KIt(e,{allKeys:!0},(f,p,d,h)=>{if(h===void 0)return;let g=o+p,m=a[h];typeof f[r]=="string"&&(m=v.call(this,f[r])),b.call(this,f.$anchor),b.call(this,f.$dynamicAnchor),a[p]=m;function v(_){let A=this.opts.uriResolver.resolve;if(_=Z1(m?A(m,_):_),u.has(_))throw l(_);u.add(_);let w=this.refs[_];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?c(f,w.schema,_):_!==Z1(g)&&(_[0]==="#"?(c(f,s[_],_),s[_]=f):this.refs[_]=g),_}function b(_){if(typeof _=="string"){if(!ePt.test(_))throw new Error(`invalid anchor "${_}"`);v.call(this,`#${_}`)}}}),s;function c(f,p,d){if(p!==void 0&&!WIt(f,p))throw l(d)}function l(f){return new Error(`reference "${f}" resolves to more than one schema`)}}qa.getSchemaRefs=tPt});var K2=x(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.getData=Op.KeywordCxt=Op.validateFunctionCode=void 0;var SSe=rSe(),wSe=H2(),hG=aG(),N4=H2(),rPt=cSe(),W2=hSe(),dG=gSe(),ot=Ut(),At=Rl(),nPt=V2(),Ml=cr(),$2=G2();function iPt(e){if(FSe(e)&&(kSe(e),DSe(e))){sPt(e);return}CSe(e,()=>(0,SSe.topBoolOrEmptySchema)(e))}Op.validateFunctionCode=iPt;function CSe({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},a){i.code.es5?e.func(t,(0,ot._)`${At.default.data}, ${At.default.valCxt}`,n.$async,()=>{e.code((0,ot._)`"use strict"; ${ESe(r,i)}`),oPt(e,i),e.code(a)}):e.func(t,(0,ot._)`${At.default.data}, ${aPt(i)}`,n.$async,()=>e.code(ESe(r,i)).code(a))}function aPt(e){return(0,ot._)`{${At.default.instancePath}="", ${At.default.parentData}, ${At.default.parentDataProperty}, ${At.default.rootData}=${At.default.data}${e.dynamicRef?(0,ot._)`, ${At.default.dynamicAnchors}={}`:ot.nil}}={}`}function oPt(e,t){e.if(At.default.valCxt,()=>{e.var(At.default.instancePath,(0,ot._)`${At.default.valCxt}.${At.default.instancePath}`),e.var(At.default.parentData,(0,ot._)`${At.default.valCxt}.${At.default.parentData}`),e.var(At.default.parentDataProperty,(0,ot._)`${At.default.valCxt}.${At.default.parentDataProperty}`),e.var(At.default.rootData,(0,ot._)`${At.default.valCxt}.${At.default.rootData}`),t.dynamicRef&&e.var(At.default.dynamicAnchors,(0,ot._)`${At.default.valCxt}.${At.default.dynamicAnchors}`)},()=>{e.var(At.default.instancePath,(0,ot._)`""`),e.var(At.default.parentData,(0,ot._)`undefined`),e.var(At.default.parentDataProperty,(0,ot._)`undefined`),e.var(At.default.rootData,At.default.data),t.dynamicRef&&e.var(At.default.dynamicAnchors,(0,ot._)`{}`)})}function sPt(e){let{schema:t,opts:r,gen:n}=e;CSe(e,()=>{r.$comment&&t.$comment&&OSe(e),pPt(e),n.let(At.default.vErrors,null),n.let(At.default.errors,0),r.unevaluated&&uPt(e),BSe(e),mPt(e)})}function uPt(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,ot._)`${r}.evaluated`),t.if((0,ot._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,ot._)`${e.evaluated}.props`,(0,ot._)`undefined`)),t.if((0,ot._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,ot._)`${e.evaluated}.items`,(0,ot._)`undefined`))}function ESe(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,ot._)`/*# sourceURL=${r} */`:ot.nil}function cPt(e,t){if(FSe(e)&&(kSe(e),DSe(e))){lPt(e,t);return}(0,SSe.boolOrEmptySchema)(e,t)}function DSe({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 FSe(e){return typeof e.schema!="boolean"}function lPt(e,t){let{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&OSe(e),dPt(e),hPt(e);let a=n.const("_errs",At.default.errors);BSe(e,a),n.var(t,(0,ot._)`${a} === ${At.default.errors}`)}function kSe(e){(0,Ml.checkUnknownRules)(e),fPt(e)}function BSe(e,t){if(e.opts.jtd)return ASe(e,[],!1,t);let r=(0,wSe.getSchemaTypes)(e.schema),n=(0,wSe.coerceAndCheckDataType)(e,r);ASe(e,r,!n,t)}function fPt(e){let{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Ml.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function pPt(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Ml.checkStrictMode)(e,"default is ignored in the schema root")}function dPt(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,nPt.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function hPt(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function OSe({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){let a=r.$comment;if(i.$comment===!0)e.code((0,ot._)`${At.default.self}.logger.log(${a})`);else if(typeof i.$comment=="function"){let o=(0,ot.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,ot._)`${At.default.self}.opts.$comment(${a}, ${o}, ${s}.schema)`)}}function mPt(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:a}=e;r.$async?t.if((0,ot._)`${At.default.errors} === 0`,()=>t.return(At.default.data),()=>t.throw((0,ot._)`new ${i}(${At.default.vErrors})`)):(t.assign((0,ot._)`${n}.errors`,At.default.vErrors),a.unevaluated&&gPt(e),t.return((0,ot._)`${At.default.errors} === 0`))}function gPt({gen:e,evaluated:t,props:r,items:n}){r instanceof ot.Name&&e.assign((0,ot._)`${t}.props`,r),n instanceof ot.Name&&e.assign((0,ot._)`${t}.items`,n)}function ASe(e,t,r,n){let{gen:i,schema:a,data:o,allErrors:s,opts:u,self:c}=e,{RULES:l}=c;if(a.$ref&&(u.ignoreKeywordsWithRef||!(0,Ml.schemaHasRulesButRef)(a,l))){i.block(()=>PSe(e,"$ref",l.all.$ref.definition));return}u.jtd||xPt(e,t),i.block(()=>{for(let p of l.rules)f(p);f(l.post)});function f(p){(0,hG.shouldUseGroup)(a,p)&&(p.type?(i.if((0,N4.checkDataType)(p.type,o,u.strictNumbers)),TSe(e,p),t.length===1&&t[0]===p.type&&r&&(i.else(),(0,N4.reportTypeError)(e)),i.endIf()):TSe(e,p),s||i.if((0,ot._)`${At.default.errors} === ${n||0}`))}}function TSe(e,t){let{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,rPt.assignDefaults)(e,t.type),r.block(()=>{for(let a of t.rules)(0,hG.shouldUseRule)(n,a)&&PSe(e,a.keyword,a.definition,t.type)})}function xPt(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(vPt(e,t),e.opts.allowUnionTypes||yPt(e,t),bPt(e,e.dataTypes))}function vPt(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{ISe(e.dataTypes,r)||mG(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),wPt(e,t)}}function yPt(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&mG(e,"use allowUnionTypes to allow union type keyword")}function bPt(e,t){let r=e.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,hG.shouldUseRule)(e.schema,i)){let{type:a}=i.definition;a.length&&!a.some(o=>_Pt(t,o))&&mG(e,`missing type "${a.join(",")}" for keyword "${n}"`)}}}function _Pt(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function ISe(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function wPt(e,t){let r=[];for(let n of e.dataTypes)ISe(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function mG(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Ml.checkStrictMode)(e,t,e.opts.strictTypes)}var U4=class{constructor(t,r,n){if((0,W2.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,Ml.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",RSe(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,W2.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",At.default.errors))}result(t,r,n){this.failResult((0,ot.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,ot.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,ot._)`${r} !== undefined && (${(0,ot.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?$2.reportExtraError:$2.reportError)(this,this.def.error,r)}$dataError(){(0,$2.reportError)(this,this.def.$dataError||$2.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,$2.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=ot.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=ot.nil,r=ot.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:a,def:o}=this;n.if((0,ot.or)((0,ot._)`${i} === undefined`,r)),t!==ot.nil&&n.assign(t,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==ot.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:i,it:a}=this;return(0,ot.or)(o(),s());function o(){if(n.length){if(!(r instanceof ot.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return(0,ot._)`${(0,N4.checkDataTypes)(u,r,a.opts.strictNumbers,N4.DataType.Wrong)}`}return ot.nil}function s(){if(i.validateSchema){let u=t.scopeValue("validate$data",{ref:i.validateSchema});return(0,ot._)`!${u}(${r})`}return ot.nil}}subschema(t,r){let n=(0,dG.getSubschema)(this.it,t);(0,dG.extendSubschemaData)(n,this.it,t),(0,dG.extendSubschemaMode)(n,t);let i={...this.it,...n,items:void 0,props:void 0};return cPt(i,r),i}mergeEvaluated(t,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Ml.mergeEvaluated.props(i,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Ml.mergeEvaluated.items(i,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(t,ot.Name)),!0}};Op.KeywordCxt=U4;function PSe(e,t,r,n){let i=new U4(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,W2.funcKeywordCode)(i,r):"macro"in r?(0,W2.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,W2.funcKeywordCode)(i,r)}var EPt=/^\/(?:[^~]|~0|~1)*$/,APt=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function RSe(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,a;if(e==="")return At.default.rootData;if(e[0]==="/"){if(!EPt.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,a=At.default.rootData}else{let c=APt.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);let l=+c[1];if(i=c[2],i==="#"){if(l>=t)throw new Error(u("property/index",l));return n[t-l]}if(l>t)throw new Error(u("data",l));if(a=r[t-l],!i)return a}let o=a,s=i.split("/");for(let c of s)c&&(a=(0,ot._)`${a}${(0,ot.getProperty)((0,Ml.unescapeJsonPointer)(c))}`,o=(0,ot._)`${o} && ${a}`);return o;function u(c,l){return`Cannot access ${c} ${l} levels up, current level is ${t}`}}Op.getData=RSe});var G4=x(xG=>{"use strict";Object.defineProperty(xG,"__esModule",{value:!0});var gG=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};xG.default=gG});var z4=x(bG=>{"use strict";Object.defineProperty(bG,"__esModule",{value:!0});var vG=V2(),yG=class extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,vG.resolveUrl)(t,r,n),this.missingSchema=(0,vG.normalizeId)((0,vG.getFullPath)(t,this.missingRef))}};bG.default=yG});var V4=x(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.resolveSchema=Zo.getCompilingSchema=Zo.resolveRef=Zo.compileSchema=Zo.SchemaEnv=void 0;var Ks=Ut(),TPt=G4(),Lh=Rl(),Xs=V2(),MSe=cr(),SPt=K2(),ex=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,Xs.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={}}};Zo.SchemaEnv=ex;function wG(e){let t=jSe.call(this,e);if(t)return t;let r=(0,Xs.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new Ks.CodeGen(this.scope,{es5:n,lines:i,ownProperties:a}),s;e.$async&&(s=o.scopeValue("Error",{ref:TPt.default,code:(0,Ks._)`require("ajv/dist/runtime/validation_error").default`}));let u=o.scopeName("validate");e.validateName=u;let c={gen:o,allErrors:this.opts.allErrors,data:Lh.default.data,parentData:Lh.default.parentData,parentDataProperty:Lh.default.parentDataProperty,dataNames:[Lh.default.data],dataPathArr:[Ks.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Ks.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Ks.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ks._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,SPt.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);let f=o.toString();l=`${o.scopeRefs(Lh.default.scope)}return ${f}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let d=new Function(`${Lh.default.self}`,`${Lh.default.scope}`,l)(this,this.scope.get());if(this.scope.value(u,{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:u,validateCode:f,scopeValues:o._values}),this.opts.unevaluated){let{props:h,items:g}=c;d.evaluated={props:h instanceof Ks.Name?void 0:h,items:g instanceof Ks.Name?void 0:g,dynamicProps:h instanceof Ks.Name,dynamicItems:g instanceof Ks.Name},d.source&&(d.source.evaluated=(0,Ks.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)}}Zo.compileSchema=wG;function CPt(e,t,r){var n;r=(0,Xs.resolveUrl)(this.opts.uriResolver,t,r);let i=e.refs[r];if(i)return i;let a=kPt.call(this,e,r);if(a===void 0){let o=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;o&&(a=new ex({schema:o,schemaId:s,root:e,baseId:t}))}if(a!==void 0)return e.refs[r]=DPt.call(this,a)}Zo.resolveRef=CPt;function DPt(e){return(0,Xs.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:wG.call(this,e)}function jSe(e){for(let t of this._compilations)if(FPt(t,e))return t}Zo.getCompilingSchema=jSe;function FPt(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function kPt(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||H4.call(this,e,t)}function H4(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Xs._getFullPath)(this.opts.uriResolver,r),i=(0,Xs.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return _G.call(this,r,e);let a=(0,Xs.normalizeId)(n),o=this.refs[a]||this.schemas[a];if(typeof o=="string"){let s=H4.call(this,e,o);return typeof(s==null?void 0:s.schema)!="object"?void 0:_G.call(this,r,s)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||wG.call(this,o),a===(0,Xs.normalizeId)(t)){let{schema:s}=o,{schemaId:u}=this.opts,c=s[u];return c&&(i=(0,Xs.resolveUrl)(this.opts.uriResolver,i,c)),new ex({schema:s,schemaId:u,root:e,baseId:i})}return _G.call(this,r,o)}}Zo.resolveSchema=H4;var BPt=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function _G(e,{baseId:t,schema:r,root:n}){var i;if(((i=e.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0,MSe.unescapeFragment)(s)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!BPt.has(s)&&c&&(t=(0,Xs.resolveUrl)(this.opts.uriResolver,t,c))}let a;if(typeof r!="boolean"&&r.$ref&&!(0,MSe.schemaHasRulesButRef)(r,this.RULES)){let s=(0,Xs.resolveUrl)(this.opts.uriResolver,t,r.$ref);a=H4.call(this,n,s)}let{schemaId:o}=this.opts;if(a=a||new ex({schema:r,schemaId:o,root:n,baseId:t}),a.schema!==a.root.schema)return a}});var LSe=x((s2r,OPt)=>{OPt.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 NSe=x(EG=>{"use strict";Object.defineProperty(EG,"__esModule",{value:!0});var qSe=K5();qSe.code='require("ajv/dist/runtime/uri").default';EG.default=qSe});var KSe=x(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});ji.CodeGen=ji.Name=ji.nil=ji.stringify=ji.str=ji._=ji.KeywordCxt=void 0;var IPt=K2();Object.defineProperty(ji,"KeywordCxt",{enumerable:!0,get:function(){return IPt.KeywordCxt}});var tx=Ut();Object.defineProperty(ji,"_",{enumerable:!0,get:function(){return tx._}});Object.defineProperty(ji,"str",{enumerable:!0,get:function(){return tx.str}});Object.defineProperty(ji,"stringify",{enumerable:!0,get:function(){return tx.stringify}});Object.defineProperty(ji,"nil",{enumerable:!0,get:function(){return tx.nil}});Object.defineProperty(ji,"Name",{enumerable:!0,get:function(){return tx.Name}});Object.defineProperty(ji,"CodeGen",{enumerable:!0,get:function(){return tx.CodeGen}});var PPt=G4(),VSe=z4(),RPt=iG(),X2=V4(),MPt=Ut(),J2=V2(),$4=H2(),TG=cr(),USe=LSe(),jPt=NSe(),$Se=(e,t)=>new RegExp(e,t);$Se.code="new RegExp";var LPt=["removeAdditional","useDefaults","coerceTypes"],qPt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),NPt={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."},UPt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},GSe=200;function GPt(e){var t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m,v,b,_,A,w,C,k,R,S;let D=e.strict,I=(t=e.code)===null||t===void 0?void 0:t.optimize,M=I===!0||I===void 0?1:I||0,G=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:$Se,z=(i=e.uriResolver)!==null&&i!==void 0?i:jPt.default;return{strictSchema:(o=(a=e.strictSchema)!==null&&a!==void 0?a:D)!==null&&o!==void 0?o:!0,strictNumbers:(u=(s=e.strictNumbers)!==null&&s!==void 0?s:D)!==null&&u!==void 0?u:!0,strictTypes:(l=(c=e.strictTypes)!==null&&c!==void 0?c:D)!==null&&l!==void 0?l:"log",strictTuples:(p=(f=e.strictTuples)!==null&&f!==void 0?f:D)!==null&&p!==void 0?p:"log",strictRequired:(h=(d=e.strictRequired)!==null&&d!==void 0?d:D)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:M,regExp:G}:{optimize:M,regExp:G},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:GSe,loopEnum:(m=e.loopEnum)!==null&&m!==void 0?m:GSe,meta:(v=e.meta)!==null&&v!==void 0?v:!0,messages:(b=e.messages)!==null&&b!==void 0?b:!0,inlineRefs:(_=e.inlineRefs)!==null&&_!==void 0?_:!0,schemaId:(A=e.schemaId)!==null&&A!==void 0?A:"$id",addUsedSchema:(w=e.addUsedSchema)!==null&&w!==void 0?w:!0,validateSchema:(C=e.validateSchema)!==null&&C!==void 0?C:!0,validateFormats:(k=e.validateFormats)!==null&&k!==void 0?k:!0,unicodeRegExp:(R=e.unicodeRegExp)!==null&&R!==void 0?R:!0,int32range:(S=e.int32range)!==null&&S!==void 0?S:!0,uriResolver:z}}var Y2=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...GPt(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new MPt.ValueScope({scope:{},prefixes:qPt,es5:r,lines:n}),this.logger=KPt(t.logger);let i=t.validateFormats;t.validateFormats=!1,this.RULES=(0,RPt.getRules)(),zSe.call(this,NPt,t,"NOT SUPPORTED"),zSe.call(this,UPt,t,"DEPRECATED","warn"),this._metaOpts=$Pt.call(this),t.formats&&HPt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&VPt.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),zPt.call(this),t.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,i=USe;n==="id"&&(i={...USe},i.id=i.$id,delete i.$id),r&&t&&this.addMetaSchema(i,i[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 i=n(r);return"$async"in n||(this.errors=n.errors),i}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 i.call(this,t,r);async function i(l,f){await a.call(this,l.$schema);let p=this._addSchema(l,f);return p.validate||o.call(this,p)}async function a(l){l&&!this.getSchema(l)&&await i.call(this,{$ref:l},!0)}async function o(l){try{return this._compileSchemaEnv(l)}catch(f){if(!(f instanceof VSe.default))throw f;return s.call(this,f),await u.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 u(l){let f=await c.call(this,l);this.refs[l]||await a.call(this,f.$schema),this.refs[l]||this.addSchema(f,l,r)}async function c(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,i=this.opts.validateSchema){if(Array.isArray(t)){for(let o of t)this.addSchema(o,void 0,n,i);return this}let a;if(typeof t=="object"){let{schemaId:o}=this.opts;if(a=t[o],a!==void 0&&typeof a!="string")throw new Error(`schema ${o} must be string`)}return r=(0,J2.normalizeId)(r||a),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,i,!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 i=this.validate(n,t);if(!i&&r){let a="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(a);else throw new Error(a)}return i}getSchema(t){let r;for(;typeof(r=HSe.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,i=new X2.SchemaEnv({schema:{},schemaId:n});if(r=X2.resolveSchema.call(this,i,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=HSe.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,J2.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(JPt.call(this,n,r),!r)return(0,TG.eachItem)(n,a=>AG.call(this,a)),this;QPt.call(this,r);let i={...r,type:(0,$4.getJSONTypes)(r.type),schemaType:(0,$4.getJSONTypes)(r.schemaType)};return(0,TG.eachItem)(n,i.type.length===0?a=>AG.call(this,a,i):a=>i.type.forEach(o=>AG.call(this,a,i,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 i=n.rules.findIndex(a=>a.keyword===t);i>=0&&n.rules.splice(i,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(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,a)=>i+r+a)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let i of r){let a=i.split("/").slice(1),o=t;for(let s of a)o=o[s];for(let s in n){let u=n[s];if(typeof u!="object")continue;let{$data:c}=u.definition,l=o[s];c&&l&&(o[s]=WSe(l))}}return t}_removeAllSchemas(t,r){for(let n in t){let i=t[n];(!r||r.test(n))&&(typeof i=="string"?delete t[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete t[n]))}}_addSchema(t,r,n,i=this.opts.validateSchema,a=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 u=this._cache.get(t);if(u!==void 0)return u;n=(0,J2.normalizeId)(o||n);let c=J2.getSchemaRefs.call(this,t,n);return u=new X2.SchemaEnv({schema:t,schemaId:s,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),a&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),i&&this.validateSchema(t,!0),u}_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):X2.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{X2.compileSchema.call(this,t)}finally{this.opts=r}}};ji.default=Y2;Y2.ValidationError=PPt.default;Y2.MissingRefError=VSe.default;function zSe(e,t,r,n="error"){for(let i in e){let a=i;a in t&&this.logger[n](`${r}: option ${i}. ${e[a]}`)}}function HSe(e){return e=(0,J2.normalizeId)(e),this.schemas[e]||this.refs[e]}function zPt(){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 HPt(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function VPt(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 $Pt(){let e={...this.opts};for(let t of LPt)delete e[t];return e}var WPt={log(){},warn(){},error(){}};function KPt(e){if(e===!1)return WPt;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 XPt=/^[a-z_$][a-z0-9_$:-]*$/i;function JPt(e,t){let{RULES:r}=this;if((0,TG.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!XPt.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 AG(e,t,r){var n;let i=t==null?void 0:t.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:a}=this,o=i?a.post:a.rules.find(({type:u})=>u===r);if(o||(o={type:r,rules:[]},a.rules.push(o)),a.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,$4.getJSONTypes)(t.type),schemaType:(0,$4.getJSONTypes)(t.schemaType)}};t.before?YPt.call(this,o,s,t.before):o.rules.push(s),a.all[e]=s,(n=t.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u))}function YPt(e,t,r){let n=e.rules.findIndex(i=>i.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function QPt(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=WSe(t)),e.validateSchema=this.compile(t,!0))}var ZPt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function WSe(e){return{anyOf:[e,ZPt]}}});var XSe=x(SG=>{"use strict";Object.defineProperty(SG,"__esModule",{value:!0});var eRt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};SG.default=eRt});var ZSe=x(qh=>{"use strict";Object.defineProperty(qh,"__esModule",{value:!0});qh.callRef=qh.getValidate=void 0;var tRt=z4(),JSe=Qo(),Na=Ut(),rx=Rl(),YSe=V4(),W4=cr(),rRt={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:i,schemaEnv:a,validateName:o,opts:s,self:u}=n,{root:c}=a;if((r==="#"||r==="#/")&&i===c.baseId)return f();let l=YSe.resolveRef.call(u,c,i,r);if(l===void 0)throw new tRt.default(n.opts.uriResolver,i,r);if(l instanceof YSe.SchemaEnv)return p(l);return d(l);function f(){if(a===c)return K4(e,o,a,a.$async);let h=t.scopeValue("root",{ref:c});return K4(e,(0,Na._)`${h}.validate`,c,c.$async)}function p(h){let g=QSe(e,h);K4(e,g,h,h.$async)}function d(h){let g=t.scopeValue("schema",s.code.source===!0?{ref:h,code:(0,Na.stringify)(h)}:{ref:h}),m=t.name("valid"),v=e.subschema({schema:h,dataTypes:[],schemaPath:Na.nil,topSchemaRef:g,errSchemaPath:r},m);e.mergeEvaluated(v),e.ok(m)}}};function QSe(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Na._)`${r.scopeValue("wrapper",{ref:t})}.validate`}qh.getValidate=QSe;function K4(e,t,r,n){let{gen:i,it:a}=e,{allErrors:o,schemaEnv:s,opts:u}=a,c=u.passContext?rx.default.this:Na.nil;n?l():f();function l(){if(!s.$async)throw new Error("async schema referenced by sync schema");let h=i.let("valid");i.try(()=>{i.code((0,Na._)`await ${(0,JSe.callValidateCode)(e,t,c)}`),d(t),o||i.assign(h,!0)},g=>{i.if((0,Na._)`!(${g} instanceof ${a.ValidationError})`,()=>i.throw(g)),p(g),o||i.assign(h,!1)}),e.ok(h)}function f(){e.result((0,JSe.callValidateCode)(e,t,c),()=>d(t),()=>p(t))}function p(h){let g=(0,Na._)`${h}.errors`;i.assign(rx.default.vErrors,(0,Na._)`${rx.default.vErrors} === null ? ${g} : ${rx.default.vErrors}.concat(${g})`),i.assign(rx.default.errors,(0,Na._)`${rx.default.vErrors}.length`)}function d(h){var g;if(!a.opts.unevaluated)return;let m=(g=r==null?void 0:r.validate)===null||g===void 0?void 0:g.evaluated;if(a.props!==!0)if(m&&!m.dynamicProps)m.props!==void 0&&(a.props=W4.mergeEvaluated.props(i,m.props,a.props));else{let v=i.var("props",(0,Na._)`${h}.evaluated.props`);a.props=W4.mergeEvaluated.props(i,v,a.props,Na.Name)}if(a.items!==!0)if(m&&!m.dynamicItems)m.items!==void 0&&(a.items=W4.mergeEvaluated.items(i,m.items,a.items));else{let v=i.var("items",(0,Na._)`${h}.evaluated.items`);a.items=W4.mergeEvaluated.items(i,v,a.items,Na.Name)}}}qh.callRef=K4;qh.default=rRt});var e6e=x(CG=>{"use strict";Object.defineProperty(CG,"__esModule",{value:!0});var nRt=XSe(),iRt=ZSe(),aRt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",nRt.default,iRt.default];CG.default=aRt});var t6e=x(DG=>{"use strict";Object.defineProperty(DG,"__esModule",{value:!0});var X4=Ut(),Ip=X4.operators,J4={maximum:{okStr:"<=",ok:Ip.LTE,fail:Ip.GT},minimum:{okStr:">=",ok:Ip.GTE,fail:Ip.LT},exclusiveMaximum:{okStr:"<",ok:Ip.LT,fail:Ip.GTE},exclusiveMinimum:{okStr:">",ok:Ip.GT,fail:Ip.LTE}},oRt={message:({keyword:e,schemaCode:t})=>(0,X4.str)`must be ${J4[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,X4._)`{comparison: ${J4[e].okStr}, limit: ${t}}`},sRt={keyword:Object.keys(J4),type:"number",schemaType:"number",$data:!0,error:oRt,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,X4._)`${r} ${J4[t].fail} ${n} || isNaN(${r})`)}};DG.default=sRt});var r6e=x(FG=>{"use strict";Object.defineProperty(FG,"__esModule",{value:!0});var Q2=Ut(),uRt={message:({schemaCode:e})=>(0,Q2.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,Q2._)`{multipleOf: ${e}}`},cRt={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:uRt,code(e){let{gen:t,data:r,schemaCode:n,it:i}=e,a=i.opts.multipleOfPrecision,o=t.let("res"),s=a?(0,Q2._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${a}`:(0,Q2._)`${o} !== parseInt(${o})`;e.fail$data((0,Q2._)`(${n} === 0 || (${o} = ${r}/${n}, ${s}))`)}};FG.default=cRt});var i6e=x(kG=>{"use strict";Object.defineProperty(kG,"__esModule",{value:!0});function n6e(e){let t=e.length,r=0,n=0,i;for(;n<t;)r++,i=e.charCodeAt(n++),i>=55296&&i<=56319&&n<t&&(i=e.charCodeAt(n),(i&64512)===56320&&n++);return r}kG.default=n6e;n6e.code='require("ajv/dist/runtime/ucs2length").default'});var a6e=x(BG=>{"use strict";Object.defineProperty(BG,"__esModule",{value:!0});var Nh=Ut(),lRt=cr(),fRt=i6e(),pRt={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Nh.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Nh._)`{limit: ${e}}`},dRt={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:pRt,code(e){let{keyword:t,data:r,schemaCode:n,it:i}=e,a=t==="maxLength"?Nh.operators.GT:Nh.operators.LT,o=i.opts.unicode===!1?(0,Nh._)`${r}.length`:(0,Nh._)`${(0,lRt.useFunc)(e.gen,fRt.default)}(${r})`;e.fail$data((0,Nh._)`${o} ${a} ${n}`)}};BG.default=dRt});var o6e=x(OG=>{"use strict";Object.defineProperty(OG,"__esModule",{value:!0});var hRt=Qo(),Y4=Ut(),mRt={message:({schemaCode:e})=>(0,Y4.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,Y4._)`{pattern: ${e}}`},gRt={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:mRt,code(e){let{data:t,$data:r,schema:n,schemaCode:i,it:a}=e,o=a.opts.unicodeRegExp?"u":"",s=r?(0,Y4._)`(new RegExp(${i}, ${o}))`:(0,hRt.usePattern)(e,n);e.fail$data((0,Y4._)`!${s}.test(${t})`)}};OG.default=gRt});var s6e=x(IG=>{"use strict";Object.defineProperty(IG,"__esModule",{value:!0});var Z2=Ut(),xRt={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,Z2.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,Z2._)`{limit: ${e}}`},vRt={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:xRt,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxProperties"?Z2.operators.GT:Z2.operators.LT;e.fail$data((0,Z2._)`Object.keys(${r}).length ${i} ${n}`)}};IG.default=vRt});var u6e=x(PG=>{"use strict";Object.defineProperty(PG,"__esModule",{value:!0});var e_=Qo(),t_=Ut(),yRt=cr(),bRt={message:({params:{missingProperty:e}})=>(0,t_.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,t_._)`{missingProperty: ${e}}`},_Rt={keyword:"required",type:"object",schemaType:"array",$data:!0,error:bRt,code(e){let{gen:t,schema:r,schemaCode:n,data:i,$data:a,it:o}=e,{opts:s}=o;if(!a&&r.length===0)return;let u=r.length>=s.loopRequired;if(o.allErrors?c():l(),s.strictRequired){let d=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)if((d==null?void 0:d[g])===void 0&&!h.has(g)){let m=o.schemaEnv.baseId+o.errSchemaPath,v=`required property "${g}" is not defined at "${m}" (strictRequired)`;(0,yRt.checkStrictMode)(o,v,o.opts.strictRequired)}}function c(){if(u||a)e.block$data(t_.nil,f);else for(let d of r)(0,e_.checkReportMissingProp)(e,d)}function l(){let d=t.let("missing");if(u||a){let h=t.let("valid",!0);e.block$data(h,()=>p(d,h)),e.ok(h)}else t.if((0,e_.checkMissingProp)(e,r,d)),(0,e_.reportMissingProp)(e,d),t.else()}function f(){t.forOf("prop",n,d=>{e.setParams({missingProperty:d}),t.if((0,e_.noPropertyInData)(t,i,d,s.ownProperties),()=>e.error())})}function p(d,h){e.setParams({missingProperty:d}),t.forOf(d,n,()=>{t.assign(h,(0,e_.propertyInData)(t,i,d,s.ownProperties)),t.if((0,t_.not)(h),()=>{e.error(),t.break()})},t_.nil)}}};PG.default=_Rt});var c6e=x(RG=>{"use strict";Object.defineProperty(RG,"__esModule",{value:!0});var r_=Ut(),wRt={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,r_.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,r_._)`{limit: ${e}}`},ERt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:wRt,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxItems"?r_.operators.GT:r_.operators.LT;e.fail$data((0,r_._)`${r}.length ${i} ${n}`)}};RG.default=ERt});var Q4=x(MG=>{"use strict";Object.defineProperty(MG,"__esModule",{value:!0});var l6e=B0();l6e.code='require("ajv/dist/runtime/equal").default';MG.default=l6e});var f6e=x(LG=>{"use strict";Object.defineProperty(LG,"__esModule",{value:!0});var jG=H2(),Li=Ut(),ARt=cr(),TRt=Q4(),SRt={message:({params:{i:e,j:t}})=>(0,Li.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Li._)`{i: ${e}, j: ${t}}`},CRt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:SRt,code(e){let{gen:t,data:r,$data:n,schema:i,parentSchema:a,schemaCode:o,it:s}=e;if(!n&&!i)return;let u=t.let("valid"),c=a.items?(0,jG.getSchemaTypes)(a.items):[];e.block$data(u,l,(0,Li._)`${o} === false`),e.ok(u);function l(){let h=t.let("i",(0,Li._)`${r}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(u,!0),t.if((0,Li._)`${h} > 1`,()=>(f()?p:d)(h,g))}function f(){return c.length>0&&!c.some(h=>h==="object"||h==="array")}function p(h,g){let m=t.name("item"),v=(0,jG.checkDataTypes)(c,m,s.opts.strictNumbers,jG.DataType.Wrong),b=t.const("indices",(0,Li._)`{}`);t.for((0,Li._)`;${h}--;`,()=>{t.let(m,(0,Li._)`${r}[${h}]`),t.if(v,(0,Li._)`continue`),c.length>1&&t.if((0,Li._)`typeof ${m} == "string"`,(0,Li._)`${m} += "_"`),t.if((0,Li._)`typeof ${b}[${m}] == "number"`,()=>{t.assign(g,(0,Li._)`${b}[${m}]`),e.error(),t.assign(u,!1).break()}).code((0,Li._)`${b}[${m}] = ${h}`)})}function d(h,g){let m=(0,ARt.useFunc)(t,TRt.default),v=t.name("outer");t.label(v).for((0,Li._)`;${h}--;`,()=>t.for((0,Li._)`${g} = ${h}; ${g}--;`,()=>t.if((0,Li._)`${m}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(u,!1).break(v)})))}}};LG.default=CRt});var p6e=x(NG=>{"use strict";Object.defineProperty(NG,"__esModule",{value:!0});var qG=Ut(),DRt=cr(),FRt=Q4(),kRt={message:"must be equal to constant",params:({schemaCode:e})=>(0,qG._)`{allowedValue: ${e}}`},BRt={keyword:"const",$data:!0,error:kRt,code(e){let{gen:t,data:r,$data:n,schemaCode:i,schema:a}=e;n||a&&typeof a=="object"?e.fail$data((0,qG._)`!${(0,DRt.useFunc)(t,FRt.default)}(${r}, ${i})`):e.fail((0,qG._)`${a} !== ${r}`)}};NG.default=BRt});var d6e=x(UG=>{"use strict";Object.defineProperty(UG,"__esModule",{value:!0});var n_=Ut(),ORt=cr(),IRt=Q4(),PRt={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,n_._)`{allowedValues: ${e}}`},RRt={keyword:"enum",schemaType:"array",$data:!0,error:PRt,code(e){let{gen:t,data:r,$data:n,schema:i,schemaCode:a,it:o}=e;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=o.opts.loopEnum,u,c=()=>u??(u=(0,ORt.useFunc)(t,IRt.default)),l;if(s||n)l=t.let("valid"),e.block$data(l,f);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let d=t.const("vSchema",a);l=(0,n_.or)(...i.map((h,g)=>p(d,g)))}e.pass(l);function f(){t.assign(l,!1),t.forOf("v",a,d=>t.if((0,n_._)`${c()}(${r}, ${d})`,()=>t.assign(l,!0).break()))}function p(d,h){let g=i[h];return typeof g=="object"&&g!==null?(0,n_._)`${c()}(${r}, ${d}[${h}])`:(0,n_._)`${r} === ${g}`}}};UG.default=RRt});var h6e=x(GG=>{"use strict";Object.defineProperty(GG,"__esModule",{value:!0});var MRt=t6e(),jRt=r6e(),LRt=a6e(),qRt=o6e(),NRt=s6e(),URt=u6e(),GRt=c6e(),zRt=f6e(),HRt=p6e(),VRt=d6e(),$Rt=[MRt.default,jRt.default,LRt.default,qRt.default,NRt.default,URt.default,GRt.default,zRt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},HRt.default,VRt.default];GG.default=$Rt});var HG=x(i_=>{"use strict";Object.defineProperty(i_,"__esModule",{value:!0});i_.validateAdditionalItems=void 0;var Uh=Ut(),zG=cr(),WRt={message:({params:{len:e}})=>(0,Uh.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Uh._)`{limit: ${e}}`},KRt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:WRt,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,zG.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}m6e(e,n)}};function m6e(e,t){let{gen:r,schema:n,data:i,keyword:a,it:o}=e;o.items=!0;let s=r.const("len",(0,Uh._)`${i}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Uh._)`${s} <= ${t.length}`);else if(typeof n=="object"&&!(0,zG.alwaysValidSchema)(o,n)){let c=r.var("valid",(0,Uh._)`${s} <= ${t.length}`);r.if((0,Uh.not)(c),()=>u(c)),e.ok(c)}function u(c){r.forRange("i",t.length,s,l=>{e.subschema({keyword:a,dataProp:l,dataPropType:zG.Type.Num},c),o.allErrors||r.if((0,Uh.not)(c),()=>r.break())})}}i_.validateAdditionalItems=m6e;i_.default=KRt});var VG=x(a_=>{"use strict";Object.defineProperty(a_,"__esModule",{value:!0});a_.validateTuple=void 0;var g6e=Ut(),Z4=cr(),XRt=Qo(),JRt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return x6e(e,"additionalItems",t);r.items=!0,!(0,Z4.alwaysValidSchema)(r,t)&&e.ok((0,XRt.validateArray)(e))}};function x6e(e,t,r=e.schema){let{gen:n,parentSchema:i,data:a,keyword:o,it:s}=e;l(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=Z4.mergeEvaluated.items(n,r.length,s.items));let u=n.name("valid"),c=n.const("len",(0,g6e._)`${a}.length`);r.forEach((f,p)=>{(0,Z4.alwaysValidSchema)(s,f)||(n.if((0,g6e._)`${c} > ${p}`,()=>e.subschema({keyword:o,schemaProp:p,dataProp:p},u)),e.ok(u))});function l(f){let{opts:p,errSchemaPath:d}=s,h=r.length,g=h===f.minItems&&(h===f.maxItems||f[t]===!1);if(p.strictTuples&&!g){let m=`"${o}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${d}"`;(0,Z4.checkStrictMode)(s,m,p.strictTuples)}}}a_.validateTuple=x6e;a_.default=JRt});var v6e=x($G=>{"use strict";Object.defineProperty($G,"__esModule",{value:!0});var YRt=VG(),QRt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,YRt.validateTuple)(e,"items")};$G.default=QRt});var b6e=x(WG=>{"use strict";Object.defineProperty(WG,"__esModule",{value:!0});var y6e=Ut(),ZRt=cr(),eMt=Qo(),tMt=HG(),rMt={message:({params:{len:e}})=>(0,y6e.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,y6e._)`{limit: ${e}}`},nMt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:rMt,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,!(0,ZRt.alwaysValidSchema)(n,t)&&(i?(0,tMt.validateAdditionalItems)(e,i):e.ok((0,eMt.validateArray)(e)))}};WG.default=nMt});var _6e=x(KG=>{"use strict";Object.defineProperty(KG,"__esModule",{value:!0});var es=Ut(),eD=cr(),iMt={message:({params:{min:e,max:t}})=>t===void 0?(0,es.str)`must contain at least ${e} valid item(s)`:(0,es.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,es._)`{minContains: ${e}}`:(0,es._)`{minContains: ${e}, maxContains: ${t}}`},aMt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:iMt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e,o,s,{minContains:u,maxContains:c}=n;a.opts.next?(o=u===void 0?1:u,s=c):o=1;let l=t.const("len",(0,es._)`${i}.length`);if(e.setParams({min:o,max:s}),s===void 0&&o===0){(0,eD.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&o>s){(0,eD.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,eD.alwaysValidSchema)(a,r)){let g=(0,es._)`${l} >= ${o}`;s!==void 0&&(g=(0,es._)`${g} && ${l} <= ${s}`),e.pass(g);return}a.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,es._)`${i}.length > 0`,p)):(t.let(f,!1),p()),e.result(f,()=>e.reset());function p(){let g=t.name("_valid"),m=t.let("count",0);d(g,()=>t.if(g,()=>h(m)))}function d(g,m){t.forRange("i",0,l,v=>{e.subschema({keyword:"contains",dataProp:v,dataPropType:eD.Type.Num,compositeRule:!0},g),m()})}function h(g){t.code((0,es._)`${g}++`),s===void 0?t.if((0,es._)`${g} >= ${o}`,()=>t.assign(f,!0).break()):(t.if((0,es._)`${g} > ${s}`,()=>t.assign(f,!1).break()),o===1?t.assign(f,!0):t.if((0,es._)`${g} >= ${o}`,()=>t.assign(f,!0)))}}};KG.default=aMt});var A6e=x(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.validateSchemaDeps=dc.validatePropertyDeps=dc.error=void 0;var XG=Ut(),oMt=cr(),o_=Qo();dc.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,XG.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,XG._)`{property: ${e},
|
|
152
152
|
missingProperty: ${n},
|
|
153
153
|
depsCount: ${t},
|
|
154
|
-
deps: ${r}}`};var sMt={keyword:"dependencies",type:"object",schemaType:"object",error:dc.error,code(e){let[t,r]=uMt(e);w6e(e,t),E6e(e,r)}};function uMt({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function w6e(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let a=r.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let u=(0,o_.propertyInData)(r,n,o,i.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(u,()=>{for(let c of s)(0,o_.checkReportMissingProp)(e,c)}):(r.if((0,XG._)`${u} && (${(0,o_.checkMissingProp)(e,s,a)})`),(0,o_.reportMissingProp)(e,a),r.else())}}dc.validatePropertyDeps=w6e;function E6e(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,oMt.alwaysValidSchema)(a,t[s])||(r.if((0,o_.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let u=e.subschema({keyword:i,schemaProp:s},o);e.mergeValidEvaluated(u,o)},()=>r.var(o,!0)),e.ok(o))}dc.validateSchemaDeps=E6e;dc.default=sMt});var S6e=x(JG=>{"use strict";Object.defineProperty(JG,"__esModule",{value:!0});var T6e=Ut(),cMt=cr(),lMt={message:"property name must be valid",params:({params:e})=>(0,T6e._)`{propertyName: ${e.propertyName}}`},fMt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:lMt,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,cMt.alwaysValidSchema)(i,r))return;let a=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),t.if((0,T6e.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};JG.default=fMt});var QG=x(YG=>{"use strict";Object.defineProperty(YG,"__esModule",{value:!0});var tD=Qo(),Js=Ut(),pMt=Rl(),rD=cr(),dMt={message:"must NOT have additional properties",params:({params:e})=>(0,Js._)`{additionalProperty: ${e.additionalProperty}}`},hMt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:dMt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=e;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:u}=o;if(o.props=!0,u.removeAdditional!=="all"&&(0,rD.alwaysValidSchema)(o,r))return;let c=(0,tD.allSchemaProperties)(n.properties),l=(0,tD.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Js._)`${a} === ${pMt.default.errors}`);function f(){t.forIn("key",i,m=>{!c.length&&!l.length?h(m):t.if(p(m),()=>h(m))})}function p(m){let v;if(c.length>8){let b=(0,rD.schemaRefOrVal)(o,n.properties,"properties");v=(0,tD.isOwnProperty)(t,b,m)}else c.length?v=(0,Js.or)(...c.map(b=>(0,Js._)`${m} === ${b}`)):v=Js.nil;return l.length&&(v=(0,Js.or)(v,...l.map(b=>(0,Js._)`${(0,tD.usePattern)(e,b)}.test(${m})`))),(0,Js.not)(v)}function d(m){t.code((0,Js._)`delete ${i}[${m}]`)}function h(m){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){d(m);return}if(r===!1){e.setParams({additionalProperty:m}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,rD.alwaysValidSchema)(o,r)){let v=t.name("valid");u.removeAdditional==="failing"?(g(m,v,!1),t.if((0,Js.not)(v),()=>{e.reset(),d(m)})):(g(m,v),s||t.if((0,Js.not)(v),()=>t.break()))}}function g(m,v,b){let _={keyword:"additionalProperties",dataProp:m,dataPropType:rD.Type.Str};b===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(_,v)}}};YG.default=hMt});var F6e=x(ez=>{"use strict";Object.defineProperty(ez,"__esModule",{value:!0});var mMt=K2(),C6e=Qo(),ZG=cr(),D6e=QG(),gMt={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&D6e.default.code(new mMt.KeywordCxt(a,D6e.default,"additionalProperties"));let o=(0,C6e.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=ZG.mergeEvaluated.props(t,(0,ZG.toHash)(o),a.props));let s=o.filter(f=>!(0,ZG.alwaysValidSchema)(a,r[f]));if(s.length===0)return;let u=t.name("valid");for(let f of s)c(f)?l(f):(t.if((0,C6e.propertyInData)(t,i,f,a.opts.ownProperties)),l(f),a.allErrors||t.else().var(u,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(u);function c(f){return a.opts.useDefaults&&!a.compositeRule&&r[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},u)}}};ez.default=gMt});var I6e=x(tz=>{"use strict";Object.defineProperty(tz,"__esModule",{value:!0});var k6e=Qo(),nD=Ut(),B6e=cr(),O6e=cr(),xMt={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:a}=e,{opts:o}=a,s=(0,k6e.allSchemaProperties)(r),u=s.filter(g=>(0,B6e.alwaysValidSchema)(a,r[g]));if(s.length===0||u.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,l=t.name("valid");a.props!==!0&&!(a.props instanceof nD.Name)&&(a.props=(0,O6e.evaluatedPropsToName)(t,a.props));let{props:f}=a;p();function p(){for(let g of s)c&&d(g),a.allErrors?h(g):(t.var(l,!0),h(g),t.if(l))}function d(g){for(let m in c)new RegExp(g).test(m)&&(0,B6e.checkStrictMode)(a,`property ${m} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,m=>{t.if((0,nD._)`${(0,k6e.usePattern)(e,g)}.test(${m})`,()=>{let v=u.includes(g);v||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:m,dataPropType:O6e.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,nD._)`${f}[${m}]`,!0):!v&&!a.allErrors&&t.if((0,nD.not)(l),()=>t.break())})})}}};tz.default=xMt});var P6e=x(rz=>{"use strict";Object.defineProperty(rz,"__esModule",{value:!0});var vMt=cr(),yMt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,vMt.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};rz.default=yMt});var R6e=x(nz=>{"use strict";Object.defineProperty(nz,"__esModule",{value:!0});var bMt=Qo(),_Mt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:bMt.validateUnion,error:{message:"must match a schema in anyOf"}};nz.default=_Mt});var M6e=x(iz=>{"use strict";Object.defineProperty(iz,"__esModule",{value:!0});var iD=Ut(),wMt=cr(),EMt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,iD._)`{passingSchemas: ${e.passing}}`},AMt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:EMt,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=t.let("valid",!1),s=t.let("passing",null),u=t.name("_valid");e.setParams({passing:s}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){a.forEach((l,f)=>{let p;(0,wMt.alwaysValidSchema)(i,l)?t.var(u,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,iD._)`${u} && ${o}`).assign(o,!1).assign(s,(0,iD._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,iD.Name)})})}}};iz.default=AMt});var j6e=x(az=>{"use strict";Object.defineProperty(az,"__esModule",{value:!0});var TMt=cr(),SMt={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 i=t.name("valid");r.forEach((a,o)=>{if((0,TMt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};az.default=SMt});var N6e=x(oz=>{"use strict";Object.defineProperty(oz,"__esModule",{value:!0});var aD=Ut(),q6e=cr(),CMt={message:({params:e})=>(0,aD.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,aD._)`{failingKeyword: ${e.ifClause}}`},DMt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:CMt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,q6e.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=L6e(n,"then"),a=L6e(n,"else");if(!i&&!a)return;let o=t.let("valid",!0),s=t.name("_valid");if(u(),e.reset(),i&&a){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,c("then",l),c("else",l))}else i?t.if(s,c("then")):t.if((0,aD.not)(s),c("else"));e.pass(o,()=>e.error(!0));function u(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function c(l,f){return()=>{let p=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(p,o),f?t.assign(f,(0,aD._)`${l}`):e.setParams({ifClause:l})}}}};function L6e(e,t){let r=e.schema[t];return r!==void 0&&!(0,q6e.alwaysValidSchema)(e,r)}oz.default=DMt});var U6e=x(sz=>{"use strict";Object.defineProperty(sz,"__esModule",{value:!0});var FMt=cr(),kMt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,FMt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};sz.default=kMt});var G6e=x(uz=>{"use strict";Object.defineProperty(uz,"__esModule",{value:!0});var BMt=HG(),OMt=v6e(),IMt=VG(),PMt=b6e(),RMt=_6e(),MMt=A6e(),jMt=S6e(),LMt=QG(),qMt=F6e(),NMt=I6e(),UMt=P6e(),GMt=R6e(),zMt=M6e(),HMt=j6e(),VMt=N6e(),$Mt=U6e();function WMt(e=!1){let t=[UMt.default,GMt.default,zMt.default,HMt.default,VMt.default,$Mt.default,jMt.default,LMt.default,MMt.default,qMt.default,NMt.default];return e?t.push(OMt.default,PMt.default):t.push(BMt.default,IMt.default),t.push(RMt.default),t}uz.default=WMt});var z6e=x(cz=>{"use strict";Object.defineProperty(cz,"__esModule",{value:!0});var Pn=Ut(),KMt={message:({schemaCode:e})=>(0,Pn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Pn._)`{format: ${e}}`},XMt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:KMt,code(e,t){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=e,{opts:u,errSchemaPath:c,schemaEnv:l,self:f}=s;if(!u.validateFormats)return;i?p():d();function p(){let h=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),g=r.const("fDef",(0,Pn._)`${h}[${o}]`),m=r.let("fType"),v=r.let("format");r.if((0,Pn._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(m,(0,Pn._)`${g}.type || "string"`).assign(v,(0,Pn._)`${g}.validate`),()=>r.assign(m,(0,Pn._)`"string"`).assign(v,g)),e.fail$data((0,Pn.or)(b(),_()));function b(){return u.strictSchema===!1?Pn.nil:(0,Pn._)`${o} && !${v}`}function _(){let A=l.$async?(0,Pn._)`(${g}.async ? await ${v}(${n}) : ${v}(${n}))`:(0,Pn._)`${v}(${n})`,w=(0,Pn._)`(typeof ${v} == "function" ? ${A} : ${v}.test(${n}))`;return(0,Pn._)`${v} && ${v} !== true && ${m} === ${t} && !${w}`}}function d(){let h=f.formats[a];if(!h){b();return}if(h===!0)return;let[g,m,v]=_(h);g===t&&e.pass(A());function b(){if(u.strictSchema===!1){f.logger.warn(w());return}throw new Error(w());function w(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function _(w){let C=w instanceof RegExp?(0,Pn.regexpCode)(w):u.code.formats?(0,Pn._)`${u.code.formats}${(0,Pn.getProperty)(a)}`:void 0,k=r.scopeValue("formats",{key:a,ref:w,code:C});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0,Pn._)`${k}.validate`]:["string",w,k]}function A(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Pn._)`await ${v}(${n})`}return typeof m=="function"?(0,Pn._)`${v}(${n})`:(0,Pn._)`${v}.test(${n})`}}}};cz.default=XMt});var H6e=x(lz=>{"use strict";Object.defineProperty(lz,"__esModule",{value:!0});var JMt=z6e(),YMt=[JMt.default];lz.default=YMt});var V6e=x(nx=>{"use strict";Object.defineProperty(nx,"__esModule",{value:!0});nx.contentVocabulary=nx.metadataVocabulary=void 0;nx.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];nx.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var W6e=x(fz=>{"use strict";Object.defineProperty(fz,"__esModule",{value:!0});var QMt=e6e(),ZMt=h6e(),e9t=G6e(),t9t=H6e(),$6e=V6e(),r9t=[QMt.default,ZMt.default,(0,e9t.default)(),t9t.default,$6e.metadataVocabulary,$6e.contentVocabulary];fz.default=r9t});var K6e=x(s_=>{"use strict";Object.defineProperty(s_,"__esModule",{value:!0});s_.DiscrError=void 0;var n9t;(function(e){e.Tag="tag",e.Mapping="mapping"})(n9t=s_.DiscrError||(s_.DiscrError={}))});var J6e=x(dz=>{"use strict";Object.defineProperty(dz,"__esModule",{value:!0});var ix=Ut(),pz=K6e(),X6e=V4(),i9t=cr(),a9t={message:({params:{discrError:e,tagName:t}})=>e===pz.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,ix._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},o9t={keyword:"discriminator",type:"object",schemaType:"object",error:a9t,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:a}=e,{oneOf:o}=i;if(!a.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 u=t.let("valid",!1),c=t.const("tag",(0,ix._)`${r}${(0,ix.getProperty)(s)}`);t.if((0,ix._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:pz.DiscrError.Tag,tag:c,tagName:s})),e.ok(u);function l(){let d=p();t.if(!1);for(let h in d)t.elseIf((0,ix._)`${c} === ${h}`),t.assign(u,f(d[h]));t.else(),e.error(!1,{discrError:pz.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(d){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:d},h);return e.mergeEvaluated(g,ix.Name),h}function p(){var d;let h={},g=v(i),m=!0;for(let A=0;A<o.length;A++){let w=o[A];w!=null&&w.$ref&&!(0,i9t.schemaHasRulesButRef)(w,a.self.RULES)&&(w=X6e.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,w==null?void 0:w.$ref),w instanceof X6e.SchemaEnv&&(w=w.schema));let C=(d=w==null?void 0:w.properties)===null||d===void 0?void 0:d[s];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);m=m&&(g||v(w)),b(C,A)}if(!m)throw new Error(`discriminator: "${s}" must be required`);return h;function v({required:A}){return Array.isArray(A)&&A.includes(s)}function b(A,w){if(A.const)_(A.const,w);else if(A.enum)for(let C of A.enum)_(C,w);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function _(A,w){if(typeof A!="string"||A in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[A]=w}}}};dz.default=o9t});var Y6e=x((X2r,s9t)=>{s9t.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 e8e=x((gn,Z6e)=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.MissingRefError=gn.ValidationError=gn.CodeGen=gn.Name=gn.nil=gn.stringify=gn.str=gn._=gn.KeywordCxt=void 0;var u9t=KSe(),c9t=W6e(),l9t=J6e(),Q6e=Y6e(),f9t=["/properties"],oD="http://json-schema.org/draft-07/schema",sD=class extends u9t.default{_addVocabularies(){super._addVocabularies(),c9t.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(l9t.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(Q6e,f9t):Q6e;this.addMetaSchema(t,oD,!1),this.refs["http://json-schema.org/schema"]=oD}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(oD)?oD:void 0)}};Z6e.exports=gn=sD;Object.defineProperty(gn,"__esModule",{value:!0});gn.default=sD;var p9t=K2();Object.defineProperty(gn,"KeywordCxt",{enumerable:!0,get:function(){return p9t.KeywordCxt}});var ax=Ut();Object.defineProperty(gn,"_",{enumerable:!0,get:function(){return ax._}});Object.defineProperty(gn,"str",{enumerable:!0,get:function(){return ax.str}});Object.defineProperty(gn,"stringify",{enumerable:!0,get:function(){return ax.stringify}});Object.defineProperty(gn,"nil",{enumerable:!0,get:function(){return ax.nil}});Object.defineProperty(gn,"Name",{enumerable:!0,get:function(){return ax.Name}});Object.defineProperty(gn,"CodeGen",{enumerable:!0,get:function(){return ax.CodeGen}});var d9t=G4();Object.defineProperty(gn,"ValidationError",{enumerable:!0,get:function(){return d9t.default}});var h9t=z4();Object.defineProperty(gn,"MissingRefError",{enumerable:!0,get:function(){return h9t.default}})});var Ez=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Az={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"]=Az||{};function Ct(e,t,r){return t<=e&&e<=r}function $8e(e,t){return e.indexOf(t)!==-1}var xc=Math.floor;function h_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function W8e(e){for(var t=String(e),r=t.length,n=0,i=[];n<r;){var a=t.charCodeAt(n);if(a<55296||a>57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(n===r-1)i.push(65533);else{var o=t.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=a&1023,u=o&1023;i.push(65536+(s<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function K8e(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 po(e){return 0<=e&&e<=127}var fo=po,Xt=-1;function _D(e){this.tokens=[].slice.call(e),this.tokens.reverse()}_D.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Xt},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 Pr=-1;function Kt(e,t){if(e)throw TypeError("Decoder error");return t||65533}function is(e){throw TypeError("The code point "+e+" could not be encoded.")}function X8e(){}X8e.prototype={handler:function(e,t){}};function J8e(){}J8e.prototype={handler:function(e,t){}};function yD(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(bD,e)?bD[e]:null}var Tz=[{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"}],bD={};Tz.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){bD[r]=t})})});var va={},ya={};function Hh(e,t){return t&&t[e]||null}function Vh(e,t){var r=t.indexOf(e);return r===-1?null:r}function na(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 Y8e(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=na("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[0]<=e)t=a[0],r=a[1];else break}return r+e-t}function Q8e(e){if(e===59335)return 7457;var t=0,r=0,n=na("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[1]<=e)t=a[1],r=a[0];else break}return r+e-t}function Z8e(e){xD=xD||na("jis0208").map(function(r,n){return Ct(n,8272,8835)?null:r});var t=xD;return t.indexOf(e)}var xD;function eCe(e){vD=vD||na("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=vD;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):Vh(e,t)}var vD,Sz="utf-8";function Mp(e,t){if(!(this instanceof Mp))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):Sz,t=h_(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=yD(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ya[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(Mp.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(Mp.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(Mp.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));Mp.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=h_(r),this._do_not_flush||(this._decoder=ya[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new _D(n),a=[],o;;){var s=i.read();if(s===Xt||(o=this._decoder.handler(i,s),o===Pr))break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(i,i.read()),o===Pr)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return $8e(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(c.length>0&&c[0]===65279?(this._BOMseen=!0,c.shift()):c.length>0&&(this._BOMseen=!0)),K8e(c)}return u.call(this,a)};function hx(e,t){if(!(this instanceof hx))throw TypeError("Called as a function. Did you forget 'new'?");t=h_(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):Sz;var n=yD(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!va[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=yD("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(hx.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});hx.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=h_(r),this._do_not_flush||(this._encoder=va[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new _D(W8e(t)),i=[],a;;){var o=n.read();if(o===Xt||(a=this._encoder.handler(n,o),a===Pr))break;Array.isArray(a)?i.push.apply(i,a):i.push(a)}if(!this._do_not_flush){for(;a=this._encoder.handler(n,n.read()),a!==Pr;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function tCe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Xt&&i!==0)return i=0,Kt(t);if(u===Xt)return Pr;if(i===0){if(Ct(u,0,127))return u;if(Ct(u,194,223))i=1,r=u&31;else if(Ct(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(Ct(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return Kt(t);return null}if(!Ct(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),Kt(t);if(a=128,o=191,r=r<<6|u&63,n+=1,n!==i)return null;var c=r;return r=i=n=0,c}}function rCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Xt)return Pr;if(fo(n))return n;var i,a;Ct(n,128,2047)?(i=1,a=192):Ct(n,2048,65535)?(i=2,a=224):Ct(n,65536,1114111)&&(i=3,a=240);for(var o=[(n>>6*i)+a];i>0;){var s=n>>6*(i-1);o.push(128|s&63),i-=1}return o}}va["UTF-8"]=function(e){return new rCe(e)};ya["UTF-8"]=function(e){return new tCe(e)};function nCe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Xt)return Pr;if(po(i))return i;var a=e[i-128];return a===null?Kt(r):a}}function iCe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Xt)return Pr;if(fo(i))return i;var a=Vh(i,e);return a===null&&is(i),a+128}}(function(){"encoding-indexes"in globalThis&&Tz.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=na(r.toLowerCase());ya[r]=function(i){return new nCe(n,i)},va[r]=function(i){return new iCe(n,i)}})})})();ya.GBK=function(e){return new Cz(e)};va.GBK=function(e){return new Dz(e,!0)};function Cz(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===Xt&&r===0&&n===0&&i===0)return Pr;o===Xt&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,Kt(t));var s;if(i!==0){s=null,Ct(o,48,57)&&(s=Y8e((((r-129)*10+n-48)*126+i-129)*10+o-48));var u=[n,i,o];return r=0,n=0,i=0,s===null?(a.prepend(u),Kt(t)):s}if(n!==0)return Ct(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,Kt(t));if(r!==0){if(Ct(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(Ct(o,64,126)||Ct(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:Hh(l,na("gb18030")),s===null&&po(o)&&a.prepend(o),s===null?Kt(t):s}return po(o)?o:o===128?8364:Ct(o,129,254)?(r=o,null):Kt(t)}}function Dz(e,t){var r=e.fatal;this.handler=function(n,i){if(i===Xt)return Pr;if(fo(i))return i;if(i===58853)return is(i);if(t&&i===8364)return 128;var a=Vh(i,na("gb18030"));if(a!==null){var o=xc(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return is(i);a=Q8e(i);var c=xc(a/10/126/10);a=a-c*10*126*10;var l=xc(a/10/126);a=a-l*10*126;var f=xc(a/10),p=a-f*10;return[c+129,l+48,f+129,p+48]}}va.gb18030=function(e){return new Dz(e)};ya.gb18030=function(e){return new Cz(e)};function aCe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Xt&&r!==0)return r=0,Kt(t);if(i===Xt&&r===0)return Pr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((Ct(i,64,126)||Ct(i,161,254))&&(o=(a-129)*157+(i-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var u=o===null?null:Hh(o,na("big5"));return u===null&&po(i)&&n.prepend(i),u===null?Kt(t):u}return po(i)?i:Ct(i,129,254)?(r=i,null):Kt(t)}}function oCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Xt)return Pr;if(fo(n))return n;var i=eCe(n);if(i===null)return is(n);var a=xc(i/157)+129;if(a<161)return is(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}va.Big5=function(e){return new oCe(e)};ya.Big5=function(e){return new aCe(e)};function sCe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===Xt&&n!==0)return n=0,Kt(t);if(a===Xt&&n===0)return Pr;if(n===142&&Ct(a,161,223))return n=0,65377-161+a;if(n===143&&Ct(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return Ct(o,161,254)&&Ct(a,161,254)&&(s=Hh((o-161)*94+(a-161),na(r?"jis0212":"jis0208"))),r=!1,Ct(a,161,254)||i.prepend(a),s===null?Kt(t):s}return po(a)?a:a===142||a===143||Ct(a,161,254)?(n=a,null):Kt(t)}}function uCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Xt)return Pr;if(fo(n))return n;if(n===165)return 92;if(n===8254)return 126;if(Ct(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=Vh(n,na("jis0208"));if(i===null)return is(n);var a=xc(i/94)+161,o=i%94+161;return[a,o]}}va["EUC-JP"]=function(e){return new uCe(e)};ya["EUC-JP"]=function(e){return new sCe(e)};function cCe(e){var t=e.fatal,r={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=r.ASCII,i=r.ASCII,a=0,o=!1;this.handler=function(s,u){switch(n){default:case r.ASCII:return u===27?(n=r.EscapeStart,null):Ct(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Xt?Pr:(o=!1,Kt(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):Ct(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Xt?Pr:(o=!1,Kt(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):Ct(u,33,95)?(o=!1,65377-33+u):u===Xt?Pr:(o=!1,Kt(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):Ct(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===Xt?Pr:(o=!1,Kt(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,Kt(t);if(Ct(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=Hh(c,na("jis0208"));return l===null?Kt(t):l}return u===Xt?(n=r.LeadByte,s.prepend(u),Kt(t)):(n=r.LeadByte,Kt(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,Kt(t));case r.Escape:var f=a;a=0;var p=null;if(f===40&&u===66&&(p=r.ASCII),f===40&&u===74&&(p=r.Roman),f===40&&u===73&&(p=r.Katakana),f===36&&(u===64||u===66)&&(p=r.LeadByte),p!==null){n=n=p;var d=o;return o=!0,d?Kt(t):null}return s.prepend([f,u]),o=!1,n=i,Kt(t)}}}function lCe(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===Xt&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===Xt&&n===r.ASCII)return Pr;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return is(65533);if(n===r.ASCII&&fo(a))return a;if(n===r.Roman&&(fo(a)&&a!==92&&a!==126||a==165||a==8254)){if(fo(a))return a;if(a===165)return 92;if(a===8254)return 126}if(fo(a)&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if((a===165||a===8254)&&n!==r.Roman)return i.prepend(a),n=r.Roman,[27,40,74];a===8722&&(a=65293);var o=Vh(a,na("jis0208"));if(o===null)return is(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=xc(o/94)+33,u=o%94+33;return[s,u]}}va["ISO-2022-JP"]=function(e){return new lCe(e)};ya["ISO-2022-JP"]=function(e){return new cCe(e)};function fCe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Xt&&r!==0)return r=0,Kt(t);if(i===Xt&&r===0)return Pr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((Ct(i,64,126)||Ct(i,128,252))&&(o=(a-u)*188+i-s),Ct(o,8836,10715))return 57344-8836+o;var c=o===null?null:Hh(o,na("jis0208"));return c===null&&po(i)&&n.prepend(i),c===null?Kt(t):c}return po(i)||i===128?i:Ct(i,161,223)?65377-161+i:Ct(i,129,159)||Ct(i,224,252)?(r=i,null):Kt(t)}}function pCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Xt)return Pr;if(fo(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(Ct(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=Z8e(n);if(i===null)return is(n);var a=xc(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}va.Shift_JIS=function(e){return new pCe(e)};ya.Shift_JIS=function(e){return new fCe(e)};function dCe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Xt&&r!==0)return r=0,Kt(t);if(i===Xt&&r===0)return Pr;if(r!==0){var a=r,o=null;r=0,Ct(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:Hh(o,na("euc-kr"));return o===null&&po(i)&&n.prepend(i),s===null?Kt(t):s}return po(i)?i:Ct(i,129,254)?(r=i,null):Kt(t)}}function hCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Xt)return Pr;if(fo(n))return n;var i=Vh(n,na("euc-kr"));if(i===null)return is(n);var a=xc(i/190)+129,o=i%190+65;return[a,o]}}va["EUC-KR"]=function(e){return new hCe(e)};ya["EUC-KR"]=function(e){return new dCe(e)};function d_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function Fz(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===Xt&&(n!==null||i!==null))return Kt(r);if(o===Xt&&n===null&&i===null)return Pr;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,i!==null){var u=i;return i=null,Ct(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(d_(s,e)),Kt(r))}return Ct(s,55296,56319)?(i=s,null):Ct(s,56320,57343)?Kt(r):s}}function kz(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Xt)return Pr;if(Ct(i,0,65535))return d_(i,e);var a=d_((i-65536>>10)+55296,e),o=d_((i-65536&1023)+56320,e);return a.concat(o)}}va["UTF-16BE"]=function(e){return new kz(!0,e)};ya["UTF-16BE"]=function(e){return new Fz(!0,e)};va["UTF-16LE"]=function(e){return new kz(!1,e)};ya["UTF-16LE"]=function(e){return new Fz(!1,e)};function mCe(e){var t=e.fatal;this.handler=function(r,n){return n===Xt?Pr:po(n)?n:63360+n-128}}function gCe(e){var t=e.fatal;this.handler=function(r,n){return n===Xt?Pr:fo(n)?n:Ct(n,63360,63487)?n-63360+128:is(n)}}va["x-user-defined"]=function(e){return new gCe(e)};ya["x-user-defined"]=function(e){return new mCe(e)};function mx(e){return Buffer.from(e).toString("base64")}function wD(e){return Buffer.from(e,"base64").toString("ascii")}var A$=kt(w$(),1),T$=kt(Ex(),1);function E$(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function kFe(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,T$.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,A$.default)(n,r,t)}function S$(e,t){let r=kFe(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(E$(a))})})}var ire=kt(nre(),1),SB=["image/png","image/jpeg","image/gif"];async function CB(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 G7e(r,t)}function G7e(e,t){return new Promise(r=>(0,ire.default)(e,t,(n,i)=>{if(n)throw n;let a=[...i.shape],o=i.shape.length===4?i.shape.shift():1,s=i.data instanceof Buffer?new Uint8Array(i.data):i.data;r({shape:a,data:s,width:i.shape[0],height:i.shape[1],components:i.shape[2],layers:o?[o]:[]})}))}async function Ka(e,t,r,n){return n._parse(e,t,r,n)}function Et(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var xu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ore=xu.self||xu.window||xu.global||{},sre=xu.window||xu.self||xu.global||{},ure=xu.global||xu.self||xu.window||{},cre=xu.document||{};var Er=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var are=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),z7e=are&&parseFloat(are[1])||0;function ff(e){return ff=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ff(e)}function DB(e,t){if(ff(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ff(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function FB(e){var t=DB(e,"string");return ff(t)==="symbol"?t:String(t)}function gt(e,t,r){return t=FB(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kB(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function ys(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||kB()}var H7e=globalThis.self||globalThis.window||globalThis.global,M0=globalThis.window||globalThis.self||globalThis.global,V7e=globalThis.document||{},rd=globalThis.process||{},$7e=globalThis.console,EGt=globalThis.navigator||{};var uE="4.3.0-alpha.5",SGt=ys();function W7e(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var cE=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";gt(this,"storage",void 0),gt(this,"id",void 0),gt(this,"config",void 0),this.storage=W7e(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 lre(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function fre(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function lE(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var fE;(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"})(fE||(fE={}));var K7e=10;function pre(e){return typeof e!="string"?e:(e=e.toUpperCase(),fE[e]||fE.WHITE)}function dre(e,t,r){if(!ys&&typeof e=="string"){if(t){let n=pre(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=pre(r);e="\x1B[".concat(n+K7e,"m").concat(e,"\x1B[49m")}}return e}function hre(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function j0(e,t){if(!e)throw new Error(t||"Assertion failed")}function nd(){let e;if(ys()&&M0.performance){var t,r;e=M0===null||M0===void 0||(t=M0.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in rd){var n;let i=rd===null||rd===void 0||(n=rd.hrtime)===null||n===void 0?void 0:n.call(rd);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var L0={debug:ys()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},X7e={enabled:!0,level:0};function Ao(){}var mre={},gre={once:!0},vu=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};gt(this,"id",void 0),gt(this,"VERSION",uE),gt(this,"_startTs",nd()),gt(this,"_deltaTs",nd()),gt(this,"_storage",void 0),gt(this,"userData",{}),gt(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this.userData={},this._storage=new cE("__probe-".concat(this.id,"__"),X7e),this.timeStamp("".concat(this.id," started")),hre(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((nd()-this._startTs).toPrecision(10))}getDelta(){return Number((nd()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){j0(t,r)}warn(t){return this._getLogFunction(0,t,L0.warn,arguments,gre)}error(t){return this._getLogFunction(0,t,L0.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,L0.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,L0.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,L0.debug||L0.info,arguments,gre)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||Ao,n&&[n],{tag:Z7e(r)}):Ao}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?ys()?Q7e({image:i,message:a,scale:o}):Y7e({image:i,message:a,scale:o}):Ao}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||Ao)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=xre({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Ao)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=vre(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=xre({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,j0(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=nd();let o=a.tag||a.message;if(a.once&&o)if(!mre[o])mre[o]=nd();else return Ao;return r=J7e(this.id,a.message,a),n.bind(console,r,...a.args)}return Ao}};gt(vu,"VERSION",uE);function vre(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 j0(Number.isFinite(t)&&t>=0),t}function xre(e){let{logLevel:t,message:r}=e;e.logLevel=vre(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 i=typeof e.message;return j0(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function J7e(e,t,r){if(typeof t=="string"){let n=r.time?fre(lre(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=dre(t,r.color,r.background)}return t}function Y7e(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),Ao}function Q7e(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=lE(a,r,n);console.log(...o)},a.src=t,Ao}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...lE(t,r,n)),Ao;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...lE(a,r,n)),a.src=t.toDataURL(),Ao}return Ao}function Z7e(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var ZGt=new vu({id:"@probe.gl/log"});var BB="4.3.0-alpha.5",eqe=BB[0]>="0"&&BB[0]<="9"?`v${BB}`:"";function tqe(){let e=new vu({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=eqe,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var OB=tqe();function IB(e,t){return yre(e||{},t)}function yre(e,t,r=0){if(r>3)return t;let n={...e};for(let[i,a]of Object.entries(t))a&&typeof a=="object"&&!Array.isArray(a)?n[i]=yre(n[i]||{},t[i],r+1):n[i]=t[i];return n}function yv(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function PB(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var bre="latest";function rqe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.3.0-alpha.5"),globalThis._loadersgl_.version}var id=rqe();function Ti(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var yu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},uzt=yu.self||yu.window||yu.global||{},czt=yu.window||yu.self||yu.global||{},lzt=yu.global||yu.self||yu.window||{},fzt=yu.document||{};var li=typeof process!="object"||String(process)!=="[object process]"||process.browser,bv=typeof importScripts=="function",wre=typeof window<"u"&&typeof window.orientation<"u",_re=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),pzt=_re&&parseFloat(_re[1])||0;var _v=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){Ti(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Ti(this.isRunning),this.isRunning=!1,this._reject(t)}};var ad={};zn(ad,{NodeWorker:()=>Ev,parentPort:()=>nqe});var wv=kt(require("worker_threads"),1);dx(ad,require("worker_threads"));var nqe=wv==null?void 0:wv.parentPort,Ev=wv.Worker;var RB=new Map;function Ere(e){Ti(e.source&&!e.url||!e.source&&e.url);let t=RB.get(e.source||e.url);return t||(e.url&&(t=iqe(e.url),RB.set(e.url,t)),e.source&&(t=Are(e.source),RB.set(e.source,t))),Ti(t),t}function iqe(e){if(!e.startsWith("http"))return e;let t=aqe(e);return Are(t)}function Are(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function aqe(e){return`try {
|
|
154
|
+
deps: ${r}}`};var sMt={keyword:"dependencies",type:"object",schemaType:"object",error:dc.error,code(e){let[t,r]=uMt(e);w6e(e,t),E6e(e,r)}};function uMt({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function w6e(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let a=r.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let u=(0,o_.propertyInData)(r,n,o,i.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(u,()=>{for(let c of s)(0,o_.checkReportMissingProp)(e,c)}):(r.if((0,XG._)`${u} && (${(0,o_.checkMissingProp)(e,s,a)})`),(0,o_.reportMissingProp)(e,a),r.else())}}dc.validatePropertyDeps=w6e;function E6e(e,t=e.schema){let{gen:r,data:n,keyword:i,it:a}=e,o=r.name("valid");for(let s in t)(0,oMt.alwaysValidSchema)(a,t[s])||(r.if((0,o_.propertyInData)(r,n,s,a.opts.ownProperties),()=>{let u=e.subschema({keyword:i,schemaProp:s},o);e.mergeValidEvaluated(u,o)},()=>r.var(o,!0)),e.ok(o))}dc.validateSchemaDeps=E6e;dc.default=sMt});var S6e=x(JG=>{"use strict";Object.defineProperty(JG,"__esModule",{value:!0});var T6e=Ut(),cMt=cr(),lMt={message:"property name must be valid",params:({params:e})=>(0,T6e._)`{propertyName: ${e.propertyName}}`},fMt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:lMt,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,cMt.alwaysValidSchema)(i,r))return;let a=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},a),t.if((0,T6e.not)(a),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(a)}};JG.default=fMt});var QG=x(YG=>{"use strict";Object.defineProperty(YG,"__esModule",{value:!0});var tD=Qo(),Js=Ut(),pMt=Rl(),rD=cr(),dMt={message:"must NOT have additional properties",params:({params:e})=>(0,Js._)`{additionalProperty: ${e.additionalProperty}}`},hMt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:dMt,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:a,it:o}=e;if(!a)throw new Error("ajv implementation error");let{allErrors:s,opts:u}=o;if(o.props=!0,u.removeAdditional!=="all"&&(0,rD.alwaysValidSchema)(o,r))return;let c=(0,tD.allSchemaProperties)(n.properties),l=(0,tD.allSchemaProperties)(n.patternProperties);f(),e.ok((0,Js._)`${a} === ${pMt.default.errors}`);function f(){t.forIn("key",i,m=>{!c.length&&!l.length?h(m):t.if(p(m),()=>h(m))})}function p(m){let v;if(c.length>8){let b=(0,rD.schemaRefOrVal)(o,n.properties,"properties");v=(0,tD.isOwnProperty)(t,b,m)}else c.length?v=(0,Js.or)(...c.map(b=>(0,Js._)`${m} === ${b}`)):v=Js.nil;return l.length&&(v=(0,Js.or)(v,...l.map(b=>(0,Js._)`${(0,tD.usePattern)(e,b)}.test(${m})`))),(0,Js.not)(v)}function d(m){t.code((0,Js._)`delete ${i}[${m}]`)}function h(m){if(u.removeAdditional==="all"||u.removeAdditional&&r===!1){d(m);return}if(r===!1){e.setParams({additionalProperty:m}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,rD.alwaysValidSchema)(o,r)){let v=t.name("valid");u.removeAdditional==="failing"?(g(m,v,!1),t.if((0,Js.not)(v),()=>{e.reset(),d(m)})):(g(m,v),s||t.if((0,Js.not)(v),()=>t.break()))}}function g(m,v,b){let _={keyword:"additionalProperties",dataProp:m,dataPropType:rD.Type.Str};b===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(_,v)}}};YG.default=hMt});var F6e=x(ez=>{"use strict";Object.defineProperty(ez,"__esModule",{value:!0});var mMt=K2(),C6e=Qo(),ZG=cr(),D6e=QG(),gMt={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:a}=e;a.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&D6e.default.code(new mMt.KeywordCxt(a,D6e.default,"additionalProperties"));let o=(0,C6e.allSchemaProperties)(r);for(let f of o)a.definedProperties.add(f);a.opts.unevaluated&&o.length&&a.props!==!0&&(a.props=ZG.mergeEvaluated.props(t,(0,ZG.toHash)(o),a.props));let s=o.filter(f=>!(0,ZG.alwaysValidSchema)(a,r[f]));if(s.length===0)return;let u=t.name("valid");for(let f of s)c(f)?l(f):(t.if((0,C6e.propertyInData)(t,i,f,a.opts.ownProperties)),l(f),a.allErrors||t.else().var(u,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(u);function c(f){return a.opts.useDefaults&&!a.compositeRule&&r[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},u)}}};ez.default=gMt});var I6e=x(tz=>{"use strict";Object.defineProperty(tz,"__esModule",{value:!0});var k6e=Qo(),nD=Ut(),B6e=cr(),O6e=cr(),xMt={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:a}=e,{opts:o}=a,s=(0,k6e.allSchemaProperties)(r),u=s.filter(g=>(0,B6e.alwaysValidSchema)(a,r[g]));if(s.length===0||u.length===s.length&&(!a.opts.unevaluated||a.props===!0))return;let c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,l=t.name("valid");a.props!==!0&&!(a.props instanceof nD.Name)&&(a.props=(0,O6e.evaluatedPropsToName)(t,a.props));let{props:f}=a;p();function p(){for(let g of s)c&&d(g),a.allErrors?h(g):(t.var(l,!0),h(g),t.if(l))}function d(g){for(let m in c)new RegExp(g).test(m)&&(0,B6e.checkStrictMode)(a,`property ${m} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,m=>{t.if((0,nD._)`${(0,k6e.usePattern)(e,g)}.test(${m})`,()=>{let v=u.includes(g);v||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:m,dataPropType:O6e.Type.Str},l),a.opts.unevaluated&&f!==!0?t.assign((0,nD._)`${f}[${m}]`,!0):!v&&!a.allErrors&&t.if((0,nD.not)(l),()=>t.break())})})}}};tz.default=xMt});var P6e=x(rz=>{"use strict";Object.defineProperty(rz,"__esModule",{value:!0});var vMt=cr(),yMt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,vMt.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};rz.default=yMt});var R6e=x(nz=>{"use strict";Object.defineProperty(nz,"__esModule",{value:!0});var bMt=Qo(),_Mt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:bMt.validateUnion,error:{message:"must match a schema in anyOf"}};nz.default=_Mt});var M6e=x(iz=>{"use strict";Object.defineProperty(iz,"__esModule",{value:!0});var iD=Ut(),wMt=cr(),EMt={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,iD._)`{passingSchemas: ${e.passing}}`},AMt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:EMt,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let a=r,o=t.let("valid",!1),s=t.let("passing",null),u=t.name("_valid");e.setParams({passing:s}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){a.forEach((l,f)=>{let p;(0,wMt.alwaysValidSchema)(i,l)?t.var(u,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},u),f>0&&t.if((0,iD._)`${u} && ${o}`).assign(o,!1).assign(s,(0,iD._)`[${s}, ${f}]`).else(),t.if(u,()=>{t.assign(o,!0),t.assign(s,f),p&&e.mergeEvaluated(p,iD.Name)})})}}};iz.default=AMt});var j6e=x(az=>{"use strict";Object.defineProperty(az,"__esModule",{value:!0});var TMt=cr(),SMt={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 i=t.name("valid");r.forEach((a,o)=>{if((0,TMt.alwaysValidSchema)(n,a))return;let s=e.subschema({keyword:"allOf",schemaProp:o},i);e.ok(i),e.mergeEvaluated(s)})}};az.default=SMt});var N6e=x(oz=>{"use strict";Object.defineProperty(oz,"__esModule",{value:!0});var aD=Ut(),q6e=cr(),CMt={message:({params:e})=>(0,aD.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,aD._)`{failingKeyword: ${e.ifClause}}`},DMt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:CMt,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,q6e.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=L6e(n,"then"),a=L6e(n,"else");if(!i&&!a)return;let o=t.let("valid",!0),s=t.name("_valid");if(u(),e.reset(),i&&a){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,c("then",l),c("else",l))}else i?t.if(s,c("then")):t.if((0,aD.not)(s),c("else"));e.pass(o,()=>e.error(!0));function u(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function c(l,f){return()=>{let p=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(p,o),f?t.assign(f,(0,aD._)`${l}`):e.setParams({ifClause:l})}}}};function L6e(e,t){let r=e.schema[t];return r!==void 0&&!(0,q6e.alwaysValidSchema)(e,r)}oz.default=DMt});var U6e=x(sz=>{"use strict";Object.defineProperty(sz,"__esModule",{value:!0});var FMt=cr(),kMt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,FMt.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};sz.default=kMt});var G6e=x(uz=>{"use strict";Object.defineProperty(uz,"__esModule",{value:!0});var BMt=HG(),OMt=v6e(),IMt=VG(),PMt=b6e(),RMt=_6e(),MMt=A6e(),jMt=S6e(),LMt=QG(),qMt=F6e(),NMt=I6e(),UMt=P6e(),GMt=R6e(),zMt=M6e(),HMt=j6e(),VMt=N6e(),$Mt=U6e();function WMt(e=!1){let t=[UMt.default,GMt.default,zMt.default,HMt.default,VMt.default,$Mt.default,jMt.default,LMt.default,MMt.default,qMt.default,NMt.default];return e?t.push(OMt.default,PMt.default):t.push(BMt.default,IMt.default),t.push(RMt.default),t}uz.default=WMt});var z6e=x(cz=>{"use strict";Object.defineProperty(cz,"__esModule",{value:!0});var Pn=Ut(),KMt={message:({schemaCode:e})=>(0,Pn.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Pn._)`{format: ${e}}`},XMt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:KMt,code(e,t){let{gen:r,data:n,$data:i,schema:a,schemaCode:o,it:s}=e,{opts:u,errSchemaPath:c,schemaEnv:l,self:f}=s;if(!u.validateFormats)return;i?p():d();function p(){let h=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),g=r.const("fDef",(0,Pn._)`${h}[${o}]`),m=r.let("fType"),v=r.let("format");r.if((0,Pn._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(m,(0,Pn._)`${g}.type || "string"`).assign(v,(0,Pn._)`${g}.validate`),()=>r.assign(m,(0,Pn._)`"string"`).assign(v,g)),e.fail$data((0,Pn.or)(b(),_()));function b(){return u.strictSchema===!1?Pn.nil:(0,Pn._)`${o} && !${v}`}function _(){let A=l.$async?(0,Pn._)`(${g}.async ? await ${v}(${n}) : ${v}(${n}))`:(0,Pn._)`${v}(${n})`,w=(0,Pn._)`(typeof ${v} == "function" ? ${A} : ${v}.test(${n}))`;return(0,Pn._)`${v} && ${v} !== true && ${m} === ${t} && !${w}`}}function d(){let h=f.formats[a];if(!h){b();return}if(h===!0)return;let[g,m,v]=_(h);g===t&&e.pass(A());function b(){if(u.strictSchema===!1){f.logger.warn(w());return}throw new Error(w());function w(){return`unknown format "${a}" ignored in schema at path "${c}"`}}function _(w){let C=w instanceof RegExp?(0,Pn.regexpCode)(w):u.code.formats?(0,Pn._)`${u.code.formats}${(0,Pn.getProperty)(a)}`:void 0,k=r.scopeValue("formats",{key:a,ref:w,code:C});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0,Pn._)`${k}.validate`]:["string",w,k]}function A(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Pn._)`await ${v}(${n})`}return typeof m=="function"?(0,Pn._)`${v}(${n})`:(0,Pn._)`${v}.test(${n})`}}}};cz.default=XMt});var H6e=x(lz=>{"use strict";Object.defineProperty(lz,"__esModule",{value:!0});var JMt=z6e(),YMt=[JMt.default];lz.default=YMt});var V6e=x(nx=>{"use strict";Object.defineProperty(nx,"__esModule",{value:!0});nx.contentVocabulary=nx.metadataVocabulary=void 0;nx.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];nx.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var W6e=x(fz=>{"use strict";Object.defineProperty(fz,"__esModule",{value:!0});var QMt=e6e(),ZMt=h6e(),e9t=G6e(),t9t=H6e(),$6e=V6e(),r9t=[QMt.default,ZMt.default,(0,e9t.default)(),t9t.default,$6e.metadataVocabulary,$6e.contentVocabulary];fz.default=r9t});var K6e=x(s_=>{"use strict";Object.defineProperty(s_,"__esModule",{value:!0});s_.DiscrError=void 0;var n9t;(function(e){e.Tag="tag",e.Mapping="mapping"})(n9t=s_.DiscrError||(s_.DiscrError={}))});var J6e=x(dz=>{"use strict";Object.defineProperty(dz,"__esModule",{value:!0});var ix=Ut(),pz=K6e(),X6e=V4(),i9t=cr(),a9t={message:({params:{discrError:e,tagName:t}})=>e===pz.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,ix._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},o9t={keyword:"discriminator",type:"object",schemaType:"object",error:a9t,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:a}=e,{oneOf:o}=i;if(!a.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 u=t.let("valid",!1),c=t.const("tag",(0,ix._)`${r}${(0,ix.getProperty)(s)}`);t.if((0,ix._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:pz.DiscrError.Tag,tag:c,tagName:s})),e.ok(u);function l(){let d=p();t.if(!1);for(let h in d)t.elseIf((0,ix._)`${c} === ${h}`),t.assign(u,f(d[h]));t.else(),e.error(!1,{discrError:pz.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function f(d){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:d},h);return e.mergeEvaluated(g,ix.Name),h}function p(){var d;let h={},g=v(i),m=!0;for(let A=0;A<o.length;A++){let w=o[A];w!=null&&w.$ref&&!(0,i9t.schemaHasRulesButRef)(w,a.self.RULES)&&(w=X6e.resolveRef.call(a.self,a.schemaEnv.root,a.baseId,w==null?void 0:w.$ref),w instanceof X6e.SchemaEnv&&(w=w.schema));let C=(d=w==null?void 0:w.properties)===null||d===void 0?void 0:d[s];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);m=m&&(g||v(w)),b(C,A)}if(!m)throw new Error(`discriminator: "${s}" must be required`);return h;function v({required:A}){return Array.isArray(A)&&A.includes(s)}function b(A,w){if(A.const)_(A.const,w);else if(A.enum)for(let C of A.enum)_(C,w);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function _(A,w){if(typeof A!="string"||A in h)throw new Error(`discriminator: "${s}" values must be unique strings`);h[A]=w}}}};dz.default=o9t});var Y6e=x((X2r,s9t)=>{s9t.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 e8e=x((gn,Z6e)=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.MissingRefError=gn.ValidationError=gn.CodeGen=gn.Name=gn.nil=gn.stringify=gn.str=gn._=gn.KeywordCxt=void 0;var u9t=KSe(),c9t=W6e(),l9t=J6e(),Q6e=Y6e(),f9t=["/properties"],oD="http://json-schema.org/draft-07/schema",sD=class extends u9t.default{_addVocabularies(){super._addVocabularies(),c9t.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(l9t.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(Q6e,f9t):Q6e;this.addMetaSchema(t,oD,!1),this.refs["http://json-schema.org/schema"]=oD}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(oD)?oD:void 0)}};Z6e.exports=gn=sD;Object.defineProperty(gn,"__esModule",{value:!0});gn.default=sD;var p9t=K2();Object.defineProperty(gn,"KeywordCxt",{enumerable:!0,get:function(){return p9t.KeywordCxt}});var ax=Ut();Object.defineProperty(gn,"_",{enumerable:!0,get:function(){return ax._}});Object.defineProperty(gn,"str",{enumerable:!0,get:function(){return ax.str}});Object.defineProperty(gn,"stringify",{enumerable:!0,get:function(){return ax.stringify}});Object.defineProperty(gn,"nil",{enumerable:!0,get:function(){return ax.nil}});Object.defineProperty(gn,"Name",{enumerable:!0,get:function(){return ax.Name}});Object.defineProperty(gn,"CodeGen",{enumerable:!0,get:function(){return ax.CodeGen}});var d9t=G4();Object.defineProperty(gn,"ValidationError",{enumerable:!0,get:function(){return d9t.default}});var h9t=z4();Object.defineProperty(gn,"MissingRefError",{enumerable:!0,get:function(){return h9t.default}})});var Ez=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Az={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"]=Az||{};function Ct(e,t,r){return t<=e&&e<=r}function $8e(e,t){return e.indexOf(t)!==-1}var xc=Math.floor;function h_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function W8e(e){for(var t=String(e),r=t.length,n=0,i=[];n<r;){var a=t.charCodeAt(n);if(a<55296||a>57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(n===r-1)i.push(65533);else{var o=t.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=a&1023,u=o&1023;i.push(65536+(s<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function K8e(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 po(e){return 0<=e&&e<=127}var fo=po,Xt=-1;function _D(e){this.tokens=[].slice.call(e),this.tokens.reverse()}_D.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Xt},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 Pr=-1;function Kt(e,t){if(e)throw TypeError("Decoder error");return t||65533}function is(e){throw TypeError("The code point "+e+" could not be encoded.")}function X8e(){}X8e.prototype={handler:function(e,t){}};function J8e(){}J8e.prototype={handler:function(e,t){}};function yD(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(bD,e)?bD[e]:null}var Tz=[{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"}],bD={};Tz.forEach(function(e){e.encodings.forEach(function(t){t.labels.forEach(function(r){bD[r]=t})})});var va={},ya={};function Hh(e,t){return t&&t[e]||null}function Vh(e,t){var r=t.indexOf(e);return r===-1?null:r}function na(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 Y8e(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var t=0,r=0,n=na("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[0]<=e)t=a[0],r=a[1];else break}return r+e-t}function Q8e(e){if(e===59335)return 7457;var t=0,r=0,n=na("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[1]<=e)t=a[1],r=a[0];else break}return r+e-t}function Z8e(e){xD=xD||na("jis0208").map(function(r,n){return Ct(n,8272,8835)?null:r});var t=xD;return t.indexOf(e)}var xD;function eCe(e){vD=vD||na("big5").map(function(r,n){return n<(161-129)*157?null:r});var t=vD;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?t.lastIndexOf(e):Vh(e,t)}var vD,Sz="utf-8";function Mp(e,t){if(!(this instanceof Mp))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):Sz,t=h_(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var r=yD(e);if(r===null||r.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!ya[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(Mp.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(Mp.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(Mp.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));Mp.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=h_(r),this._do_not_flush||(this._decoder=ya[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(r.stream);for(var i=new _D(n),a=[],o;;){var s=i.read();if(s===Xt||(o=this._decoder.handler(i,s),o===Pr))break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(i,i.read()),o===Pr)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(c){return $8e(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(c.length>0&&c[0]===65279?(this._BOMseen=!0,c.shift()):c.length>0&&(this._BOMseen=!0)),K8e(c)}return u.call(this,a)};function hx(e,t){if(!(this instanceof hx))throw TypeError("Called as a function. Did you forget 'new'?");t=h_(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):Sz;var n=yD(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!va[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");r._encoding=n}else r._encoding=yD("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(hx.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});hx.prototype.encode=function(t,r){t=t===void 0?"":String(t),r=h_(r),this._do_not_flush||(this._encoder=va[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(r.stream);for(var n=new _D(W8e(t)),i=[],a;;){var o=n.read();if(o===Xt||(a=this._encoder.handler(n,o),a===Pr))break;Array.isArray(a)?i.push.apply(i,a):i.push(a)}if(!this._do_not_flush){for(;a=this._encoder.handler(n,n.read()),a!==Pr;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function tCe(e){var t=e.fatal,r=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Xt&&i!==0)return i=0,Kt(t);if(u===Xt)return Pr;if(i===0){if(Ct(u,0,127))return u;if(Ct(u,194,223))i=1,r=u&31;else if(Ct(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,r=u&15;else if(Ct(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,r=u&7;else return Kt(t);return null}if(!Ct(u,a,o))return r=i=n=0,a=128,o=191,s.prepend(u),Kt(t);if(a=128,o=191,r=r<<6|u&63,n+=1,n!==i)return null;var c=r;return r=i=n=0,c}}function rCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Xt)return Pr;if(fo(n))return n;var i,a;Ct(n,128,2047)?(i=1,a=192):Ct(n,2048,65535)?(i=2,a=224):Ct(n,65536,1114111)&&(i=3,a=240);for(var o=[(n>>6*i)+a];i>0;){var s=n>>6*(i-1);o.push(128|s&63),i-=1}return o}}va["UTF-8"]=function(e){return new rCe(e)};ya["UTF-8"]=function(e){return new tCe(e)};function nCe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Xt)return Pr;if(po(i))return i;var a=e[i-128];return a===null?Kt(r):a}}function iCe(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Xt)return Pr;if(fo(i))return i;var a=Vh(i,e);return a===null&&is(i),a+128}}(function(){"encoding-indexes"in globalThis&&Tz.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(t){var r=t.name,n=na(r.toLowerCase());ya[r]=function(i){return new nCe(n,i)},va[r]=function(i){return new iCe(n,i)}})})})();ya.GBK=function(e){return new Cz(e)};va.GBK=function(e){return new Dz(e,!0)};function Cz(e){var t=e.fatal,r=0,n=0,i=0;this.handler=function(a,o){if(o===Xt&&r===0&&n===0&&i===0)return Pr;o===Xt&&(r!==0||n!==0||i!==0)&&(r=0,n=0,i=0,Kt(t));var s;if(i!==0){s=null,Ct(o,48,57)&&(s=Y8e((((r-129)*10+n-48)*126+i-129)*10+o-48));var u=[n,i,o];return r=0,n=0,i=0,s===null?(a.prepend(u),Kt(t)):s}if(n!==0)return Ct(o,129,254)?(i=o,null):(a.prepend([n,o]),r=0,n=0,Kt(t));if(r!==0){if(Ct(o,48,57))return n=o,null;var c=r,l=null;r=0;var f=o<127?64:65;return(Ct(o,64,126)||Ct(o,128,254))&&(l=(c-129)*190+(o-f)),s=l===null?null:Hh(l,na("gb18030")),s===null&&po(o)&&a.prepend(o),s===null?Kt(t):s}return po(o)?o:o===128?8364:Ct(o,129,254)?(r=o,null):Kt(t)}}function Dz(e,t){var r=e.fatal;this.handler=function(n,i){if(i===Xt)return Pr;if(fo(i))return i;if(i===58853)return is(i);if(t&&i===8364)return 128;var a=Vh(i,na("gb18030"));if(a!==null){var o=xc(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(t)return is(i);a=Q8e(i);var c=xc(a/10/126/10);a=a-c*10*126*10;var l=xc(a/10/126);a=a-l*10*126;var f=xc(a/10),p=a-f*10;return[c+129,l+48,f+129,p+48]}}va.gb18030=function(e){return new Dz(e)};ya.gb18030=function(e){return new Cz(e)};function aCe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Xt&&r!==0)return r=0,Kt(t);if(i===Xt&&r===0)return Pr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:98;switch((Ct(i,64,126)||Ct(i,161,254))&&(o=(a-129)*157+(i-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var u=o===null?null:Hh(o,na("big5"));return u===null&&po(i)&&n.prepend(i),u===null?Kt(t):u}return po(i)?i:Ct(i,129,254)?(r=i,null):Kt(t)}}function oCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Xt)return Pr;if(fo(n))return n;var i=eCe(n);if(i===null)return is(n);var a=xc(i/157)+129;if(a<161)return is(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}va.Big5=function(e){return new oCe(e)};ya.Big5=function(e){return new aCe(e)};function sCe(e){var t=e.fatal,r=!1,n=0;this.handler=function(i,a){if(a===Xt&&n!==0)return n=0,Kt(t);if(a===Xt&&n===0)return Pr;if(n===142&&Ct(a,161,223))return n=0,65377-161+a;if(n===143&&Ct(a,161,254))return r=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return Ct(o,161,254)&&Ct(a,161,254)&&(s=Hh((o-161)*94+(a-161),na(r?"jis0212":"jis0208"))),r=!1,Ct(a,161,254)||i.prepend(a),s===null?Kt(t):s}return po(a)?a:a===142||a===143||Ct(a,161,254)?(n=a,null):Kt(t)}}function uCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Xt)return Pr;if(fo(n))return n;if(n===165)return 92;if(n===8254)return 126;if(Ct(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=Vh(n,na("jis0208"));if(i===null)return is(n);var a=xc(i/94)+161,o=i%94+161;return[a,o]}}va["EUC-JP"]=function(e){return new uCe(e)};ya["EUC-JP"]=function(e){return new sCe(e)};function cCe(e){var t=e.fatal,r={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=r.ASCII,i=r.ASCII,a=0,o=!1;this.handler=function(s,u){switch(n){default:case r.ASCII:return u===27?(n=r.EscapeStart,null):Ct(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Xt?Pr:(o=!1,Kt(t));case r.Roman:return u===27?(n=r.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):Ct(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Xt?Pr:(o=!1,Kt(t));case r.Katakana:return u===27?(n=r.EscapeStart,null):Ct(u,33,95)?(o=!1,65377-33+u):u===Xt?Pr:(o=!1,Kt(t));case r.LeadByte:return u===27?(n=r.EscapeStart,null):Ct(u,33,126)?(o=!1,a=u,n=r.TrailByte,null):u===Xt?Pr:(o=!1,Kt(t));case r.TrailByte:if(u===27)return n=r.EscapeStart,Kt(t);if(Ct(u,33,126)){n=r.LeadByte;var c=(a-33)*94+u-33,l=Hh(c,na("jis0208"));return l===null?Kt(t):l}return u===Xt?(n=r.LeadByte,s.prepend(u),Kt(t)):(n=r.LeadByte,Kt(t));case r.EscapeStart:return u===36||u===40?(a=u,n=r.Escape,null):(s.prepend(u),o=!1,n=i,Kt(t));case r.Escape:var f=a;a=0;var p=null;if(f===40&&u===66&&(p=r.ASCII),f===40&&u===74&&(p=r.Roman),f===40&&u===73&&(p=r.Katakana),f===36&&(u===64||u===66)&&(p=r.LeadByte),p!==null){n=n=p;var d=o;return o=!0,d?Kt(t):null}return s.prepend([f,u]),o=!1,n=i,Kt(t)}}}function lCe(e){var t=e.fatal,r={ASCII:0,Roman:1,jis0208:2},n=r.ASCII;this.handler=function(i,a){if(a===Xt&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if(a===Xt&&n===r.ASCII)return Pr;if((n===r.ASCII||n===r.Roman)&&(a===14||a===15||a===27))return is(65533);if(n===r.ASCII&&fo(a))return a;if(n===r.Roman&&(fo(a)&&a!==92&&a!==126||a==165||a==8254)){if(fo(a))return a;if(a===165)return 92;if(a===8254)return 126}if(fo(a)&&n!==r.ASCII)return i.prepend(a),n=r.ASCII,[27,40,66];if((a===165||a===8254)&&n!==r.Roman)return i.prepend(a),n=r.Roman,[27,40,74];a===8722&&(a=65293);var o=Vh(a,na("jis0208"));if(o===null)return is(a);if(n!==r.jis0208)return i.prepend(a),n=r.jis0208,[27,36,66];var s=xc(o/94)+33,u=o%94+33;return[s,u]}}va["ISO-2022-JP"]=function(e){return new lCe(e)};ya["ISO-2022-JP"]=function(e){return new cCe(e)};function fCe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Xt&&r!==0)return r=0,Kt(t);if(i===Xt&&r===0)return Pr;if(r!==0){var a=r,o=null;r=0;var s=i<127?64:65,u=a<160?129:193;if((Ct(i,64,126)||Ct(i,128,252))&&(o=(a-u)*188+i-s),Ct(o,8836,10715))return 57344-8836+o;var c=o===null?null:Hh(o,na("jis0208"));return c===null&&po(i)&&n.prepend(i),c===null?Kt(t):c}return po(i)||i===128?i:Ct(i,161,223)?65377-161+i:Ct(i,129,159)||Ct(i,224,252)?(r=i,null):Kt(t)}}function pCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Xt)return Pr;if(fo(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(Ct(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=Z8e(n);if(i===null)return is(n);var a=xc(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}va.Shift_JIS=function(e){return new pCe(e)};ya.Shift_JIS=function(e){return new fCe(e)};function dCe(e){var t=e.fatal,r=0;this.handler=function(n,i){if(i===Xt&&r!==0)return r=0,Kt(t);if(i===Xt&&r===0)return Pr;if(r!==0){var a=r,o=null;r=0,Ct(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:Hh(o,na("euc-kr"));return o===null&&po(i)&&n.prepend(i),s===null?Kt(t):s}return po(i)?i:Ct(i,129,254)?(r=i,null):Kt(t)}}function hCe(e){var t=e.fatal;this.handler=function(r,n){if(n===Xt)return Pr;if(fo(n))return n;var i=Vh(n,na("euc-kr"));if(i===null)return is(n);var a=xc(i/190)+129,o=i%190+65;return[a,o]}}va["EUC-KR"]=function(e){return new hCe(e)};ya["EUC-KR"]=function(e){return new dCe(e)};function d_(e,t){var r=e>>8,n=e&255;return t?[r,n]:[n,r]}function Fz(e,t){var r=t.fatal,n=null,i=null;this.handler=function(a,o){if(o===Xt&&(n!==null||i!==null))return Kt(r);if(o===Xt&&n===null&&i===null)return Pr;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,i!==null){var u=i;return i=null,Ct(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(d_(s,e)),Kt(r))}return Ct(s,55296,56319)?(i=s,null):Ct(s,56320,57343)?Kt(r):s}}function kz(e,t){var r=t.fatal;this.handler=function(n,i){if(i===Xt)return Pr;if(Ct(i,0,65535))return d_(i,e);var a=d_((i-65536>>10)+55296,e),o=d_((i-65536&1023)+56320,e);return a.concat(o)}}va["UTF-16BE"]=function(e){return new kz(!0,e)};ya["UTF-16BE"]=function(e){return new Fz(!0,e)};va["UTF-16LE"]=function(e){return new kz(!1,e)};ya["UTF-16LE"]=function(e){return new Fz(!1,e)};function mCe(e){var t=e.fatal;this.handler=function(r,n){return n===Xt?Pr:po(n)?n:63360+n-128}}function gCe(e){var t=e.fatal;this.handler=function(r,n){return n===Xt?Pr:fo(n)?n:Ct(n,63360,63487)?n-63360+128:is(n)}}va["x-user-defined"]=function(e){return new gCe(e)};ya["x-user-defined"]=function(e){return new mCe(e)};function mx(e){return Buffer.from(e).toString("base64")}function wD(e){return Buffer.from(e,"base64").toString("ascii")}var A$=kt(w$(),1),T$=kt(Ex(),1);function E$(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function kFe(e,t){let r=t.type?t.type.replace("image/",""):"jpeg",n=(0,T$.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,A$.default)(n,r,t)}function S$(e,t){let r=kFe(e,t);return new Promise(n=>{let i=[];r.on("data",a=>i.push(a)),r.on("end",()=>{let a=Buffer.concat(i);n(E$(a))})})}var ire=kt(nre(),1),SB=["image/png","image/jpeg","image/gif"];async function CB(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 G7e(r,t)}function G7e(e,t){return new Promise(r=>(0,ire.default)(e,t,(n,i)=>{if(n)throw n;let a=[...i.shape],o=i.shape.length===4?i.shape.shift():1,s=i.data instanceof Buffer?new Uint8Array(i.data):i.data;r({shape:a,data:s,width:i.shape[0],height:i.shape[1],components:i.shape[2],layers:o?[o]:[]})}))}async function Ka(e,t,r,n){return n._parse(e,t,r,n)}function Et(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var xu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ore=xu.self||xu.window||xu.global||{},sre=xu.window||xu.self||xu.global||{},ure=xu.global||xu.self||xu.window||{},cre=xu.document||{};var Er=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var are=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),z7e=are&&parseFloat(are[1])||0;function ff(e){return ff=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ff(e)}function DB(e,t){if(ff(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ff(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function FB(e){var t=DB(e,"string");return ff(t)==="symbol"?t:String(t)}function gt(e,t,r){return t=FB(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kB(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function ys(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||kB()}var H7e=globalThis.self||globalThis.window||globalThis.global,M0=globalThis.window||globalThis.self||globalThis.global,V7e=globalThis.document||{},rd=globalThis.process||{},$7e=globalThis.console,EGt=globalThis.navigator||{};var uE="4.3.0-alpha.6",SGt=ys();function W7e(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var cE=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";gt(this,"storage",void 0),gt(this,"id",void 0),gt(this,"config",void 0),this.storage=W7e(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 lre(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function fre(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function lE(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var fE;(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"})(fE||(fE={}));var K7e=10;function pre(e){return typeof e!="string"?e:(e=e.toUpperCase(),fE[e]||fE.WHITE)}function dre(e,t,r){if(!ys&&typeof e=="string"){if(t){let n=pre(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=pre(r);e="\x1B[".concat(n+K7e,"m").concat(e,"\x1B[49m")}}return e}function hre(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function j0(e,t){if(!e)throw new Error(t||"Assertion failed")}function nd(){let e;if(ys()&&M0.performance){var t,r;e=M0===null||M0===void 0||(t=M0.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in rd){var n;let i=rd===null||rd===void 0||(n=rd.hrtime)===null||n===void 0?void 0:n.call(rd);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var L0={debug:ys()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},X7e={enabled:!0,level:0};function Ao(){}var mre={},gre={once:!0},vu=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};gt(this,"id",void 0),gt(this,"VERSION",uE),gt(this,"_startTs",nd()),gt(this,"_deltaTs",nd()),gt(this,"_storage",void 0),gt(this,"userData",{}),gt(this,"LOG_THROTTLE_TIMEOUT",0),this.id=t,this.userData={},this._storage=new cE("__probe-".concat(this.id,"__"),X7e),this.timeStamp("".concat(this.id," started")),hre(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((nd()-this._startTs).toPrecision(10))}getDelta(){return Number((nd()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){j0(t,r)}warn(t){return this._getLogFunction(0,t,L0.warn,arguments,gre)}error(t){return this._getLogFunction(0,t,L0.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,L0.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,L0.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,L0.debug||L0.info,arguments,gre)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||Ao,n&&[n],{tag:Z7e(r)}):Ao}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?ys()?Q7e({image:i,message:a,scale:o}):Y7e({image:i,message:a,scale:o}):Ao}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||Ao)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=xre({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Ao)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=vre(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=xre({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,j0(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=nd();let o=a.tag||a.message;if(a.once&&o)if(!mre[o])mre[o]=nd();else return Ao;return r=J7e(this.id,a.message,a),n.bind(console,r,...a.args)}return Ao}};gt(vu,"VERSION",uE);function vre(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 j0(Number.isFinite(t)&&t>=0),t}function xre(e){let{logLevel:t,message:r}=e;e.logLevel=vre(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 i=typeof e.message;return j0(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function J7e(e,t,r){if(typeof t=="string"){let n=r.time?fre(lre(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=dre(t,r.color,r.background)}return t}function Y7e(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),Ao}function Q7e(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=lE(a,r,n);console.log(...o)},a.src=t,Ao}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...lE(t,r,n)),Ao;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...lE(a,r,n)),a.src=t.toDataURL(),Ao}return Ao}function Z7e(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var ZGt=new vu({id:"@probe.gl/log"});var BB="4.3.0-alpha.6",eqe=BB[0]>="0"&&BB[0]<="9"?`v${BB}`:"";function tqe(){let e=new vu({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=eqe,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var OB=tqe();function IB(e,t){return yre(e||{},t)}function yre(e,t,r=0){if(r>3)return t;let n={...e};for(let[i,a]of Object.entries(t))a&&typeof a=="object"&&!Array.isArray(a)?n[i]=yre(n[i]||{},t[i],r+1):n[i]=t[i];return n}function yv(e){var t;globalThis.loaders||(globalThis.loaders={}),(t=globalThis.loaders).modules||(t.modules={}),Object.assign(globalThis.loaders.modules,e)}function PB(e){var r,n;return((n=(r=globalThis.loaders)==null?void 0:r.modules)==null?void 0:n[e])||null}var bre="latest";function rqe(){var e;return(e=globalThis._loadersgl_)!=null&&e.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.3.0-alpha.6"),globalThis._loadersgl_.version}var id=rqe();function Ti(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var yu={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},uzt=yu.self||yu.window||yu.global||{},czt=yu.window||yu.self||yu.global||{},lzt=yu.global||yu.self||yu.window||{},fzt=yu.document||{};var li=typeof process!="object"||String(process)!=="[object process]"||process.browser,bv=typeof importScripts=="function",wre=typeof window<"u"&&typeof window.orientation<"u",_re=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),pzt=_re&&parseFloat(_re[1])||0;var _v=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(t,r){this.name=t,this.workerThread=r,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(t,r){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:r})}done(t){Ti(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Ti(this.isRunning),this.isRunning=!1,this._reject(t)}};var ad={};zn(ad,{NodeWorker:()=>Ev,parentPort:()=>nqe});var wv=kt(require("worker_threads"),1);dx(ad,require("worker_threads"));var nqe=wv==null?void 0:wv.parentPort,Ev=wv.Worker;var RB=new Map;function Ere(e){Ti(e.source&&!e.url||!e.source&&e.url);let t=RB.get(e.source||e.url);return t||(e.url&&(t=iqe(e.url),RB.set(e.url,t)),e.source&&(t=Are(e.source),RB.set(e.source,t))),Ti(t),t}function iqe(e){if(!e.startsWith("http"))return e;let t=aqe(e);return Are(t)}function Are(e){let t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function aqe(e){return`try {
|
|
155
155
|
importScripts('${e}');
|
|
156
156
|
} catch (error) {
|
|
157
157
|
console.error(error);
|
|
158
158
|
throw error;
|
|
159
159
|
}`}function MB(e,t=!0,r){let n=r||new Set;if(e){if(Tre(e))n.add(e);else if(Tre(e.buffer))n.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e=="object")for(let i in e)MB(e[i],t,n)}}return r===void 0?Array.from(n):[]}function Tre(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 jB(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]=jB(e[r]):typeof t[r]=="function"||t[r]instanceof RegExp?t[r]={}:t[r]=e[r]}),t}var LB=()=>{},pf=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&li||typeof Ev<"u"&&!li}constructor(t){let{name:r,source:n,url:i}=t;Ti(n||i),this.name=r,this.source=n,this.url=i,this.onMessage=LB,this.onError=a=>console.log(a),this.worker=li?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=LB,this.onError=LB,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,r){r=r||MB(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=Ere({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}`;t=new Ev(n,{eval:!1})}else if(this.source)t=new Ev(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 Av=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return pf.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=(i,a,o)=>i.done(o),n=(i,a)=>i.error(a)){let i=new Promise(a=>(this.jobQueue.push({name:t,onMessage:r,onError:n,onStart:a}),this));return this._startQueuedJob(),await i}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 _v(r.name,t);t.onMessage=i=>r.onMessage(n,i.type,i.payload),t.onError=i=>r.onError(n,i),r.onStart(n);try{await n.result}catch(i){console.error(`Worker exception: ${i}`)}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){!li||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 pf({name:t,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return wre?this.maxMobileConcurrency:this.maxConcurrency}};var oqe={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},od=class{props;workerPools=new Map;static isSupported(){return pf.isSupported()}static getWorkerFarm(t={}){return od._workerFarm=od._workerFarm||new od({}),od._workerFarm.setProps(t),od._workerFarm}constructor(t){this.props={...oqe},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:i}=t,a=this.workerPools.get(r);return a||(a=new Av({name:r,source:n,url:i}),a.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,a)),a}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},Ki=od;wz(Ki,"_workerFarm");function Sre(e){let t=e.version!==id?` (worker-utils@${id})`:"";return`${e.name}@${e.version}${t}`}function Tv(e,t={}){let r=t[e.id]||{},n=li?`${e.id}-worker.js`:`${e.id}-worker-node.js`,i=r.workerUrl;if(!i&&e.id==="compression"&&(i=t.workerUrl),t._workerType==="test"&&(li?i=`modules/${e.module}/dist/${n}`:i=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!i){let a=e.version;a==="latest"&&(a=bre);let o=a?`@${a}`:"";i=`https://unpkg.com/@loaders.gl/${e.module}${o}/dist/${n}`}return Ti(i),i}async function qB(e,t,r={},n={}){let i=Sre(e),a=Ki.getWorkerFarm(r),{source:o}=r,s={name:i,source:o};o||(s.url=Tv(e,r));let u=a.getWorkerPool(s),c=r.jobName||e.name,l=await u.startJob(c,sqe.bind(null,n)),f=jB(r);return l.postMessage("process",{input:t,options:f}),(await l.result).result}async function sqe(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:i,input:a,options:o}=n;try{if(!e.process){t.postMessage("error",{id:i,error:"Worker not set up to process on main thread"});return}let s=await e.process(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`process-on-worker: unknown message ${r}`)}}function NB(e,t=id){Ti(e,"no worker provided");let r=e.version;return!(!t||!r)}var UB={};async function bu(e,t=null,r={},n=null){return t&&(e=Cre(e,t,r,n)),UB[e]=UB[e]||uqe(e),await UB[e]}function Cre(e,t,r={},n=null){if(!r.useLocalLibraries&&e.startsWith("http"))return e;n=n||e;let i=r.modules||{};return i[n]?i[n]:li?r.CDN?(Ti(r.CDN.startsWith("http")),`${r.CDN}/${t}@${id}/dist/libs/${n}`):bv?`../src/libs/${n}`:`modules/${t}/src/libs/${n}`:`modules/${t}/dist/libs/${n}`}async function uqe(e){if(e.endsWith("wasm"))return await lqe(e);if(!li)try{let{requireFromFile:r}=globalThis.loaders||{};return await(r==null?void 0:r(e))}catch(r){return console.error(r),null}if(bv)return importScripts(e);let t=await fqe(e);return cqe(t,e)}function cqe(e,t){if(!li){let{requireFromString:n}=globalThis.loaders||{};return n==null?void 0:n(e,t)}if(bv)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 lqe(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};return li||!t||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await t(e)}async function fqe(e){let{readFileAsText:t}=globalThis.loaders||{};return li||!t||e.startsWith("http")?await(await fetch(e)).text():await t(e)}var Bre=kt(require("child_process"),1);var Dre=kt(require("child_process"),1);function Fre(e=3e3){return new Promise(t=>{Dre.default.exec("lsof -i -P -n | grep LISTEN",(r,n)=>{if(r){t(e);return}let i=[],a=/:(\d+) \(LISTEN\)/;n.split(`
|
|
160
|
-
`).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}var kre={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},q0=class{id;props={...kre};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...kre,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await Fre(t.port)),r.push(t.portArg,String(this.port))),await new Promise((n,i)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),n({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=Bre.spawn(t.command,r,t.spawn);this.childProcess=a,a.stdout.on("data",o=>{console.log(o.toString())}),a.stderr.on("data",o=>{console.log(`Child process wrote to stderr: "${o}".`),t.ignoreStderr||(this._clearTimeout(),i(new Error(o)))}),a.on("error",o=>{console.log(`Child process errored with ${o}`),this._clearTimeout(),i(o)}),a.on("close",o=>{console.log(`Child process exited with ${o}`),this.childProcess=null,this._clearTimeout(),n({})})}catch(a){i(a)}})}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 GB(e,t){return!Ki.isSupported()||!li&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}async function zB(e,t,r,n,i){let a=e.id,o=Tv(e,r),u=Ki.getWorkerFarm(r).getWorkerPool({name:a,url:o});r=JSON.parse(JSON.stringify(r)),n=JSON.parse(JSON.stringify(n||{}));let c=await u.startJob("process-on-worker",pqe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function pqe(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:i,input:a,options:o}=n;try{let s=await e(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function HB(e,t){return!Ki.isSupported()||!Er&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}function Ire(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Ore(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Ore(e,0,t):""}function Ore(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function VB(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Ire(e)}"`)}}function _u(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),i=new Uint8Array(t);for(let a=0;a<n.length;++a)if(n[a]!==i[a])return!1;return!0}function _n(...e){return pE(e)}function pE(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function Xa(...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),i=new r(n),a=0;for(let o of t)i.set(o,a),a+=o.length;return i}function sd(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 Ja(e,t){return Et(e>=0),Et(t>0),e+(t-1)&~(t-1)}function $B(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let i=e.byteOffset,a=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(n,r),r+Ja(n.byteLength,4)}function WB(e,t){let r=e.length,i=Math.ceil(r/t)*t-r,a="";for(let o=0;o<i;++o)a+=" ";return e+a}function N0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function Sv(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function dE(e,t,r,n){let i=Ja(r.byteLength,n),a=i-r.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),s=new Uint8Array(r);o.set(s);for(let u=0;u<a;++u)e.setUint8(t+r.byteLength+u,32)}return t+=i,t}function U0(e,t,r,n){let a=new TextEncoder().encode(r);return t=dE(e,t,a,n),t}async function ud(e){let t=[];for await(let r of e)t.push(r);return _n(...t)}var dqe="",Pre={};function wu(e){for(let t in Pre)if(e.startsWith(t)){let r=Pre[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${dqe}${e}`),e}var hqe="4.3.0-alpha.5",KB={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:hqe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Rre,parse:async e=>Rre(new TextDecoder().decode(e)),options:{}};function Rre(e){return JSON.parse(e)}function Mre(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function jre(e){return e&&typeof e=="object"&&e.isBuffer}function Pc(e){if(jre(e))return Mre(e);if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.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 G0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var Ta={};zn(Ta,{dirname:()=>xqe,filename:()=>gqe,join:()=>vqe,resolve:()=>yqe});function Lre(){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 gqe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function xqe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function vqe(...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 yqe(...e){let t=[];for(let a=0;a<e.length;a++)t[a]=e[a];let r="",n=!1,i;for(let a=t.length-1;a>=-1&&!n;a--){let o;a>=0?o=t[a]:(i===void 0&&(i=Lre()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Cv)}return r=bqe(r,!n),n?`/${r}`:r.length>0?r:"."}var Cv=47,XB=46;function bqe(e,t){let r="",n=-1,i=0,a,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else{if(a===Cv)break;a=Cv}if(a===Cv){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==XB||r.charCodeAt(r.length-2)!==XB){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Cv;--c);if(c!==u){r=c===-1?"":r.slice(0,c),n=s,i=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=s,i=0,o=!1;continue}}t&&(r.length>0?r+="/..":r="..",o=!0)}else{let u=e.slice(n+1,s);r.length>0?r+=`/${u}`:r=u,o=!1}n=s,i=0}else a===XB&&i!==-1?++i:i=-1}return r}var Dv=new Error("Not implemented"),Rc=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){var i;if((i=globalThis.loaders)!=null&&i.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw Er?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 Dv}async write(t,r,n){throw Dv}async stat(){throw Dv}async truncate(t){throw Dv}async append(t){throw Dv}async close(){}};var z0=new Error("Not implemented"),Fv=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw Er?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 z0}async openWritableFile(t,r,n){throw z0}async readdir(t=".",r){throw z0}async stat(t,r){throw z0}async unlink(t){throw z0}async fetch(t,r){throw z0}};var JB=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var Ya=class{file;constructor(t,r=!1){this.file=new Rc(t,r?"a+":"r")}async truncate(t){await this.file.truncate(t)}async append(t){await this.file.append(t)}async destroy(){await this.file.close()}async getUint8(t){let r=await this.file.read(t,1),n=new Uint8Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getUint16(t){let r=await this.file.read(t,2),n=new Uint16Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getUint32(t){let r=await this.file.read(t,4),n=new Uint32Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getBigUint64(t){let r=await this.file.read(t,8),n=new BigInt64Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async slice(t,r){let n=r-t;if(n>Number.MAX_SAFE_INTEGER)throw new Error("too big slice");let i=Number(n);return await this.file.read(t,i)}get length(){return this.file.bigsize}};var H0=e=>{if(e>Number.MAX_SAFE_INTEGER)throw new Error("Offset is out of bounds");return Number(e)},kv=class{file;constructor(t){this.file=t}async destroy(){}async getUint8(t){return this.file.getUint8(H0(t))}async getUint16(t){return this.file.getUint16(H0(t),!0)}async getUint32(t){return this.file.getUint32(H0(t),!0)}async getBigUint64(t){return this.file.getBigUint64(H0(t),!0)}async slice(t,r){return this.file.buffer.slice(H0(t),H0(r))}get length(){return BigInt(this.file.byteLength)}};var Mc=kt(require("fs"),1),cd=class{handle;size;bigsize;url;constructor(t,r,n){t=wu(t),this.handle=Mc.default.openSync(t,r,n);let i=Mc.default.fstatSync(this.handle,{bigint:!0});this.size=Number(i.size),this.bigsize=i.size,this.url=t}async close(){return new Promise((t,r)=>{Mc.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{Mc.default.ftruncate(this.handle,t,i=>{i?n(i):(this.bigsize=BigInt(t),this.size=Number(this.bigsize),r())})})}async append(t){return new Promise((r,n)=>{Mc.default.appendFile(this.handle,t,i=>{i?n(i):(this.bigsize=this.bigsize+BigInt(t.length),this.size=Number(this.bigsize),r())})})}async stat(){return await new Promise((t,r)=>Mc.default.fstat(this.handle,{bigint:!0},(n,i)=>{let a={size:Number(i.size),bigsize:i.size,isDirectory:i.isDirectory()};n?r(n):t(a)}))}async read(t,r){let n=new ArrayBuffer(r),i=BigInt(t),a=0,o=new Uint8Array(n),s;for(;r>0;){let u=await wqe(this.handle,o,0,r,i);if(u===0)break;a+=u,i+=BigInt(u),r-=u,s!==void 0&&(s+=u)}return a<r?n.slice(0,a):n}async write(t,r=0,n=t.byteLength){return new Promise((i,a)=>{let o=Number(r),s=new Uint8Array(t,Number(r),n);Mc.default.write(this.handle,s,0,n,o,(u,c)=>u?a(u):i(c))})}};async function wqe(e,t,r,n,i){return await new Promise((a,o)=>Mc.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var xE=kt(require("fs/promises"),1);var QB=kt(require("fs"),1),YB=require("stream");var hE=kt(require("zlib"),1),Eqe=e=>e&&e instanceof ArrayBuffer,Aqe=e=>e&&e instanceof Buffer;function mE(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(hE.default.createBrotliDecompress());case"gzip":return e.pipe(hE.default.createGunzip());case"deflate":return e.pipe(hE.default.createDeflate());default:return e}}async function qre(e){let t=[];return await new Promise((r,n)=>{e.on("error",i=>n(i)),e.on("readable",()=>e.read()),e.on("data",i=>{typeof i=="string"&&n(new Error("Read stream not binary")),t.push(Sqe(i))}),e.on("end",()=>{let i=Tqe(t);r(i)})})}function Tqe(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function Sqe(e){if(Eqe(e))return e;if(Aqe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;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(${JSON.stringify(e,null,2).slice(10)})`)}var Cqe=e=>typeof e=="boolean",Nre=e=>typeof e=="function",Dqe=e=>e!==null&&typeof e=="object",Fqe=e=>Dqe(e)&&Nre(e.read)&&Nre(e.pipe)&&Cqe(e.readable);async function gE(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=wu(n);let i=new Headers;e.endsWith(".gz")&&(i["content-encoding"]="gzip"),e.endsWith(".br")&&(i["content-encoding"]="br");try{let a=await new Promise((f,p)=>{let d=QB.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",h=>p(h))}),o=a;Fqe(a)?o=mE(a,i):typeof a=="string"?o=YB.Readable.from([new TextEncoder().encode(a)]):o=YB.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=kqe(n),l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}catch(a){let o=a.message,s=400,u=o,c={},l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}}function kqe(e){let t={};if(!t["content-length"]){let r=QB.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 vE=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await xE.default.readdir(t,r)}async stat(t){let r=await xE.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await xE.default.unlink(t)}async fetch(t,r){return await gE(t,r)}async openReadableFile(t,r="r"){return new cd(t,r)}async openWritableFile(t,r="w",n){return new cd(t,r,n)}};var jc=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){var o,s;let n=[];for await(let u of t)n.push(u),yield u;let i=await this.concatenate(n),a=await this.hash(i,r);(s=(o=this.options.crypto)==null?void 0:o.onEnd)==null||s.call(o,{hash:a})}async concatenate(t){return await ud(t)}};var V0=class{crc;constructor(){this.crc=-1}update(t){let r=Oqe(),n=new Uint8Array(t);for(let i=0;i<n.byteLength;i++)this.crc=this.crc>>>8^r[(this.crc^n[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},Bqe=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 Oqe(){return Bqe}function Ure(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 i=0;i<n.length;i++)typeof n[i]>"u"?t+="=":t+=Iqe(n[i])}return t}function Iqe(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 ZB(e,t){switch(t){case"hex":return Gre(e);case"base64":return Hre(Gre(e));default:throw new Error(t)}}function zre(e,t){switch(t){case"hex":return e;case"base64":return Hre(e);default:throw new Error(t)}}function Hre(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Ure(r)||""}function Gre(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var Bv=class extends jc{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 V0;n.update(t);let i=n.finalize();return ZB(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new V0;for await(let s of t)n.update(s),yield s;let i=n.finalize();(o=(a=this.options.crypto)==null?void 0:a.onEnd)==null||o.call(a,{hash:ZB(i,r)})}};var $re=typeof atob=="function"?atob:typeof Buffer=="function"?Nqe:Kre,Pqe=$re("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="),eO=WebAssembly&&$re!==Kre?qqe(Pqe).buffer:!1,Eu=Uqe(),tO=240*16*16,Wre=Math.floor(tO*16*1.066666667),Rqe=268435456-65536,Vre="Parameter must be Buffer, ArrayBuffer or Uint8Array",Mqe="Parameter exceeds max size of 255.9 Mbytes";eO||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function rO(e){var t,r,n,i,a,o,s,u,c,l;let f=Lqe(),p=jqe(),d={},h=new Date().getTime();return d.then=function(b){return s=b,m(),d},d.catch=function(b){return u=b,d},e&&typeof e=="object"?typeof Buffer=="function"&&e.constructor===Buffer?o=e:e.constructor===Uint8Array||e.constructor===ArrayBuffer?o=e.constructor===ArrayBuffer?new Uint8Array(e):e:v(new TypeError(Vre)):v(new TypeError(Vre)),o&&(a=o.length,eO&&a>Wre?a>Rqe?v(new Error(Mqe)):(t=new WebAssembly.Memory({initial:a>32e6?a>64e6?a>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),i={mem:t,log:console.log},n={imports:i},WebAssembly.instantiate(eO,n).then(g)):m(f(o))),d;function g(b){m(p(o,b.instance.exports,r))}function m(b){var _=Boolean(b)?b:c;Boolean(b)&&(l=new Date().getTime()),typeof s=="function"?Boolean(_)&&(s(_,l-h),s=u=null):Boolean(b)&&(c=b)}function v(b){typeof u=="function"&&u(b)}}function jqe(){var e,t,r,n,i,a,o,s,u,c,l,f,p,d=function(h){var g,m,v,b,_,A,w,C,k,R,S,D,I,M,G,z,X,Y,le,ue,ce,me,De=new Date().getTime(),Oe=0,J=1732584193,N=-271733879,K=-1732584194,Q=271733878,Ie=0,qe=h.length*8,Xe;for(Xe=ye(h,p),p[qe>>>5]|=128<<qe%32,p[(qe+64>>>9<<4)+14]=qe,Xe=(qe+64>>>9<<4)+15,ce=p;Ie<Xe;)Xe>Ie+Wre?(n(J),a(N),s(K),c(Q),t(tO),Ie=Ie+tO*16,J=r(),N=i(),K=o(),Q=u(),Oe++):(X=J,Y=N,le=K,ue=Q,g=ce[Ie+0]>>>0,m=ce[Ie+1]>>>0,v=ce[Ie+2]>>>0,b=ce[Ie+3]>>>0,_=ce[Ie+4]>>>0,A=ce[Ie+5]>>>0,w=ce[Ie+6]>>>0,C=ce[Ie+7]>>>0,k=ce[Ie+8]>>>0,R=ce[Ie+9]>>>0,S=ce[Ie+10]>>>0,D=ce[Ie+11]>>>0,I=ce[Ie+12]>>>0,M=ce[Ie+13]>>>0,G=ce[Ie+14]>>>0,z=ce[Ie+15]>>>0,J=ie(7,25,J+(N&K|~N&Q)+g-680876936)+N,Q=ie(12,20,Q+(J&N|~J&K)+m-389564586)+J,K=ie(17,15,K+(Q&J|~Q&N)+v+606105819)+Q,N=ie(22,10,N+(K&Q|~K&J)+b-1044525330)+K,J=ie(7,25,J+(N&K|~N&Q)+_-176418897)+N,Q=ie(12,20,Q+(J&N|~J&K)+A+1200080426)+J,K=ie(17,15,K+(Q&J|~Q&N)+w-1473231341)+Q,N=ie(22,10,N+(K&Q|~K&J)+C-45705983)+K,J=ie(7,25,J+(N&K|~N&Q)+k+1770035416)+N,Q=ie(12,20,Q+(J&N|~J&K)+R-1958414417)+J,K=ie(17,15,K+(Q&J|~Q&N)+S-42063)+Q,N=ie(22,10,N+(K&Q|~K&J)+D-1990404162)+K,J=ie(7,25,J+(N&K|~N&Q)+I+1804603682)+N,Q=ie(12,20,Q+(J&N|~J&K)+M-40341101)+J,K=ie(17,15,K+(Q&J|~Q&N)+G-1502002290)+Q,N=ie(22,10,N+(K&Q|~K&J)+z+1236535329)+K,J=ie(5,27,J+(N&Q|K&~Q)+m-165796510)+N,Q=ie(9,23,Q+(J&K|N&~K)+w-1069501632)+J,K=ie(14,18,K+(Q&N|J&~N)+D+643717713)+Q,N=ie(20,12,N+(K&J|Q&~J)+g-373897302)+K,J=ie(5,27,J+(N&Q|K&~Q)+A-701558691)+N,Q=ie(9,23,Q+(J&K|N&~K)+S+38016083)+J,K=ie(14,18,K+(Q&N|J&~N)+z-660478335)+Q,N=ie(20,12,N+(K&J|Q&~J)+_-405537848)+K,J=ie(5,27,J+(N&Q|K&~Q)+R+568446438)+N,Q=ie(9,23,Q+(J&K|N&~K)+G-1019803690)+J,K=ie(14,18,K+(Q&N|J&~N)+b-187363961)+Q,N=ie(20,12,N+(K&J|Q&~J)+k+1163531501)+K,J=ie(5,27,J+(N&Q|K&~Q)+M-1444681467)+N,Q=ie(9,23,Q+(J&K|N&~K)+v-51403784)+J,K=ie(14,18,K+(Q&N|J&~N)+C+1735328473)+Q,N=ie(20,12,N+(K&J|Q&~J)+I-1926607734)+K,J=ie(4,28,J+(N^K^Q)+A-378558)+N,Q=ie(11,21,Q+(J^N^K)+k-2022574463)+J,K=ie(16,16,K+(Q^J^N)+D+1839030562)+Q,N=ie(23,9,N+(K^Q^J)+G-35309556)+K,J=ie(4,28,J+(N^K^Q)+m-1530992060)+N,Q=ie(11,21,Q+(J^N^K)+_+1272893353)+J,K=ie(16,16,K+(Q^J^N)+C-155497632)+Q,N=ie(23,9,N+(K^Q^J)+S-1094730640)+K,J=ie(4,28,J+(N^K^Q)+M+681279174)+N,Q=ie(11,21,Q+(J^N^K)+g-358537222)+J,K=ie(16,16,K+(Q^J^N)+b-722521979)+Q,N=ie(23,9,N+(K^Q^J)+w+76029189)+K,J=ie(4,28,J+(N^K^Q)+R-640364487)+N,Q=ie(11,21,Q+(J^N^K)+I-421815835)+J,K=ie(16,16,K+(Q^J^N)+z+530742520)+Q,N=ie(23,9,N+(K^Q^J)+v-995338651)+K,J=ie(6,26,J+(K^(N|~Q))+g-198630844)+N,Q=ie(10,22,Q+(N^(J|~K))+C+1126891415)+J,K=ie(15,17,K+(J^(Q|~N))+G-1416354905)+Q,N=ie(21,11,N+(Q^(K|~J))+A-57434055)+K,J=ie(6,26,J+(K^(N|~Q))+I+1700485571)+N,Q=ie(10,22,Q+(N^(J|~K))+b-1894986606)+J,K=ie(15,17,K+(J^(Q|~N))+S-1051523)+Q,N=ie(21,11,N+(Q^(K|~J))+m-2054922799)+K,J=ie(6,26,J+(K^(N|~Q))+k+1873313359)+N,Q=ie(10,22,Q+(N^(J|~K))+z-30611744)+J,K=ie(15,17,K+(J^(Q|~N))+w-1560198380)+Q,N=ie(21,11,N+(Q^(K|~J))+M+1309151649)+K,J=ie(6,26,J+(K^(N|~Q))+_-145523070)+N,Q=ie(10,22,Q+(N^(J|~K))+D-1120210379)+J,K=ie(15,17,K+(J^(Q|~N))+v+718787259)+Q,N=ie(21,11,N+(Q^(K|~J))+R-343485551)+K,Ie=Ie+16,J=J+X>>>0,N=N+Y>>>0,K=K+le>>>0,Q=Q+ue>>>0);return Eu.endian([J,N,K,Q]);function ie(xe,Qe,Te){return Te<<xe|Te>>>Qe}function ye(xe,Qe){for(var Te=-1,it=Math.floor((xe.length-1)/4),_t=0,Or,te,Pe,We;it-8>Te++;)_t=Te<<2,Qe[Te]=xe[_t+0]|xe[_t+1]<<8|xe[_t+2]<<16|xe[_t+3]<<24;for(Te--;it>Te++;)_t=Te<<2,Or=typeof xe[_t+0]>"u"?0:xe[_t+0],te=typeof xe[_t+1]>"u"?0:xe[_t+1],Pe=typeof xe[_t+2]>"u"?0:xe[_t+2],We=typeof xe[_t+3]>"u"?0:xe[_t+3],Qe[Te]=Or|te<<8|Pe<<16|We<<24;return it+1}};return function(h,g,m,v){var b;return t=g.loops,e=g.loop,r=g.getA,i=g.getB,o=g.getC,u=g.getD,l=g.getX,n=g.setA,a=g.setB,s=g.setC,c=g.setD,f=g.setX,p=m,b=Eu.wordsToBytes(d(h)),v&&v.asBytes?b:Eu.bytesconvertNumberToHex(b)}}function Lqe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,p,d,h,g,m,v,b,_,A,w,C,k,R=new Date().getTime(),S=1732584193,D=-271733879,I=-1732584194,M=271733878,G=t.length*8;k=Eu.bytesToWords(t);for(var z=0;z<k.length;z++)k[z]=(k[z]<<8|k[z]>>>24)&16711935|(k[z]<<24|k[z]>>>8)&4278255360;k[G>>>5]|=128<<G%32,k[(G+64>>>9<<4)+14]=G;for(var X=0;X<k.length;X+=16)_=S,A=D,w=I,C=M,n=k[X+0]>>>0,i=k[X+1]>>>0,a=k[X+2]>>>0,o=k[X+3]>>>0,s=k[X+4]>>>0,u=k[X+5]>>>0,c=k[X+6]>>>0,l=k[X+7]>>>0,f=k[X+8]>>>0,p=k[X+9]>>>0,d=k[X+10]>>>0,h=k[X+11]>>>0,g=k[X+12]>>>0,m=k[X+13]>>>0,v=k[X+14]>>>0,b=k[X+15]>>>0,S=Y(7,25,S+(D&I|~D&M)+n-680876936)+D,M=Y(12,20,M+(S&D|~S&I)+i-389564586)+S,I=Y(17,15,I+(M&S|~M&D)+a+606105819)+M,D=Y(22,10,D+(I&M|~I&S)+o-1044525330)+I,S=Y(7,25,S+(D&I|~D&M)+s-176418897)+D,M=Y(12,20,M+(S&D|~S&I)+u+1200080426)+S,I=Y(17,15,I+(M&S|~M&D)+c-1473231341)+M,D=Y(22,10,D+(I&M|~I&S)+l-45705983)+I,S=Y(7,25,S+(D&I|~D&M)+f+1770035416)+D,M=Y(12,20,M+(S&D|~S&I)+p-1958414417)+S,I=Y(17,15,I+(M&S|~M&D)+d-42063)+M,D=Y(22,10,D+(I&M|~I&S)+h-1990404162)+I,S=Y(7,25,S+(D&I|~D&M)+g+1804603682)+D,M=Y(12,20,M+(S&D|~S&I)+m-40341101)+S,I=Y(17,15,I+(M&S|~M&D)+v-1502002290)+M,D=Y(22,10,D+(I&M|~I&S)+b+1236535329)+I,S=Y(5,27,S+(D&M|I&~M)+i-165796510)+D,M=Y(9,23,M+(S&I|D&~I)+c-1069501632)+S,I=Y(14,18,I+(M&D|S&~D)+h+643717713)+M,D=Y(20,12,D+(I&S|M&~S)+n-373897302)+I,S=Y(5,27,S+(D&M|I&~M)+u-701558691)+D,M=Y(9,23,M+(S&I|D&~I)+d+38016083)+S,I=Y(14,18,I+(M&D|S&~D)+b-660478335)+M,D=Y(20,12,D+(I&S|M&~S)+s-405537848)+I,S=Y(5,27,S+(D&M|I&~M)+p+568446438)+D,M=Y(9,23,M+(S&I|D&~I)+v-1019803690)+S,I=Y(14,18,I+(M&D|S&~D)+o-187363961)+M,D=Y(20,12,D+(I&S|M&~S)+f+1163531501)+I,S=Y(5,27,S+(D&M|I&~M)+m-1444681467)+D,M=Y(9,23,M+(S&I|D&~I)+a-51403784)+S,I=Y(14,18,I+(M&D|S&~D)+l+1735328473)+M,D=Y(20,12,D+(I&S|M&~S)+g-1926607734)+I,S=Y(4,28,S+(D^I^M)+u-378558)+D,M=Y(11,21,M+(S^D^I)+f-2022574463)+S,I=Y(16,16,I+(M^S^D)+h+1839030562)+M,D=Y(23,9,D+(I^M^S)+v-35309556)+I,S=Y(4,28,S+(D^I^M)+i-1530992060)+D,M=Y(11,21,M+(S^D^I)+s+1272893353)+S,I=Y(16,16,I+(M^S^D)+l-155497632)+M,D=Y(23,9,D+(I^M^S)+d-1094730640)+I,S=Y(4,28,S+(D^I^M)+m+681279174)+D,M=Y(11,21,M+(S^D^I)+n-358537222)+S,I=Y(16,16,I+(M^S^D)+o-722521979)+M,D=Y(23,9,D+(I^M^S)+c+76029189)+I,S=Y(4,28,S+(D^I^M)+p-640364487)+D,M=Y(11,21,M+(S^D^I)+g-421815835)+S,I=Y(16,16,I+(M^S^D)+b+530742520)+M,D=Y(23,9,D+(I^M^S)+a-995338651)+I,S=Y(6,26,S+(I^(D|~M))+n-198630844)+D,M=Y(10,22,M+(D^(S|~I))+l+1126891415)+S,I=Y(15,17,I+(S^(M|~D))+v-1416354905)+M,D=Y(21,11,D+(M^(I|~S))+u-57434055)+I,S=Y(6,26,S+(I^(D|~M))+g+1700485571)+D,M=Y(10,22,M+(D^(S|~I))+o-1894986606)+S,I=Y(15,17,I+(S^(M|~D))+d-1051523)+M,D=Y(21,11,D+(M^(I|~S))+i-2054922799)+I,S=Y(6,26,S+(I^(D|~M))+f+1873313359)+D,M=Y(10,22,M+(D^(S|~I))+b-30611744)+S,I=Y(15,17,I+(S^(M|~D))+c-1560198380)+M,D=Y(21,11,D+(M^(I|~S))+m+1309151649)+I,S=Y(6,26,S+(I^(D|~M))+s-145523070)+D,M=Y(10,22,M+(D^(S|~I))+h-1120210379)+S,I=Y(15,17,I+(S^(M|~D))+a+718787259)+M,D=Y(21,11,D+(M^(I|~S))+p-343485551)+I,S=S+_>>>0,D=D+A>>>0,I=I+w>>>0,M=M+C>>>0;return Eu.endian([S,D,I,M]);function Y(le,ue,ce){return ce<<le|ce>>>ue}};return function(t,r){var n=Eu.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:Eu.bytesconvertNumberToHex(n);return i}}function qqe(e){var t,r,n,i=-1;for(t=e.length-1,r=new ArrayBuffer(e.length),n=new Uint8Array(r);t>i++;)n[i]=e.charCodeAt(i);return n}function Nqe(e){return Buffer.from(e,"base64").toString("binary")}function Kre(e){return e}function Uqe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return Eu.rotl(t,8)&16711935|Eu.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=Eu.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,i=0;n<t.length;n++,i+=8)r[i>>>5]|=t[n]<<24-i%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 Au=class extends jc{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>rO(t).then(a).catch(o));return zre(i,r)}};var Ov=kt(require("crypto"),1),yE=class extends jc{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 i,a,o,s;let n=(o=(a=(i=this.options)==null?void 0:i.crypto)==null?void 0:a.algorithm)==null?void 0:o.toLowerCase();try{if(!Ov.createHash)throw new Error("crypto.createHash not available");let u=(s=Ov.createHash)==null?void 0:s(n),c=new Uint8Array(t);return u.update(c).digest("base64")}catch(u){throw Error(`${n} hash not available. ${u}`)}}async*hashBatches(t,r="base64"){var a,o,s,u,c,l,f;if(!Ov.createHash)throw new Error("crypto.createHash not available");let n=(u=Ov.createHash)==null?void 0:u((s=(o=(a=this.options)==null?void 0:a.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 i=n.digest(r);(f=(l=(c=this.options)==null?void 0:c.crypto)==null?void 0:l.onEnd)==null||f.call(l,{hash:i})}};var Sie=require("process");var Xre=kt(require("stream"),1),nO=class{},Gqe=Xre.Readable||nO;function aO(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new iO(r,t)}var iO=class extends Gqe{_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,i,a,o;this._iterator&&(t?await((i=(n=this._iterator)==null?void 0:n.throw)==null?void 0:i.call(n,t)):await((o=(a=this._iterator)==null?void 0:a.return)==null?void 0:o.call(a,t)),r==null||r(null))}async _pull(t,r){var a;let n=this._bytesMode,i=null;for(;this.readable&&!(i=await r.next()).done&&(t!==null&&(t-=n&&ArrayBuffer.isView(i.value)?i.value.byteLength:1),!(!this.push(new Uint8Array(i.value))||t<=0)););return(i!=null&&i.done||!this.readable)&&(this.push(null)||!0)&&((a=r==null?void 0:r.return)==null||a.call(r)),!this.readable}};function Lv(){}function kn(e){return typeof e=="object"&&e!==null||typeof e=="function"}var mne=Lv;function tr(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var TO=Promise,zqe=Promise.resolve.bind(TO),Hqe=Promise.prototype.then,Vqe=Promise.reject.bind(TO),$qe=zqe;function Nn(e){return new TO(e)}function rr(e){return Nn(t=>t(e))}function at(e){return Vqe(e)}function Du(e,t,r){return Hqe.call(e,t,r)}function Sa(e,t,r){Du(Du(e,t,r),void 0,mne)}function oO(e,t){Sa(e,t)}function mO(e,t){Sa(e,void 0,t)}function zc(e,t,r){return Du(e,t,r)}function Z0(e){Du(e,void 0,mne)}var md=e=>{if(typeof queueMicrotask=="function")md=queueMicrotask;else{let t=rr(void 0);md=r=>Du(t,r)}return md(e)};function gd(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Vc(e,t,r){try{return rr(gd(e,t,r))}catch(n){return at(n)}}var Ca=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,i=n+1,a=t._elements,o=a[n];return i===16384&&(r=t._next,i=0),--this._size,this._cursor=i,t!==r&&(this._front=r),a[n]=void 0,o}forEach(t){let r=this._cursor,n=this._front,i=n._elements;for(;!(r===i.length&&n._next===void 0||r===i.length&&(n=n._next,i=n._elements,r=0,i.length===0));)t(i[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},gne=Symbol("[[AbortSteps]]"),xne=Symbol("[[ErrorSteps]]"),SO=Symbol("[[CancelSteps]]"),CO=Symbol("[[PullSteps]]"),DO=Symbol("[[ReleaseSteps]]");function vne(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?gO(e):t._state==="closed"?function(r){gO(r),bne(r)}(e):yne(e,t._storedError)}function FO(e,t){return bs(e._ownerReadableStream,t)}function Gc(e){let t=e._ownerReadableStream;t._state==="readable"?kO(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){yne(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[DO](),t._reader=void 0,e._ownerReadableStream=void 0}function PE(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function gO(e){e._closedPromise=Nn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function yne(e,t){gO(e),kO(e,t)}function kO(e,t){e._closedPromise_reject!==void 0&&(Z0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function bne(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var Jre=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},Wqe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function Fu(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function So(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function _ne(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Hc(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function xO(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function BO(e){return Number(e)}function Yre(e){return e===0?0:e}function OO(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=Yre(n),!Jre(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return Yre(Wqe(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return Jre(n)&&n!==0?n:0}function IO(e,t){if(!df(e))throw new TypeError(`${t} is not a ReadableStream.`)}function K0(e){return new Lc(e)}function wne(e,t){e._reader._readRequests.push(t)}function PO(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function GE(e){return e._reader._readRequests.length}function Ene(e){let t=e._reader;return t!==void 0&&!!hf(t)}var Lc=class{constructor(t){if(Hc(t,1,"ReadableStreamDefaultReader"),IO(t,"First parameter"),gf(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");vne(this,t),this._readRequests=new Ca}get closed(){return hf(this)?this._closedPromise:at(bE("closed"))}cancel(t=void 0){return hf(this)?this._ownerReadableStream===void 0?at(PE("cancel")):FO(this,t):at(bE("cancel"))}read(){if(!hf(this))return at(bE("read"));if(this._ownerReadableStream===void 0)return at(PE("read from"));let t,r,n=Nn((i,a)=>{t=i,r=a});return qv(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!hf(this))throw bE("releaseLock");this._ownerReadableStream!==void 0&&function(t){Gc(t);let r=new TypeError("Reader was released");Ane(t,r)}(this)}};function hf(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof Lc}function qv(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[CO](t)}function Ane(e,t){let r=e._readRequests;e._readRequests=new Ca,r.forEach(n=>{n._errorSteps(t)})}function bE(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var sO,uO,cO;function Pv(e){return e.slice()}function Tne(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(Lc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(Lc.prototype.cancel,"cancel"),tr(Lc.prototype.read,"read"),tr(Lc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Lc.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var xd=e=>(xd=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,xd(e)),vd=e=>(vd=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,vd(e));function Sne(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return Tne(i,0,e,t,n),i}function Rv(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 Qre(e){try{let t=e.done,r=e.value;return Du($qe(r),n=>({done:t,value:n}))}catch(t){return at(t)}}var Wv=(cO=(sO=Symbol.asyncIterator)!==null&&sO!==void 0?sO:(uO=Symbol.for)===null||uO===void 0?void 0:uO.call(Symbol,"Symbol.asyncIterator"))!==null&&cO!==void 0?cO:"@@asyncIterator";function Cne(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Rv(e,Wv))===void 0)return function(i){let a={next(){let o;try{o=Dne(i)}catch(s){return at(s)}return Qre(o)},return(o){let s;try{let u=Rv(i.iterator,"return");if(u===void 0)return rr({done:!0,value:o});s=gd(u,i.iterator,[o])}catch(u){return at(u)}return kn(s)?Qre(s):at(new TypeError("The iterator.return() method must return an object"))}};return{iterator:a,nextMethod:a.next,done:!1}}(Cne(e,"sync",Rv(e,Symbol.iterator)))}else r=Rv(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=gd(r,e,[]);if(!kn(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function Dne(e){let t=gd(e.nextMethod,e.iterator,[]);if(!kn(t))throw new TypeError("The iterator.next() method must return an object");return t}var RE=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?zc(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?zc(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,i=Nn((a,o)=>{r=a,n=o});return qv(t,{_chunkSteps:a=>{this._ongoingPromise=void 0,md(()=>r({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Gc(t),r({value:void 0,done:!0})},_errorSteps:a=>{this._ongoingPromise=void 0,this._isFinished=!0,Gc(t),n(a)}}),i}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=FO(r,t);return Gc(r),zc(n,()=>({value:t,done:!0}))}return Gc(r),rr({value:t,done:!0})}},Fne={next(){return Zre(this)?this._asyncIteratorImpl.next():at(ene("next"))},return(e){return Zre(this)?this._asyncIteratorImpl.return(e):at(ene("return"))},[Wv](){return this}};function Zre(e){if(!kn(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof RE}catch{return!1}}function ene(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(Fne,Wv,{enumerable:!1});var kne=Number.isNaN||function(e){return e!=e};function tne(e){let t=Sne(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function vO(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function RO(e,t,r){if(typeof(n=r)!="number"||kne(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 xf(e){e._queue=new Ca,e._queueTotalSize=0}function Bne(e){return e===DataView}var mf=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!lO(this))throw fO("view");return this._view}respond(t){if(!lO(this))throw fO("respond");if(Hc(t,1,"respond"),t=OO(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(vd(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");kE(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!lO(this))throw fO("respondWithNewView");if(Hc(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(vd(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");BE(this._associatedReadableByteStreamController,t)}};Object.defineProperties(mf.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),tr(mf.prototype.respond,"respond"),tr(mf.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mf.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var Su=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!dd(this))throw Iv("byobRequest");return _O(this)}get desiredSize(){if(!dd(this))throw Iv("desiredSize");return Une(this)}close(){if(!dd(this))throw Iv("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`);Mv(this)}enqueue(t){if(!dd(this))throw Iv("enqueue");if(Hc(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`);FE(this,t)}error(t=void 0){if(!dd(this))throw Iv("error");To(this,t)}[SO](t){One(this),xf(this);let r=this._cancelAlgorithm(t);return zE(this),r}[CO](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void Nne(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let i;try{i=new ArrayBuffer(n)}catch(o){return void t._errorSteps(o)}let a={buffer:i,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}wne(r,t),_d(this)}[DO](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new Ca,this._pendingPullIntos.push(t)}}};function dd(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof Su}function lO(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof mf}function _d(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(Ene(n)&&GE(n)>0||jO(n)&&Hne(n)>0||Une(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Sa(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,_d(e)),null),r=>(To(e,r),null))}}function One(e){MO(e),e._pendingPullIntos=new Ca}function yO(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Ine(t);t.readerType==="default"?PO(e,n,r):function(i,a,o){let s=i._reader,u=s._readIntoRequests.shift();o?u._closeSteps(a):u._chunkSteps(a)}(e,n,r)}function Ine(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function DE(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Pne(e,t,r,n){let i;try{i=Sne(t,r,r+n)}catch(a){throw To(e,a),a}DE(e,i,0,n)}function Rne(e,t){t.bytesFilled>0&&Pne(e,t.buffer,t.byteOffset,t.bytesFilled),X0(e)}function Mne(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,i=r,a=!1,o=n-n%t.elementSize;o>=t.minimumFill&&(i=o-t.bytesFilled,a=!0);let s=e._queue;for(;i>0;){let u=s.peek(),c=Math.min(i,u.byteLength),l=t.byteOffset+t.bytesFilled;Tne(t.buffer,l,u.buffer,u.byteOffset,c),u.byteLength===c?s.shift():(u.byteOffset+=c,u.byteLength-=c),e._queueTotalSize-=c,jne(e,c,t),i-=c}return a}function jne(e,t,r){r.bytesFilled+=t}function Lne(e){e._queueTotalSize===0&&e._closeRequested?(zE(e),Kv(e._controlledReadableByteStream)):_d(e)}function MO(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function bO(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();Mne(e,t)&&(X0(e),yO(e._controlledReadableByteStream,t))}}function Kqe(e,t,r,n){let i=e._controlledReadableByteStream,a=t.constructor,o=function(p){return Bne(p)?1:p.BYTES_PER_ELEMENT}(a),{byteOffset:s,byteLength:u}=t,c=r*o,l;try{l=xd(t.buffer)}catch(p){return void n._errorSteps(p)}let f={buffer:l,bufferByteLength:l.byteLength,byteOffset:s,byteLength:u,bytesFilled:0,minimumFill:c,elementSize:o,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(f),void rne(i,n);if(i._state!=="closed"){if(e._queueTotalSize>0){if(Mne(e,f)){let p=Ine(f);return Lne(e),void n._chunkSteps(p)}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");return To(e,p),void n._errorSteps(p)}}e._pendingPullIntos.push(f),rne(i,n),_d(e)}else{let p=new a(f.buffer,f.byteOffset,0);n._closeSteps(p)}}function qne(e,t){let r=e._pendingPullIntos.peek();MO(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&X0(n);let a=n._controlledReadableByteStream;if(jO(a))for(;Hne(a)>0;)yO(a,X0(n))}(e,r):function(n,i,a){if(jne(0,i,a),a.readerType==="none")return Rne(n,a),void bO(n);if(a.bytesFilled<a.minimumFill)return;X0(n);let o=a.bytesFilled%a.elementSize;if(o>0){let s=a.byteOffset+a.bytesFilled;Pne(n,a.buffer,s-o,o)}a.bytesFilled-=o,yO(n._controlledReadableByteStream,a),bO(n)}(e,t,r),_d(e)}function X0(e){return e._pendingPullIntos.shift()}function zE(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Mv(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 To(e,n),n}}zE(e),Kv(t)}}function FE(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:i,byteLength:a}=t;if(vd(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=xd(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(vd(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");MO(e),s.buffer=xd(s.buffer),s.readerType==="none"&&Rne(e,s)}Ene(r)?(function(s){let u=s._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(s._queueTotalSize===0)return;Nne(s,u._readRequests.shift())}}(e),GE(r)===0?DE(e,o,i,a):(e._pendingPullIntos.length>0&&X0(e),PO(r,new Uint8Array(o,i,a),!1))):jO(r)?(DE(e,o,i,a),bO(e)):DE(e,o,i,a),_d(e)}function To(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(One(e),xf(e),zE(e),lie(r,t))}function Nne(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Lne(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function _O(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(mf.prototype);(function(i,a,o){i._associatedReadableByteStreamController=a,i._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function Une(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function kE(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=xd(r.buffer),qne(e,t)}function BE(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=xd(t.buffer),qne(e,n)}function Gne(e,t,r,n,i,a,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,xf(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=o,t._pendingPullIntos=new Ca,e._readableStreamController=t,Sa(rr(r()),()=>(t._started=!0,_d(t),null),s=>(To(t,s),null))}function fO(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Iv(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function Xqe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function zne(e){return new qc(e)}function rne(e,t){e._reader._readIntoRequests.push(t)}function Hne(e){return e._reader._readIntoRequests.length}function jO(e){let t=e._reader;return t!==void 0&&!!hd(t)}Object.defineProperties(Su.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Su.prototype.close,"close"),tr(Su.prototype.enqueue,"enqueue"),tr(Su.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Su.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var qc=class{constructor(t){if(Hc(t,1,"ReadableStreamBYOBReader"),IO(t,"First parameter"),gf(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!dd(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");vne(this,t),this._readIntoRequests=new Ca}get closed(){return hd(this)?this._closedPromise:at(_E("closed"))}cancel(t=void 0){return hd(this)?this._ownerReadableStream===void 0?at(PE("cancel")):FO(this,t):at(_E("cancel"))}read(t,r={}){if(!hd(this))return at(_E("read"));if(!ArrayBuffer.isView(t))return at(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return at(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return at(new TypeError("view's buffer must have non-zero byteLength"));if(vd(t.buffer))return at(new TypeError("view's buffer has been detached"));let n;try{n=function(u,c){var l;return Fu(u,c),{min:OO((l=u==null?void 0:u.min)!==null&&l!==void 0?l:1,`${c} has member 'min' that`)}}(r,"options")}catch(u){return at(u)}let i=n.min;if(i===0)return at(new TypeError("options.min must be greater than 0"));if(function(u){return Bne(u.constructor)}(t)){if(i>t.byteLength)return at(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(i>t.length)return at(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return at(PE("read from"));let a,o,s=Nn((u,c)=>{a=u,o=c});return Vne(this,t,i,{_chunkSteps:u=>a({value:u,done:!1}),_closeSteps:u=>a({value:u,done:!0}),_errorSteps:u=>o(u)}),s}releaseLock(){if(!hd(this))throw _E("releaseLock");this._ownerReadableStream!==void 0&&function(t){Gc(t);let r=new TypeError("Reader was released");$ne(t,r)}(this)}};function hd(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof qc}function Vne(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,i._state==="errored"?n._errorSteps(i._storedError):Kqe(i._readableStreamController,t,r,n)}function $ne(e,t){let r=e._readIntoRequests;e._readIntoRequests=new Ca,r.forEach(n=>{n._errorSteps(t)})}function _E(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Nv(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(kne(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function ME(e){let{size:t}=e;return t||(()=>1)}function jE(e,t){Fu(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:BO(r),size:n===void 0?void 0:Jqe(n,`${t} has member 'size' that`)}}function Jqe(e,t){return So(e,t),r=>BO(e(r))}function Yqe(e,t,r){return So(e,r),n=>Vc(e,t,[n])}function Qqe(e,t,r){return So(e,r),()=>Vc(e,t,[])}function Zqe(e,t,r){return So(e,r),n=>gd(e,t,[n])}function eNe(e,t,r){return So(e,r),(n,i)=>Vc(e,t,[n,i])}function Wne(e,t){if(!W0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(qc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(qc.prototype.cancel,"cancel"),tr(qc.prototype.read,"read"),tr(qc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(qc.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var tNe=typeof AbortController=="function",Nc=class{constructor(t={},r={}){t===void 0?t=null:_ne(t,"First parameter");let n=jE(r,"Second parameter"),i=function(o,s){Fu(o,s);let u=o==null?void 0:o.abort,c=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:u===void 0?void 0:Yqe(u,o,`${s} has member 'abort' that`),close:c===void 0?void 0:Qqe(c,o,`${s} has member 'close' that`),start:l===void 0?void 0:Zqe(l,o,`${s} has member 'start' that`),write:p===void 0?void 0:eNe(p,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(Xne(this),i.type!==void 0)throw new RangeError("Invalid type is specified");let a=ME(n);(function(o,s,u,c){let l=Object.create(yd.prototype),f,p,d,h;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.write!==void 0?g=>s.write(g,l):()=>rr(void 0),d=s.close!==void 0?()=>s.close():()=>rr(void 0),h=s.abort!==void 0?g=>s.abort(g):()=>rr(void 0),rie(o,l,f,p,d,h,u,c)})(this,i,Nv(n,1),a)}get locked(){if(!W0(this))throw EE("locked");return J0(this)}abort(t=void 0){return W0(this)?J0(this)?at(new TypeError("Cannot abort a stream that already has a writer")):LE(this,t):at(EE("abort"))}close(){return W0(this)?J0(this)?at(new TypeError("Cannot close a stream that already has a writer")):ku(this)?at(new TypeError("Cannot close an already-closing stream")):Jne(this):at(EE("close"))}getWriter(){if(!W0(this))throw EE("getWriter");return Kne(this)}};function Kne(e){return new Tu(e)}function Xne(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new Ca,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function W0(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof Nc}function J0(e){return e._writer!==void 0}function LE(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 i=!1;n==="erroring"&&(i=!0,t=void 0);let a=Nn((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=a,i||LO(e,t),a}function Jne(e){let t=e._state;if(t==="closed"||t==="errored")return at(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=Nn((a,o)=>{let s={_resolve:a,_reject:o};e._closeRequest=s}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&zO(n),RO(i=e._writableStreamController,tie,0),HE(i),r}function wO(e,t){e._state!=="writable"?qO(e):LO(e,t)}function LO(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&Qne(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&qO(e)}function qO(e){e._state="errored",e._writableStreamController[xne]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new Ca,e._pendingAbortRequest===void 0)return void wE(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void wE(e);Sa(e._writableStreamController[gne](r._reason),()=>(r._resolve(),wE(e),null),n=>(r._reject(n),wE(e),null))}function ku(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function wE(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&GO(t,e._storedError)}function NO(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){VE(n)}(r):zO(r)),e._backpressure=t}Object.defineProperties(Nc.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),tr(Nc.prototype.abort,"abort"),tr(Nc.prototype.close,"close"),tr(Nc.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Nc.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var Tu=class{constructor(t){if(Hc(t,1,"WritableStreamDefaultWriter"),Wne(t,"First parameter"),J0(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")!ku(t)&&t._backpressure?VE(this):nne(this),OE(this);else if(r==="erroring")EO(this,t._storedError),OE(this);else if(r==="closed")nne(this),OE(n=this),oie(n);else{let i=t._storedError;EO(this,i),aie(this,i)}var n}get closed(){return ld(this)?this._closedPromise:at(fd("closed"))}get desiredSize(){if(!ld(this))throw fd("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:nie(r._writableStreamController)}(this)}get ready(){return ld(this)?this._readyPromise:at(fd("ready"))}abort(t=void 0){return ld(this)?this._ownerWritableStream===void 0?at(jv("abort")):function(r,n){return LE(r._ownerWritableStream,n)}(this,t):at(fd("abort"))}close(){if(!ld(this))return at(fd("close"));let t=this._ownerWritableStream;return t===void 0?at(jv("close")):ku(t)?at(new TypeError("Cannot close an already-closing stream")):Yne(this)}releaseLock(){if(!ld(this))throw fd("releaseLock");this._ownerWritableStream!==void 0&&Zne(this)}write(t=void 0){return ld(this)?this._ownerWritableStream===void 0?at(jv("write to")):eie(this,t):at(fd("write"))}};function ld(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof Tu}function Yne(e){return Jne(e._ownerWritableStream)}function rNe(e,t){e._closedPromiseState==="pending"?GO(e,t):function(r,n){aie(r,n)}(e,t)}function Qne(e,t){e._readyPromiseState==="pending"?sie(e,t):function(r,n){EO(r,n)}(e,t)}function Zne(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Qne(e,r),rNe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function eie(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(s,u){try{return s._strategySizeAlgorithm(u)}catch(c){return Uv(s,c),1}}(n,t);if(r!==e._ownerWritableStream)return at(jv("write to"));let a=r._state;if(a==="errored")return at(r._storedError);if(ku(r)||a==="closed")return at(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return at(r._storedError);let o=function(s){return Nn((u,c)=>{let l={_resolve:u,_reject:c};s._writeRequests.push(l)})}(r);return function(s,u,c){try{RO(s,u,c)}catch(f){return void Uv(s,f)}let l=s._controlledWritableStream;!ku(l)&&l._state==="writable"&&NO(l,UO(s)),HE(s)}(n,t,i),o}Object.defineProperties(Tu.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),tr(Tu.prototype.abort,"abort"),tr(Tu.prototype.close,"close"),tr(Tu.prototype.releaseLock,"releaseLock"),tr(Tu.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Tu.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var tie={},yd=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!pO(this))throw dO("abortReason");return this._abortReason}get signal(){if(!pO(this))throw dO("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!pO(this))throw dO("error");this._controlledWritableStream._state==="writable"&&iie(this,t)}[gne](t){let r=this._abortAlgorithm(t);return qE(this),r}[xne](){xf(this)}};function pO(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof yd}function rie(e,t,r,n,i,a,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,xf(t),t._abortReason=void 0,t._abortController=function(){if(tNe)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=a;let u=UO(t);NO(e,u),Sa(rr(r()),()=>(t._started=!0,HE(t),null),c=>(t._started=!0,wO(e,c),null))}function qE(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function nie(e){return e._strategyHWM-e._queueTotalSize}function HE(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void qO(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===tie?function(n){let i=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(i),vO(n);let a=n._closeAlgorithm();qE(n),Sa(a,()=>(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&&oie(s)}(i),null),o=>(function(s,u){s._inFlightCloseRequest._reject(u),s._inFlightCloseRequest=void 0,s._pendingAbortRequest!==void 0&&(s._pendingAbortRequest._reject(u),s._pendingAbortRequest=void 0),wO(s,u)}(i,o),null))}(e):function(n,i){let a=n._controlledWritableStream;(function(s){s._inFlightWriteRequest=s._writeRequests.shift()})(a);let o=n._writeAlgorithm(i);Sa(o,()=>{(function(u){u._inFlightWriteRequest._resolve(void 0),u._inFlightWriteRequest=void 0})(a);let s=a._state;if(vO(n),!ku(a)&&s==="writable"){let u=UO(n);NO(a,u)}return HE(n),null},s=>(a._state==="writable"&&qE(n),function(u,c){u._inFlightWriteRequest._reject(c),u._inFlightWriteRequest=void 0,wO(u,c)}(a,s),null))}(e,r)}function Uv(e,t){e._controlledWritableStream._state==="writable"&&iie(e,t)}function UO(e){return nie(e)<=0}function iie(e,t){let r=e._controlledWritableStream;qE(e),LO(r,t)}function EE(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function dO(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function fd(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 OE(e){e._closedPromise=Nn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function aie(e,t){OE(e),GO(e,t)}function GO(e,t){e._closedPromise_reject!==void 0&&(Z0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function oie(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 VE(e){e._readyPromise=Nn((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function EO(e,t){VE(e),sie(e,t)}function nne(e){VE(e),zO(e)}function sie(e,t){e._readyPromise_reject!==void 0&&(Z0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function zO(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(yd.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yd.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var ine=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,nNe=function(){let e=ine==null?void 0:ine.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 ane(e,t,r,n,i,a){let o=K0(e),s=Kne(t);e._disturbed=!0;let u=!1,c=rr(void 0);return Nn((l,f)=>{let p;if(a!==void 0){if(p=()=>{let w=a.reason!==void 0?a.reason:new nNe("Aborted","AbortError"),C=[];n||C.push(()=>t._state==="writable"?LE(t,w):rr(void 0)),i||C.push(()=>e._state==="readable"?bs(e,w):rr(void 0)),b(()=>Promise.all(C.map(k=>k())),!0,w)},a.aborted)return void p();a.addEventListener("abort",p)}var d,h,g;if(v(e,o._closedPromise,w=>(n?_(!0,w):b(()=>LE(t,w),!0,w),null)),v(t,s._closedPromise,w=>(i?_(!0,w):b(()=>bs(e,w),!0,w),null)),d=e,h=o._closedPromise,g=()=>(r?_():b(()=>function(w){let C=w._ownerWritableStream,k=C._state;return ku(C)||k==="closed"?rr(void 0):k==="errored"?at(C._storedError):Yne(w)}(s)),null),d._state==="closed"?g():oO(h,g),ku(t)||t._state==="closed"){let w=new TypeError("the destination writable stream closed before all data could be piped to it");i?_(!0,w):b(()=>bs(e,w),!0,w)}function m(){let w=c;return Du(c,()=>w!==c?m():void 0)}function v(w,C,k){w._state==="errored"?k(w._storedError):mO(C,k)}function b(w,C,k){function R(){return Sa(w(),()=>A(C,k),S=>A(!0,S)),null}u||(u=!0,t._state!=="writable"||ku(t)?R():oO(m(),R))}function _(w,C){u||(u=!0,t._state!=="writable"||ku(t)?A(w,C):oO(m(),()=>A(w,C)))}function A(w,C){return Zne(s),Gc(o),a!==void 0&&a.removeEventListener("abort",p),w?f(C):l(void 0),null}Z0(Nn((w,C)=>{(function k(R){R?w():Du(u?rr(!0):Du(s._readyPromise,()=>Nn((S,D)=>{qv(o,{_chunkSteps:I=>{c=Du(eie(s,I),void 0,Lv),S(!1)},_closeSteps:()=>S(!0),_errorSteps:D})})),k,C)})(!1)}))})}var Cu=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!AE(this))throw TE("desiredSize");return HO(this)}close(){if(!AE(this))throw TE("close");if(!Q0(this))throw new TypeError("The stream is not in a state that permits close");bd(this)}enqueue(t=void 0){if(!AE(this))throw TE("enqueue");if(!Q0(this))throw new TypeError("The stream is not in a state that permits enqueue");return Y0(this,t)}error(t=void 0){if(!AE(this))throw TE("error");_s(this,t)}[SO](t){xf(this);let r=this._cancelAlgorithm(t);return NE(this),r}[CO](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=vO(this);this._closeRequested&&this._queue.length===0?(NE(this),Kv(r)):Gv(this),t._chunkSteps(n)}else wne(r,t),Gv(this)}[DO](){}};function AE(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof Cu}function Gv(e){if(uie(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Sa(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Gv(e)),null),t=>(_s(e,t),null))}}function uie(e){let t=e._controlledReadableStream;return!Q0(e)||!e._started?!1:gf(t)&&GE(t)>0?!0:HO(e)>0}function NE(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function bd(e){if(!Q0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(NE(e),Kv(t))}function Y0(e,t){if(!Q0(e))return;let r=e._controlledReadableStream;if(gf(r)&&GE(r)>0)PO(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(i){throw _s(e,i),i}try{RO(e,t,n)}catch(i){throw _s(e,i),i}}Gv(e)}function _s(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(xf(e),NE(e),lie(r,t))}function HO(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Q0(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function cie(e,t,r,n,i,a,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,xf(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,e._readableStreamController=t,Sa(rr(r()),()=>(t._started=!0,Gv(t),null),s=>(_s(t,s),null))}function TE(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function iNe(e,t){return dd(e._readableStreamController)?function(r){let n,i,a,o,s,u=K0(r),c=!1,l=!1,f=!1,p=!1,d=!1,h=Nn(k=>{s=k});function g(k){mO(k._closedPromise,R=>(k!==u||(To(a._readableStreamController,R),To(o._readableStreamController,R),p&&d||s(void 0)),null))}function m(){hd(u)&&(Gc(u),u=K0(r),g(u)),qv(u,{_chunkSteps:k=>{md(()=>{l=!1,f=!1;let R=k,S=k;if(!p&&!d)try{S=tne(k)}catch(D){return To(a._readableStreamController,D),To(o._readableStreamController,D),void s(bs(r,D))}p||FE(a._readableStreamController,R),d||FE(o._readableStreamController,S),c=!1,l?b():f&&_()})},_closeSteps:()=>{c=!1,p||Mv(a._readableStreamController),d||Mv(o._readableStreamController),a._readableStreamController._pendingPullIntos.length>0&&kE(a._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&kE(o._readableStreamController,0),p&&d||s(void 0)},_errorSteps:()=>{c=!1}})}function v(k,R){hf(u)&&(Gc(u),u=zne(r),g(u));let S=R?o:a,D=R?a:o;Vne(u,k,1,{_chunkSteps:I=>{md(()=>{l=!1,f=!1;let M=R?d:p;if(R?p:d)M||BE(S._readableStreamController,I);else{let G;try{G=tne(I)}catch(z){return To(S._readableStreamController,z),To(D._readableStreamController,z),void s(bs(r,z))}M||BE(S._readableStreamController,I),FE(D._readableStreamController,G)}c=!1,l?b():f&&_()})},_closeSteps:I=>{c=!1;let M=R?d:p,G=R?p:d;M||Mv(S._readableStreamController),G||Mv(D._readableStreamController),I!==void 0&&(M||BE(S._readableStreamController,I),!G&&D._readableStreamController._pendingPullIntos.length>0&&kE(D._readableStreamController,0)),M&&G||s(void 0)},_errorSteps:()=>{c=!1}})}function b(){if(c)return l=!0,rr(void 0);c=!0;let k=_O(a._readableStreamController);return k===null?m():v(k._view,!1),rr(void 0)}function _(){if(c)return f=!0,rr(void 0);c=!0;let k=_O(o._readableStreamController);return k===null?m():v(k._view,!0),rr(void 0)}function A(k){if(p=!0,n=k,d){let R=Pv([n,i]),S=bs(r,R);s(S)}return h}function w(k){if(d=!0,i=k,p){let R=Pv([n,i]),S=bs(r,R);s(S)}return h}function C(){}return a=sne(C,b,A),o=sne(C,_,w),g(u),[a,o]}(e):function(r,n){let i=K0(r),a,o,s,u,c,l=!1,f=!1,p=!1,d=!1,h=Nn(_=>{c=_});function g(){return l?(f=!0,rr(void 0)):(l=!0,qv(i,{_chunkSteps:_=>{md(()=>{f=!1;let A=_,w=_;p||Y0(s._readableStreamController,A),d||Y0(u._readableStreamController,w),l=!1,f&&g()})},_closeSteps:()=>{l=!1,p||bd(s._readableStreamController),d||bd(u._readableStreamController),p&&d||c(void 0)},_errorSteps:()=>{l=!1}}),rr(void 0))}function m(_){if(p=!0,a=_,d){let A=Pv([a,o]),w=bs(r,A);c(w)}return h}function v(_){if(d=!0,o=_,p){let A=Pv([a,o]),w=bs(r,A);c(w)}return h}function b(){}return s=zv(b,g,m),u=zv(b,g,v),mO(i._closedPromise,_=>(_s(s._readableStreamController,_),_s(u._readableStreamController,_),p&&d||c(void 0),null)),[s,u]}(e)}function aNe(e){return kn(t=e)&&t.getReader!==void 0?function(r){let n;function i(){let o;try{o=r.read()}catch(s){return at(s)}return zc(o,s=>{if(!kn(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)bd(n._readableStreamController);else{let u=s.value;Y0(n._readableStreamController,u)}})}function a(o){try{return rr(r.cancel(o))}catch(s){return at(s)}}return n=zv(Lv,i,a,0),n}(e.getReader()):function(r){let n,i=Cne(r,"async");function a(){let s;try{s=Dne(i)}catch(u){return at(u)}return zc(rr(s),u=>{if(!kn(u))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(u.done)bd(n._readableStreamController);else{let c=u.value;Y0(n._readableStreamController,c)}})}function o(s){let u=i.iterator,c;try{c=Rv(u,"return")}catch(l){return at(l)}return c===void 0?rr(void 0):zc(Vc(c,u,[s]),l=>{if(!kn(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=zv(Lv,a,o,0),n}(e);var t}function oNe(e,t,r){return So(e,r),n=>Vc(e,t,[n])}function sNe(e,t,r){return So(e,r),n=>Vc(e,t,[n])}function uNe(e,t,r){return So(e,r),n=>gd(e,t,[n])}function cNe(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function one(e,t){Fu(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,i=e==null?void 0:e.preventClose,a=e==null?void 0:e.signal;return a!==void 0&&function(o,s){if(!function(u){if(typeof u!="object"||u===null)return!1;try{return typeof u.aborted=="boolean"}catch{return!1}}(o))throw new TypeError(`${s} is not an AbortSignal.`)}(a,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(i),signal:a}}Object.defineProperties(Cu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Cu.prototype.close,"close"),tr(Cu.prototype.enqueue,"enqueue"),tr(Cu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Cu.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var ei=class{constructor(t={},r={}){t===void 0?t=null:_ne(t,"First parameter");let n=jE(r,"Second parameter"),i=function(a,o){Fu(a,o);let s=a,u=s==null?void 0:s.autoAllocateChunkSize,c=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:u===void 0?void 0:OO(u,`${o} has member 'autoAllocateChunkSize' that`),cancel:c===void 0?void 0:oNe(c,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:sNe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:uNe(f,s,`${o} has member 'start' that`),type:p===void 0?void 0:cNe(p,`${o} has member 'type' that`)}}(t,"First parameter");if(VO(this),i.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");(function(a,o,s){let u=Object.create(Su.prototype),c,l,f;c=o.start!==void 0?()=>o.start(u):()=>{},l=o.pull!==void 0?()=>o.pull(u):()=>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");Gne(a,u,c,l,f,s,p)})(this,i,Nv(n,0))}else{let a=ME(n);(function(o,s,u,c){let l=Object.create(Cu.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),cie(o,l,f,p,d,u,c)})(this,i,Nv(n,1),a)}}get locked(){if(!df(this))throw pd("locked");return gf(this)}cancel(t=void 0){return df(this)?gf(this)?at(new TypeError("Cannot cancel a stream that already has a reader")):bs(this,t):at(pd("cancel"))}getReader(t=void 0){if(!df(this))throw pd("getReader");return function(r,n){Fu(r,n);let i=r==null?void 0:r.mode;return{mode:i===void 0?void 0:Xqe(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?K0(this):zne(this)}pipeThrough(t,r={}){if(!df(this))throw pd("pipeThrough");Hc(t,1,"pipeThrough");let n=function(a,o){Fu(a,o);let s=a==null?void 0:a.readable;xO(s,"readable","ReadableWritablePair"),IO(s,`${o} has member 'readable' that`);let u=a==null?void 0:a.writable;return xO(u,"writable","ReadableWritablePair"),Wne(u,`${o} has member 'writable' that`),{readable:s,writable:u}}(t,"First parameter"),i=one(r,"Second parameter");if(gf(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(J0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return Z0(ane(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!df(this))return at(pd("pipeTo"));if(t===void 0)return at("Parameter 1 is required in 'pipeTo'.");if(!W0(t))return at(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=one(r,"Second parameter")}catch(i){return at(i)}return gf(this)?at(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):J0(t)?at(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):ane(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!df(this))throw pd("tee");return Pv(iNe(this))}values(t=void 0){if(!df(this))throw pd("values");return function(r,n){let i=K0(r),a=new RE(i,n),o=Object.create(Fne);return o._asyncIteratorImpl=a,o}(this,function(r,n){Fu(r,n);let i=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(i)}}(t,"First parameter").preventCancel)}[Wv](t){return this.values(t)}static from(t){return aNe(t)}};function zv(e,t,r,n=1,i=()=>1){let a=Object.create(ei.prototype);return VO(a),cie(a,Object.create(Cu.prototype),e,t,r,n,i),a}function sne(e,t,r){let n=Object.create(ei.prototype);return VO(n),Gne(n,Object.create(Su.prototype),e,t,r,0,void 0),n}function VO(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function df(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof ei}function gf(e){return e._reader!==void 0}function bs(e,t){if(e._disturbed=!0,e._state==="closed")return rr(void 0);if(e._state==="errored")return at(e._storedError);Kv(e);let r=e._reader;if(r!==void 0&&hd(r)){let n=r._readIntoRequests;r._readIntoRequests=new Ca,n.forEach(i=>{i._closeSteps(void 0)})}return zc(e._readableStreamController[SO](t),Lv)}function Kv(e){e._state="closed";let t=e._reader;if(t!==void 0&&(bne(t),hf(t))){let r=t._readRequests;t._readRequests=new Ca,r.forEach(n=>{n._closeSteps()})}}function lie(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(kO(r,t),hf(r)?Ane(r,t):$ne(r,t))}function pd(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function fie(e,t){Fu(e,t);let r=e==null?void 0:e.highWaterMark;return xO(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:BO(r)}}Object.defineProperties(ei,{from:{enumerable:!0}}),Object.defineProperties(ei.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),tr(ei.from,"from"),tr(ei.prototype.cancel,"cancel"),tr(ei.prototype.getReader,"getReader"),tr(ei.prototype.pipeThrough,"pipeThrough"),tr(ei.prototype.pipeTo,"pipeTo"),tr(ei.prototype.tee,"tee"),tr(ei.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ei.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(ei.prototype,Wv,{value:ei.prototype.values,writable:!0,configurable:!0});var pie=e=>e.byteLength;tr(pie,"size");var Hv=class{constructor(t){Hc(t,1,"ByteLengthQueuingStrategy"),t=fie(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!cne(this))throw une("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!cne(this))throw une("size");return pie}};function une(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function cne(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof Hv}Object.defineProperties(Hv.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hv.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var die=()=>1;tr(die,"size");var Vv=class{constructor(t){Hc(t,1,"CountQueuingStrategy"),t=fie(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!fne(this))throw lne("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!fne(this))throw lne("size");return die}};function lne(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function fne(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof Vv}function lNe(e,t,r){return So(e,r),n=>Vc(e,t,[n])}function fNe(e,t,r){return So(e,r),n=>gd(e,t,[n])}function pNe(e,t,r){return So(e,r),(n,i)=>Vc(e,t,[n,i])}function dNe(e,t,r){return So(e,r),n=>Vc(e,t,[n])}Object.defineProperties(Vv.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Vv.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var $v=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=jE(r,"Second parameter"),a=jE(n,"Third parameter"),o=function(p,d){Fu(p,d);let h=p==null?void 0:p.cancel,g=p==null?void 0:p.flush,m=p==null?void 0:p.readableType,v=p==null?void 0:p.start,b=p==null?void 0:p.transform,_=p==null?void 0:p.writableType;return{cancel:h===void 0?void 0:dNe(h,p,`${d} has member 'cancel' that`),flush:g===void 0?void 0:lNe(g,p,`${d} has member 'flush' that`),readableType:m,start:v===void 0?void 0:fNe(v,p,`${d} has member 'start' that`),transform:b===void 0?void 0:pNe(b,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=Nv(a,0),u=ME(a),c=Nv(i,1),l=ME(i),f;(function(p,d,h,g,m,v){function b(){return d}function _(R){return function(S,D){let I=S._transformStreamController;return S._backpressure?zc(S._backpressureChangePromise,()=>{let M=S._writable;if(M._state==="erroring")throw M._storedError;return dne(I,D)}):dne(I,D)}(p,R)}function A(R){return function(S,D){let I=S._transformStreamController;if(I._finishPromise!==void 0)return I._finishPromise;let M=S._readable;I._finishPromise=Nn((z,X)=>{I._finishPromise_resolve=z,I._finishPromise_reject=X});let G=I._cancelAlgorithm(D);return IE(I),Sa(G,()=>(M._state==="errored"?$0(I,M._storedError):(_s(M._readableStreamController,D),hO(I)),null),z=>(_s(M._readableStreamController,z),$0(I,z),null)),I._finishPromise}(p,R)}function w(){return function(R){let S=R._transformStreamController;if(S._finishPromise!==void 0)return S._finishPromise;let D=R._readable;S._finishPromise=Nn((M,G)=>{S._finishPromise_resolve=M,S._finishPromise_reject=G});let I=S._flushAlgorithm();return IE(S),Sa(I,()=>(D._state==="errored"?$0(S,D._storedError):(bd(D._readableStreamController),hO(S)),null),M=>(_s(D._readableStreamController,M),$0(S,M),null)),S._finishPromise}(p)}function C(){return function(R){return UE(R,!1),R._backpressureChangePromise}(p)}function k(R){return function(S,D){let I=S._transformStreamController;if(I._finishPromise!==void 0)return I._finishPromise;let M=S._writable;I._finishPromise=Nn((z,X)=>{I._finishPromise_resolve=z,I._finishPromise_reject=X});let G=I._cancelAlgorithm(D);return IE(I),Sa(G,()=>(M._state==="errored"?$0(I,M._storedError):(Uv(M._writableStreamController,D),AO(S),hO(I)),null),z=>(Uv(M._writableStreamController,z),AO(S),$0(I,z),null)),I._finishPromise}(p,R)}p._writable=function(R,S,D,I,M=1,G=()=>1){let z=Object.create(Nc.prototype);return Xne(z),rie(z,Object.create(yd.prototype),R,S,D,I,M,G),z}(b,_,w,A,h,g),p._readable=zv(b,C,k,m,v),p._backpressure=void 0,p._backpressureChangePromise=void 0,p._backpressureChangePromise_resolve=void 0,UE(p,!0),p._transformStreamController=void 0})(this,Nn(p=>{f=p}),c,l,s,u),function(p,d){let h=Object.create(Uc.prototype),g,m,v;g=d.transform!==void 0?b=>d.transform(b,h):b=>{try{return mie(h,b),rr(void 0)}catch(_){return at(_)}},m=d.flush!==void 0?()=>d.flush(h):()=>rr(void 0),v=d.cancel!==void 0?b=>d.cancel(b):()=>rr(void 0),function(b,_,A,w,C){_._controlledTransformStream=b,b._transformStreamController=_,_._transformAlgorithm=A,_._flushAlgorithm=w,_._cancelAlgorithm=C,_._finishPromise=void 0,_._finishPromise_resolve=void 0,_._finishPromise_reject=void 0}(p,h,g,m,v)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!pne(this))throw hne("readable");return this._readable}get writable(){if(!pne(this))throw hne("writable");return this._writable}};function pne(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof $v}function hie(e,t){_s(e._readable._readableStreamController,t),$O(e,t)}function $O(e,t){IE(e._transformStreamController),Uv(e._writable._writableStreamController,t),AO(e)}function AO(e){e._backpressure&&UE(e,!1)}function UE(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=Nn(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties($v.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($v.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var Uc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!SE(this))throw CE("desiredSize");return HO(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!SE(this))throw CE("enqueue");mie(this,t)}error(t=void 0){if(!SE(this))throw CE("error");var r;r=t,hie(this._controlledTransformStream,r)}terminate(){if(!SE(this))throw CE("terminate");(function(t){let r=t._controlledTransformStream;bd(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");$O(r,n)})(this)}};function SE(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof Uc}function IE(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function mie(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!Q0(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{Y0(n,t)}catch(a){throw $O(r,a),r._readable._storedError}(function(a){return!uie(a)})(n)!==r._backpressure&&UE(r,!0)}function dne(e,t){return zc(e._transformAlgorithm(t),void 0,r=>{throw hie(e._controlledTransformStream,r),r})}function CE(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function hO(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function $0(e,t){e._finishPromise_reject!==void 0&&(Z0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function hne(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Uc.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Uc.prototype.enqueue,"enqueue"),tr(Uc.prototype.error,"error"),tr(Uc.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Uc.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var $E=class extends ei{};var WE=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(i){t.error(i);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 KE=class extends $E{_chunks;constructor(t){super(new WE(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var wd=class{type;size;parts;constructor(t=[],r={}){this.parts=[],this.size=0;for(let n of t)if(typeof n=="string"){let i=new TextEncoder().encode(n);this.parts.push(i),this.size+=i.byteLength}else if(n instanceof wd)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:i,byteOffset:a,byteLength:o}=n;this.parts.push(new Uint8Array(i,a,o)),this.size+=o}else{let i=new TextEncoder().encode(String(n));this.parts.push(i),this.size+=i.byteLength}this.type=hNe(r.type)}slice(t=0,r=this.size,n=""){let{size:i,parts:a}=this,o=t<0?Math.max(i+t,0):Math.min(t,i),s=r<0?Math.max(i+r,0):Math.min(r,i),u=Math.max(s-o,0),c=new wd([],{type:n});if(u===0)return c;let l=0,f=[];for(let p of a){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>=u)break}}return c.parts=f,c.size=l,c}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 KE(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 i of this.parts)r.set(i,n),n+=i.byteLength;return t}};function hNe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function mNe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=wd),globalThis.Blob}var gNe=mNe();var XE=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,${mx(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var JE=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 gie(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=XE),typeof File>"u"&&!globalThis.File&&(globalThis.File=JE),global}var xNe=gie();var WO=kt(require("module"),1),xie=kt(require("path"),1),QE=kt(require("fs"),1);async function vie(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():QE.default.readFileSync(e).buffer}async function yie(e){return e.startsWith("http")?await(await fetch(e)).text():QE.default.readFileSync(e,"utf8")}async function bie(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return YE(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=QE.default.readFileSync(e,"utf8");return YE(t)}function YE(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=WO.default._nodeModulePaths(xie.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new WO.default(t,i);return a.filename=t,a.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),a._compile(e,t),i&&i.children&&i.children.splice(i.children.indexOf(a),1),a.exports}var ws=class{map;constructor(t){this.map={},t instanceof ws?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=Xv(t),r=_ie(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[Xv(t)]}get(t){return t=Xv(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(Xv(t))}set(t,r){this.map[Xv(t)]=_ie(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)}),KO(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),KO(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),KO(t)}*[Symbol.iterator](){yield*this.entries()}};function Xv(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 _ie(e){return typeof e!="string"&&(e=String(e)),e}function KO(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function XO(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var YO=kt(require("stream"),1),vNe=e=>typeof e=="boolean",wie=e=>typeof e=="function",yNe=e=>e!==null&&typeof e=="object",JO=e=>yNe(e)&&wie(e.read)&&wie(e.pipe)&&vNe(e.readable),$c=class{ok;status;statusText;headers;url;bodyUsed=!1;_body;constructor(t,r){let{headers:n,status:i=200,statusText:a="OK",url:o}=r||{};this.url=o,this.ok=i===200,this.status=i,this.statusText=a,this.headers=new ws((r==null?void 0:r.headers)||{}),JO(t)?this._body=mE(t,n):typeof t=="string"?this._body=YO.Readable.from([new TextEncoder().encode(t)]):this._body=YO.Readable.from([t||new ArrayBuffer(0)])}get body(){return XO(!this.bodyUsed),XO(JO(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return JO(this._body)?await qre(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 Aie=kt(require("http"),1),Tie=kt(require("https"),1);var bNe=e=>e&&e instanceof ArrayBuffer,_Ne=e=>e&&e instanceof Buffer;function Eie(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:wNe(r),mimeType:n}}function wNe(e){if(bNe(e))return e;if(_Ne(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;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(${JSON.stringify(e,null,2).slice(10)})`)}var QO=e=>e.startsWith("data:"),ENe=e=>e.startsWith("http:")||e.startsWith("https:");async function Jv(e,t){try{if(globalThis.fetch!==Jv&&(ENe(e)||QO(e)))return await fetch(e,t);if(QO(e)){let{arrayBuffer:c,mimeType:l}=Eie(e);return new $c(c,{headers:{"content-type":l},url:e})}let r={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip");let i=await ANe(n,t),a=DNe(e,i,r),{status:o,statusText:s}=CNe(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=TNe(e,a.get("location"));return await Jv(c,t)}return new $c(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new $c(null,{status:400,statusText:String(r),url:e})}}async function ANe(e,t){return await new Promise((r,n)=>{let i=SNe(e,t),a=e.startsWith("https:")?Tie.default.request(i,o=>r(o)):Aie.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function TNe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function SNe(e,t){let r=(t==null?void 0:t.headers)||{},n={};for(let a of Object.keys(r))n[a.toLowerCase()]=r[a];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let i=new URL(e);return{hostname:i.hostname,path:i.pathname,method:"GET",...t,...t==null?void 0:t.fetch,headers:n,port:i.port}}function CNe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function DNe(e,t,r={}){let n={};if(t&&t.headers){let i=t.headers;for(let a in i){let o=i[a];n[a.toLowerCase()]=String(o)}}if(!n["content-length"]){let i=FNe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new ws(n)}function FNe(e){return QO(e)?e.length-5:null}var kNe=parseInt(Sie.versions.node.split(".")[0]);Ez&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=aO;globalThis.loaders.NodeFile=cd;globalThis.loaders.NodeFileSystem=vE;globalThis.loaders.fetchNode=gE;globalThis.loaders.NodeHash=yE;globalThis.TextEncoder||(globalThis.TextEncoder=hx);globalThis.TextDecoder||(globalThis.TextDecoder=Mp);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&mx&&(globalThis.atob=mx);!("btoa"in globalThis)&&wD&&(globalThis.btoa=wD);globalThis.loaders.encodeImageNode=S$;globalThis.loaders.parseImageNode=CB;globalThis.loaders.imageFormatsNode=SB;globalThis._parseImageNode=CB;globalThis._imageFormatsNode=SB;globalThis.loaders.readFileAsArrayBuffer=vie;globalThis.loaders.readFileAsText=yie;globalThis.loaders.requireFromFile=bie;globalThis.loaders.requireFromString=YE;kNe<18&&(!("Headers"in globalThis)&&ws&&(globalThis.Headers=ws),!("Response"in globalThis)&&$c&&(globalThis.Response=$c),!("fetch"in globalThis)&&Jv&&(globalThis.fetch=Jv));var L8e=require("path"),mD=kt(V1e(),1);var nn={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var K6=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:nn.OBJECT_ID_TYPE,...t},n=!1,i=this._attributeStorageInfo.length;for(let a in r)if(!this._attributeStorageInfo.find(s=>s.name===a)){let s=r[a],u=this.createStorageAttribute(i,a,s),c=this.getFieldAttributeType(s),l=this.createFieldAttribute(a,c);this._attributeStorageInfo.push(u),this._fields.push(l),i+=1,n=!0}if(n){let a=[];for(let o of this._attributeStorageInfo)a.push(o.name);this._popupInfo=this.createPopupInfo(a)}}fromObject(t){this._attributeStorageInfo=t.attributeStorageInfo,this._fields=t.fields,this._popupInfo=t.popupInfo}createStorageAttribute(t,r,n){let i={key:`f_${t}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(n){case nn.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case nn.STRING_TYPE:this.setupStringAttribute(i);break;case nn.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case nn.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case nn.OBJECT_ID_TYPE:return"esriFieldTypeOID";case nn.STRING_TYPE:return"esriFieldTypeString";case nn.SHORT_INT_TYPE:return"esriFieldTypeInteger";case nn.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=[],i=[],a=[],o=[];for(let s of t)i.push({fieldName:s,visible:!0,isEditable:!1,label:s});return a.push({fieldInfos:i,type:"fields"}),{title:r,mediaInfos:n,popupElements:a,fieldInfos:i,expressionInfos:o}}};var qbt=e=>typeof e=="boolean",nb=e=>typeof e=="function",Xd=e=>e!==null&&typeof e=="object",Ej=e=>Xd(e)&&e.constructor==={}.constructor;var $1e=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",W1e=e=>e&&typeof e[Symbol.asyncIterator]=="function";var Io=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Po=e=>typeof Blob<"u"&&e instanceof Blob,K1e=e=>e&&typeof e=="object"&&e.isBuffer;var Nbt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||Xd(e)&&nb(e.tee)&&nb(e.cancel)&&nb(e.getReader);var Ubt=e=>Xd(e)&&nb(e.read)&&nb(e.pipe)&&qbt(e.readable),X6=e=>Nbt(e)||Ubt(e);var J6=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var Gbt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,zbt=/^([-\w.]+\/[-\w.+]+)/;function Aj(e,t){return e.toLowerCase()===t.toLowerCase()}function X1e(e){let t=zbt.exec(e);return t?t[1]:e}function Tj(e){let t=Gbt.exec(e);return t?t[1]:""}var J1e=/\?.*/;function Y1e(e){let t=e.match(J1e);return t&&t[0]}function Sg(e){return e.replace(J1e,"")}function Q1e(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function Jd(e){return Io(e)?e.url:Po(e)?e.name||"":typeof e=="string"?e:""}function ib(e){if(Io(e)){let t=e,r=t.headers.get("content-type")||"",n=Sg(t.url);return X1e(r)||Tj(n)}return Po(e)?e.type||"":typeof e=="string"?Tj(e):""}function Z1e(e){return Io(e)?e.headers["content-length"]||-1:Po(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Y6(e){if(Io(e))return e;let t={},r=Z1e(e);r>=0&&(t["content-length"]=String(r));let n=Jd(e),i=ib(e);i&&(t["content-type"]=i);let a=await Vbt(e);a&&(t["x-first-bytes"]=a),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 exe(e){if(!e.ok)throw await Hbt(e)}async function Hbt(e){let t=Q1e(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 i=e.headers.get("Content-Type");n.reason=!e.bodyUsed&&(i!=null&&i.includes("application/json"))?await e.json():await e.text()}catch{}return new J6(r,n)}async function Vbt(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 i=new FileReader;i.onload=a=>{var o;return n((o=a==null?void 0:a.target)==null?void 0:o.result)},i.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${$bt(r)}`}return null}function $bt(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function Wbt(e){return!Kbt(e)&&!Xbt(e)}function Kbt(e){return e.startsWith("http:")||e.startsWith("https:")}function Xbt(e){return e.startsWith("data:")}async function ca(e,t){var r,n;if(typeof e=="string"){let i=wu(e);return Wbt(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await Y6(e)}var Sj=new vu({id:"loaders.gl"}),Q6=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Z6=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 Cj={fetch:null,mimeType:void 0,nothrow:!1,log:new Z6,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:Er,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},txe={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function Dj(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Cg(){let e=Dj();return e.globalOptions=e.globalOptions||{...Cj},e.globalOptions}function ixe(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],Jbt(e,r),Qbt(t,e,n)}function Jbt(e,t){rxe(e,null,Cj,txe,t);for(let r of t){let n=e&&e[r.id]||{},i=r.options&&r.options[r.id]||{},a=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};rxe(n,r.id,i,a,t)}}function rxe(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&Xd(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)Sj.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=Ybt(s,i);Sj.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function Ybt(e,t){let r=e.toLowerCase(),n="";for(let i of t)for(let a in i.options){if(e===a)return`Did you mean '${i.id}.${a}'?`;let o=a.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(n=n||`Did you mean '${i.id}.${a}'?`)}return n}function Qbt(e,t,r){let i={...e.options||{}};return Zbt(i,r),i.log===null&&(i.log=new Q6),nxe(i,Cg()),nxe(i,t),i}function nxe(e,t){for(let r in t)if(r in t){let n=t[r];Ej(n)&&Ej(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function Zbt(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function ab(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function Fj(e){Et(e,"null loader"),Et(ab(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 e2t=()=>{let e=Dj();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function axe(){return e2t()}var t2t=/\.([^.]+)$/;async function uxe(e,t=[],r,n){if(!cxe(e))return null;let i=oxe(e,t,{...r,nothrow:!0},n);if(i)return i;if(Po(e)&&(e=await e.slice(0,10).arrayBuffer(),i=oxe(e,t,r,n)),!i&&!(r!=null&&r.nothrow))throw new Error(lxe(e));return i}function oxe(e,t=[],r,n){if(!cxe(e))return null;if(t&&!Array.isArray(t))return Fj(t);let i=[];t&&(i=i.concat(t)),r!=null&&r.ignoreRegisteredLoaders||i.push(...axe()),n2t(i);let a=r2t(e,i,r,n);if(!a&&!(r!=null&&r.nothrow))throw new Error(lxe(e));return a}function r2t(e,t,r,n){let i=Jd(e),a=ib(e),o=Sg(i)||(n==null?void 0:n.url),s=null,u="";return r!=null&&r.mimeType&&(s=kj(t,r==null?void 0:r.mimeType),u=`match forced by supplied MIME type ${r==null?void 0:r.mimeType}`),s=s||i2t(t,o),u=u||(s?`matched url ${o}`:""),s=s||kj(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||o2t(t,e),u=u||(s?`matched initial data ${fxe(e)}`:""),r!=null&&r.fallbackMimeType&&(s=s||kj(t,r==null?void 0:r.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&OB.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function cxe(e){return!(e instanceof Response&&e.status===204)}function lxe(e){let t=Jd(e),r=ib(e),n="No valid loader found (";n+=t?`${Ta.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?fxe(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function n2t(e){for(let t of e)Fj(t)}function i2t(e,t){let r=t&&t2t.exec(t),n=r&&r[1];return n?a2t(e,n):null}function a2t(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 kj(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(i=>Aj(t,i))||Aj(t,`application/x.${n.id}`))return n;return null}function o2t(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(s2t(t,r))return r}else if(ArrayBuffer.isView(t)){if(sxe(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&sxe(t,0,r))return r;return null}function s2t(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function sxe(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>u2t(e,t,r,i))}function u2t(e,t,r,n){if(n instanceof ArrayBuffer)return _u(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=Bj(e,t,n.length);return n===i;default:return!1}}function fxe(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Bj(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Bj(e,0,t):""}function Bj(e,t,r){if(e.byteLength<t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function*pxe(e,t){let r=(t==null?void 0:t.chunkSize)||262144,n=0,i=new TextEncoder;for(;n<e.length;){let a=Math.min(e.length-n,r),o=e.slice(n,n+a);n+=a,yield i.encode(o)}}function*dxe(e,t={}){let{chunkSize:r=262144}=t,n=0;for(;n<e.byteLength;){let i=Math.min(e.byteLength-n,r),a=new ArrayBuffer(i),o=new Uint8Array(e,n,i);new Uint8Array(a).set(o),n+=i,yield a}}async function*hxe(e,t){let r=(t==null?void 0:t.chunkSize)||1048576,n=0;for(;n<e.size;){let i=n+r,a=await e.slice(n,i).arrayBuffer();n=i,yield a}}function Oj(e,t){return Er?c2t(e,t):l2t(e,t)}async function*c2t(e,t){let r=e.getReader(),n;try{for(;;){let i=n||r.read();t!=null&&t._streamReadAhead&&(n=r.read());let{done:a,value:o}=await i;if(a)return;yield Pc(o)}}catch{r.releaseLock()}}async function*l2t(e,t){for await(let r of e)yield Pc(r)}function mxe(e,t){if(typeof e=="string")return pxe(e,t);if(e instanceof ArrayBuffer)return dxe(e,t);if(Po(e))return hxe(e,t);if(X6(e))return Oj(e,t);if(Io(e))return Oj(e.body,t);throw new Error("makeIterator")}var gxe="Cannot convert supplied data type";function f2t(e,t,r){if(t.text&&typeof e=="string")return e;if(K1e(e)&&(e=e.buffer),e instanceof ArrayBuffer){let n=e;return t.text&&!t.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(e)){if(t.text&&!t.binary)return new TextDecoder("utf8").decode(e);let n=e.buffer,i=e.byteLength||e.length;return(e.byteOffset!==0||i!==n.byteLength)&&(n=n.slice(e.byteOffset,e.byteOffset+i)),n}throw new Error(gxe)}async function xxe(e,t,r){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return f2t(e,t,r);if(Po(e)&&(e=await Y6(e)),Io(e)){let i=e;return await exe(i),t.binary?await i.arrayBuffer():await i.text()}if(X6(e)&&(e=mxe(e,r)),$1e(e)||W1e(e))return ud(e);throw new Error(gxe)}function e8(e,t){let r=Cg(),n=e||r;return typeof n.fetch=="function"?n.fetch:Xd(n.fetch)?i=>ca(i,n.fetch):t!=null&&t.fetch?t==null?void 0:t.fetch:ca}function vxe(e,t,r){if(r)return r;let n={fetch:e8(t,e),...e};if(n.url){let i=Sg(n.url);n.baseUrl=i,n.queryString=Y1e(n.url),n.filename=Ta.filename(i),n.baseUrl=Ta.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function yxe(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 Za(e,t,r,n){t&&!Array.isArray(t)&&!ab(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=Jd(e),o=yxe(t,n),s=await uxe(e,o,r);return s?(r=ixe(r,s,o,i),n=vxe({url:i,_parse:Za,loaders:o},r,n||null),await p2t(s,e,r,n)):null}async function p2t(e,t,r,n){if(NB(e),r=IB(e.options,r),Io(t)){let a=t,{ok:o,redirected:s,status:u,statusText:c,type:l,url:f}=a,p=Object.fromEntries(a.headers.entries());n.response={headers:p,ok:o,redirected:s,status:u,statusText:c,type:l,url:f}}t=await xxe(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(GB(e,r))return await zB(e,t,r,n,Za);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw Ti(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function bxe(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 Ij(e){let t=1/0,r=1/0,n=1/0,i=-1/0,a=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length;for(let c=0;c<u;c+=3){let l=s[c],f=s[c+1],p=s[c+2];t=l<t?l:t,r=f<r?f:r,n=p<n?p:n,i=l>i?l:i,a=f>a?f:a,o=p>o?p:o}return[[t,r,n],[i,a,o]]}function Pj(e,t,r){let n=bxe(t.value),i=r||_xe(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function _xe(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 Jr(e,t,r,n){let i,a;!Array.isArray(t)&&!ab(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=e8(a),s=e;return typeof e=="string"&&(s=await o(e)),Po(e)&&(s=await o(e)),Array.isArray(i)?await Za(s,i,a):await Za(s,i,a)}async function Dg(e,t,r){return r={...Cg(),...r},t.encodeURLtoURL?d2t(t,e,r):HB(t,r)?await qB(t,e,r):await t.encode(e,r)}function t8(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return new TextEncoder().encode(t.encodeTextSync(e,r));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function Exe(e,t,r,n){if(e=wu(e),t=wu(t),Er||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function d2t(e,t,r){if(Er)throw new Error(`Writer ${e.name} not supported in browser`);let n=wxe("input");await new Rc(n,"w").write(t);let a=wxe("output"),o=await Exe(n,a,e,r);return(await ca(o)).arrayBuffer()}function wxe(e){return`/tmp/${e}`}var h2t=1/Math.PI*180,m2t=1/180*Math.PI,g2t={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...g2t}};var Lr=globalThis.mathgl.config;function Rj(e,{precision:t=Lr.precision}={}){return e=x2t(e),"".concat(parseFloat(e.toPrecision(t)))}function Ro(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Mj(e){return Axe(e)}function jj(e){return sl(e)}function Axe(e,t){return qj(e,r=>r*m2t,t)}function sl(e,t){return qj(e,r=>r*h2t,t)}function Lj(e,t,r){return qj(e,n=>Math.max(t,Math.min(r,n)))}function eo(e,t,r){let n=Lr.EPSILON;r&&(Lr.EPSILON=r);try{if(e===t)return!0;if(Ro(e)&&Ro(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!eo(e[i],t[i]))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)<=Lr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Lr.EPSILON=n}}function x2t(e){return Math.round(e/Lr.EPSILON)*Lr.EPSILON}function v2t(e){return e.clone?e.clone():new Array(e.length)}function qj(e,t,r){if(Ro(e)){let n=e;r=r||v2t(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}function y2t(e){function t(){var r=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var Zf=class extends y2t(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:Ro(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Lr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Rj(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!eo(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 i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}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(Lr.debug&&!this.validate())throw new Error("math.gl: ".concat(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 b2t(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 ".concat(JSON.stringify(e)));return e}function ep(e,t,r=""){if(Lr.debug&&!b2t(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function hi(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var tp=class extends Zf{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 i=this[n]-t[n];r+=i*i}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 hi(t>=0&&t<this.ELEMENTS,"index is out of range"),zt(this[t])}setComponent(t,r){return hi(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 an=typeof Float32Array<"u"?Float32Array:Array,ob=Math.random;function Fg(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var bir=Math.PI/180;function _2t(){let e=new an(2);return an!=Float32Array&&(e[0]=0,e[1]=0),e}function Txe(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e}function Sxe(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e}function r8(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function n8(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var _ir=function(){let e=_2t();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function i8(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function a8(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function Cxe(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function Dxe(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function o8(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Yd=class extends tp{constructor(t=0,r=0){super(2),Ro(t)&&arguments.length===1?this.copy(t):(Lr.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 Lr.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 n8(this,this,t),this.check()}transformAsVector(t){return i8(this,this,t),this.check()}transformByMatrix3(t){return r8(this,this,t),this.check()}transformByMatrix2x3(t){return Sxe(this,this,t),this.check()}transformByMatrix2(t){return Txe(this,this,t),this.check()}};var Bg={};zn(Bg,{add:()=>T2t,angle:()=>Hj,bezier:()=>L2t,ceil:()=>S2t,clone:()=>w2t,copy:()=>E2t,create:()=>s8,cross:()=>Qd,dist:()=>W2t,distance:()=>Ixe,div:()=>$2t,divide:()=>Oxe,dot:()=>sb,equals:()=>z2t,exactEquals:()=>G2t,floor:()=>C2t,forEach:()=>J2t,fromValues:()=>u8,hermite:()=>j2t,inverse:()=>P2t,len:()=>Vj,length:()=>Fxe,lerp:()=>R2t,max:()=>F2t,min:()=>D2t,mul:()=>V2t,multiply:()=>Bxe,negate:()=>I2t,normalize:()=>Nj,random:()=>q2t,rotateX:()=>Uj,rotateY:()=>Gj,rotateZ:()=>zj,round:()=>k2t,scale:()=>B2t,scaleAndAdd:()=>O2t,set:()=>A2t,slerp:()=>M2t,sqrDist:()=>K2t,sqrLen:()=>X2t,squaredDistance:()=>Pxe,squaredLength:()=>Rxe,str:()=>U2t,sub:()=>H2t,subtract:()=>kxe,transformMat3:()=>ub,transformMat4:()=>Zd,transformQuat:()=>cb,zero:()=>N2t});function s8(){let e=new an(3);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function w2t(e){let t=new an(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Fxe(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function u8(e,t,r){let n=new an(3);return n[0]=e,n[1]=t,n[2]=r,n}function E2t(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function A2t(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function T2t(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function kxe(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Bxe(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Oxe(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function S2t(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function C2t(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function D2t(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 F2t(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 k2t(e,t){return e[0]=Fg(t[0]),e[1]=Fg(t[1]),e[2]=Fg(t[2]),e}function B2t(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function O2t(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 Ixe(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function Pxe(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function Rxe(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function I2t(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function P2t(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function Nj(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function sb(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Qd(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function R2t(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function M2t(e,t,r,n){let i=Math.acos(Math.min(Math.max(sb(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;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 j2t(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function L2t(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,p=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*p,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*p,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*p,e}function q2t(e,t){t=t===void 0?1:t;let r=ob()*2*Math.PI,n=ob()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function Zd(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function ub(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function cb(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,p=n*u-i*s,d=i*p-a*f,h=a*l-n*p,g=n*f-i*l,m=o*2;return l*=m,f*=m,p*=m,d*=2,h*=2,g*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+g,e}function Uj(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function Gj(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function zj(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function Hj(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&sb(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function N2t(e){return e[0]=0,e[1]=0,e[2]=0,e}function U2t(e){return"vec3(".concat(e[0],", ").concat(e[1],", ").concat(e[2],")")}function G2t(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function z2t(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var H2t=kxe,V2t=Bxe,$2t=Oxe,W2t=Ixe,K2t=Pxe,Vj=Fxe,X2t=Rxe,J2t=function(){let e=s8();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var $j=[0,0,0],c8,ne=class extends tp{static get ZERO(){return c8||(c8=new ne(0,0,0),Object.freeze(c8)),c8}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Ro(t)?this.copy(t):(Lr.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 Lr.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 Hj(this,t)}cross(t){return Qd(this,this,t),this.check()}rotateX({radians:t,origin:r=$j}){return Uj(this,this,r,t),this.check()}rotateY({radians:t,origin:r=$j}){return Gj(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=$j}){return zj(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Zd(this,this,t),this.check()}transformAsVector(t){return a8(this,this,t),this.check()}transformByMatrix3(t){return ub(this,this,t),this.check()}transformByMatrix2(t){return Cxe(this,this,t),this.check()}transformByQuaternion(t){return cb(this,this,t),this.check()}};var l8,Mo=class extends tp{static get ZERO(){return l8||(l8=new Mo(0,0,0,0),Object.freeze(l8)),l8}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),Ro(t)&&arguments.length===1?this.copy(t):(Lr.debug&&(zt(t),zt(r),zt(n),zt(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 Lr.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 Zd(this,this,t),this.check()}transformByMatrix3(t){return o8(this,this,t),this.check()}transformByMatrix2(t){return Dxe(this,this,t),this.check()}transformByQuaternion(t){return cb(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Og=class extends Zf{toString(){let t="[";if(Lr.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=" ".concat(this[n*this.RANK+r])}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=" ".concat(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 i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function Mxe(){let e=new an(9);return an!=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 jxe(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}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 Lxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,d=c*a-o*u,h=r*f+n*p+i*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=p*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function qxe(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function Wj(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1],h=r[2],g=r[3],m=r[4],v=r[5],b=r[6],_=r[7],A=r[8];return e[0]=p*n+d*o+h*c,e[1]=p*i+d*s+h*l,e[2]=p*a+d*u+h*f,e[3]=g*n+m*o+v*c,e[4]=g*i+m*s+v*l,e[5]=g*a+m*u+v*f,e[6]=b*n+_*o+A*c,e[7]=b*i+_*s+A*l,e[8]=b*a+_*u+A*f,e}function Nxe(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=p*n+d*o+c,e[7]=p*i+d*s+l,e[8]=p*a+d*u+f,e}function Uxe(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=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*i+p*s,e[2]=d*a+p*u,e[3]=d*o-p*n,e[4]=d*s-p*i,e[5]=d*u-p*a,e[6]=c,e[7]=l,e[8]=f,e}function Kj(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Gxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,v=a*u;return e[0]=1-f-h,e[3]=l-v,e[6]=p+m,e[1]=l+v,e[4]=1-c-h,e[7]=d-g,e[2]=p-m,e[5]=d+g,e[8]=1-c-f,e}var Xj;(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"})(Xj||(Xj={}));var Q2t=Object.freeze([1,0,0,0,1,0,0,0,1]),pr=class extends Og{static get IDENTITY(){return e_t()}static get ZERO(){return Z2t()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return Xj}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(Q2t)}fromObject(t){return this.check()}fromQuaternion(t){return Gxe(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return qxe(this)}transpose(){return jxe(this,this),this.check()}invert(){return Lxe(this,this),this.check()}multiplyLeft(t){return Wj(this,t,this),this.check()}multiplyRight(t){return Wj(this,this,t),this.check()}rotate(t){return Uxe(this,this,t),this.check()}scale(t){return Array.isArray(t)?Kj(this,this,t):Kj(this,this,[t,t]),this.check()}translate(t){return Nxe(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=r8(r||[-0,-0],t,this);break;case 3:n=ub(r||[-0,-0,-0],t,this);break;case 4:n=o8(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(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)}},f8,p8=null;function Z2t(){return f8||(f8=new pr([0,0,0,0,0,0,0,0,0]),Object.freeze(f8)),f8}function e_t(){return p8||(p8=new pr,Object.freeze(p8)),p8}var d8={};zn(d8,{add:()=>T_t,adjoint:()=>o_t,clone:()=>r_t,copy:()=>n_t,create:()=>t_t,decompose:()=>g_t,determinant:()=>Qj,equals:()=>F_t,exactEquals:()=>D_t,frob:()=>A_t,fromQuat:()=>aL,fromQuat2:()=>d_t,fromRotation:()=>c_t,fromRotationTranslation:()=>Hxe,fromRotationTranslationScale:()=>x_t,fromRotationTranslationScaleOrigin:()=>v_t,fromScaling:()=>u_t,fromTranslation:()=>s_t,fromValues:()=>i_t,fromXRotation:()=>l_t,fromYRotation:()=>f_t,fromZRotation:()=>p_t,frustum:()=>oL,getRotation:()=>m_t,getScaling:()=>Vxe,getTranslation:()=>h_t,identity:()=>zxe,invert:()=>Yj,lookAt:()=>cL,mul:()=>k_t,multiply:()=>lb,multiplyScalar:()=>S_t,multiplyScalarAndAdd:()=>C_t,ortho:()=>uL,orthoNO:()=>Wxe,orthoZO:()=>__t,perspective:()=>sL,perspectiveFromFieldOfView:()=>b_t,perspectiveNO:()=>$xe,perspectiveZO:()=>y_t,rotate:()=>tL,rotateX:()=>rL,rotateY:()=>nL,rotateZ:()=>iL,scale:()=>eL,set:()=>a_t,str:()=>E_t,sub:()=>B_t,subtract:()=>Kxe,targetTo:()=>w_t,translate:()=>Zj,transpose:()=>Jj});function t_t(){let e=new an(16);return an!=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 r_t(e){let t=new an(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 n_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],e}function i_t(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g){let m=new an(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=n,m[4]=i,m[5]=a,m[6]=o,m[7]=s,m[8]=u,m[9]=c,m[10]=l,m[11]=f,m[12]=p,m[13]=d,m[14]=h,m[15]=g,m}function a_t(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=h,e[14]=g,e[15]=m,e}function zxe(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 Jj(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=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]=a,e[11]=t[14],e[12]=i,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 Yj(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],v=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,C=n*c-a*s,k=i*c-a*u,R=l*g-f*h,S=l*m-p*h,D=l*v-d*h,I=f*m-p*g,M=f*v-d*g,G=p*v-d*m,z=b*G-_*M+A*I+w*D-C*S+k*R;return z?(z=1/z,e[0]=(s*G-u*M+c*I)*z,e[1]=(i*M-n*G-a*I)*z,e[2]=(g*k-m*C+v*w)*z,e[3]=(p*C-f*k-d*w)*z,e[4]=(u*D-o*G-c*S)*z,e[5]=(r*G-i*D+a*S)*z,e[6]=(m*A-h*k-v*_)*z,e[7]=(l*k-p*A+d*_)*z,e[8]=(o*M-s*D+c*R)*z,e[9]=(n*D-r*M-a*R)*z,e[10]=(h*C-g*A+v*b)*z,e[11]=(f*A-l*C-d*b)*z,e[12]=(s*S-o*I-u*R)*z,e[13]=(r*I-n*S+i*R)*z,e[14]=(g*_-h*w-m*b)*z,e[15]=(l*w-f*_+p*b)*z,e):null}function o_t(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],v=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,C=n*c-a*s,k=i*c-a*u,R=l*g-f*h,S=l*m-p*h,D=l*v-d*h,I=f*m-p*g,M=f*v-d*g,G=p*v-d*m;return e[0]=s*G-u*M+c*I,e[1]=i*M-n*G-a*I,e[2]=g*k-m*C+v*w,e[3]=p*C-f*k-d*w,e[4]=u*D-o*G-c*S,e[5]=r*G-i*D+a*S,e[6]=m*A-h*k-v*_,e[7]=l*k-p*A+d*_,e[8]=o*M-s*D+c*R,e[9]=n*D-r*M-a*R,e[10]=h*C-g*A+v*b,e[11]=f*A-l*C-d*b,e[12]=s*S-o*I-u*R,e[13]=r*I-n*S+i*R,e[14]=g*_-h*w-m*b,e[15]=l*w-f*_+p*b,e}function Qj(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],d=e[12],h=e[13],g=e[14],m=e[15],v=t*o-r*a,b=t*s-n*a,_=r*s-n*o,A=c*h-l*d,w=c*g-f*d,C=l*g-f*h,k=t*C-r*w+n*A,R=a*C-o*w+s*A,S=c*_-l*b+f*v,D=d*_-h*b+g*v;return u*k-i*R+m*S-p*D}function lb(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],d=t[10],h=t[11],g=t[12],m=t[13],v=t[14],b=t[15],_=r[0],A=r[1],w=r[2],C=r[3];return e[0]=_*n+A*s+w*f+C*g,e[1]=_*i+A*u+w*p+C*m,e[2]=_*a+A*c+w*d+C*v,e[3]=_*o+A*l+w*h+C*b,_=r[4],A=r[5],w=r[6],C=r[7],e[4]=_*n+A*s+w*f+C*g,e[5]=_*i+A*u+w*p+C*m,e[6]=_*a+A*c+w*d+C*v,e[7]=_*o+A*l+w*h+C*b,_=r[8],A=r[9],w=r[10],C=r[11],e[8]=_*n+A*s+w*f+C*g,e[9]=_*i+A*u+w*p+C*m,e[10]=_*a+A*c+w*d+C*v,e[11]=_*o+A*l+w*h+C*b,_=r[12],A=r[13],w=r[14],C=r[15],e[12]=_*n+A*s+w*f+C*g,e[13]=_*i+A*u+w*p+C*m,e[14]=_*a+A*c+w*d+C*v,e[15]=_*o+A*l+w*h+C*b,e}function Zj(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,g,m,v;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],p=t[6],d=t[7],h=t[8],g=t[9],m=t[10],v=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=h,e[9]=g,e[10]=m,e[11]=v,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+g*a+t[13],e[14]=u*n+p*i+m*a+t[14],e[15]=c*n+d*i+v*a+t[15]),e}function eL(e,t,r){let n=r[0],i=r[1],a=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]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function tL(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,p,d,h,g,m,v,b,_,A,w,C,k,R,S,D,I,M,G,z,X;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],p=t[1],d=t[2],h=t[3],g=t[4],m=t[5],v=t[6],b=t[7],_=t[8],A=t[9],w=t[10],C=t[11],k=i*i*l+u,R=a*i*l+o*c,S=o*i*l-a*c,D=i*a*l-o*c,I=a*a*l+u,M=o*a*l+i*c,G=i*o*l+a*c,z=a*o*l-i*c,X=o*o*l+u,e[0]=f*k+g*R+_*S,e[1]=p*k+m*R+A*S,e[2]=d*k+v*R+w*S,e[3]=h*k+b*R+C*S,e[4]=f*D+g*I+_*M,e[5]=p*D+m*I+A*M,e[6]=d*D+v*I+w*M,e[7]=h*D+b*I+C*M,e[8]=f*G+g*z+_*X,e[9]=p*G+m*z+A*X,e[10]=d*G+v*z+w*X,e[11]=h*G+b*z+C*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function rL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=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]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e}function nL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=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]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e}function iL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=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]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e}function s_t(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 u_t(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 c_t(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function l_t(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 f_t(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 p_t(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 Hxe(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,d=i*u,h=i*c,g=a*c,m=o*s,v=o*u,b=o*c;return e[0]=1-(d+g),e[1]=f+b,e[2]=p-v,e[3]=0,e[4]=f-b,e[5]=1-(l+g),e[6]=h+m,e[7]=0,e[8]=p+v,e[9]=h-m,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 d_t(e,t){let r=new an(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),Hxe(e,t,r),e}function h_t(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Vxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function m_t(e,t){let r=new an(3);Vxe(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,p=t[8]*n,d=t[9]*i,h=t[10]*a,g=o+l+h,m=0;return g>0?(m=Math.sqrt(g+1)*2,e[3]=.25*m,e[0]=(f-d)/m,e[1]=(p-u)/m,e[2]=(s-c)/m):o>l&&o>h?(m=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/m,e[0]=.25*m,e[1]=(s+c)/m,e[2]=(p+u)/m):l>h?(m=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/m,e[0]=(s+c)/m,e[1]=.25*m,e[2]=(f+d)/m):(m=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/m,e[0]=(p+u)/m,e[1]=(f+d)/m,e[2]=.25*m),e}function g_t(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],h=1/r[1],g=1/r[2],m=i*d,v=a*h,b=o*g,_=s*d,A=u*h,w=c*g,C=l*d,k=f*h,R=p*g,S=m+A+R,D=0;return S>0?(D=Math.sqrt(S+1)*2,e[3]=.25*D,e[0]=(w-k)/D,e[1]=(C-b)/D,e[2]=(v-_)/D):m>A&&m>R?(D=Math.sqrt(1+m-A-R)*2,e[3]=(w-k)/D,e[0]=.25*D,e[1]=(v+_)/D,e[2]=(C+b)/D):A>R?(D=Math.sqrt(1+A-m-R)*2,e[3]=(C-b)/D,e[0]=(v+_)/D,e[1]=.25*D,e[2]=(w+k)/D):(D=Math.sqrt(1+R-m-A)*2,e[3]=(v-_)/D,e[0]=(C+b)/D,e[1]=(w+k)/D,e[2]=.25*D),e}function x_t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,p=i*c,d=i*l,h=a*c,g=a*l,m=o*l,v=s*u,b=s*c,_=s*l,A=n[0],w=n[1],C=n[2];return e[0]=(1-(h+m))*A,e[1]=(p+_)*A,e[2]=(d-b)*A,e[3]=0,e[4]=(p-_)*w,e[5]=(1-(f+m))*w,e[6]=(g+v)*w,e[7]=0,e[8]=(d+b)*C,e[9]=(g-v)*C,e[10]=(1-(f+h))*C,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function v_t(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,p=a*c,d=a*l,h=a*f,g=o*l,m=o*f,v=s*f,b=u*c,_=u*l,A=u*f,w=n[0],C=n[1],k=n[2],R=i[0],S=i[1],D=i[2],I=(1-(g+v))*w,M=(d+A)*w,G=(h-_)*w,z=(d-A)*C,X=(1-(p+v))*C,Y=(m+b)*C,le=(h+_)*k,ue=(m-b)*k,ce=(1-(p+g))*k;return e[0]=I,e[1]=M,e[2]=G,e[3]=0,e[4]=z,e[5]=X,e[6]=Y,e[7]=0,e[8]=le,e[9]=ue,e[10]=ce,e[11]=0,e[12]=r[0]+R-(I*R+z*S+le*D),e[13]=r[1]+S-(M*R+X*S+ue*D),e[14]=r[2]+D-(G*R+Y*S+ce*D),e[15]=1,e}function aL(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,v=a*u;return e[0]=1-f-h,e[1]=l+v,e[2]=p-m,e[3]=0,e[4]=l-v,e[5]=1-c-h,e[6]=d+g,e[7]=0,e[8]=p+m,e[9]=d-g,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function oL(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function $xe(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var sL=$xe;function y_t(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function b_t(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*c*.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 Wxe(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var uL=Wxe;function __t(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function cL(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],g=t[1],m=t[2],v=n[0],b=n[1],_=n[2],A=r[0],w=r[1],C=r[2];return Math.abs(h-A)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(m-C)<1e-6?zxe(e):(f=h-A,p=g-w,d=m-C,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=b*d-_*p,o=_*f-v*d,s=v*p-b*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=p*s-d*o,c=d*a-f*s,l=f*o-p*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(a*h+o*g+s*m),e[13]=-(u*h+c*g+l*m),e[14]=-(f*h+p*g+d*m),e[15]=1,e)}function w_t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-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=u*p-c*f,g=c*l-s*p,m=s*f-u*l;return d=h*h+g*g+m*m,d>0&&(d=1/Math.sqrt(d),h*=d,g*=d,m*=d),e[0]=h,e[1]=g,e[2]=m,e[3]=0,e[4]=f*m-p*g,e[5]=p*h-l*m,e[6]=l*g-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function E_t(e){return"mat4(".concat(e[0],", ").concat(e[1],", ").concat(e[2],", ").concat(e[3],", ").concat(e[4],", ").concat(e[5],", ").concat(e[6],", ").concat(e[7],", ").concat(e[8],", ").concat(e[9],", ").concat(e[10],", ").concat(e[11],", ").concat(e[12],", ").concat(e[13],", ").concat(e[14],", ").concat(e[15],")")}function A_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 T_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 Kxe(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 S_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 C_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 D_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 F_t(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],p=e[10],d=e[11],h=e[12],g=e[13],m=e[14],v=e[15],b=t[0],_=t[1],A=t[2],w=t[3],C=t[4],k=t[5],R=t[6],S=t[7],D=t[8],I=t[9],M=t[10],G=t[11],z=t[12],X=t[13],Y=t[14],le=t[15];return Math.abs(r-b)<=1e-6*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(n-_)<=1e-6*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(i-A)<=1e-6*Math.max(1,Math.abs(i),Math.abs(A))&&Math.abs(a-w)<=1e-6*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(o-C)<=1e-6*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(s-k)<=1e-6*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(u-R)<=1e-6*Math.max(1,Math.abs(u),Math.abs(R))&&Math.abs(c-S)<=1e-6*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(l-D)<=1e-6*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(f-I)<=1e-6*Math.max(1,Math.abs(f),Math.abs(I))&&Math.abs(p-M)<=1e-6*Math.max(1,Math.abs(p),Math.abs(M))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-z)<=1e-6*Math.max(1,Math.abs(h),Math.abs(z))&&Math.abs(g-X)<=1e-6*Math.max(1,Math.abs(g),Math.abs(X))&&Math.abs(m-Y)<=1e-6*Math.max(1,Math.abs(m),Math.abs(Y))&&Math.abs(v-le)<=1e-6*Math.max(1,Math.abs(v),Math.abs(le))}var k_t=lb,B_t=Kxe;function O_t(){let e=new an(4);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Xxe(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 Jxe(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 Yxe(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function Qxe(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function Zxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function eve(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function tve(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function rve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function nve(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,d=-o*n-s*i-u*a;return e[0]=l*c+d*-o+f*-u-p*-s,e[1]=f*c+d*-s+p*-o-l*-u,e[2]=p*c+d*-u+l*-s-f*-o,e[3]=t[3],e}var Zir=function(){let e=O_t();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(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 pL;(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"})(pL||(pL={}));var P_t=45*Math.PI/180,R_t=1,lL=.1,fL=500,M_t=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),kr=class extends Og{static get IDENTITY(){return L_t()}static get ZERO(){return j_t()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return pL}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,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=h,this[14]=g,this[15]=m,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=a,this[2]=c,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]=g,this[12]=i,this[13]=u,this[14]=p,this[15]=m,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(M_t)}fromObject(t){return this.check()}fromQuaternion(t){return aL(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=lL,far:s=fL}=t;return s===1/0?q_t(this,r,n,i,a,o):oL(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return cL(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=lL,far:s=fL}=t;return uL(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=P_t,aspect:n=R_t,focalDistance:i=1,near:a=lL,far:o=fL}=t;ive(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return ive(r),sL(this,r,n,i,a),this.check()}determinant(){return Qj(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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return Jj(this,this),this.check()}invert(){return Yj(this,this),this.check()}multiplyLeft(t){return lb(this,t,this),this.check()}multiplyRight(t){return lb(this,this,t),this.check()}rotateX(t){return rL(this,this,t),this.check()}rotateY(t){return nL(this,this,t),this.check()}rotateZ(t){return iL(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return tL(this,this,t,r),this.check()}scale(t){return eL(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return Zj(this,this,t),this.check()}transform(t,r){return t.length===4?(r=rve(r||[-0,-0,-0,-0],t,this),ep(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=n8(r||[-0,-0],t,this);break;case 3:i=Zd(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=i8(r||[-0,-0],t,this);break;case 3:n=a8(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(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])}},h8,m8;function j_t(){return h8||(h8=new kr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(h8)),h8}function L_t(){return m8||(m8=new kr,Object.freeze(m8)),m8}function ive(e){if(e>Math.PI*2)throw Error("expected radians")}function q_t(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,p=-2*a;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]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function ave(){let e=new an(4);return an!=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 dL(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 hL(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function sve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function uve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function cve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function lve(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function fb(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],p,d,h,g,m;return p=i*u+a*c+o*l+s*f,p<0&&(p=-p,u=-u,c=-c,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),m=Math.sin(d),h=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(h=1-n,g=n),e[0]=h*i+g*u,e[1]=h*a+g*c,e[2]=h*o+g*l,e[3]=h*s+g*f,e}function fve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*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 mL(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 i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var dve=Xxe;var hve=Jxe,mve=eve,gve=tve,xve=Yxe;var vve=Qxe;var yve=Zxe;var bve=function(){let e=s8(),t=u8(1,0,0),r=u8(0,1,0);return function(n,i,a){let o=sb(i,a);return o<-.999999?(Qd(e,t,i),Vj(e)<1e-6&&Qd(e,r,i),Nj(e,e),dL(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Qd(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,yve(n,n))}}(),dar=function(){let e=ave(),t=ave();return function(r,n,i,a,o,s){return fb(e,n,o,s),fb(t,i,a,s),fb(r,e,t,2*s*(1-s)),r}}(),har=function(){let e=Mxe();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],yve(t,mL(t,e))}}();var N_t=[0,0,0,1],Vu=class extends Zf{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}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,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 mL(this,t),this.check()}fromAxisRotation(t,r){return dL(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 xve(this)}lengthSquared(){return vve(this)}dot(t){return mve(this,t)}rotationTo(t,r){return bve(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 hL(this,this,t),this.check()}multiplyLeft(t){return hL(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 uve(this,this,t),this.check()}rotateZ(t){return cve(this,this,t),this.check()}scale(t){return hve(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=N_t,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return fb(this,i,a,o),this.check()}transformVector4(t,r=new Mo){return nve(r,t,this),ep(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 Bs={};zn(Bs,{EPSILON1:()=>U_t,EPSILON10:()=>J_t,EPSILON11:()=>Y_t,EPSILON12:()=>Q_t,EPSILON13:()=>Z_t,EPSILON14:()=>ewt,EPSILON15:()=>twt,EPSILON16:()=>rwt,EPSILON17:()=>nwt,EPSILON18:()=>iwt,EPSILON19:()=>awt,EPSILON2:()=>G_t,EPSILON20:()=>owt,EPSILON3:()=>z_t,EPSILON4:()=>H_t,EPSILON5:()=>V_t,EPSILON6:()=>$_t,EPSILON7:()=>W_t,EPSILON8:()=>K_t,EPSILON9:()=>X_t,PI_OVER_FOUR:()=>uwt,PI_OVER_SIX:()=>cwt,PI_OVER_TWO:()=>swt,TWO_PI:()=>lwt});var U_t=.1,G_t=.01,z_t=.001,H_t=1e-4,V_t=1e-5,$_t=1e-6,W_t=1e-7,K_t=1e-8,X_t=1e-9,J_t=1e-10,Y_t=1e-11,Q_t=1e-12,Z_t=1e-13,ewt=1e-14,twt=1e-15,rwt=1e-16,nwt=1e-17,iwt=1e-18,awt=1e-19,owt=1e-20,swt=Math.PI/2,uwt=Math.PI/4,cwt=Math.PI/6,lwt=Math.PI*2;var ul=6356752314245179e-9,fwt={radii:[6378137,6378137,ul],radiiSquared:[6378137*6378137,6378137*6378137,ul*ul],oneOverRadii:[1/6378137,1/6378137,1/ul],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(ul*ul)],maximumRadius:Math.max(6378137,6378137,ul),centerToleranceSquared:.1};function g8(e){return e}var $ar=new ne;function pwt(e,t=[],r=g8){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 pwt(e,t,Lr._cartographicRadians?g8:Mj)}function dwt(e,t,r=g8){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 dwt(e,t,Lr._cartographicRadians?g8:jj)}var Eve=1e-14,hwt=new ne,Ave={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"}},gL={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},pb={east:new ne,north:new ne,up:new ne,west:new ne,south:new ne,down:new ne},mwt=new ne,gwt=new ne,xwt=new ne;function xL(e,t,r,n,i,a){let o=Ave[t]&&Ave[t][r];hi(o&&(!n||n===o));let s,u,c,l=hwt.copy(i);if(eo(l.x,0,Eve)&&eo(l.y,0,Eve)){let p=Math.sign(l.z);s=mwt.fromArray(gL[t]),t!=="east"&&t!=="west"&&s.scale(p),u=gwt.fromArray(gL[r]),r!=="east"&&r!=="west"&&u.scale(p),c=xwt.fromArray(gL[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=pb;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:g,west:m,south:v}=pb;g.copy(p).scale(-1),m.copy(d).scale(-1),v.copy(h).scale(-1),s=pb[t],u=pb[r],c=pb[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var Ig=new ne,vwt=new ne,ywt=new ne;function Tve(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;Ig.from(e);let o=Ig.x,s=Ig.y,u=Ig.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,h=u*u*f*f,g=p+d+h,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let v=vwt;if(v.copy(e).scale(m),g<a)return v.to(r);let b=i.x,_=i.y,A=i.z,w=ywt;w.set(v.x*b*2,v.y*_*2,v.z*A*2);let C=(1-m)*Ig.len()/(.5*w.len()),k=0,R,S,D,I;do{C-=k,R=1/(1+C*b),S=1/(1+C*_),D=1/(1+C*A);let M=R*R,G=S*S,z=D*D,X=M*R,Y=G*S,le=z*D;I=p*M+d*G+h*z-1;let ce=-2*(p*X*b+d*Y*_+h*le*A);k=I/ce}while(Math.abs(I)>Bs.EPSILON12);return Ig.scale([R,S,D]).to(r)}var x8=new ne,Sve=new ne,wwt=new ne,Os=new ne,Ewt=new ne,v8=new ne,Nt=class{constructor(t=0,r=0,n=0){gt(this,"radii",void 0),gt(this,"radiiSquared",void 0),gt(this,"radiiToTheFourth",void 0),gt(this,"oneOverRadii",void 0),gt(this,"oneOverRadiiSquared",void 0),gt(this,"minimumRadius",void 0),gt(this,"maximumRadius",void 0),gt(this,"centerToleranceSquared",Bs.EPSILON1),gt(this,"squaredXOverSquaredZ",void 0),hi(t>=0),hi(r>=0),hi(n>=0),this.radii=new ne(t,r,n),this.radiiSquared=new ne(t*t,r*r,n*n),this.radiiToTheFourth=new ne(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new ne(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new ne(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=Sve,i=wwt,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){v8.from(t);let n=this.scaleToGeodeticSurface(v8,Os);if(!n)return;let i=this.geodeticSurfaceNormal(n,Sve),a=Ewt;a.copy(v8).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Bg.dot(a,v8))*Bg.length(a);return wve([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new kr){return xL(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new kr){return xL(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return x8.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=_ve(t),i=n[0],a=n[1],o=Math.cos(a);return x8.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),x8.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return x8.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return Tve(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Os.from(t);let n=Os.x,i=Os.y,a=Os.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return Os.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Os.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Os.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){hi(eo(this.radii.x,this.radii.y,Bs.EPSILON15)),hi(this.radii.z>0),Os.from(t);let i=Os.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Os.set(0,0,i).to(n)}};gt(Nt,"WGS84",new Nt(6378137,6378137,ul));var mi={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var hor=new ne,mor=new ne;var db=new ne,Cve=new ne,la=class{constructor(t=[0,0,0],r=0){gt(this,"center",void 0),gt(this,"radius",void 0),this.radius=-0,this.center=new ne,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=db.from(r),this.center=new ne().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 la(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=db.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return Cve.copy(o).scale((-n+u)/s).add(r),this.center.copy(Cve),this.radius=u,this}expand(t){let n=db.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=d8.getScaling(db,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=db.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?mi.OUTSIDE:a<n?mi.INTERSECTING:mi.INSIDE}};var Awt=new ne,Twt=new ne,y8=new ne,b8=new ne,_8=new ne,Swt=new ne,Cwt=new ne,cl={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},gi=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){gt(this,"center",void 0),gt(this,"halfAxes",void 0),this.center=new ne().from(t),this.halfAxes=new pr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ne(t).len(),new ne(r).len(),new ne(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new ne(t).normalize(),a=new ne(r).normalize(),o=new ne(n).normalize();return new Vu().fromMatrix3(new pr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Vu(n),a=new pr().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new ne().from(t),this.halfAxes=a,this}clone(){return new gi(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new la){let r=this.halfAxes,n=r.getColumn(0,y8),i=r.getColumn(1,b8),a=r.getColumn(2,_8),o=Awt.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[cl.COLUMN0ROW0]+o*i[cl.COLUMN0ROW1]+s*i[cl.COLUMN0ROW2])+Math.abs(a*i[cl.COLUMN1ROW0]+o*i[cl.COLUMN1ROW1]+s*i[cl.COLUMN1ROW2])+Math.abs(a*i[cl.COLUMN2ROW0]+o*i[cl.COLUMN2ROW1]+s*i[cl.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?mi.OUTSIDE:c>=u?mi.INSIDE:mi.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=Twt.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,y8),a=n.getColumn(1,b8),o=n.getColumn(2,_8),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,y8),c=s.getColumn(1,b8),l=s.getColumn(2,_8),f=Swt.copy(u).add(c).add(l).add(o),p=Cwt.copy(f).subtract(t),d=r.dot(p);return i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,y8);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,b8);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,_8);return i.transformAsPoint(t),this.halfAxes=new pr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Dve=new ne,Fve=new ne,ll=class{constructor(t=[0,0,1],r=0){gt(this,"normal",void 0),gt(this,"distance",void 0),this.normal=new ne,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return hi(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,i){return this.normal.set(t,r,n),hi(eo(this.normal.len(),1)),this.distance=i,this}clone(){return new ll(this.normal,this.distance)}equals(t){return eo(this.distance,t.distance)&&eo(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Fve.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),i=this.getPointDistance(n),a=Fve.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var kve=[new ne([1,0,0]),new ne([0,1,0]),new ne([0,0,1])],Bve=new ne,Dwt=new ne,jo=class{constructor(t=[]){gt(this,"planes",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*kve.length;let r=t.center,n=t.radius,i=0;for(let a of kve){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new ll),s||(s=this.planes[i+1]=new ll);let u=Bve.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=Bve.copy(a).scale(n).add(r),l=Dwt.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=mi.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case mi.OUTSIDE:return mi.OUTSIDE;case mi.INTERSECTING:r=mi.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(hi(Number.isFinite(r),"parentPlaneMask is required."),r===jo.MASK_OUTSIDE||r===jo.MASK_INSIDE)return r;let n=jo.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===mi.OUTSIDE)return jo.MASK_OUTSIDE;u===mi.INTERSECTING&&(n|=o)}return n}};gt(jo,"MASK_OUTSIDE",4294967295);gt(jo,"MASK_INSIDE",0);gt(jo,"MASK_INDETERMINATE",2147483647);var Lor=new ne,qor=new ne,Nor=new ne,Uor=new ne,Gor=new ne;var kwt=new ne,Bwt=new ne,Owt=new ne,Iwt=new ne,Pwt=new ne,Rwt=new ne,Mwt=new ne,Pg=new ne,jwt=new ne,Lwt=new ne,qwt=new ne,Nwt=new ne;function vL(e,t=new la){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=Mwt.copy(e[0]),n=kwt.copy(r),i=Bwt.copy(r),a=Owt.copy(r),o=Iwt.copy(r),s=Pwt.copy(r),u=Rwt.copy(r);for(let C of e){r.copy(C);let k=r.x,R=r.y,S=r.z;k<n.x&&n.copy(r),k>o.x&&o.copy(r),R<i.y&&i.copy(r),R>s.y&&s.copy(r),S<a.z&&a.copy(r),S>u.z&&u.copy(r)}let c=Pg.copy(o).subtract(n).magnitudeSquared(),l=Pg.copy(s).subtract(i).magnitudeSquared(),f=Pg.copy(u).subtract(a).magnitudeSquared(),p=n,d=o,h=c;l>h&&(h=l,p=i,d=s),f>h&&(h=f,p=a,d=u);let g=jwt;g.x=(p.x+d.x)*.5,g.y=(p.y+d.y)*.5,g.z=(p.z+d.z)*.5;let m=Pg.copy(d).subtract(g).magnitudeSquared(),v=Math.sqrt(m),b=Lwt;b.x=n.x,b.y=i.y,b.z=a.z;let _=qwt;_.x=o.x,_.y=s.y,_.z=u.z;let A=Nwt.copy(b).add(_).multiplyByScalar(.5),w=0;for(let C of e){r.copy(C);let k=Pg.copy(r).subtract(A).magnitude();k>w&&(w=k);let R=Pg.copy(r).subtract(g).magnitudeSquared();if(R>m){let S=Math.sqrt(R);v=(v+S)*.5,m=v*v;let D=S-v;g.x=(v*g.x+D*r.x)/S,g.y=(v*g.y+D*r.y)/S,g.z=(v*g.z+D*r.z)/S}}return v<w?(g.to(t.center),t.radius=v):(A.to(t.center),t.radius=w),t}var $u=new pr,Uwt=new pr,Gwt=new pr,w8=new pr,Ove=new pr;function _L(e,t={}){let r=Bs.EPSILON20,n=10,i=0,a=0,o=Uwt,s=Gwt;o.identity(),s.copy(e);let u=r*zwt(s);for(;a<n&&Hwt(s)>u;)Vwt(s,w8),Ove.copy(w8).transpose(),s.multiplyRight(w8),s.multiplyLeft(Ove),o.multiplyRight(w8),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function zwt(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var yL=[1,0,0],bL=[2,2,1];function Hwt(e){let t=0;for(let r=0;r<3;++r){let n=e[$u.getElementIndex(bL[r],yL[r])];t+=2*n*n}return Math.sqrt(t)}function Vwt(e,t){let r=Bs.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[$u.getElementIndex(bL[c],yL[c])]);l>n&&(i=c,n=l)}let a=yL[i],o=bL[i],s=1,u=0;if(Math.abs(e[$u.getElementIndex(o,a)])>r){let c=e[$u.getElementIndex(o,o)],l=e[$u.getElementIndex(a,a)],f=e[$u.getElementIndex(o,a)],p=(c-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),u=d*s}return pr.IDENTITY.to(t),t[$u.getElementIndex(a,a)]=t[$u.getElementIndex(o,o)]=s,t[$u.getElementIndex(o,a)]=u,t[$u.getElementIndex(a,o)]=-u,t}var rp=new ne,Wwt=new ne,Kwt=new ne,Xwt=new ne,Jwt=new ne,Ywt=new pr,Qwt={diagonal:new pr,unitary:new pr};function wL(e,t=new gi){if(!e||e.length===0)return t.halfAxes=new pr([0,0,0,0,0,0,0,0,0]),t.center=new ne,t;let r=e.length,n=new ne(0,0,0);for(let S of e)n.add(S);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let S of e){let D=rp.copy(S).subtract(n);a+=D.x*D.x,o+=D.x*D.y,s+=D.x*D.z,u+=D.y*D.y,c+=D.y*D.z,l+=D.z*D.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=Ywt;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:p}=_L(f,Qwt),d=t.halfAxes.copy(p),h=d.getColumn(0,Kwt),g=d.getColumn(1,Xwt),m=d.getColumn(2,Jwt),v=-Number.MAX_VALUE,b=-Number.MAX_VALUE,_=-Number.MAX_VALUE,A=Number.MAX_VALUE,w=Number.MAX_VALUE,C=Number.MAX_VALUE;for(let S of e)rp.copy(S),v=Math.max(rp.dot(h),v),b=Math.max(rp.dot(g),b),_=Math.max(rp.dot(m),_),A=Math.min(rp.dot(h),A),w=Math.min(rp.dot(g),w),C=Math.min(rp.dot(m),C);h=h.multiplyByScalar(.5*(A+v)),g=g.multiplyByScalar(.5*(w+b)),m=m.multiplyByScalar(.5*(C+_)),t.center.copy(h).add(g).add(m);let k=Wwt.set(v-A,b-w,_-C).multiplyByScalar(.5),R=new pr([k[0],0,0,0,k[1],0,0,0,k[2]]);return t.halfAxes.multiplyRight(R),t}function Mve(e){return e!=null}var _sr=new ne,Zwt=new ne,eEt=new ne,tEt=new ne,eh=new ne,Ive=new ne,Pve=new ne,Rve=new ne;function hb(e,t,r){if(Et(e,"3D Tile: boundingVolume must be defined"),e.box)return jve(e.box,t,r);if(e.region)return nEt(e.region);if(e.sphere)return rEt(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function jve(e,t,r){let n=new ne(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Vu;l.fromArray(e,6);let f=new ne([1,0,0]),p=new ne([0,1,0]),d=new ne([0,0,1]);f.transformByQuaternion(l),f.scale(c[0]),p.transformByQuaternion(l),p.scale(c[1]),d.transformByQuaternion(l),d.scale(c[2]),i=[...f.toArray(),...p.toArray(),...d.toArray()]}else i=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let a=t.transformAsVector(i.slice(0,3)),o=t.transformAsVector(i.slice(3,6)),s=t.transformAsVector(i.slice(6,9)),u=new pr([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return Mve(r)?(r.center=n,r.halfAxes=u,r):new gi(n,u)}function rEt(e,t,r){let n=new ne(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(Zwt),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return Mve(r)?(r.center=n,r.radius=o,r):new la(n,o)}function nEt(e){let[t,r,n,i,a,o]=e,s=Nt.WGS84.cartographicToCartesian([sl(t),sl(i),a],eEt),u=Nt.WGS84.cartographicToCartesian([sl(n),sl(r),o],tEt),c=new ne().addVectors(s,u).multiplyByScalar(.5);return Nt.WGS84.cartesianToCartographic(c,eh),Nt.WGS84.cartographicToCartesian([sl(n),eh[1],eh[2]],Ive),Nt.WGS84.cartographicToCartesian([eh[0],sl(i),eh[2]],Pve),Nt.WGS84.cartographicToCartesian([eh[0],eh[1],o],Rve),jve([...c,...Ive.subtract(c),...Pve.subtract(c),...Rve.subtract(c)],new kr)}var Rg="4.3.0-alpha.5";var Lo={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},Ssr=Object.keys(Lo),np={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function EL(e,t,r){Et(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function Lve(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 E8="4.3.0-alpha.5";var qve={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:E8,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}};function Uve(e,t,r){let n=Gve(t.metadata),i=[],a=iEt(t.attributes);for(let o in e){let s=e[o],u=Nve(o,s,a[o]);i.push(u)}if(r){let o=Nve("indices",r);i.push(o)}return{fields:i,metadata:n}}function iEt(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Nve(e,t,r){let n=r?Gve(r.metadata):void 0;return Pj(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 zve={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},aEt={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},oEt=4,mb=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 i=this.decoder.GetEncodedGeometryType(n),a=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,a);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,a);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!a.ptr){let p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}let s=this._getDracoLoaderData(a,i,r),u=this._getMeshData(a,s,r),c=Ij(u.attributes),l=Uve(u.attributes,s,u.indices);return{loader:"draco",loaderData:s,header:{vertexCount:a.num_points(),boundingBox:c},...u,schema:l}}finally{this.draco.destroy(n),a&&this.draco.destroy(a)}}_getDracoLoaderData(t,r,n){let i=this._getTopLevelMetadata(t),a=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:i,attributes:a}}_getDracoAttributes(t,r){let n={};for(let i=0;i<t.num_attributes();i++){let a=this.decoder.GetAttribute(t,i),o=this._getAttributeMetadata(t,i);n[a.unique_id()]={unique_id:a.unique_id(),attribute_type:a.attribute_type(),data_type:a.data_type(),num_components:a.num_components(),byte_offset:a.byte_offset(),byte_stride:a.byte_stride(),normalized:a.normalized(),attribute_index:i,metadata:o};let s=this._getQuantizationTransform(a,r);s&&(n[a.unique_id()].quantization_transform=s);let u=this._getOctahedronTransform(a,r);u&&(n[a.unique_id()].octahedron_transform=u)}return n}_getMeshData(t,r,n){let i=this._getMeshAttributes(r,t,n);if(!i.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:i,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(t,r,n){let i={};for(let a of Object.values(t.attributes)){let o=this._deduceAttributeName(a,n);a.name=o;let s=this._getAttributeValues(r,a);if(s){let{value:u,size:c}=s;i[o]={value:u,size:c,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}}return i}_getTriangleListIndices(t){let n=t.num_faces()*3,i=n*oEt,a=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(t,i,a),new Uint32Array(this.draco.HEAPF32.buffer,a,n).slice()}finally{this.draco._free(a)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),cEt(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=aEt[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let i=r.num_components,o=t.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=sEt(this.draco,n),c,l=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,f,u,s,l),c=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:c,size:i}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[o,s]of Object.entries(r.extraAttributes||{}))if(s===n)return o;let i=t.attribute_type;for(let o in zve)if(this.draco[o]===i)return zve[o];let a=r.attributeNameEntry||"name";return t.metadata[a]?t.metadata[a].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 i=0;i<n;i++){let a=this.metadataQuerier.GetEntryName(t,i);r[a]=this._getDracoMetadataField(t,a)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let i=uEt(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,i=[...r,...n];for(let a of i)this.decoder.SkipAttributeTransform(this.draco[a])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){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,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){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 sEt(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 uEt(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function cEt(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var lEt="1.5.6",fEt="1.4.1",AL=`https://www.gstatic.com/draco/versioned/decoders/${lEt}`,An={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},ip={[An.DECODER]:`${AL}/${An.DECODER}`,[An.DECODER_WASM]:`${AL}/${An.DECODER_WASM}`,[An.FALLBACK_DECODER]:`${AL}/${An.FALLBACK_DECODER}`,[An.ENCODER]:`https://raw.githubusercontent.com/google/draco/${fEt}/javascript/${An.ENCODER}`},TL;async function Hve(e){let t=e.modules||{};return t.draco3d?TL||(TL=t.draco3d.createDecoderModule({}).then(r=>({draco:r}))):TL||(TL=pEt(e)),await TL}async function pEt(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await bu(ip[An.FALLBACK_DECODER],"draco",e,An.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await bu(ip[An.DECODER],"draco",e,An.DECODER),await bu(ip[An.DECODER_WASM],"draco",e,An.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await dEt(t,r)}function dEt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var SL={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:E8,worker:!0,options:{draco:{},source:null}};var Mg={...qve,parse:hEt};async function hEt(e,t){let{draco:r}=await Hve(t),n=new mb(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var mEt={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},On={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},xt={...mEt,...On};var CL={[On.DOUBLE]:Float64Array,[On.FLOAT]:Float32Array,[On.UNSIGNED_SHORT]:Uint16Array,[On.UNSIGNED_INT]:Uint32Array,[On.UNSIGNED_BYTE]:Uint8Array,[On.BYTE]:Int8Array,[On.SHORT]:Int16Array,[On.INT]:Int32Array},gEt={DOUBLE:On.DOUBLE,FLOAT:On.FLOAT,UNSIGNED_SHORT:On.UNSIGNED_SHORT,UNSIGNED_INT:On.UNSIGNED_INT,UNSIGNED_BYTE:On.UNSIGNED_BYTE,BYTE:On.BYTE,SHORT:On.SHORT,INT:On.INT},DL="Failed to convert GL type",Ji=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in CL)if(CL[r]===t)return r;throw new Error(DL)}static fromName(t){let r=gEt[t];if(!r)throw new Error(DL);return r}static getArrayType(t){switch(t){case On.UNSIGNED_SHORT_5_6_5:case On.UNSIGNED_SHORT_4_4_4_4:case On.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=CL[t];if(!r)throw new Error(DL);return r}}static getByteSize(t){return Ji.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Ji.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/Ji.getByteSize(t));let a=Ji.getArrayType(t);return new a(r,n,i)}};function Vve(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function FL(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,i=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=i<<3,t}var eur=1/256;var tur=new Yd,rur=new ne,nur=new Yd,iur=new Yd,aur=new Uint8Array(1);function $ve(e,t=255){return Lj(e,0,t)/t*2-1}function Wve(e){return e<0?-1:1}function Kve(e,t,r,n){if(Vve(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=$ve(e,r),n.y=$ve(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*Wve(i),n.y=(1-Math.abs(i))*Wve(n.y)}return n.normalize()}function kL(e,t,r){return Kve(e,t,255,r)}function A8(e){return(e%1+1)%1}var xEt=1/Math.PI*180,vEt=1/180*Math.PI,yEt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...yEt}};var on=globalThis.mathgl.config;function BL(e,{precision:t=on.precision}={}){return e=bEt(e),`${parseFloat(e.toPrecision(t))}`}function Wu(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function OL(e){return Xve(e)}function IL(e){return Jve(e)}function Xve(e,t){return Yve(e,r=>r*vEt,t)}function Jve(e,t){return Yve(e,r=>r*xEt,t)}function to(e,t,r){let n=on.EPSILON;r&&(on.EPSILON=r);try{if(e===t)return!0;if(Wu(e)&&Wu(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!to(e[i],t[i]))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)<=on.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{on.EPSILON=n}}function bEt(e){return Math.round(e/on.EPSILON)*on.EPSILON}function _Et(e){return e.clone?e.clone():new Array(e.length)}function Yve(e,t,r){if(Wu(e)){let n=e;r=r||_Et(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}var ap=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:Wu(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(on)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+BL(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(!to(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 i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}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(on.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 wEt(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 dr(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function op(e,t,r=""){if(on.debug&&!wEt(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function xi(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var jg=class extends ap{get x(){return this[0]}set x(t){this[0]=dr(t)}get y(){return this[1]}set y(t){this[1]=dr(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 i=this[n]-t[n];r+=i*i}return dr(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return dr(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 xi(t>=0&&t<this.ELEMENTS,"index is out of range"),dr(this[t])}setComponent(t,r){return xi(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 sn=typeof Float32Array<"u"?Float32Array:Array,gb=Math.random;function Lg(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var jur=Math.PI/180;function EEt(){let e=new sn(2);return sn!=Float32Array&&(e[0]=0,e[1]=0),e}function Qve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function Zve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var Lur=function(){let e=EEt();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function eye(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function T8(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function tye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function rye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function S8(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Ng={};zn(Ng,{add:()=>DEt,angle:()=>LL,bezier:()=>UEt,ceil:()=>FEt,clone:()=>TEt,copy:()=>SEt,create:()=>C8,cross:()=>th,dist:()=>JEt,distance:()=>sye,div:()=>XEt,divide:()=>oye,dot:()=>xb,equals:()=>$Et,exactEquals:()=>VEt,floor:()=>kEt,forEach:()=>ZEt,fromValues:()=>D8,hermite:()=>NEt,inverse:()=>jEt,len:()=>qL,length:()=>nye,lerp:()=>LEt,max:()=>OEt,min:()=>BEt,mul:()=>KEt,multiply:()=>aye,negate:()=>MEt,normalize:()=>PL,random:()=>GEt,rotateX:()=>RL,rotateY:()=>ML,rotateZ:()=>jL,round:()=>IEt,scale:()=>PEt,scaleAndAdd:()=>REt,set:()=>CEt,slerp:()=>qEt,sqrDist:()=>YEt,sqrLen:()=>QEt,squaredDistance:()=>uye,squaredLength:()=>cye,str:()=>HEt,sub:()=>WEt,subtract:()=>iye,transformMat3:()=>vb,transformMat4:()=>rh,transformQuat:()=>yb,zero:()=>zEt});function C8(){let e=new sn(3);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function TEt(e){let t=new sn(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function nye(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function D8(e,t,r){let n=new sn(3);return n[0]=e,n[1]=t,n[2]=r,n}function SEt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function CEt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function DEt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function iye(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function aye(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function oye(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function FEt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function kEt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function BEt(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 OEt(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 IEt(e,t){return e[0]=Lg(t[0]),e[1]=Lg(t[1]),e[2]=Lg(t[2]),e}function PEt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function REt(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 sye(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function uye(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function cye(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function MEt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function jEt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function PL(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function xb(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function th(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function LEt(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function qEt(e,t,r,n){let i=Math.acos(Math.min(Math.max(xb(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;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 NEt(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function UEt(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,p=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*p,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*p,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*p,e}function GEt(e,t){t=t===void 0?1:t;let r=gb()*2*Math.PI,n=gb()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function rh(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function vb(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function yb(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,p=n*u-i*s,d=i*p-a*f,h=a*l-n*p,g=n*f-i*l,m=o*2;return l*=m,f*=m,p*=m,d*=2,h*=2,g*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+g,e}function RL(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function ML(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function jL(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function LL(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&xb(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function zEt(e){return e[0]=0,e[1]=0,e[2]=0,e}function HEt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function VEt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function $Et(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var WEt=iye,KEt=aye,XEt=oye,JEt=sye,YEt=uye,qL=nye,QEt=cye,ZEt=function(){let e=C8();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var NL=[0,0,0],F8,ge=class extends jg{static get ZERO(){return F8||(F8=new ge(0,0,0),Object.freeze(F8)),F8}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Wu(t)?this.copy(t):(on.debug&&(dr(t),dr(r),dr(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 on.debug&&(dr(t.x),dr(t.y),dr(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]=dr(t)}angle(t){return LL(this,t)}cross(t){return th(this,this,t),this.check()}rotateX({radians:t,origin:r=NL}){return RL(this,this,r,t),this.check()}rotateY({radians:t,origin:r=NL}){return ML(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=NL}){return jL(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return rh(this,this,t),this.check()}transformAsVector(t){return T8(this,this,t),this.check()}transformByMatrix3(t){return vb(this,this,t),this.check()}transformByMatrix2(t){return tye(this,this,t),this.check()}transformByQuaternion(t){return yb(this,this,t),this.check()}};var k8,Ug=class extends jg{static get ZERO(){return k8||(k8=new Ug(0,0,0,0),Object.freeze(k8)),k8}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),Wu(t)&&arguments.length===1?this.copy(t):(on.debug&&(dr(t),dr(r),dr(n),dr(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 on.debug&&(dr(t.x),dr(t.y),dr(t.z),dr(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]=dr(t)}get w(){return this[3]}set w(t){this[3]=dr(t)}transform(t){return rh(this,this,t),this.check()}transformByMatrix3(t){return S8(this,this,t),this.check()}transformByMatrix2(t){return rye(this,this,t),this.check()}transformByQuaternion(t){return yb(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Gg=class extends ap{toString(){let t="[";if(on.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]=dr(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function lye(){let e=new sn(9);return sn!=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 fye(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}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 pye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,d=c*a-o*u,h=r*f+n*p+i*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=p*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function dye(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function UL(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1],h=r[2],g=r[3],m=r[4],v=r[5],b=r[6],_=r[7],A=r[8];return e[0]=p*n+d*o+h*c,e[1]=p*i+d*s+h*l,e[2]=p*a+d*u+h*f,e[3]=g*n+m*o+v*c,e[4]=g*i+m*s+v*l,e[5]=g*a+m*u+v*f,e[6]=b*n+_*o+A*c,e[7]=b*i+_*s+A*l,e[8]=b*a+_*u+A*f,e}function hye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=p*n+d*o+c,e[7]=p*i+d*s+l,e[8]=p*a+d*u+f,e}function mye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=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*i+p*s,e[2]=d*a+p*u,e[3]=d*o-p*n,e[4]=d*s-p*i,e[5]=d*u-p*a,e[6]=c,e[7]=l,e[8]=f,e}function zL(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function gye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,v=a*u;return e[0]=1-f-h,e[3]=l-v,e[6]=p+m,e[1]=l+v,e[4]=1-c-h,e[7]=d-g,e[2]=p-m,e[5]=d+g,e[8]=1-c-f,e}var HL;(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"})(HL||(HL={}));var eAt=Object.freeze([1,0,0,0,1,0,0,0,1]),Yr=class extends Gg{static get IDENTITY(){return rAt()}static get ZERO(){return tAt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return HL}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(eAt)}fromObject(t){return this.check()}fromQuaternion(t){return gye(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return dye(this)}transpose(){return fye(this,this),this.check()}invert(){return pye(this,this),this.check()}multiplyLeft(t){return UL(this,t,this),this.check()}multiplyRight(t){return UL(this,this,t),this.check()}rotate(t){return mye(this,this,t),this.check()}scale(t){return Array.isArray(t)?zL(this,this,t):zL(this,this,[t,t]),this.check()}translate(t){return hye(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=Qve(r||[-0,-0],t,this);break;case 3:n=vb(r||[-0,-0,-0],t,this);break;case 4:n=S8(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(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)}},B8,O8=null;function tAt(){return B8||(B8=new Yr([0,0,0,0,0,0,0,0,0]),Object.freeze(B8)),B8}function rAt(){return O8||(O8=new Yr,Object.freeze(O8)),O8}var I8={};zn(I8,{add:()=>CAt,adjoint:()=>uAt,clone:()=>iAt,copy:()=>aAt,create:()=>nAt,decompose:()=>vAt,determinant:()=>WL,equals:()=>BAt,exactEquals:()=>kAt,frob:()=>SAt,fromQuat:()=>e7,fromQuat2:()=>mAt,fromRotation:()=>fAt,fromRotationTranslation:()=>yye,fromRotationTranslationScale:()=>yAt,fromRotationTranslationScaleOrigin:()=>bAt,fromScaling:()=>lAt,fromTranslation:()=>cAt,fromValues:()=>oAt,fromXRotation:()=>pAt,fromYRotation:()=>dAt,fromZRotation:()=>hAt,frustum:()=>t7,getRotation:()=>xAt,getScaling:()=>bye,getTranslation:()=>gAt,identity:()=>vye,invert:()=>$L,lookAt:()=>i7,mul:()=>OAt,multiply:()=>bb,multiplyScalar:()=>DAt,multiplyScalarAndAdd:()=>FAt,ortho:()=>n7,orthoNO:()=>wye,orthoZO:()=>EAt,perspective:()=>r7,perspectiveFromFieldOfView:()=>wAt,perspectiveNO:()=>_ye,perspectiveZO:()=>_At,rotate:()=>JL,rotateX:()=>YL,rotateY:()=>QL,rotateZ:()=>ZL,scale:()=>XL,set:()=>sAt,str:()=>TAt,sub:()=>IAt,subtract:()=>Eye,targetTo:()=>AAt,translate:()=>KL,transpose:()=>VL});function nAt(){let e=new sn(16);return sn!=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 iAt(e){let t=new sn(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 aAt(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 oAt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g){let m=new sn(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=n,m[4]=i,m[5]=a,m[6]=o,m[7]=s,m[8]=u,m[9]=c,m[10]=l,m[11]=f,m[12]=p,m[13]=d,m[14]=h,m[15]=g,m}function sAt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=h,e[14]=g,e[15]=m,e}function vye(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 VL(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=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]=a,e[11]=t[14],e[12]=i,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 $L(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],v=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,C=n*c-a*s,k=i*c-a*u,R=l*g-f*h,S=l*m-p*h,D=l*v-d*h,I=f*m-p*g,M=f*v-d*g,G=p*v-d*m,z=b*G-_*M+A*I+w*D-C*S+k*R;return z?(z=1/z,e[0]=(s*G-u*M+c*I)*z,e[1]=(i*M-n*G-a*I)*z,e[2]=(g*k-m*C+v*w)*z,e[3]=(p*C-f*k-d*w)*z,e[4]=(u*D-o*G-c*S)*z,e[5]=(r*G-i*D+a*S)*z,e[6]=(m*A-h*k-v*_)*z,e[7]=(l*k-p*A+d*_)*z,e[8]=(o*M-s*D+c*R)*z,e[9]=(n*D-r*M-a*R)*z,e[10]=(h*C-g*A+v*b)*z,e[11]=(f*A-l*C-d*b)*z,e[12]=(s*S-o*I-u*R)*z,e[13]=(r*I-n*S+i*R)*z,e[14]=(g*_-h*w-m*b)*z,e[15]=(l*w-f*_+p*b)*z,e):null}function uAt(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],v=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,C=n*c-a*s,k=i*c-a*u,R=l*g-f*h,S=l*m-p*h,D=l*v-d*h,I=f*m-p*g,M=f*v-d*g,G=p*v-d*m;return e[0]=s*G-u*M+c*I,e[1]=i*M-n*G-a*I,e[2]=g*k-m*C+v*w,e[3]=p*C-f*k-d*w,e[4]=u*D-o*G-c*S,e[5]=r*G-i*D+a*S,e[6]=m*A-h*k-v*_,e[7]=l*k-p*A+d*_,e[8]=o*M-s*D+c*R,e[9]=n*D-r*M-a*R,e[10]=h*C-g*A+v*b,e[11]=f*A-l*C-d*b,e[12]=s*S-o*I-u*R,e[13]=r*I-n*S+i*R,e[14]=g*_-h*w-m*b,e[15]=l*w-f*_+p*b,e}function WL(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],d=e[12],h=e[13],g=e[14],m=e[15],v=t*o-r*a,b=t*s-n*a,_=r*s-n*o,A=c*h-l*d,w=c*g-f*d,C=l*g-f*h,k=t*C-r*w+n*A,R=a*C-o*w+s*A,S=c*_-l*b+f*v,D=d*_-h*b+g*v;return u*k-i*R+m*S-p*D}function bb(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],d=t[10],h=t[11],g=t[12],m=t[13],v=t[14],b=t[15],_=r[0],A=r[1],w=r[2],C=r[3];return e[0]=_*n+A*s+w*f+C*g,e[1]=_*i+A*u+w*p+C*m,e[2]=_*a+A*c+w*d+C*v,e[3]=_*o+A*l+w*h+C*b,_=r[4],A=r[5],w=r[6],C=r[7],e[4]=_*n+A*s+w*f+C*g,e[5]=_*i+A*u+w*p+C*m,e[6]=_*a+A*c+w*d+C*v,e[7]=_*o+A*l+w*h+C*b,_=r[8],A=r[9],w=r[10],C=r[11],e[8]=_*n+A*s+w*f+C*g,e[9]=_*i+A*u+w*p+C*m,e[10]=_*a+A*c+w*d+C*v,e[11]=_*o+A*l+w*h+C*b,_=r[12],A=r[13],w=r[14],C=r[15],e[12]=_*n+A*s+w*f+C*g,e[13]=_*i+A*u+w*p+C*m,e[14]=_*a+A*c+w*d+C*v,e[15]=_*o+A*l+w*h+C*b,e}function KL(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,g,m,v;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],p=t[6],d=t[7],h=t[8],g=t[9],m=t[10],v=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=h,e[9]=g,e[10]=m,e[11]=v,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+g*a+t[13],e[14]=u*n+p*i+m*a+t[14],e[15]=c*n+d*i+v*a+t[15]),e}function XL(e,t,r){let n=r[0],i=r[1],a=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]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function JL(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,p,d,h,g,m,v,b,_,A,w,C,k,R,S,D,I,M,G,z,X;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],p=t[1],d=t[2],h=t[3],g=t[4],m=t[5],v=t[6],b=t[7],_=t[8],A=t[9],w=t[10],C=t[11],k=i*i*l+u,R=a*i*l+o*c,S=o*i*l-a*c,D=i*a*l-o*c,I=a*a*l+u,M=o*a*l+i*c,G=i*o*l+a*c,z=a*o*l-i*c,X=o*o*l+u,e[0]=f*k+g*R+_*S,e[1]=p*k+m*R+A*S,e[2]=d*k+v*R+w*S,e[3]=h*k+b*R+C*S,e[4]=f*D+g*I+_*M,e[5]=p*D+m*I+A*M,e[6]=d*D+v*I+w*M,e[7]=h*D+b*I+C*M,e[8]=f*G+g*z+_*X,e[9]=p*G+m*z+A*X,e[10]=d*G+v*z+w*X,e[11]=h*G+b*z+C*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function YL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=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]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e}function QL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=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]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e}function ZL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=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]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e}function cAt(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 lAt(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 fAt(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function pAt(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 dAt(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 hAt(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 yye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,d=i*u,h=i*c,g=a*c,m=o*s,v=o*u,b=o*c;return e[0]=1-(d+g),e[1]=f+b,e[2]=p-v,e[3]=0,e[4]=f-b,e[5]=1-(l+g),e[6]=h+m,e[7]=0,e[8]=p+v,e[9]=h-m,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 mAt(e,t){let r=new sn(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),yye(e,t,r),e}function gAt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function bye(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function xAt(e,t){let r=new sn(3);bye(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,p=t[8]*n,d=t[9]*i,h=t[10]*a,g=o+l+h,m=0;return g>0?(m=Math.sqrt(g+1)*2,e[3]=.25*m,e[0]=(f-d)/m,e[1]=(p-u)/m,e[2]=(s-c)/m):o>l&&o>h?(m=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/m,e[0]=.25*m,e[1]=(s+c)/m,e[2]=(p+u)/m):l>h?(m=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/m,e[0]=(s+c)/m,e[1]=.25*m,e[2]=(f+d)/m):(m=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/m,e[0]=(p+u)/m,e[1]=(f+d)/m,e[2]=.25*m),e}function vAt(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],h=1/r[1],g=1/r[2],m=i*d,v=a*h,b=o*g,_=s*d,A=u*h,w=c*g,C=l*d,k=f*h,R=p*g,S=m+A+R,D=0;return S>0?(D=Math.sqrt(S+1)*2,e[3]=.25*D,e[0]=(w-k)/D,e[1]=(C-b)/D,e[2]=(v-_)/D):m>A&&m>R?(D=Math.sqrt(1+m-A-R)*2,e[3]=(w-k)/D,e[0]=.25*D,e[1]=(v+_)/D,e[2]=(C+b)/D):A>R?(D=Math.sqrt(1+A-m-R)*2,e[3]=(C-b)/D,e[0]=(v+_)/D,e[1]=.25*D,e[2]=(w+k)/D):(D=Math.sqrt(1+R-m-A)*2,e[3]=(v-_)/D,e[0]=(C+b)/D,e[1]=(w+k)/D,e[2]=.25*D),e}function yAt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,p=i*c,d=i*l,h=a*c,g=a*l,m=o*l,v=s*u,b=s*c,_=s*l,A=n[0],w=n[1],C=n[2];return e[0]=(1-(h+m))*A,e[1]=(p+_)*A,e[2]=(d-b)*A,e[3]=0,e[4]=(p-_)*w,e[5]=(1-(f+m))*w,e[6]=(g+v)*w,e[7]=0,e[8]=(d+b)*C,e[9]=(g-v)*C,e[10]=(1-(f+h))*C,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function bAt(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,p=a*c,d=a*l,h=a*f,g=o*l,m=o*f,v=s*f,b=u*c,_=u*l,A=u*f,w=n[0],C=n[1],k=n[2],R=i[0],S=i[1],D=i[2],I=(1-(g+v))*w,M=(d+A)*w,G=(h-_)*w,z=(d-A)*C,X=(1-(p+v))*C,Y=(m+b)*C,le=(h+_)*k,ue=(m-b)*k,ce=(1-(p+g))*k;return e[0]=I,e[1]=M,e[2]=G,e[3]=0,e[4]=z,e[5]=X,e[6]=Y,e[7]=0,e[8]=le,e[9]=ue,e[10]=ce,e[11]=0,e[12]=r[0]+R-(I*R+z*S+le*D),e[13]=r[1]+S-(M*R+X*S+ue*D),e[14]=r[2]+D-(G*R+Y*S+ce*D),e[15]=1,e}function e7(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,v=a*u;return e[0]=1-f-h,e[1]=l+v,e[2]=p-m,e[3]=0,e[4]=l-v,e[5]=1-c-h,e[6]=d+g,e[7]=0,e[8]=p+m,e[9]=d-g,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function t7(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function _ye(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var r7=_ye;function _At(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function wAt(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*c*.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 wye(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var n7=wye;function EAt(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function i7(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],g=t[1],m=t[2],v=n[0],b=n[1],_=n[2],A=r[0],w=r[1],C=r[2];return Math.abs(h-A)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(m-C)<1e-6?vye(e):(f=h-A,p=g-w,d=m-C,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=b*d-_*p,o=_*f-v*d,s=v*p-b*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=p*s-d*o,c=d*a-f*s,l=f*o-p*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(a*h+o*g+s*m),e[13]=-(u*h+c*g+l*m),e[14]=-(f*h+p*g+d*m),e[15]=1,e)}function AAt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-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=u*p-c*f,g=c*l-s*p,m=s*f-u*l;return d=h*h+g*g+m*m,d>0&&(d=1/Math.sqrt(d),h*=d,g*=d,m*=d),e[0]=h,e[1]=g,e[2]=m,e[3]=0,e[4]=f*m-p*g,e[5]=p*h-l*m,e[6]=l*g-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function TAt(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 SAt(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 CAt(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 Eye(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 DAt(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 FAt(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 kAt(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 BAt(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],p=e[10],d=e[11],h=e[12],g=e[13],m=e[14],v=e[15],b=t[0],_=t[1],A=t[2],w=t[3],C=t[4],k=t[5],R=t[6],S=t[7],D=t[8],I=t[9],M=t[10],G=t[11],z=t[12],X=t[13],Y=t[14],le=t[15];return Math.abs(r-b)<=1e-6*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(n-_)<=1e-6*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(i-A)<=1e-6*Math.max(1,Math.abs(i),Math.abs(A))&&Math.abs(a-w)<=1e-6*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(o-C)<=1e-6*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(s-k)<=1e-6*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(u-R)<=1e-6*Math.max(1,Math.abs(u),Math.abs(R))&&Math.abs(c-S)<=1e-6*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(l-D)<=1e-6*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(f-I)<=1e-6*Math.max(1,Math.abs(f),Math.abs(I))&&Math.abs(p-M)<=1e-6*Math.max(1,Math.abs(p),Math.abs(M))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-z)<=1e-6*Math.max(1,Math.abs(h),Math.abs(z))&&Math.abs(g-X)<=1e-6*Math.max(1,Math.abs(g),Math.abs(X))&&Math.abs(m-Y)<=1e-6*Math.max(1,Math.abs(m),Math.abs(Y))&&Math.abs(v-le)<=1e-6*Math.max(1,Math.abs(v),Math.abs(le))}var OAt=bb,IAt=Eye;function PAt(){let e=new sn(4);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Aye(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 Tye(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 Sye(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function Cye(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function Dye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function Fye(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function kye(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function Bye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function Oye(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,d=-o*n-s*i-u*a;return e[0]=l*c+d*-o+f*-u-p*-s,e[1]=f*c+d*-s+p*-o-l*-u,e[2]=p*c+d*-u+l*-s-f*-o,e[3]=t[3],e}var ccr=function(){let e=PAt();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(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 s7;(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"})(s7||(s7={}));var RAt=45*Math.PI/180,MAt=1,a7=.1,o7=500,jAt=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),qo=class extends Gg{static get IDENTITY(){return qAt()}static get ZERO(){return LAt()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return s7}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,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=h,this[14]=g,this[15]=m,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=a,this[2]=c,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]=g,this[12]=i,this[13]=u,this[14]=p,this[15]=m,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(jAt)}fromObject(t){return this.check()}fromQuaternion(t){return e7(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=a7,far:s=o7}=t;return s===1/0?NAt(this,r,n,i,a,o):t7(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return i7(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=a7,far:s=o7}=t;return n7(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=RAt,aspect:n=MAt,focalDistance:i=1,near:a=a7,far:o=o7}=t;Pye(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return Pye(r),r7(this,r,n,i,a),this.check()}determinant(){return WL(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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return VL(this,this),this.check()}invert(){return $L(this,this),this.check()}multiplyLeft(t){return bb(this,t,this),this.check()}multiplyRight(t){return bb(this,this,t),this.check()}rotateX(t){return YL(this,this,t),this.check()}rotateY(t){return QL(this,this,t),this.check()}rotateZ(t){return ZL(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return JL(this,this,t,r),this.check()}scale(t){return XL(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return KL(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Bye(r||[-0,-0,-0,-0],t,this),op(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=Zve(r||[-0,-0],t,this);break;case 3:i=rh(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=eye(r||[-0,-0],t,this);break;case 3:n=T8(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(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])}},P8,R8;function LAt(){return P8||(P8=new qo([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(P8)),P8}function qAt(){return R8||(R8=new qo,Object.freeze(R8)),R8}function Pye(e){if(e>Math.PI*2)throw Error("expected radians")}function NAt(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,p=-2*a;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]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function Rye(){let e=new sn(4);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Mye(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function u7(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],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function jye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function Lye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function qye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function Nye(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function _b(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],p,d,h,g,m;return p=i*u+a*c+o*l+s*f,p<0&&(p=-p,u=-u,c=-c,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),m=Math.sin(d),h=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(h=1-n,g=n),e[0]=h*i+g*u,e[1]=h*a+g*c,e[2]=h*o+g*l,e[3]=h*s+g*f,e}function Uye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e}function Gye(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function l7(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 i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var zye=Aye;var Hye=Tye,Vye=Fye,$ye=kye,Wye=Sye;var Kye=Cye;var Xye=Dye;var Jye=function(){let e=C8(),t=D8(1,0,0),r=D8(0,1,0);return function(n,i,a){let o=xb(i,a);return o<-.999999?(th(e,t,i),qL(e)<1e-6&&th(e,r,i),PL(e,e),u7(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(th(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Xye(n,n))}}(),Ecr=function(){let e=Rye(),t=Rye();return function(r,n,i,a,o,s){return _b(e,n,o,s),_b(t,i,a,s),_b(r,e,t,2*s*(1-s)),r}}(),Acr=function(){let e=lye();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],Xye(t,l7(t,e))}}();var GAt=[0,0,0,1],sp=class extends ap{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}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,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 l7(this,t),this.check()}fromAxisRotation(t,r){return u7(this,t,r),this.check()}identity(){return Mye(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]=dr(t)}get y(){return this[1]}set y(t){this[1]=dr(t)}get z(){return this[2]}set z(t){this[2]=dr(t)}get w(){return this[3]}set w(t){this[3]=dr(t)}len(){return Wye(this)}lengthSquared(){return Kye(this)}dot(t){return Vye(this,t)}rotationTo(t,r){return Jye(this,t,r),this.check()}add(t){return zye(this,this,t),this.check()}calculateW(){return Nye(this,this),this.check()}conjugate(){return Gye(this,this),this.check()}invert(){return Uye(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):($ye(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 jye(this,this,t),this.check()}rotateY(t){return Lye(this,this,t),this.check()}rotateZ(t){return qye(this,this,t),this.check()}scale(t){return Hye(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=GAt,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return _b(this,i,a,o),this.check()}transformVector4(t,r=new Ug){return Oye(r,t,this),op(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 Ku={};zn(Ku,{EPSILON1:()=>zAt,EPSILON10:()=>QAt,EPSILON11:()=>ZAt,EPSILON12:()=>eTt,EPSILON13:()=>tTt,EPSILON14:()=>rTt,EPSILON15:()=>nTt,EPSILON16:()=>iTt,EPSILON17:()=>aTt,EPSILON18:()=>oTt,EPSILON19:()=>sTt,EPSILON2:()=>HAt,EPSILON20:()=>uTt,EPSILON3:()=>VAt,EPSILON4:()=>$At,EPSILON5:()=>WAt,EPSILON6:()=>KAt,EPSILON7:()=>XAt,EPSILON8:()=>JAt,EPSILON9:()=>YAt,PI_OVER_FOUR:()=>lTt,PI_OVER_SIX:()=>fTt,PI_OVER_TWO:()=>cTt,TWO_PI:()=>pTt});var zAt=.1,HAt=.01,VAt=.001,$At=1e-4,WAt=1e-5,KAt=1e-6,XAt=1e-7,JAt=1e-8,YAt=1e-9,QAt=1e-10,ZAt=1e-11,eTt=1e-12,tTt=1e-13,rTt=1e-14,nTt=1e-15,iTt=1e-16,aTt=1e-17,oTt=1e-18,sTt=1e-19,uTt=1e-20,cTt=Math.PI/2,lTt=Math.PI/4,fTt=Math.PI/6,pTt=Math.PI*2;var fl=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=xt.UNSIGNED_INT,n=1){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,i.byteOffset):i}getPropertyArray(t,r,n){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=Ji.fromName(i.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(t,r,i)}getProperty(t,r,n,i,a){let o=this.json[t];if(!o)return o;let s=this.getPropertyArray(t,r,n);if(n===1)return s[i];for(let u=0;u<n;++u)a[u]=s[n*i+u];return a}_getTypedArrayFromBinary(t,r,n,i,a){let o=this._cachedTypedArrays,s=o[t];return s||(s=Ji.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+a,i*n),o[t]=s),s}_getTypedArrayFromArray(t,r,n){let i=this._cachedTypedArrays,a=i[t];return a||(a=Ji.createTypedArray(r,n),i[t]=a),a}};var dTt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},hTt={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]]},mTt={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 Yye(e,t,r,n){let{componentType:i}=e;Et(e.componentType);let a=typeof i=="string"?Ji.fromName(i):i,o=dTt[e.type],s=hTt[e.type],u=mTt[e.type];return r+=e.byteOffset,{values:Ji.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Xu=e=>e!==void 0;function Qye(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),i=t.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?gTt(n,r):null}function gTt(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Xu(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,i=getBinaryAccessor(s),s=i.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,a));let f;if(Xu(u))for(Xu(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(t.buffer,t.byteOffset+u.byteOffset,a)),f=new Uint16Array(a),l=0,r=0;r<a;++r)f[r]=l,l+=u[r];Xu(c)&&Xu(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let p=o.length;for(r=0;r<p;++r){let m=o[r].length,v=o[r].instances,b=getBinaryProperties(m,v,t);o[r].instances=combine(b,v)}let d=new Array(p).fill(0),h=new Uint16Array(a);for(r=0;r<a;++r)n=s[r],h[r]=d[n],++d[n];let g={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:c};return yTt(g),g}function zg(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?xTt(e,t,r):vTt(e,t,r)}function xTt(e,t,r){let n=e.classIds,i=e.parentCounts,a=e.parentIds,o=e.parentIndexes,s=n.length,u=scratchVisited;u.length=Math.max(u.length,s);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),u[t]===c)continue;u[t]=c;let f=r(e,t);if(Xu(f))return f;let p=i[t],d=o[t];for(let h=0;h<p;++h){let g=a[d+h];g!==t&&l.push(g)}}return null}function vTt(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Xu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function yTt(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)Zye(e,i,stack)}function Zye(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Xu(i))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 u=Xu(n)?n[t]:1,c=Xu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&Zye(e,f,r)}r.pop(t)}function Pa(e){return e!=null}var M8=(e,t)=>e,bTt={HIERARCHY:!0,extensions:!0,extras:!0},nh=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;Et(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=((a=this.json)==null?void 0:a.extensions)||{},this._properties={};for(let o in this.json)bTt[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Qye(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),Et(typeof r=="string",r),this._hierarchy){let n=zg(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Pa(n)}return!1}isExactClass(t,r){return Et(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),Et(typeof r=="string",r),Pa(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Pa(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),Et(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Pa(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Pa(n))return M8(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Pa(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),Et(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 a=this._properties[r];Pa(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=M8(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],i=this._initializeBinaryProperty(r,n);i&&(t=t||{},t[r]=i)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;Et(this.binary,`Property ${t} requires a batch table binary.`),Et(n.type,`Property ${t} requires a type.`);let i=Yye(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=zg(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Pa(s[r])});return Pa(n)}_getPropertyNamesInHierarchy(t,r){zg(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a].instances;for(let s in o)o.hasOwnProperty(s)&&r.indexOf(s)===-1&&r.push(s)})}_getHierarchyProperty(t,r){return zg(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Pa(u)?Pa(u.typedArray)?this._getBinaryProperty(u,s):M8(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=zg(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Pa(f)?(Et(s===r,`Inherited property "${n}" is read-only.`),Pa(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=M8(i,!0),!0):!1});return Pa(a)}};var f7=4;function up(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=f7,e.version=n.getUint32(r,!0),r+=f7,e.byteLength=n.getUint32(r,!0),r+=f7,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var Hg=4,ebe="b3dm tile in legacy format.";function Vg(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=Hg;let o=n.getUint32(r,!0);r+=Hg;let s=n.getUint32(r,!0);r+=Hg;let u=n.getUint32(r,!0);return r+=Hg,s>=570425344?(r-=Hg*2,i=a,s=o,u=0,a=0,o=0,console.warn(ebe)):u>=570425344&&(r-=Hg,i=s,s=a,u=o,a=0,o=0,console.warn(ebe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function $g(e,t,r,n){return r=_Tt(e,t,r,n),r=wTt(e,t,r,n),r}function _Tt(e,t,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:a,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){let s=EL(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function wTt(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=EL(t,r,i);e.batchTableJson=JSON.parse(o),r+=i,a&&a>0&&(e.batchTableBinary=new Uint8Array(t,r,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=a)}return r}function p7(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:a=0}=e;if(n&&r){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=n[s],l=r.getProperty(u,"dimensions").map(f=>f*255);o[s*3]=l[0],o[s*3+1]=l[1],o[s*3+2]=l[2]}return{type:xt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(t&&i){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=FL(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:xt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:xt.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:xt.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var tbe=new ge;function rbe(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++)kL(t[n*2],t[n*2+1],tbe),tbe.toArray(r,n*3);return{type:xt.FLOAT,size:2,value:r}}return{type:xt.FLOAT,size:2,value:t}}function nbe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,ETt(e,t)):{type:xt.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function ETt(e,t){let r=new ge,n=new Float32Array(e.pointCount*3);for(let i=0;i<e.pointCount;i++)r.set(t[i*3],t[i*3+1],t[i*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,i*3);return n}async function ibe(e,t,r,n,i){r=up(e,t,r),r=Vg(e,t,r),r=$g(e,t,r,n),ATt(e);let{featureTable:a,batchTable:o}=TTt(e);return await kTt(e,a,o,n,i),STt(e,a,n),CTt(e,a,o),DTt(e,a),r}function ATt(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function TTt(e){let t=new fl(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",xt.FLOAT,3);let n=FTt(e,t);return{featureTable:t,batchTable:n}}function STt(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",xt.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",xt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",xt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",xt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=nbe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function CTt(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",xt.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",xt.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",xt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=p7(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",xt.UNSIGNED_BYTE,4))}function DTt(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",xt.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",xt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=rbe(e,r)}}function FTt(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",xt.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:i,batchTableBinary:a}=e;r=new nh(i,a,n)}return r}async function kTt(e,t,r,n,i){let a,o,s,u=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];u&&(s=u.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){o=c.properties;let f=c.byteOffset,p=c.byteLength;if(!o||!Number.isFinite(f)||!p)throw new Error("Draco properties, byteOffset, and byteLength must be defined");a=(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(!a)return!0;let l={buffer:a,properties:{...o,...s},featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await BTt(e,l,n,i)}async function BTt(e,t,r,n){if(!n)return;let i={...r,draco:{...r==null?void 0:r.draco,extraAttributes:t.batchTableProperties||{}}};delete i["3d-tiles"];let a=await Ka(t.buffer,Mg,i,n),o=a.attributes.POSITION&&a.attributes.POSITION.value,s=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,c=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,l=o&&a.attributes.POSITION.value.quantization,f=u&&a.attributes.NORMAL.value.quantization;if(l){let d=a.POSITION.data.quantization,h=d.range;e.quantizedVolumeScale=new ge(h,h,h),e.quantizedVolumeOffset=new ge(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let p={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))a.attributes[d]&&a.attributes[d].value&&(p[d.toLowerCase()]=a.attributes[d].value);e.attributes={positions:o,colors:p7(e,s,void 0),normals:u,batchIds:c,...p}}var _7={};zn(_7,{decode:()=>g3t,name:()=>W8});var j8="4.3.0-alpha.5";var abe,OTt=(abe=globalThis.loaders)==null?void 0:abe.parseImageNode,d7=typeof Image<"u",h7=typeof ImageBitmap<"u",ITt=Boolean(OTt),m7=Er?!0:ITt;function obe(e){switch(e){case"auto":return h7||d7||m7;case"imagebitmap":return h7;case"image":return d7;case"data":return m7;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function sbe(){if(h7)return"imagebitmap";if(d7)return"image";if(m7)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function ube(e){let t=PTt(e);if(!t)throw new Error("Not an image");return t}function g7(e){return Wg(e)}function Wg(e){switch(ube(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 PTt(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 RTt=/^data:image\/svg\+xml/,MTt=/\.svg((\?|#).*)?$/;function L8(e){return e&&(RTt.test(e)||MTt.test(e))}function cbe(e,t){if(L8(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return x7(e,t)}function x7(e,t){if(L8(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function q8(e,t,r){let n=cbe(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await jTt(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function jTt(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,i)=>{try{r.onload=()=>n(r),r.onerror=a=>{let o=a instanceof Error?a.message:"error";i(new Error(o))}}catch(a){i(a)}})}var LTt={},lbe=!0;async function fbe(e,t,r){let n;L8(r)?n=await q8(e,t,r):n=x7(e,r);let i=t&&t.imagebitmap;return await qTt(n,i)}async function qTt(e,t=null){if((NTt(t)||!lbe)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),lbe=!1}return await createImageBitmap(e)}function NTt(e){for(let t in e||LTt)return!1;return!0}function pbe(e){return!HTt(e,"ftyp",4)||!(e[8]&96)?null:UTt(e)}function UTt(e){switch(GTt(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function GTt(e,t,r){return String.fromCharCode(...e.slice(t,r))}function zTt(e){return[...e].map(t=>t.charCodeAt(0))}function HTt(e,t,r=0){let n=zTt(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var Ju=!1,wb=!0;function ih(e){let t=Eb(e);return $Tt(t)||XTt(t)||WTt(t)||KTt(t)||VTt(t)}function VTt(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=pbe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function $Tt(e){let t=Eb(e);return t.byteLength>=24&&t.getUint32(0,Ju)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Ju),height:t.getUint32(20,Ju)}:null}function WTt(e){let t=Eb(e);return t.byteLength>=10&&t.getUint32(0,Ju)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,wb),height:t.getUint16(8,wb)}:null}function KTt(e){let t=Eb(e);return t.byteLength>=14&&t.getUint16(0,Ju)===16973&&t.getUint32(2,wb)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,wb),height:t.getUint32(22,wb)}:null}function XTt(e){let t=Eb(e);if(!(t.byteLength>=3&&t.getUint16(0,Ju)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=JTt(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,Ju);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,Ju),width:t.getUint16(a+7,Ju)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,Ju)}return null}function JTt(){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 Eb(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 dbe(e,t){var i;let{mimeType:r}=ih(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return Et(n),await n(e,r)}async function hbe(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=YTt(i),s;switch(o){case"imagebitmap":s=await fbe(e,t,a);break;case"image":s=await q8(e,t,a);break;case"data":s=await dbe(e,t);break;default:Et(!1)}return i==="data"&&(s=Wg(s)),s}function YTt(e){switch(e){case"auto":case"data":return sbe();default:return obe(e),e}}var QTt=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],ZTt=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],e3t={image:{type:"auto",decode:!0}},Kg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:j8,mimeTypes:ZTt,extensions:QTt,parse:hbe,tests:[e=>Boolean(ih(new DataView(e)))],options:e3t};var xbe,mbe=(xbe=globalThis.loaders)==null?void 0:xbe.encodeImageNode;async function vbe(e,t){return t=t||{},t.image=t.image||{},mbe?mbe(e,{type:t.image.mimeType}):t3t(e,t)}var gbe=!0;async function t3t(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=g7(e),o=document.createElement("canvas");o.width=i,o.height=a,r3t(e,o);let s=await new Promise(u=>{if(n&&gbe)try{o.toBlob(u,r,n);return}catch{gbe=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function r3t(e,t,r=0,n=0){if(r===0&&n===0&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let a=t.getContext("bitmaprenderer");if(a)return a.transferFromImageBitmap(e),t}let i=t.getContext("2d");if(e.data){let a=new Uint8ClampedArray(e.data),o=new ImageData(a,e.width,e.height);return i.putImageData(o,0,0),t}return i.drawImage(e,0,0),t}var v7={name:"Images",id:"image",module:"images",version:j8,extensions:["jpeg"],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:vbe};var y7={};function b7(e){if(y7[e]===void 0){let t=Er?i3t(e):n3t(e);y7[e]=t}return y7[e]}function n3t(e){var i,a;let t=["image/png","image/jpeg","image/gif"],r=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||t,n=(a=globalThis.loaders)==null?void 0:a.parseImageNode;return Boolean(n)&&r.includes(e)}function i3t(e){switch(e){case"image/avif":case"image/webp":return a3t(e);default:return!0}}function a3t(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function ti(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var N8={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},U8={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var o3t=1.33,ybe=["SCALAR","VEC2","VEC3","VEC4"],s3t=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],u3t=new Map(s3t),c3t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},l3t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},f3t={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function G8(e){return ybe[e-1]||ybe[0]}function Xg(e){let t=u3t.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function Jg(e,t){let r=f3t[e.componentType],n=c3t[e.type],i=l3t[e.componentType],a=e.count*n,o=e.count*n*i;ti(o>=0&&o<=t.byteLength);let s=U8[e.componentType],u=N8[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function Ab(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 i=r.reduce((o,s)=>o+s.byteLength,0),a=t.reduce((o,s)=>{let{width:u,height:c}=s.image;return o+u*c},0);return i+Math.ceil(4*a*o3t)}function bbe(e,t,r){let n=e.bufferViews[r];ti(n);let i=n.buffer,a=t[i];ti(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function _be(e,t,r){var g,m;let n=typeof r=="number"?(g=e.accessors)==null?void 0:g[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(m=e.bufferViews)==null?void 0:m[n.bufferView||0];if(!i)throw new Error(`No gltf buffer view for accessor ${i}`);let{arrayBuffer:a,byteOffset:o}=t[i.buffer],s=(o||0)+(n.byteOffset||0)+(i.byteOffset||0),{ArrayType:u,length:c,componentByteSize:l,numberOfComponentsInElement:f}=Jg(n,i),p=l*f,d=i.byteStride||p;if(typeof i.byteStride>"u"||i.byteStride===p)return new u(a,s,c);let h=new u(c);for(let v=0;v<n.count;v++){let b=new u(a,s+v*d,f);h.set(b,v*f)}return h}function p3t(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var sr=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||p3t(),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(i=>i===t),n=this.getRequiredExtensions().find(i=>i===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(i=>i===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];ti(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return _be(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),i=this.getBuffer(r.buffer).data,a=r.byteOffset||0;return new Uint8Array(i,a,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 i=t.extensions||{};i[r]=n}removeObjectExtension(t,r){let n=(t==null?void 0:t.extensions)||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(r)||i.push(r)}delete n[r]}addExtension(t,r={}){return ti(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return ti(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 i={mesh:r};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:i,mode:a=4}=t,s={primitives:[{attributes:this._addAttributes(r),mode:a}]};if(n){let u=this._addIndices(n);s.primitives[0].indices=u}return Number.isFinite(i)&&(s.primitives[0].material=i),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=ih(t),i=r||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(t),mimeType:i};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 i=t.byteLength;ti(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ja(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(a),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:G8(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),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,r.size));let a={size:r.size,componentType:Xg(t),count:Math.round(t.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(a,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 a,o;this.gltf.buffers=[];let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=$B(s,n,i);(o=(a=this.json)==null?void 0:a.buffers)!=null&&o[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(t,r){let n=!0;for(;n;){let i=t.indexOf(r);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let i=t[n],a=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);r[a]=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 i=t.subarray(0,r);for(let a of i)n.min.push(a),n.max.push(a);for(let a=r;a<t.length;a+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],t[a+o]),n.max[0+o]=Math.max(n.max[0+o],t[a+o]);return n}};function wbe(e){return(e%1+1)%1}var Ebe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},d3t={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Abe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Tb(e,t){return Abe[t]*Ebe[e]}function Yg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=Qg(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function Qg(e,t,r,n=1){let i=Ebe[t],a=d3t[r],o=Abe[r],s=n*i,u=s*o,c=e.buffer,l=e.byteOffset;return l%o!==0&&(c=new Uint8Array(c).slice(l,l+u).buffer,l=0),new a(c,l,s)}function Zg(e,t,r){var c,l,f,p,d;let n=`TEXCOORD_${t.texCoord||0}`,i=r.attributes[n],a=e.getTypedArrayForAccessor(i),o=e.gltf.json,s=t.index,u=(l=(c=o.textures)==null?void 0:c[s])==null?void 0:l.source;if(typeof u<"u"){let h=(p=(f=o.images)==null?void 0:f[u])==null?void 0:p.mimeType,g=(d=e.gltf.images)==null?void 0:d[u];if(g&&typeof g.width<"u"){let m=[];for(let v=0;v<a.length;v+=2){let b=h3t(g,h,a,v,t.channels);m.push(b)}return m}}return[]}function z8(e,t,r,n,i){if(!(r!=null&&r.length))return;let a=[];for(let l of r){let f=n.findIndex(p=>p===l);f===-1&&(f=n.push(l)-1),a.push(f)}let o=new Uint32Array(a),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,u=e.addBufferView(o,s,0),c=e.addAccessor(u,{size:1,componentType:Xg(o),count:o.length});i.attributes[t]=c}function h3t(e,t,r,n,i=[0]){let a={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],u=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(u=4);let c=m3t(o,s,e,u),l=0;for(let f of i){let p=typeof f=="number"?Object.values(a)[f]:a[f],d=c+p.offset,h=Wg(e);if(h.data.length<=d)throw new Error(`${h.data.length} <= ${d}`);let g=h.data[d];l|=g<<p.shift}return l}function m3t(e,t,r,n=1){let i=r.width,a=wbe(e)*(i-1),o=Math.round(a),s=r.height,u=wbe(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function H8(e,t,r,n,i){let a=[];for(let o=0;o<t;o++){let s=r[o],u=r[o+1]-r[o];if(u+s>n)break;let c=s/i,l=u/i;a.push(e.slice(c,c+l))}return a}function V8(e,t,r){let n=[];for(let i=0;i<t;i++){let a=i*r;n.push(e.slice(a,a+r))}return n}function $8(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],a=new TextDecoder("utf8"),o=0;for(let s=0;s<e;s++){let u=n[s+1]-n[s];if(u+o<=t.length){let c=t.subarray(o,u+o),l=a.decode(c);i.push(l),o+=u}}return i}return[]}var Tbe="EXT_mesh_features",W8=Tbe;async function g3t(e,t){let r=new sr(e);x3t(r,t)}function x3t(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)v3t(e,i,t)}function v3t(e,t,r){var a,o,s;if(!((a=r==null?void 0:r.gltf)!=null&&a.loadBuffers))return;let n=(o=t.extensions)==null?void 0:o[Tbe],i=n==null?void 0:n.featureIds;if(i)for(let u of i){let c;if(typeof u.attribute<"u"){let l=`_FEATURE_ID_${u.attribute}`,f=t.attributes[l];c=e.getTypedArrayForAccessor(f)}else typeof u.texture<"u"&&((s=r==null?void 0:r.gltf)!=null&&s.loadImages)?c=Zg(e,u.texture,t):c=[];u.data=c}}var A7={};zn(A7,{decode:()=>y3t,name:()=>pl});var w7="EXT_structural_metadata",pl=w7;async function y3t(e,t){let r=new sr(e);b3t(r,t)}function b3t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(w7);r&&((i=t.gltf)!=null&&i.loadImages&&_3t(e,r),w3t(e,r))}function _3t(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let a of i.primitives)A3t(e,r,a,t)}function w3t(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.propertyTables;if(n&&i)for(let a in n){let o=E3t(i,a);o&&S3t(e,r,o)}}function E3t(e,t){for(let r of e)if(r.class===t)return r;return null}function A3t(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[w7],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];T3t(e,u,r,n)}}function T3t(e,t,r,n){var a;if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=t.class;for(let o in t.properties){let s=`${i}_${o}`,u=(a=t.properties)==null?void 0:a[o];if(!u)continue;u.data||(u.data=[]);let c=u.data,l=Zg(e,u,r);l!==null&&(z8(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function S3t(e,t,r){var a,o;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=C3t(e,t,u,i,c);c.data=l}}}function C3t(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=D3t(e,r,i,n),c=F3t(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=k3t(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=$8(n,s,u,c);break}case"ENUM":{a=B3t(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function D3t(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?Yg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function F3t(e,t,r){return typeof t.stringOffsets<"u"?Yg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function k3t(e,t,r,n){let i=e.array,a=e.count,o=Tb(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=Qg(r,e.type,e.componentType,s):u=r,i?n?H8(u,t,n,r.length,o):a?V8(u,t,a):[]:u}function B3t(e,t,r,n,i){var f;let a=t.enumType;if(!a)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[a];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${a}`);let s=o.valueType||"UINT16",u=Tb(t.type,s),c=n.byteLength/u,l=Qg(n,t.type,s,c);if(l||(l=n),t.array){if(i)return O3t({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let p=t.count;return p?I3t(l,r,p,o):[]}return E7(l,0,r,o)}function O3t(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:a,enumEntry:o}=e,s=[];for(let u=0;u<r;u++){let c=n[u],l=n[u+1]-n[u];if(l+c>i)break;let f=c/a,p=l/a,d=E7(t,f,p,o);s.push(d)}return s}function I3t(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=E7(e,o,r,n);i.push(s)}return i}function E7(e,t,r,n){let i=[];for(let a=0;a<r;a++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)i.push("");else{let o=e[t+a],s=P3t(n,o);s?i.push(s.name):i.push("")}return i}function P3t(e,t){for(let r of e.values)if(r.value===t)return r;return null}var T7={};zn(T7,{decode:()=>R3t,name:()=>No});var Sbe="EXT_feature_metadata",No=Sbe;async function R3t(e,t){let r=new sr(e);M3t(r,t)}function M3t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(Sbe);r&&((i=t.gltf)!=null&&i.loadImages&&j3t(e,r),L3t(e,r))}function j3t(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:i}=t;if(n&&i)for(let a in n){let o=n[a],s=N3t(i,a);s&&G3t(e,s,o)}}function L3t(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.featureTables;if(n&&i)for(let a in n){let o=q3t(i,a);o&&U3t(e,r,o)}}function q3t(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function N3t(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function U3t(e,t,r){var a,o;if(!r.class)return;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=z3t(e,t,u,i,c);c.data=l}}}function G3t(e,t,r){var i;let n=t.class;for(let a in r.properties){let o=(i=t==null?void 0:t.properties)==null?void 0:i[a];if(o){let s=K3t(e,o,n);o.data=s}}}function z3t(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=H3t(e,r,i,n),c=V3t(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=$8(n,s,u,c):$3t(r)&&(a=W3t(r,n,s,u)),a}function H3t(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?Yg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function V3t(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?Yg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function $3t(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 W3t(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=Tb(o,s),c=r.byteLength/u,l=Qg(r,o,s,c);return i?n?H8(l,t,n,r.length,u):a?V8(l,t,a):[]:l}function K3t(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let i=[];for(let a of n.meshes)for(let o of a.primitives)X3t(e,r,t,i,o);return i}function X3t(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=Zg(e,a,i);o&&z8(e,t,o,n,i)}var K8="4.3.0-alpha.5";var e1="4.3.0-alpha.5";var Yu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Cbe;async function C7(e){yv(e.modules);let t=PB("basis");return t||(Cbe||(Cbe=J3t(e)),await Cbe)}async function J3t(e){let t=null,r=null;return[t,r]=await Promise.all([await bu(Yu.TRANSCODER,"textures",e),await bu(Yu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Y3t(t,r)}function Y3t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,initializeBasis:o}=i;o(),n({BasisFile:a})})})}var S7;async function D7(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(S7=S7||Q3t(e),await S7)}async function Q3t(e){let t=null,r=null;return[t,r]=await Promise.all([await bu(Yu.ENCODER,"textures",e),await bu(Yu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Z3t(t,r)}function Z3t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,KTX2File:o,initializeBasis:s,BasisEncoder:u}=i;s(),n({BasisFile:a,KTX2File:o,BasisEncoder:u})})})}var pe={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var eSt=["","WEBKIT_","MOZ_"],Dbe={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"},X8=null;function Sb(e){if(!X8){e=e||tSt()||void 0,X8=new Set;for(let t of eSt)for(let r in Dbe)if(e&&e.getExtension(`${t}${r}`)){let n=Dbe[r];X8.add(n)}}return X8}function tSt(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var F7=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}},ah=class{constructor(t,r,n,i){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,n),this._littleEndian=i,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,i=0;for(;this._dataView.getUint8(this._offset)!==r&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}};var Xfr=new Uint8Array([0]),fa=[171,75,84,88,32,50,48,187,13,10,26,10];function Fbe(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):Buffer.from(e).toString("utf8")}function kbe(e){let t=new Uint8Array(e.buffer,e.byteOffset,fa.length);if(t[0]!==fa[0]||t[1]!==fa[1]||t[2]!==fa[2]||t[3]!==fa[3]||t[4]!==fa[4]||t[5]!==fa[5]||t[6]!==fa[6]||t[7]!==fa[7]||t[8]!==fa[8]||t[9]!==fa[9]||t[10]!==fa[10]||t[11]!==fa[11])throw new Error("Missing KTX 2.0 identifier.");let r=new F7,n=17*Uint32Array.BYTES_PER_ELEMENT,i=new ah(e,fa.length,n,!0);r.vkFormat=i._nextUint32(),r.typeSize=i._nextUint32(),r.pixelWidth=i._nextUint32(),r.pixelHeight=i._nextUint32(),r.pixelDepth=i._nextUint32(),r.layerCount=i._nextUint32(),r.faceCount=i._nextUint32();let a=i._nextUint32();r.supercompressionScheme=i._nextUint32();let o=i._nextUint32(),s=i._nextUint32(),u=i._nextUint32(),c=i._nextUint32(),l=i._nextUint64(),f=i._nextUint64(),p=a*3*8,d=new ah(e,fa.length+n,p,!0);for(let me=0;me<a;me++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+d._nextUint64(),d._nextUint64()),uncompressedByteLength:d._nextUint64()});let h=new ah(e,o,s,!0),g={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:[]},m=6,v=4,b=(g.descriptorBlockSize/4-m)/v;for(let me=0;me<b;me++){let De={bitOffset:h._nextUint16(),bitLength:h._nextUint8(),channelType:h._nextUint8(),samplePosition:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};De.channelType&64?(De.sampleLower=h._nextInt32(),De.sampleUpper=h._nextInt32()):(De.sampleLower=h._nextUint32(),De.sampleUpper=h._nextUint32()),g.samples[me]=De}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(g);let _=new ah(e,u,c,!0);for(;_._offset<c;){let me=_._nextUint32(),De=_._scan(me),Oe=Fbe(De);if(r.keyValue[Oe]=_._nextUint8Array(me-De.byteLength-1),Oe.match(/^ktx/i)){let N=Fbe(r.keyValue[Oe]);r.keyValue[Oe]=N.substring(0,N.lastIndexOf("\0"))}let J=me%4?4-me%4:0;_._skip(J)}if(f<=0)return r;let A=new ah(e,l,f,!0),w=A._nextUint16(),C=A._nextUint16(),k=A._nextUint32(),R=A._nextUint32(),S=A._nextUint32(),D=A._nextUint32(),I=[];for(let me=0;me<a;me++)I.push({imageFlags:A._nextUint32(),rgbSliceByteOffset:A._nextUint32(),rgbSliceByteLength:A._nextUint32(),alphaSliceByteOffset:A._nextUint32(),alphaSliceByteLength:A._nextUint32()});let M=l+A._offset,G=M+k,z=G+R,X=z+S,Y=new Uint8Array(e.buffer,e.byteOffset+M,k),le=new Uint8Array(e.buffer,e.byteOffset+G,R),ue=new Uint8Array(e.buffer,e.byteOffset+z,S),ce=new Uint8Array(e.buffer,e.byteOffset+X,D);return r.globalData={endpointCount:w,selectorCount:C,imageDescs:I,endpointsData:Y,selectorsData:le,tablesData:ue,extendedData:ce},r}function t1(e,t){let r=new Array(t.mipMapLevels),n=t.width,i=t.height,a=0;for(let o=0;o<t.mipMapLevels;++o){let s=nSt(t,n,i,e,o),u=rSt(e,o,a,s);r[o]={compressed:!0,format:t.internalFormat,data:u,width:n,height:i,levelSize:s},n=Math.max(1,n>>1),i=Math.max(1,i>>1),a+=s}return r}function rSt(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function nSt(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var iSt={131:pe.COMPRESSED_RGB_S3TC_DXT1_EXT,132:pe.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:pe.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:pe.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:pe.COMPRESSED_RED_RGTC1_EXT,140:pe.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:pe.COMPRESSED_RED_GREEN_RGTC2_EXT,142:pe.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:pe.COMPRESSED_RGB8_ETC2,148:pe.COMPRESSED_SRGB8_ETC2,149:pe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:pe.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:pe.COMPRESSED_RGBA8_ETC2_EAC,152:pe.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:pe.COMPRESSED_R11_EAC,154:pe.COMPRESSED_SIGNED_R11_EAC,155:pe.COMPRESSED_RG11_EAC,156:pe.COMPRESSED_SIGNED_RG11_EAC,157:pe.COMPRESSED_RGBA_ASTC_4x4_KHR,158:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:pe.COMPRESSED_RGBA_ASTC_5x4_KHR,160:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:pe.COMPRESSED_RGBA_ASTC_5x5_KHR,162:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:pe.COMPRESSED_RGBA_ASTC_6x5_KHR,164:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:pe.COMPRESSED_RGBA_ASTC_6x6_KHR,166:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:pe.COMPRESSED_RGBA_ASTC_8x5_KHR,168:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:pe.COMPRESSED_RGBA_ASTC_8x6_KHR,170:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:pe.COMPRESSED_RGBA_ASTC_8x8_KHR,172:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:pe.COMPRESSED_RGBA_ASTC_10x5_KHR,174:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:pe.COMPRESSED_RGBA_ASTC_10x6_KHR,176:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:pe.COMPRESSED_RGBA_ASTC_10x8_KHR,178:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:pe.COMPRESSED_RGBA_ASTC_10x10_KHR,180:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:pe.COMPRESSED_RGBA_ASTC_12x10_KHR,182:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:pe.COMPRESSED_RGBA_ASTC_12x12_KHR,184:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:pe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:pe.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:pe.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:pe.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:pe.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:pe.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:pe.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:pe.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:pe.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:pe.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:pe.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:pe.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:pe.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:pe.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:pe.COMPRESSED_RGBA_ASTC_12x12_KHR};function Bbe(e){return iSt[e]}var ro=[171,75,84,88,32,50,48,187,13,10,26,10];function J8(e){let t=new Uint8Array(e);return!(t.byteLength<ro.length||t[0]!==ro[0]||t[1]!==ro[1]||t[2]!==ro[2]||t[3]!==ro[3]||t[4]!==ro[4]||t[5]!==ro[5]||t[6]!==ro[6]||t[7]!==ro[7]||t[8]!==ro[8]||t[9]!==ro[9]||t[10]!==ro[10]||t[11]!==ro[11])}function Obe(e){let t=new Uint8Array(e),r=kbe(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=Bbe(r.vkFormat);return t1(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var aSt={etc1:{basisFormat:0,compressed:!0,format:pe.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:pe.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:pe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:pe.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function Cb(e,t){if(t.basis.containerFormat==="auto"){if(J8(e)){let n=await D7(t);return Ibe(n.KTX2File,e,t)}let{BasisFile:r}=await C7(t);return k7(r,e,t)}switch(t.basis.module){case"encoder":let r=await D7(t);switch(t.basis.containerFormat){case"ktx2":return Ibe(r.KTX2File,e,t);case"basis":default:return k7(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await C7(t);return k7(n,e,t)}}function k7(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),a=[];for(let o=0;o<i;o++){let s=n.getNumLevels(o),u=[];for(let c=0;c<s;c++)u.push(oSt(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function oSt(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=Pbe(n,o),l=e.getImageTranscodedSizeInBytes(t,r,c),f=new Uint8Array(l);if(!e.transcodeImage(f,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:a,data:f,compressed:s,format:u,hasAlpha:o}}function Ibe(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),a=[];for(let o=0;o<i;o++)a.push(sSt(n,o,r));return[a]}finally{n.close(),n.delete()}}function sSt(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=Pbe(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,u),l=new Uint8Array(c);if(!e.transcodeImage(l,t,0,0,u,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:i,data:l,compressed:o,levelSize:c,hasAlpha:n,format:s}}function Pbe(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=r1()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),aSt[r]}function r1(){let e=Sb();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var Rbe={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:e1,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},oh={...Rbe,parse:Cb};var no={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},uSt={DXT1:pe.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:pe.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":pe.COMPRESSED_RGB_ATC_WEBGL,ATCA:pe.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:pe.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},cSt=Lbe,lSt=Y8,fSt=Y8,pSt={DXT1:Lbe,DXT3:Y8,DXT5:Y8,"ATC ":cSt,ATCA:lSt,ATCI:fSt};function Mbe(e){return new Uint32Array(e,0,no.HEADER_LENGTH)[no.MAGIC_NUMBER_INDEX]===no.MAGIC_NUMBER}function jbe(e){let t=new Int32Array(e,0,no.HEADER_LENGTH),r=t[no.HEADER_PF_FOURCC_INDEX];Et(Boolean(t[no.HEADER_PF_FLAGS_INDEX]&no.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=dSt(r),i=uSt[n],a=pSt[n];Et(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[no.HEADER_FLAGS_INDEX]&no.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[no.MIPMAPCOUNT_INDEX]));let s=t[no.HEADER_WIDTH_INDEX],u=t[no.HEADER_HEIGHT_INDEX],c=t[no.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return t1(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function Lbe(e,t){return(e+3>>2)*(t+3>>2)*8}function Y8(e,t){return(e+3>>2)*(t+3>>2)*16}function dSt(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Uo={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},hSt={0:[pe.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[pe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[pe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[pe.COMPRESSED_RGB_ETC1_WEBGL],7:[pe.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[pe.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[pe.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[pe.COMPRESSED_RGB8_ETC2],23:[pe.COMPRESSED_RGBA8_ETC2_EAC],24:[pe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[pe.COMPRESSED_R11_EAC],26:[pe.COMPRESSED_RG11_EAC],27:[pe.COMPRESSED_RGBA_ASTC_4X4_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[pe.COMPRESSED_RGBA_ASTC_5X4_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[pe.COMPRESSED_RGBA_ASTC_5X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[pe.COMPRESSED_RGBA_ASTC_6X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[pe.COMPRESSED_RGBA_ASTC_6X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[pe.COMPRESSED_RGBA_ASTC_8X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[pe.COMPRESSED_RGBA_ASTC_8X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[pe.COMPRESSED_RGBA_ASTC_8X8_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[pe.COMPRESSED_RGBA_ASTC_10X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[pe.COMPRESSED_RGBA_ASTC_10X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[pe.COMPRESSED_RGBA_ASTC_10X8_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[pe.COMPRESSED_RGBA_ASTC_10X10_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[pe.COMPRESSED_RGBA_ASTC_12X10_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[pe.COMPRESSED_RGBA_ASTC_12X12_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},mSt={0:qbe,1:qbe,2:Nbe,3:Nbe,6:Db,7:Db,9:Fb,11:Fb,22:Db,23:Fb,24:Db,25:Db,26:Fb,27:Fb,28:gSt,29:xSt,30:vSt,31:ySt,32:bSt,33:_St,34:wSt,35:ESt,36:ASt,37:TSt,38:SSt,39:CSt,40:DSt};function Ube(e){let r=new Uint32Array(e,0,Uo.HEADER_LENGTH)[Uo.MAGIC_NUMBER_INDEX];return r===Uo.MAGIC_NUMBER||r===Uo.MAGIC_NUMBER_EXTRA}function Gbe(e){let t=new Uint32Array(e,0,Uo.HEADER_LENGTH),r=t[Uo.PIXEL_FORMAT_INDEX],n=t[Uo.COLOUR_SPACE_INDEX],i=hSt[r]||[],a=i.length>1&&n?i[1]:i[0],o=mSt[r],s=t[Uo.MIPMAPCOUNT_INDEX],u=t[Uo.WIDTH_INDEX],c=t[Uo.HEIGHT_INDEX],l=Uo.HEADER_SIZE+t[Uo.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return t1(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function qbe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Nbe(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function Db(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function Fb(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function gSt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function xSt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function vSt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function ySt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function bSt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function _St(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function wSt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function ESt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function ASt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function TSt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function SSt(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function CSt(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function DSt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function zbe(e){if(J8(e))return Obe(e);if(Mbe(e))return jbe(e);if(Ube(e))return Gbe(e);throw new Error("Texture container format not recognized")}var Hbe={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:e1,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":{libraryPath:"libs/",useBasis:!1}}},Q8={...Hbe,parse:async(e,t)=>{var r;return(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 Cb(e,t))[0]):zbe(e)}};var B7={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:e1,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var n1=!0,Vbe=1735152710,P7=12,Z8=8,FSt=1313821514,kSt=5130562,BSt=0,OSt=0,ISt=1;function PSt(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 $be(e,t=0,r={}){let n=new DataView(e),{magic:i=Vbe}=r,a=n.getUint32(t,!1);return a===i||a===Vbe}function Wbe(e,t,r=0,n={}){let i=new DataView(t),a=PSt(i,r+0),o=i.getUint32(r+4,n1),s=i.getUint32(r+8,n1);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=P7,e.version){case 1:return RSt(e,i,r);case 2:return MSt(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function RSt(e,t,r){Et(e.header.byteLength>P7+Z8);let n=t.getUint32(r+0,n1),i=t.getUint32(r+4,n1);return r+=Z8,Et(i===BSt),O7(e,t,r,n),r+=n,r+=I7(e,t,r,e.header.byteLength),r}function MSt(e,t,r,n){return Et(e.header.byteLength>P7+Z8),jSt(e,t,r,n),r+e.header.byteLength}function jSt(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,n1),a=t.getUint32(r+4,n1);switch(r+=Z8,a){case FSt:O7(e,t,r,i);break;case kSt:I7(e,t,r,i);break;case OSt:n.strict||O7(e,t,r,i);break;case ISt:n.strict||I7(e,t,r,i);break;default:break}r+=Ja(i,4)}return r}function O7(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Ja(n,4)}function I7(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ja(n,4)}function R7(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=t.baseUri||t.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}var j7={};zn(j7,{decode:()=>XSt,name:()=>KSt});var LSt="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",qSt="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",NSt=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]),USt=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),GSt={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},zSt={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Kbe(e,t,r,n,i,a="NONE"){let o=await HSt();WSt(o,o.exports[zSt[i]],e,t,r,n,o.exports[GSt[a||"NONE"]])}var M7;async function HSt(){return M7||(M7=VSt()),M7}async function VSt(){let e=LSt;WebAssembly.validate(NSt)&&(e=qSt,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate($St(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function $St(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let i=e.charCodeAt(n);t[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?USt[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function WSt(e,t,r,n,i,a,o){let s=e.exports.sbrk,u=n+3&-4,c=s(u*i),l=s(a.length),f=new Uint8Array(e.exports.memory.buffer);f.set(a,l);let p=t(c,n,i,l,a.length);if(p===0&&o&&o(c,u,i),r.set(f.subarray(c,c+n*i)),s(c-s(0)),p!==0)throw new Error(`Malformed buffer data: ${p}`)}var eC="EXT_meshopt_compression",KSt=eC;async function XSt(e,t){var i,a;let r=new sr(e);if(!((i=t==null?void 0:t.gltf)!=null&&i.decompressMeshes)||!((a=t.gltf)!=null&&a.loadBuffers))return;let n=[];for(let o of e.json.bufferViews||[])n.push(JSt(r,o));await Promise.all(n),r.removeExtension(eC)}async function JSt(e,t){let r=e.getObjectExtension(t,eC);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:a,count:o,mode:s,filter:u="NONE",buffer:c}=r,l=e.gltf.buffers[c],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),p=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await Kbe(p,o,a,f,s,u),e.removeObjectExtension(t,eC)}}var L7={};zn(L7,{name:()=>YSt,preprocess:()=>QSt});var i1="EXT_texture_webp",YSt=i1;function QSt(e,t){let r=new sr(e);if(!b7("image/webp")){if(r.getRequiredExtensions().includes(i1))throw new Error(`gltf: Required extension ${i1} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,i1);a&&(i.source=a.source),r.removeObjectExtension(i,i1)}r.removeExtension(i1)}var q7={};zn(q7,{name:()=>ZSt,preprocess:()=>e6t});var tC="KHR_texture_basisu",ZSt=tC;function e6t(e,t){let r=new sr(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,tC);a&&(i.source=a.source,r.removeObjectExtension(i,tC))}r.removeExtension(tC)}var U7={};zn(U7,{decode:()=>a6t,encode:()=>o6t,name:()=>n6t,preprocess:()=>i6t});function Xbe(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=N7(n);t[r]=i}}return t}function N7(e){let{buffer:t,size:r,count:n}=t6t(e);return{value:t,size:r,byteOffset:0,count:n,type:G8(r),componentType:Xg(t)}}function t6t(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=r6t(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function r6t(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var cp="KHR_draco_mesh_compression",n6t=cp;function i6t(e,t,r){let n=new sr(e);for(let i of Jbe(n))n.getObjectExtension(i,cp)}async function a6t(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new sr(e),i=[];for(let o of Jbe(n))n.getObjectExtension(o,cp)&&i.push(s6t(n,o,t,r));await Promise.all(i),n.removeExtension(cp)}function o6t(e,t={}){let r=new sr(e);for(let n of r.json.meshes||[])u6t(n,t),r.addRequiredExtension(cp)}async function s6t(e,t,r,n){let i=e.getObjectExtension(t,cp);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=sd(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await Ka(o,Mg,s,n),c=Xbe(u.attributes);for(let[l,f]of Object.entries(c))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=c,u.indices&&(t.indices=N7(u.indices)),e.removeObjectExtension(t,cp),c6t(t)}function u6t(e,t,r=4,n,i){var l;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let a=n.DracoWriter.encodeSync({attributes:e}),o=(l=i==null?void 0:i.parseSync)==null?void 0:l.call(i,{attributes:e}),s=n._addFauxAttributes(o.attributes),u=n.addBufferView(a);return{primitives:[{attributes:s,mode:r,extensions:{[cp]:{bufferView:u,attributes:s}}}]}}function c6t(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Jbe(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var G7={};zn(G7,{decode:()=>d6t,name:()=>l6t});var nC="KHR_texture_transform",l6t=nC,rC=new ne,f6t=new pr,p6t=new pr;async function d6t(e,t){var a;if(!new sr(e).hasExtension(nC)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)h6t(o,e)}function h6t(e,t){var a,o,s,u;let r=(a=t.json.materials)==null?void 0:a[e],n=[(o=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:o.baseColorTexture,r==null?void 0:r.emissiveTexture,r==null?void 0:r.normalTexture,r==null?void 0:r.occlusionTexture,(s=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:s.metallicRoughnessTexture],i=[];for(let c of n)c&&((u=c==null?void 0:c.extensions)!=null&&u[nC])&&m6t(t,e,c,i)}function m6t(e,t,r,n){let i=g6t(r,n);if(!i)return;let a=e.json.meshes||[];for(let o of a)for(let s of o.primitives){let u=s.material;Number.isFinite(u)&&t===u&&x6t(e,s,i)}}function g6t(e,t){var o;let r=(o=e.extensions)==null?void 0:o[nC],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=b6t(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function x6t(e,t,r){var s,u;let{originalTexCoord:n,texCoord:i,matrix:a}=r,o=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let c=(s=e.json.accessors)==null?void 0:s[o];if(c&&c.bufferView){let l=(u=e.json.bufferViews)==null?void 0:u[c.bufferView];if(l){let{arrayBuffer:f,byteOffset:p}=e.buffers[l.buffer],d=(p||0)+(c.byteOffset||0)+(l.byteOffset||0),{ArrayType:h,length:g}=Jg(c,l),m=U8[c.componentType],v=N8[c.type],b=l.byteStride||m*v,_=new Float32Array(g);for(let A=0;A<c.count;A++){let w=new h(f,d+A*b,2);rC.set(w[0],w[1],1),rC.transformByMatrix3(a),_.set([rC[0],rC[1]],A*v)}n===i?v6t(c,l,e.buffers,_):y6t(i,c,t,e,_)}}}}function v6t(e,t,r,n){e.componentType=5126,r.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),t.buffer=r.length-1,t.byteLength=n.buffer.byteLength,t.byteOffset=0,delete t.byteStride}function y6t(e,t,r,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let a=n.json.bufferViews;if(!a)return;a.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:(a==null?void 0:a.length)-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=o.length-1)}function b6t(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new pr().set(1,0,0,0,1,0,t[0],t[1],1),a=f6t.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=p6t.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var z7={};zn(z7,{decode:()=>w6t,encode:()=>E6t,name:()=>_6t});var sh="KHR_lights_punctual",_6t=sh;async function w6t(e){let t=new sr(e),{json:r}=t,n=t.getExtension(sh);n&&(t.json.lights=n.lights,t.removeExtension(sh));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,sh);a&&(i.light=a.light),t.removeObjectExtension(i,sh)}}async function E6t(e){let t=new sr(e),{json:r}=t;if(r.lights){let n=t.addExtension(sh);ti(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let i=n.node;t.addObjectExtension(i,sh,n)}delete t.json.lights}}var H7={};zn(H7,{decode:()=>T6t,encode:()=>S6t,name:()=>A6t});var kb="KHR_materials_unlit",A6t=kb;async function T6t(e){let t=new sr(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,kb);t.removeExtension(kb)}function S6t(e){let t=new sr(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,kb,{}),t.addExtension(kb))}var V7={};zn(V7,{decode:()=>D6t,encode:()=>F6t,name:()=>C6t});var Bb="KHR_techniques_webgl",C6t=Bb;async function D6t(e){let t=new sr(e),{json:r}=t,n=t.getExtension(Bb);if(n){let i=k6t(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,Bb);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=B6t(a.technique,t)),t.removeObjectExtension(a,Bb)}t.removeExtension(Bb)}}async function F6t(e,t){}function k6t(e,t){let{programs:r=[],shaders:n=[],techniques:i=[]}=e,a=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=a.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]}),i.forEach(o=>{o.program=r[o.program]}),i}function B6t(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 Ybe=[A7,_7,j7,L7,q7,U7,z7,H7,V7,G7,T7];function Qbe(e,t={},r){var i;let n=Ybe.filter(a=>e2e(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function Zbe(e,t={},r){var i;let n=Ybe.filter(a=>e2e(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function e2e(e,t){var i;let r=((i=t==null?void 0:t.gltf)==null?void 0:i.excludeExtensions)||{};return!(e in r&&!r[e])}var $7="KHR_binary_glTF";function t2e(e){let t=new sr(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,$7);i&&Object.assign(n,i),t.removeObjectExtension(n,$7)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension($7)}var r2e={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},I6t={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},W7=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),t2e(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 r2e)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let i in n){let a=n[i];a.id=a.id||i;let o=t[r].length;t[r].push(a),this.idToIndexMap[r][i]=o}}}_convertObjectIdsToArrayIndices(t){for(let r in r2e)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:i,material:a}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),a&&(r.material=this._convertIdToIndex(a,"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 i in n){let a=n[i],o=this._convertIdToIndex(a,i);n[i]=o}}_convertIdToIndex(t,r){let n=I6t[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return i}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){var r,n,i;for(let a of t.materials){a.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=a.values)==null?void 0:r.tex)||((n=a.values)==null?void 0:n.texture2d_0)||((i=a.values)==null?void 0:i.diffuseTex),s=t.textures.findIndex(u=>u.id===o);s!==-1&&(a.pbrMetallicRoughness.baseColorTexture={index:s})}}};function n2e(e,t={}){return new W7().normalize(e,t)}async function i2e(e,t,r=0,n,i){var a,o,s;return P6t(e,t,r,n),n2e(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),Qbe(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await R6t(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await M6t(e,n,i),await Zbe(e,n,i),e}function P6t(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!$be(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=VB(t);else if(t instanceof ArrayBuffer){let o={};r=Wbe(o,t,r,n.glb),ti(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else ti(!1,"GLTF: must be ArrayBuffer or string");let i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:o}=e._glb;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}let a=e.json.images||[];e.images=new Array(a.length).fill({})}async function R6t(e,t,r){var i,a;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:u}=r;ti(u);let c=R7(s.uri,t),l=await((i=r==null?void 0:r.fetch)==null?void 0:i.call(r,c)),f=await((a=l==null?void 0:l.arrayBuffer)==null?void 0:a.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 M6t(e,t,r){let n=j6t(e),i=e.json.images||[],a=[];for(let o of n)a.push(L6t(e,i[o],o,t,r));return await Promise.all(a)}function j6t(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 L6t(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let s=R7(t.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let s=bbe(e.json,e.buffers,t.bufferView);a=sd(s.buffer,s.byteOffset,s.byteLength)}ti(a,"glTF image has no data");let o=await Ka(a,[Kg,oh],{...n,mimeType:t.mimeType,basis:n.basis||{format:r1()}},i);o&&o[0]&&(o={compressed:!0,mipmaps:!1,width:o[0].width,height:o[0].height,data:o[0]}),e.images=e.images||[],e.images[r]=o}var dl={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:K8,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:q6t,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function q6t(e,t={},r){t={...dl.options,...t},t.gltf={...dl.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await i2e({},e,n,t,r)}var N6t=1179937895,U6t=1313821514,G6t=5130562,Qu=!0;function a2e(e,t,r=0,n={}){let{magic:i=N6t,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Qu),t.setUint32(r+4,a,Qu),t.setUint32(r+8,0,Qu));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Qu),t.setUint32(r+4,U6t,Qu)),r+=8;let f=JSON.stringify(o);if(r=U0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,Qu)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,Qu),t.setUint32(r+4,G6t,Qu)),r+=8,r=dE(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,Qu)}}if(t){let p=r-u;t.setUint32(c,p,Qu)}return r}function K7(e,t,r,n){return z6t(e),a2e(e,t,r,n)}function z6t(e,{firstBuffer:t=0}={}){if(e.buffers&&e.buffers.length>t)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var X7={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:K8,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>o2e(e,t),encodeSync:o2e};function o2e(e,t={}){let{byteOffset:r=0}=t,n=K7(e,null,r,t),i=new ArrayBuffer(n),a=new DataView(i);return K7(e,a,r,t),i}var H6t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},V6t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Go={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},$6t={magFilter:Go.TEXTURE_MAG_FILTER,minFilter:Go.TEXTURE_MIN_FILTER,wrapS:Go.TEXTURE_WRAP_S,wrapT:Go.TEXTURE_WRAP_T},W6t={[Go.TEXTURE_MAG_FILTER]:Go.LINEAR,[Go.TEXTURE_MIN_FILTER]:Go.NEAREST_MIPMAP_LINEAR,[Go.TEXTURE_WRAP_S]:Go.REPEAT,[Go.TEXTURE_WRAP_T]:Go.REPEAT};function K6t(){return{id:"default-sampler",parameters:W6t}}function X6t(e){return V6t[e]}function J6t(e){return H6t[e]}var J7=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return ti(n),this.baseUri=o,this.buffers=i,this.images=a,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((i,a)=>this._resolveBufferView(i,a))),t.images&&(n.images=t.images.map((i,a)=>this._resolveImage(i,a))),t.samplers&&(n.samplers=t.samplers.map((i,a)=>this._resolveSampler(i,a))),t.textures&&(n.textures=t.textures.map((i,a)=>this._resolveTexture(i,a))),t.accessors&&(n.accessors=t.accessors.map((i,a)=>this._resolveAccessor(i,a))),t.materials&&(n.materials=t.materials.map((i,a)=>this._resolveMaterial(i,a))),t.meshes&&(n.meshes=t.meshes.map((i,a)=>this._resolveMesh(i,a))),t.nodes&&(n.nodes=t.nodes.map((i,a)=>this._resolveNode(i,a)),n.nodes=n.nodes.map((i,a)=>this._resolveNodeChildren(i))),t.skins&&(n.skins=t.skins.map((i,a)=>this._resolveSkin(i,a))),t.scenes&&(n.scenes=t.scenes.map((i,a)=>this._resolveScene(i,a))),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((i,a)=>{let o=this.getMesh(a);return i.id=o.id,i.primitives=i.primitives.concat(o.primitives),i},{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(i=>{let a={...i,attributes:{},indices:void 0,material:void 0},o=i.attributes;for(let s in o)a.attributes[s]=this.getAccessor(o[s]);return i.indices!==void 0&&(a.indices=this.getAccessor(i.indices)),i.material!==void 0&&(a.material=this.getMaterial(i.material)),a})),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 i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture={...i.baseColorTexture},i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture={...i.metallicRoughnessTexture},i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=X6t(t.componentType),i=J6t(t.type),a=n*i,o={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:a,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:u,byteLength:c}=Jg(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=s.arrayBuffer.slice(l,l+c);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new u(f)}return o}_getValueFromInterleavedBuffer(t,r,n,i,a){let o=new Uint8Array(a*i);for(let s=0;s<a;s++){let u=r+s*n;o.set(new Uint8Array(t.arrayBuffer.slice(u,u+i)),s*i)}return o.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):K6t(),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 i in n){let a=this._enumSamplerParameter(i);a!==void 0&&(n.parameters[a]=n[i])}return n}_enumSamplerParameter(t){return $6t[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},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(t,r){let n=t.buffer,i=this.buffers[n].arrayBuffer,a=this.buffers[n].byteOffset||0;return t.byteOffset&&(a+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(i,a,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Ob(e,t){return new J7().postProcess(e,t)}var iC={URI:0,EMBEDDED:1};function aC(e,t,r,n){e.rotateYtoZ=!0;let i=(e.byteOffset||0)+(e.byteLength||0)-r;if(i===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=sd(t,r,i),e.gltfByteOffset=0,e.gltfByteLength=i,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 oC(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(Y6t(e,t,r),i.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:a}=n,o=await a(e.gltfUrl,r);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let a=await Ka(e.gltfArrayBuffer,dl,r,n);e.gltf=Ob(a),e.gpuMemoryUsageInBytes=Ab(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function Y6t(e,t,r){switch(t){case iC.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),a=new TextDecoder().decode(n);e.gltfUrl=a.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case iC.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function s2e(e,t,r,n,i){var o;r=Q6t(e,t,r,n,i),await oC(e,iC.EMBEDDED,n,i);let a=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return a&&a.CESIUM_RTC&&(e.rtcCenter=a.CESIUM_RTC.center),r}function Q6t(e,t,r,n,i){r=up(e,t,r),r=Vg(e,t,r),r=$g(e,t,r,n),r=aC(e,t,r,n);let a=new fl(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",xt.FLOAT,3),r}var hl=6356752314245179e-9,Z6t={radii:[6378137,6378137,hl],radiiSquared:[6378137*6378137,6378137*6378137,hl*hl],oneOverRadii:[1/6378137,1/6378137,1/hl],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(hl*hl)],maximumRadius:Math.max(6378137,6378137,hl),centerToleranceSquared:.1};function sC(e){return e}var Ydr=new ge;function e8t(e,t=[],r=sC){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 u2e(e,t=[]){return e8t(e,t,on._cartographicRadians?sC:OL)}function t8t(e,t,r=sC){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 c2e(e,t){return t8t(e,t,on._cartographicRadians?sC:IL)}var l2e=1e-14,r8t=new ge,f2e={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"}},Y7={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Ib={east:new ge,north:new ge,up:new ge,west:new ge,south:new ge,down:new ge},n8t=new ge,i8t=new ge,a8t=new ge;function Q7(e,t,r,n,i,a){let o=f2e[t]&&f2e[t][r];xi(o&&(!n||n===o));let s,u,c,l=r8t.copy(i);if(to(l.x,0,l2e)&&to(l.y,0,l2e)){let p=Math.sign(l.z);s=n8t.fromArray(Y7[t]),t!=="east"&&t!=="west"&&s.scale(p),u=i8t.fromArray(Y7[r]),r!=="east"&&r!=="west"&&u.scale(p),c=a8t.fromArray(Y7[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=Ib;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:g,west:m,south:v}=Ib;g.copy(p).scale(-1),m.copy(d).scale(-1),v.copy(h).scale(-1),s=Ib[t],u=Ib[r],c=Ib[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var a1=new ge,o8t=new ge,s8t=new ge;function p2e(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;a1.from(e);let o=a1.x,s=a1.y,u=a1.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,h=u*u*f*f,g=p+d+h,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let v=o8t;if(v.copy(e).scale(m),g<a)return v.to(r);let b=i.x,_=i.y,A=i.z,w=s8t;w.set(v.x*b*2,v.y*_*2,v.z*A*2);let C=(1-m)*a1.len()/(.5*w.len()),k=0,R,S,D,I;do{C-=k,R=1/(1+C*b),S=1/(1+C*_),D=1/(1+C*A);let M=R*R,G=S*S,z=D*D,X=M*R,Y=G*S,le=z*D;I=p*M+d*G+h*z-1;let ce=-2*(p*X*b+d*Y*_+h*le*A);k=I/ce}while(Math.abs(I)>Ku.EPSILON12);return a1.scale([R,S,D]).to(r)}var uC=new ge,d2e=new ge,l8t=new ge,Is=new ge,f8t=new ge,cC=new ge,ml=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=Ku.EPSILON1,xi(t>=0),xi(r>=0),xi(n>=0),this.radii=new ge(t,r,n),this.radiiSquared=new ge(t*t,r*r,n*n),this.radiiToTheFourth=new ge(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new ge(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new ge(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=d2e,i=l8t,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){cC.from(t);let n=this.scaleToGeodeticSurface(cC,Is);if(!n)return;let i=this.geodeticSurfaceNormal(n,d2e),a=f8t;a.copy(cC).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Ng.dot(a,cC))*Ng.length(a);return c2e([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new qo){return Q7(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new qo){return Q7(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return uC.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=u2e(t),i=n[0],a=n[1],o=Math.cos(a);return uC.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),uC.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return uC.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return p2e(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Is.from(t);let n=Is.x,i=Is.y,a=Is.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return Is.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Is.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Is.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){xi(to(this.radii.x,this.radii.y,Ku.EPSILON15)),xi(this.radii.z>0),Is.from(t);let i=Is.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Is.set(0,0,i).to(n)}};ml.WGS84=new ml(6378137,6378137,hl);async function h2e(e,t,r,n,i){return r=p8t(e,t,r,n,i),await oC(e,e.gltfFormat||0,n,i),r}function p8t(e,t,r,n,i){var c;if(r=up(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=Vg(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=$g(e,t,r,n),r=aC(e,t,r,n),!((c=e==null?void 0:e.header)!=null&&c.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new fl(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",xt.FLOAT,3);let u=new nh(e.batchTableJson,e.batchTableBinary,s);return d8t(e,o,u,s),r}function d8t(e,t,r,n){let i=new Array(n),a=new ge,o=new ge,s=new ge,u=new ge,c=new Yr,l=new sp,f=new ge,p={},d=new qo,h=[],g=[],m=[],v=[];for(let b=0;b<n;b++){let _;if(t.hasProperty("POSITION"))_=t.getProperty("POSITION",xt.FLOAT,3,b,a);else if(t.hasProperty("POSITION_QUANTIZED")){_=t.getProperty("POSITION_QUANTIZED",xt.UNSIGNED_SHORT,3,b,a);let D=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",xt.FLOAT,3);if(!D)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let I=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",xt.FLOAT,3);if(!I)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let M=65535;for(let G=0;G<3;G++)_[G]=_[G]/M*I[G]+D[G]}if(!_)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(_),p.translation=a,e.normalUp=t.getProperty("NORMAL_UP",xt.FLOAT,3,b,h),e.normalRight=t.getProperty("NORMAL_RIGHT",xt.FLOAT,3,b,g);let A=!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",xt.UNSIGNED_SHORT,2,b,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",xt.UNSIGNED_SHORT,2,b,g),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?(ml.WGS84.eastNorthUpToFixedFrame(a,d),d.getRotationMatrix3(c)):c.identity()}A&&(u.copy(o).cross(s).normalize(),c.setColumn(0,o),c.setColumn(1,s),c.setColumn(2,u)),l.fromMatrix3(c),p.rotation=l,f.set(1,1,1);let w=t.getProperty("SCALE",xt.FLOAT,1,b,m);Number.isFinite(w)&&f.multiplyByScalar(w);let C=t.getProperty("SCALE_NON_UNIFORM",xt.FLOAT,3,b,h);C&&f.scale(C),p.scale=f;let k=t.getProperty("BATCH_ID",xt.UNSIGNED_SHORT,1,b,v);k===void 0&&(k=b);let R=new qo().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(R),d.scale(p.scale);let S=d.clone();i[b]={modelMatrix:S,batchId:k}}e.instances=i}async function m2e(e,t,r,n,i,a){r=up(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 a(t,r,n,i,s)}return r}async function g2e(e,t,r,n){var i,a;if(e.rotateYtoZ=!0,e.gltfUpAxis=(i=r==null?void 0:r["3d-tiles"])!=null&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",(a=r==null?void 0:r["3d-tiles"])!=null&&a.loadGLTF){if(!n)return t.byteLength;let o=await Ka(t,dl,r,n);e.gltf=Ob(o),e.gpuMemoryUsageInBytes=Ab(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function Z7(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=Lve(e,t),i.type){case Lo.COMPOSITE:return await m2e(i,e,t,r,n,Z7);case Lo.BATCHED_3D_MODEL:return await s2e(i,e,t,r,n);case Lo.GLTF:return await g2e(i,e,r,n);case Lo.INSTANCED_3D_MODEL:return await h2e(i,e,t,r,n);case Lo.POINT_CLOUD:return await ibe(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function eq(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 a=x2e(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=x2e(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await lC(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let p of c.contentAvailability)await lC(c,p,f,r);else await lC(c,c.contentAvailability,f,r);return await lC(c,c.childSubtreeAvailability,f,r),c}async function lC(e,t,r,n){let i=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof i!="number")return;let a=e.bufferViews[i],o=e.buffers[a.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 u=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(u)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,a.byteOffset,a.byteLength);return}let s=e.buffers.slice(0,a.buffer).reduce((u,c)=>u+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(s,s+o.byteLength),a.byteOffset,a.byteLength)}function x2e(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var fC={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Rg,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:eq,options:{}};function tq(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function Ps(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||tq()}var h8t=globalThis.self||globalThis.window||globalThis.global,o1=globalThis.window||globalThis.self||globalThis.global,m8t=globalThis.document||{},uh=globalThis.process||{},g8t=globalThis.console,zhr=globalThis.navigator||{};var pC="4.3.0-alpha.5",$hr=Ps();function x8t(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var dC=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=x8t(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 v2e(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function y2e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function hC(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var mC;(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"})(mC||(mC={}));var v8t=10;function b2e(e){return typeof e!="string"?e:(e=e.toUpperCase(),mC[e]||mC.WHITE)}function _2e(e,t,r){if(!Ps&&typeof e=="string"){if(t){let n=b2e(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=b2e(r);e="\x1B[".concat(n+v8t,"m").concat(e,"\x1B[49m")}}return e}function w2e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function s1(e,t){if(!e)throw new Error(t||"Assertion failed")}function ch(){let e;if(Ps()&&o1.performance){var t,r;e=o1===null||o1===void 0||(t=o1.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in uh){var n;let i=uh===null||uh===void 0||(n=uh.hrtime)===null||n===void 0?void 0:n.call(uh);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var u1={debug:Ps()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},y8t={enabled:!0,level:0};function zo(){}var E2e={},A2e={once:!0},Pb=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=pC,this._startTs=ch(),this._deltaTs=ch(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new dC("__probe-".concat(this.id,"__"),y8t),this.timeStamp("".concat(this.id," started")),w2e(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((ch()-this._startTs).toPrecision(10))}getDelta(){return Number((ch()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){s1(t,r)}warn(t){return this._getLogFunction(0,t,u1.warn,arguments,A2e)}error(t){return this._getLogFunction(0,t,u1.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,u1.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,u1.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,u1.debug||u1.info,arguments,A2e)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||zo,n&&[n],{tag:E8t(r)}):zo}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?Ps()?w8t({image:i,message:a,scale:o}):_8t({image:i,message:a,scale:o}):zo}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||zo)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=T2e({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||zo)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=S2e(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=T2e({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,s1(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=ch();let o=a.tag||a.message;if(a.once&&o)if(!E2e[o])E2e[o]=ch();else return zo;return r=b8t(this.id,a.message,a),n.bind(console,r,...a.args)}return zo}};Pb.VERSION=pC;function S2e(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 s1(Number.isFinite(t)&&t>=0),t}function T2e(e){let{logLevel:t,message:r}=e;e.logLevel=S2e(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 i=typeof e.message;return s1(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function b8t(e,t,r){if(typeof t=="string"){let n=r.time?y2e(v2e(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=_2e(t,r.color,r.background)}return t}function _8t(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),zo}function w8t(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=hC(a,r,n);console.log(...o)},a.src=t,zo}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...hC(t,r,n)),zo;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...hC(a,r,n)),a.src=t.toDataURL(),zo}return zo}function E8t(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var rq=new Pb({id:"@probe.gl/log"});var Ho=null;try{Ho=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 Hr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Hr.prototype.__isLong__;Object.defineProperty(Hr.prototype,"__isLong__",{value:!0});function Yi(e){return(e&&e.__isLong__)===!0}function C2e(e){var t=Math.clz32(e&-e);return e?31-t:t}Hr.isLong=Yi;var D2e={},F2e={};function lh(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=F2e[e],n)?n:(r=hr(e,0,!0),i&&(F2e[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=D2e[e],n)?n:(r=hr(e,e<0?-1:0,!1),i&&(D2e[e]=r),r))}Hr.fromInt=lh;function Vo(e,t){if(isNaN(e))return t?gl:Rs;if(t){if(e<0)return gl;if(e>=I2e)return M2e}else{if(e<=-B2e)return Ra;if(e+1>=B2e)return R2e}return e<0?Vo(-e,t).neg():hr(e%l1|0,e/l1|0,t)}Hr.fromNumber=Vo;function hr(e,t,r){return new Hr(e,t,r)}Hr.fromBits=hr;var gC=Math.pow;function iq(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?gl:Rs;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 iq(e.substring(1),t,r).neg();for(var i=Vo(gC(r,8)),a=Rs,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),u=parseInt(e.substring(o,o+s),r);if(s<8){var c=Vo(gC(r,s));a=a.mul(c).add(Vo(u))}else a=a.mul(i),a=a.add(Vo(u))}return a.unsigned=t,a}Hr.fromString=iq;function Ms(e,t){return typeof e=="number"?Vo(e,t):typeof e=="string"?iq(e,t):hr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Hr.fromValue=Ms;var k2e=1<<16,A8t=1<<24,l1=k2e*k2e,I2e=l1*l1,B2e=I2e/2,O2e=lh(A8t),Rs=lh(0);Hr.ZERO=Rs;var gl=lh(0,!0);Hr.UZERO=gl;var c1=lh(1);Hr.ONE=c1;var P2e=lh(1,!0);Hr.UONE=P2e;var nq=lh(-1);Hr.NEG_ONE=nq;var R2e=hr(-1,2147483647,!1);Hr.MAX_VALUE=R2e;var M2e=hr(-1,-1,!0);Hr.MAX_UNSIGNED_VALUE=M2e;var Ra=hr(0,-2147483648,!1);Hr.MIN_VALUE=Ra;var Ce=Hr.prototype;Ce.toInt=function(){return this.unsigned?this.low>>>0:this.low};Ce.toNumber=function(){return this.unsigned?(this.high>>>0)*l1+(this.low>>>0):this.high*l1+(this.low>>>0)};Ce.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(Ra)){var r=Vo(t),n=this.div(r),i=n.mul(r).sub(this);return n.toString(t)+i.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var a=Vo(gC(t,6),this.unsigned),o=this,s="";;){var u=o.div(a),c=o.sub(u.mul(a)).toInt()>>>0,l=c.toString(t);if(o=u,o.isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}};Ce.getHighBits=function(){return this.high};Ce.getHighBitsUnsigned=function(){return this.high>>>0};Ce.getLowBits=function(){return this.low};Ce.getLowBitsUnsigned=function(){return this.low>>>0};Ce.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Ra)?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};Ce.isZero=function(){return this.high===0&&this.low===0};Ce.eqz=Ce.isZero;Ce.isNegative=function(){return!this.unsigned&&this.high<0};Ce.isPositive=function(){return this.unsigned||this.high>=0};Ce.isOdd=function(){return(this.low&1)===1};Ce.isEven=function(){return(this.low&1)===0};Ce.equals=function(t){return Yi(t)||(t=Ms(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Ce.eq=Ce.equals;Ce.notEquals=function(t){return!this.eq(t)};Ce.neq=Ce.notEquals;Ce.ne=Ce.notEquals;Ce.lessThan=function(t){return this.comp(t)<0};Ce.lt=Ce.lessThan;Ce.lessThanOrEqual=function(t){return this.comp(t)<=0};Ce.lte=Ce.lessThanOrEqual;Ce.le=Ce.lessThanOrEqual;Ce.greaterThan=function(t){return this.comp(t)>0};Ce.gt=Ce.greaterThan;Ce.greaterThanOrEqual=function(t){return this.comp(t)>=0};Ce.gte=Ce.greaterThanOrEqual;Ce.ge=Ce.greaterThanOrEqual;Ce.compare=function(t){if(Yi(t)||(t=Ms(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};Ce.comp=Ce.compare;Ce.negate=function(){return!this.unsigned&&this.eq(Ra)?Ra:this.not().add(c1)};Ce.neg=Ce.negate;Ce.add=function(t){Yi(t)||(t=Ms(t));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,a=this.low&65535,o=t.high>>>16,s=t.high&65535,u=t.low>>>16,c=t.low&65535,l=0,f=0,p=0,d=0;return d+=a+c,p+=d>>>16,d&=65535,p+=i+u,f+=p>>>16,p&=65535,f+=n+s,l+=f>>>16,f&=65535,l+=r+o,l&=65535,hr(p<<16|d,l<<16|f,this.unsigned)};Ce.subtract=function(t){return Yi(t)||(t=Ms(t)),this.add(t.neg())};Ce.sub=Ce.subtract;Ce.multiply=function(t){if(this.isZero())return this;if(Yi(t)||(t=Ms(t)),Ho){var r=Ho.mul(this.low,this.high,t.low,t.high);return hr(r,Ho.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?gl:Rs;if(this.eq(Ra))return t.isOdd()?Ra:Rs;if(t.eq(Ra))return this.isOdd()?Ra:Rs;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(O2e)&&t.lt(O2e))return Vo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,a=this.low>>>16,o=this.low&65535,s=t.high>>>16,u=t.high&65535,c=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+=a*l,p+=d>>>16,d&=65535,d+=o*c,p+=d>>>16,d&=65535,p+=i*l,f+=p>>>16,p&=65535,p+=a*c,f+=p>>>16,p&=65535,p+=o*u,f+=p>>>16,p&=65535,f+=n*l+i*c+a*u+o*s,f&=65535,hr(d<<16|h,f<<16|p,this.unsigned)};Ce.mul=Ce.multiply;Ce.divide=function(t){if(Yi(t)||(t=Ms(t)),t.isZero())throw Error("division by zero");if(Ho){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Ho.div_u:Ho.div_s)(this.low,this.high,t.low,t.high);return hr(r,Ho.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?gl:Rs;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return gl;if(t.gt(this.shru(1)))return P2e;a=gl}else{if(this.eq(Ra)){if(t.eq(c1)||t.eq(nq))return Ra;if(t.eq(Ra))return c1;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(Rs)?t.isNegative()?c1:nq:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq(Ra))return this.unsigned?gl:Rs;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();a=Rs}for(i=this;i.gte(t);){n=Math.max(1,Math.floor(i.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),u=s<=48?1:gC(2,s-48),c=Vo(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=Vo(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=c1),a=a.add(c),i=i.sub(l)}return a};Ce.div=Ce.divide;Ce.modulo=function(t){if(Yi(t)||(t=Ms(t)),Ho){var r=(this.unsigned?Ho.rem_u:Ho.rem_s)(this.low,this.high,t.low,t.high);return hr(r,Ho.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Ce.mod=Ce.modulo;Ce.rem=Ce.modulo;Ce.not=function(){return hr(~this.low,~this.high,this.unsigned)};Ce.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Ce.clz=Ce.countLeadingZeros;Ce.countTrailingZeros=function(){return this.low?C2e(this.low):C2e(this.high)+32};Ce.ctz=Ce.countTrailingZeros;Ce.and=function(t){return Yi(t)||(t=Ms(t)),hr(this.low&t.low,this.high&t.high,this.unsigned)};Ce.or=function(t){return Yi(t)||(t=Ms(t)),hr(this.low|t.low,this.high|t.high,this.unsigned)};Ce.xor=function(t){return Yi(t)||(t=Ms(t)),hr(this.low^t.low,this.high^t.high,this.unsigned)};Ce.shiftLeft=function(t){return Yi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):hr(0,this.low<<t-32,this.unsigned)};Ce.shl=Ce.shiftLeft;Ce.shiftRight=function(t){return Yi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):hr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Ce.shr=Ce.shiftRight;Ce.shiftRightUnsigned=function(t){return Yi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?hr(this.high,0,this.unsigned):hr(this.high>>>t-32,0,this.unsigned)};Ce.shru=Ce.shiftRightUnsigned;Ce.shr_u=Ce.shiftRightUnsigned;Ce.rotateLeft=function(t){var r;return Yi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?hr(this.high,this.low,this.unsigned):t<32?(r=32-t,hr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,hr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Ce.rotl=Ce.rotateLeft;Ce.rotateRight=function(t){var r;return Yi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?hr(this.high,this.low,this.unsigned):t<32?(r=32-t,hr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,hr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Ce.rotr=Ce.rotateRight;Ce.toSigned=function(){return this.unsigned?hr(this.low,this.high,!1):this};Ce.toUnsigned=function(){return this.unsigned?this:hr(this.low,this.high,!0)};Ce.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Ce.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]};Ce.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]};Hr.fromBytes=function(t,r,n){return n?Hr.fromBytesLE(t,r):Hr.fromBytesBE(t,r)};Hr.fromBytesLE=function(t,r){return new Hr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Hr.fromBytesBE=function(t,r){return new Hr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var f1=Hr;var T8t=16;function Rb(e){e==="X"&&(e="");let t=e.padEnd(T8t,"0");return f1.fromString(t,!0,16)}function aq(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let a=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-a.length).join("0")+a}function oq(e,t){let r=S8t(e).shiftRightUnsigned(2);return e.add(f1.fromNumber(2*t+1-4).multiply(r))}function S8t(e){return e.and(e.not().add(1))}var C8t=3,D8t=30,F8t=2*D8t+1,j2e=180/Math.PI;function q2e(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],i=n.length,a=0,o=[0,0];for(let s=i-1;s>=0;s--){a=i-s;let u=n[s],c=0,l=0;u==="1"?l=1:u==="2"?(c=1,l=1):u==="3"&&(c=1);let f=Math.pow(2,a-1);k8t(f,o,c,l),o[0]+=f*c,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:a}}function N2e(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<C8t+F8t;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=f1.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=f1.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function sq(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function L2e(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function uq(e){return[L2e(e[0]),L2e(e[1])]}function cq(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 lq([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*j2e,n*j2e]}function k8t(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}function U2e(e){let t=sq(e.ij,e.level,[.5,.5]),r=uq(t),n=cq(e.face,r);return lq(n)}var B8t=100;function fq(e){let{face:t,ij:r,level:n}=e,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],a=Math.max(1,Math.ceil(B8t*Math.pow(2,-n))),o=new Float64Array(4*a*2+2),s=0,u=0;for(let c=0;c<4;c++){let l=i[c].slice(0),f=i[c+1],p=(f[0]-l[0])/a,d=(f[1]-l[1])/a;for(let h=0;h<a;h++){l[0]+=p,l[1]+=d;let g=sq(r,n,l),m=uq(g),v=cq(t,m),b=lq(v);Math.abs(b[1])>89.999&&(b[0]=u);let _=b[0]-u;b[0]+=_>180?-360:_<-180?360:0,o[s++]=b[0],o[s++]=b[1],u=b[0]}}return o[s++]=o[0],o[s++]=o[1],o}function p1(e){let t=O8t(e);return q2e(t)}function O8t(e){if(e.indexOf("/")>0)return e;let t=Rb(e);return N2e(t)}function pq(e){let t=p1(e);return U2e(t)}function z2e(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let i=0;i<4;i++){let a=`${e.face}/${i}`,o=p1(a),s=fq(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=G2e(r)}else{let r=fq(e);t=G2e(r)}return t}function G2e(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,i)=>n-i),r.sort((n,i)=>n-i),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function dq(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=p1(e),a=z2e(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new ge(o,c,r)),l.push(new ge(u,c,r)),l.push(new ge(u,s,r)),l.push(new ge(o,s,r)),l.push(new ge(o,c,n)),l.push(new ge(u,c,n)),l.push(new ge(u,s,n)),l.push(new ge(o,s,n)),l}var vi={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var $0r=new ge,W0r=new ge;var Mb=new ge,H2e=new ge,lp=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new ge,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Mb.from(r),this.center=new ge().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 lp(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=Mb.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return H2e.copy(o).scale((-n+u)/s).add(r),this.center.copy(H2e),this.radius=u,this}expand(t){let n=Mb.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=I8.getScaling(Mb,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=Mb.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?vi.OUTSIDE:a<n?vi.INTERSECTING:vi.INSIDE}};var I8t=new ge,P8t=new ge,xC=new ge,vC=new ge,yC=new ge,R8t=new ge,M8t=new ge,xl={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},fh=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new ge().from(t),this.halfAxes=new Yr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ge(t).len(),new ge(r).len(),new ge(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new ge(t).normalize(),a=new ge(r).normalize(),o=new ge(n).normalize();return new sp().fromMatrix3(new Yr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new sp(n),a=new Yr().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new ge().from(t),this.halfAxes=a,this}clone(){return new fh(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new lp){let r=this.halfAxes,n=r.getColumn(0,xC),i=r.getColumn(1,vC),a=r.getColumn(2,yC),o=I8t.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[xl.COLUMN0ROW0]+o*i[xl.COLUMN0ROW1]+s*i[xl.COLUMN0ROW2])+Math.abs(a*i[xl.COLUMN1ROW0]+o*i[xl.COLUMN1ROW1]+s*i[xl.COLUMN1ROW2])+Math.abs(a*i[xl.COLUMN2ROW0]+o*i[xl.COLUMN2ROW1]+s*i[xl.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?vi.OUTSIDE:c>=u?vi.INSIDE:vi.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=P8t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,xC),a=n.getColumn(1,vC),o=n.getColumn(2,yC),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,xC),c=s.getColumn(1,vC),l=s.getColumn(2,yC),f=R8t.copy(u).add(c).add(l).add(o),p=M8t.copy(f).subtract(t),d=r.dot(p);return i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,xC);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,vC);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,yC);return i.transformAsPoint(t),this.halfAxes=new Yr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var V2e=new ge,$2e=new ge,vl=class{constructor(t=[0,0,1],r=0){this.normal=new ge,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return xi(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=V2e.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,i){return this.normal.set(t,r,n),xi(to(this.normal.len(),1)),this.distance=i,this}clone(){return new vl(this.normal,this.distance)}equals(t){return to(this.distance,t.distance)&&to(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=$2e.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=V2e.from(t),i=this.getPointDistance(n),a=$2e.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var W2e=[new ge([1,0,0]),new ge([0,1,0]),new ge([0,0,1])],K2e=new ge,j8t=new ge,$o=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*W2e.length;let r=t.center,n=t.radius,i=0;for(let a of W2e){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new vl),s||(s=this.planes[i+1]=new vl);let u=K2e.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=K2e.copy(a).scale(n).add(r),l=j8t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=vi.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case vi.OUTSIDE:return vi.OUTSIDE;case vi.INTERSECTING:r=vi.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(xi(Number.isFinite(r),"parentPlaneMask is required."),r===$o.MASK_OUTSIDE||r===$o.MASK_INSIDE)return r;let n=$o.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===vi.OUTSIDE)return $o.MASK_OUTSIDE;u===vi.INTERSECTING&&(n|=o)}return n}};$o.MASK_OUTSIDE=4294967295;$o.MASK_INSIDE=0;$o.MASK_INDETERMINATE=2147483647;var fmr=new ge,pmr=new ge,dmr=new ge,hmr=new ge,mmr=new ge;var _mr=new ge,wmr=new ge,Emr=new ge,Amr=new ge,Tmr=new ge,Smr=new ge,Cmr=new ge,Dmr=new ge,Fmr=new ge,kmr=new ge,Bmr=new ge,Omr=new ge;var Zu=new Yr,q8t=new Yr,N8t=new Yr,bC=new Yr,X2e=new Yr;function gq(e,t={}){let r=Ku.EPSILON20,n=10,i=0,a=0,o=q8t,s=N8t;o.identity(),s.copy(e);let u=r*U8t(s);for(;a<n&&G8t(s)>u;)z8t(s,bC),X2e.copy(bC).transpose(),s.multiplyRight(bC),s.multiplyLeft(X2e),o.multiplyRight(bC),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function U8t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var hq=[1,0,0],mq=[2,2,1];function G8t(e){let t=0;for(let r=0;r<3;++r){let n=e[Zu.getElementIndex(mq[r],hq[r])];t+=2*n*n}return Math.sqrt(t)}function z8t(e,t){let r=Ku.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[Zu.getElementIndex(mq[c],hq[c])]);l>n&&(i=c,n=l)}let a=hq[i],o=mq[i],s=1,u=0;if(Math.abs(e[Zu.getElementIndex(o,a)])>r){let c=e[Zu.getElementIndex(o,o)],l=e[Zu.getElementIndex(a,a)],f=e[Zu.getElementIndex(o,a)],p=(c-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),u=d*s}return Yr.IDENTITY.to(t),t[Zu.getElementIndex(a,a)]=t[Zu.getElementIndex(o,o)]=s,t[Zu.getElementIndex(o,a)]=u,t[Zu.getElementIndex(a,o)]=-u,t}var fp=new ge,V8t=new ge,$8t=new ge,W8t=new ge,K8t=new ge,X8t=new Yr,J8t={diagonal:new Yr,unitary:new Yr};function xq(e,t=new fh){if(!e||e.length===0)return t.halfAxes=new Yr([0,0,0,0,0,0,0,0,0]),t.center=new ge,t;let r=e.length,n=new ge(0,0,0);for(let S of e)n.add(S);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let S of e){let D=fp.copy(S).subtract(n);a+=D.x*D.x,o+=D.x*D.y,s+=D.x*D.z,u+=D.y*D.y,c+=D.y*D.z,l+=D.z*D.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=X8t;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:p}=gq(f,J8t),d=t.halfAxes.copy(p),h=d.getColumn(0,$8t),g=d.getColumn(1,W8t),m=d.getColumn(2,K8t),v=-Number.MAX_VALUE,b=-Number.MAX_VALUE,_=-Number.MAX_VALUE,A=Number.MAX_VALUE,w=Number.MAX_VALUE,C=Number.MAX_VALUE;for(let S of e)fp.copy(S),v=Math.max(fp.dot(h),v),b=Math.max(fp.dot(g),b),_=Math.max(fp.dot(m),_),A=Math.min(fp.dot(h),A),w=Math.min(fp.dot(g),w),C=Math.min(fp.dot(m),C);h=h.multiplyByScalar(.5*(A+v)),g=g.multiplyByScalar(.5*(w+b)),m=m.multiplyByScalar(.5*(C+_)),t.center.copy(h).add(g).add(m);let k=V8t.set(v-A,b-w,_-C).multiplyByScalar(.5),R=new Yr([k[0],0,0,0,k[1],0,0,0,k[2]]);return t.halfAxes.multiplyRight(R),t}function _C(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=dq(t,r),i=pq(t),a=i[0],o=i[1],s=ml.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new ge(s[0],s[1],s[2]);n.push(u);let c=xq(n);return[...c.center,...c.halfAxes]}var Y8t=4,Q8t=8,Z8t={QUADTREE:Y8t,OCTREE:Q8t};function eCt(e,t,r){if(e!=null&&e.box){let n=Rb(e.s2VolumeInfo.token),i=oq(n,t),a=aq(i),o={...e.s2VolumeInfo};switch(o.token=a,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,f=l/2,p=c.minimumHeight+l/2;c.minimumHeight=p-f,c.maximumHeight=p+f;break;default:break}return{box:_C(o),s2VolumeInfo:o}}}async function yq(e){let{implicitOptions:t,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:a}=e,{subtree:o,level:s=0,globalData:u={level:0,mortonIndex:0,x:0,y:0,z:0}}=e,{subdivisionScheme:c,subtreeLevels:l,maximumLevel:f,contentUrlTemplate:p,subtreesUriTemplate:d,basePath:h}=t,g={children:[],lodMetricValue:0,contentUrl:""};if(!f)return rq.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${p} won't be loaded...`),g;let m=s+u.level;if(m>f)return g;let v=Z8t[c],b=Math.log2(v),_=n&1,A=n>>1&1,w=n>>2&1,C=(v**s-1)/(v-1),k=ph(r.mortonIndex,n,b),R=C+k,S=ph(r.x,_,1),D=ph(r.y,A,1),I=ph(r.z,w,1),M=!1;s>=l&&(M=vq(o.childSubtreeAvailability,k));let G=ph(u.x,S,s),z=ph(u.y,D,s),X=ph(u.z,I,s);if(M){let me=`${h}/${d}`,De=wC(me,m,G,z,X);o=await Jr(De,fC,a),u={mortonIndex:k,x:S,y:D,z:I,level:s},k=0,R=0,S=0,D=0,I=0,s=0}if(!vq(o.tileAvailability,R))return g;vq(o.contentAvailability,R)&&(g.contentUrl=wC(p,m,G,z,X));let ue=s+1,ce={mortonIndex:k,x:S,y:D,z:I};for(let me=0;me<v;me++){let De=eCt(i,me,c),Oe=await yq({subtree:o,implicitOptions:t,loaderOptions:a,parentData:ce,childIndex:me,level:ue,globalData:{...u},s2VolumeBox:De});if(Oe.contentUrl||Oe.children.length){let J=m+1,K=tCt(Oe,J,{childTileX:S,childTileY:D,childTileZ:I},t,i);g.children.push(K)}}return g}function vq(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&rq.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?iCt(t,r.explicitBitstream):!1}function tCt(e,t,r,n,i){let{basePath:a,refine:o,getRefine:s,lodMetricType:u,getTileType:c,rootLodMetricValue:l,rootBoundingVolume:f}=n,p=e.contentUrl&&e.contentUrl.replace(`${a}/`,""),d=l/2**t,h=i!=null&&i.box?{box:i.box}:f,g=rCt(t,h,r);return{children:e.children,contentUrl:e.contentUrl,content:{uri:p},id:e.contentUrl,refine:s(o),type:c(e),lodMetricType:u,lodMetricValue:d,geometricError:d,transform:e.transform,boundingVolume:g}}function rCt(e,t,r){if(t.region){let{childTileX:n,childTileY:i,childTileZ:a}=r,[o,s,u,c,l,f]=t.region,p=2**e,d=(u-o)/p,h=(c-s)/p,g=(f-l)/p,[m,v]=[o+d*n,o+d*(n+1)],[b,_]=[s+h*i,s+h*(i+1)],[A,w]=[l+g*a,l+g*(a+1)];return{region:[m,b,v,_,A,w]}}if(t.box)return t;throw new Error(`Unsupported bounding volume type ${JSON.stringify(t)}`)}function ph(e,t,r){return(e<<r)+t}function wC(e,t,r,n,i){let a=nCt({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function nCt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function iCt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function _q(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 wq(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function bq(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 Ta.resolve(t,e)}function J2e(e,t){var i;if(!e)return null;let r;if(e.content){let a=e.content.uri||((i=e.content)==null?void 0:i.url);typeof a<"u"&&(r=bq(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:_q(e,r),refine:wq(e.refine)}}async function Z2e(e,t,r){let n=null,i=Q2e(e.root);i&&e.root?n=await Y2e(e.root,e,t,i,r):n=J2e(e.root,t);let a=[];for(a.push(n);a.length>0;){let o=a.pop()||{},s=o.children||[],u=[];for(let c of s){let l=Q2e(c),f;l?f=await Y2e(c,e,t,l,r):f=J2e(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function Y2e(e,t,r,n,i){var A,w,C;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=wC(c,0,0,0,0),f=bq(l,r),p=await Jr(f,fC,i),d=(A=e.content)==null?void 0:A.uri,h=d?bq(d,r):"",g=(w=t==null?void 0:t.root)==null?void 0:w.refine,m=e.geometricError,v=(C=e.boundingVolume.extensions)==null?void 0:C["3DTILES_bounding_volume_S2"];if(v){let R={box:_C(v),s2VolumeInfo:v};e.boundingVolume=R}let b=e.boundingVolume,_={contentUrlTemplate:h,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:g,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:m,rootBoundingVolume:b,getTileType:_q,getRefine:wq};return await aCt(e,r,p,_,i)}async function aCt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await yq({subtree:r,implicitOptions:n,loaderOptions:i}),s,u=null;return o&&(s=o,u={uri:o.replace(`${t}/`,"")}),{...e,id:s,contentUrl:s,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:_q(e,s),refine:wq(e.refine),content:u||e.content,children:a}}function Q2e(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 ec={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Rg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:oCt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function oCt(e,t={},r){let n=t["3d-tiles"]||{},i;return n.isTileset==="auto"?i=(r==null?void 0:r.url)&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?sCt(e,t,r):uCt(e,t,r)}async function sCt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=cCt(i),o=await Z2e(n,a,t||{});return{...n,shape:"tileset3d",loader:ec,url:i,queryString:(r==null?void 0:r.queryString)||"",basePath:a,root:o||n.root,type:"TILES3D",lodMetricType:"geometricError",lodMetricValue:((u=n.root)==null?void 0:u.geometricError)||0}}async function uCt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await Z7(e,0,t,r,n.content),n.content}function cCt(e){return Ta.dirname(e)}var e_e="https://api.cesium.com/v1/assets";async function t_e(e,t){if(!t){let a=await lCt(e);for(let o of a.items)o.type==="3DTILES"&&(t=o.id)}let r=await fCt(e,t),{type:n,url:i}=r;return Et(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken}`},r}async function lCt(e){Et(e);let t=e_e,r={Authorization:`Bearer ${e}`},n=await ca(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function fCt(e,t){Et(e,t);let r={Authorization:`Bearer ${e}`},n=`${e_e}/${t}`,i=await ca(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await ca(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function pCt(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let i=e.match(/\/([0-9]+)\/tileset.json/);n=i&&i[1]}return t_e(r,n)}var EC={...ec,id:"cesium-ion",name:"Cesium Ion",preload:pCt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=EC,ec.parse(e,t,r)),options:{"cesium-ion":{...ec.options["3d-tiles"],accessToken:null}}};var lTe=kt(cTe(),1),Okt="4.3.0-alpha.5",lU={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:Okt,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:Ikt};async function Ikt(e,t={}){let r=[],n={};try{let i=new lTe.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=Pkt(i,u,t).then(l=>{n[o]=l});r.push(c)}),await Promise.all(r),n}catch(i){throw t.log.error(`Unable to read zip archive: ${i}`),i}}async function Pkt(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}}var Rkt=1024,Ch=async(e,t)=>{let r=[await e.getUint8(e.length-1n),await e.getUint8(e.length-2n),await e.getUint8(e.length-3n),void 0],n=-1,i=e.length-4n;do{let a=i;i-=BigInt(Rkt),i=i>=0n?i:0n;let o=new Uint8Array(await e.slice(i,a));for(let s=o.length-1;s>-1;s--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=o[s],r.every((u,c)=>u===t[c])){n=s;break}}while(n===-1&&i>0n);return i+BigInt(n)};var Mkt=new Uint8Array([1,0]);function h4(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of jkt){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));fTe[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return _n(...r)}function Ii(e,t,r,n){fTe[t](e,Number(r),n)}var fTe={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)}},jkt=[{size:2,default:new DataView(Mkt.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var pTe=new Uint8Array([80,75,5,6]),dTe=new Uint8Array([80,75,6,7]),hTe=new Uint8Array([80,75,6,6]),mTe=8n,Lkt=10n,gTe=12n,xTe=16n,qkt=22n,vTe=8n,yTe=24n,Nkt=32n,bTe=40n,_Te=48n,Ukt=56n,m4=async e=>{let t=await Ch(e,pTe),r=BigInt(await e.getUint16(t+mTe)),n=BigInt(await e.getUint32(t+gTe)),i=BigInt(await e.getUint32(t+xTe)),a=t-20n,o=0n,s=await e.slice(a,a+4n);if(_u(s,dTe)){o=await e.getBigUint64(a+vTe);let u=await e.slice(o,o+4n);if(!_u(u,hTe.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(o+yTe),n=await e.getBigUint64(o+bTe),i=await e.getBigUint64(o+_Te)}else a=0n;return{cdRecordsNumber:r,cdStartOffset:i,cdByteSize:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:a,zipEoCDOffset:t}}};function wTe(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&(Ii(a,2,o+mTe,i),Ii(a,2,o+Lkt,i)),n-r<=4294967295&&Ii(a,4,o+gTe,n-r),r<4294967295&&Ii(a,4,o+xTe,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;Ii(a,8,s+vTe,n),Ii(a,8,_Te,r),Ii(a,8,yTe,i),Ii(a,8,Nkt,i),Ii(a,8,bTe,n-r)}return new Uint8Array(a.buffer)}function ETe(e){let t=new DataView(new ArrayBuffer(Number(qkt)));for(let i of Gkt)Ii(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=Hkt(e),n=zkt(e);return _n(n,r,t.buffer)}var Gkt=[{offset:0,size:4,default:new DataView(pTe.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 zkt(e){let t=new DataView(new ArrayBuffer(Number(Ukt)));for(let r of $kt)Ii(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function Hkt(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of Vkt)Ii(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var Vkt=[{offset:0,size:4,default:new DataView(dTe.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],$kt=[{offset:0,size:4,default:new DataView(hTe.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 Wkt=20,Kkt=24,Xkt=28,Jkt=30,Ykt=32,Qkt=42,v2=46n,Fh=new Uint8Array([80,75,1,2]),Dh=async(e,t)=>{if(e>=t.length)return null;let r=new DataView(await t.slice(e,e+v2)),n=r.buffer.slice(0,4);if(!_u(n,Fh.buffer))return null;let i=BigInt(r.getUint32(Wkt,!0)),a=BigInt(r.getUint32(Kkt,!0)),o=r.getUint16(Jkt,!0),s=BigInt(r.getUint16(Ykt,!0)),u=r.getUint16(Xkt,!0),c=await t.slice(e+v2,e+v2+BigInt(u+o)),l=c.slice(0,u),f=new TextDecoder().decode(l),p=e+v2+BigInt(u),d=r.getUint32(Qkt,!0),h=BigInt(d),g=new DataView(c.slice(u,c.byteLength)),m={uncompressedSize:a,compressedSize:i,localHeaderOffset:h,startDisk:s},v=Zkt(m,g);return{...m,...v,extraFieldLength:o,fileNameLength:u,fileName:f,extraOffset:p}};async function*uc(e){let{cdStartOffset:t,cdByteSize:r}=await m4(e),n=new kv(new DataView(await e.slice(t,t+r))),i=await Dh(0n,n);for(;i;)yield i,i=await Dh(i.extraOffset+BigInt(i.extraFieldLength),n)}var ATe=(...e)=>e[0]+e[1]*16,Zkt=(e,t)=>{let r=e5t(e),n={};if(r.length>0){let i=r.reduce((s,u)=>s+u.length,0),a=new Uint8Array(t.buffer).findIndex((s,u,c)=>ATe(c[u],c[u+1])===1&&ATe(c[u+2],c[u+3])===i),o=0;for(let s of r){let u=o;n[s.name]=t.getBigUint64(a+4+u,!0),o=u+s.length}}return n},e5t=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 fU(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=h4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(v2)));for(let s of t5t)Ii(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return _n(i.buffer,a,r)}var t5t=[{offset:0,size:4,default:new DataView(Fh.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 r5t=8,n5t=18,i5t=22,a5t=26,o5t=28,y2=30n,pU=new Uint8Array([80,75,3,4]),Gs=async(e,t)=>{let r=new DataView(await t.slice(e,e+y2)),n=r.buffer.slice(0,4);if(!_u(n,pU))return null;let i=r.getUint16(a5t,!0),a=r.getUint16(o5t,!0),o=await t.slice(e+y2,e+y2+BigInt(i+a)),s=o.slice(0,i),u=new DataView(o.slice(i,o.byteLength)),c=new TextDecoder().decode(s).split("\\").join("/"),l=e+y2+BigInt(i+a),f=r.getUint16(r5t,!0),p=BigInt(r.getUint32(n5t,!0)),d=BigInt(r.getUint32(i5t,!0)),h=4;return d===BigInt(4294967295)&&(d=u.getBigUint64(h,!0),h+=8),p===BigInt(4294967295)&&(p=u.getBigUint64(h,!0),h+=8),l===BigInt(4294967295)&&(l=u.getBigUint64(h,!0)),{fileNameLength:i,fileName:c,extraFieldLength:a,fileDataOffset:l,compressedSize:p,compressionMethod:f}};function dU(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=h4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(y2)));for(let s of s5t)Ii(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return _n(i.buffer,a,r)}var s5t=[{offset:0,size:4,default:new DataView(pU.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 u5t(e){let t=await m4(e),r=t.cdStartOffset,n=Number(t.offsets.zip64EoCDOffset?t.offsets.zip64EoCDOffset-r:t.offsets.zipEoCDOffset-r),i=await e.slice(r,e.length);await e.truncate(Number(r));let a=i.slice(0,n),o=i.slice(n,i.byteLength);return[a,o,t]}async function STe(e,t,r){let n=parseInt(await new Bv().hash(t,"hex"),16),i=dU({crc32:n,fileName:e,length:t.byteLength}),a=fU({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(_n(i,t)),new Uint8Array(a)]}async function hU(e,t,r){let n=new Ya(e,!0),[i,a,o]=await u5t(n),s=n.length,[u,c]=await STe(r,t,s);await n.append(u);let l=_n(i,c),f=n.length;await n.append(new Uint8Array(l));let p=n.length;await n.append(wTe(a,o.offsets,f,p,o.cdRecordsNumber+1n))}async function mU(e,t,r){let n=c5t(e),i=new Rc(t,"w"),a=[],o=[];for await(let l of n)await TTe(l,i,o,a);if(r){let l=await r(a);await TTe(l,i,o)}let s=(await i.stat()).bigsize,u=_n(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(ETe({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function TTe(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await STe(e.path,e.file,i);await t.append(a),r.push(o)}function c5t(e){async function*t(){let r=await CTe(e);for(let n of r){let i=await(await ca(Ta.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function CTe(e,t="",r){let n=r||new Fv({}),i=await n.readdir(g4(e,t)),a=[];for(let o of i){let s=g4(e,t,o);if((await n.stat(s)).isDirectory){let u=await CTe(e,g4(t,o));a.push(...u)}else a.push(g4(t,o))}return a}function g4(...e){let t=e.filter(r=>r.length);return Ta.join(...t)}var L1=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){yv(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 ud(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var b2=class extends L1{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 kh=kt(YN(),1),Fl=kt(require("zlib"),1);var kl=class extends L1{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!Er&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await G0(Fl.default.gzip)(t):await G0(Fl.default.deflate)(t);return Pc(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!Er&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await G0(Fl.default.gunzip)(t):await G0(Fl.default.inflate)(t);return Pc(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!Er&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?Fl.default.gzipSync(t):Fl.default.deflateSync(t);return Pc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?kh.default.deflateRaw:kh.default.deflate)(n,r).buffer}decompressSync(t){var a,o,s,u;if(!Er&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?Fl.default.gunzipSync(t):Fl.default.inflateSync(t);return Pc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?kh.default.inflateRaw:kh.default.inflate)(n,r).buffer}async*compressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new kh.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new kh.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),i=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 _2=class extends kl{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 DTe={0:async e=>e,8:async e=>await new kl({raw:!0}).decompress(e)},Bl=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!Er)this.fileProvider=new Ya(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof Ol?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):JB(t)&&(this.fileProvider=t)}async destroy(){this.fileProvider&&await this.fileProvider.destroy()}async readdir(){if(!this.fileProvider)throw new Error("No data detected in the zip archive");let t=[],r=uc(this.fileProvider);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.fileProvider)throw new Error("No data detected in the zip archive");let i=await this.getCDFileHeader(t),a=await Gs(i.localHeaderOffset,this.fileProvider);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=DTe[a.compressionMethod.toString()];if(!o)throw Error("Only Deflation compression is supported");let s=await this.fileProvider.slice(a.fileDataOffset,a.fileDataOffset+a.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.fileProvider)throw new Error("No data detected in the zip archive");let r=uc(this.fileProvider),n=null;for await(let i of r)if(i.fileName===t){n=i;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var Ol=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new Bl(this.fileProvider).fetch(t)).arrayBuffer()}};function w2(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let i=t.getBigUint64(n+16,!0),a=l5t(e,n,16);r[a]=i}return r}function l5t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function gU(e){let t=uc(e);return f5t(t)}async function f5t(e){let t=new Au,r=new TextEncoder,n={};for await(let i of e){let a=i.fileName.split("\\").join("/").toLocaleLowerCase(),o=r.encode(a).buffer,s=await t.hash(o,"hex");n[s]=i.localHeaderOffset}return n}async function E2(e){let t=new Au,r=new TextEncoder,n=[];for await(let a of e){let o=a.fileName.split("\\").join("/");o!=="3dSceneLayer.json.gz"&&(o=o.toLocaleLowerCase());let s=r.encode(o).buffer,u=await t.hash(s,"hex");n.push(_n(d5t(u),h5t(a.localHeaderOffset)))}let i=n.sort(p5t);return pE(i)}function p5t(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 d5t(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 h5t(e){return new BigUint64Array([e]).buffer}var m5t={0:e=>new b2().decompress(e),8:e=>new kl({raw:!0}).decompress(e)},A2=class extends Ol{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,i=await new Au().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await Gs(a,this.fileProvider);if(!o)return null;let s=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=m5t[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function Ep(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return Et(Array.isArray(i)&&Number.isFinite(a)&&Number.isFinite(o)),t.setUint8(r+0,i[0]),t.setUint8(r+1,i[1]),t.setUint8(r+2,i[2]),t.setUint8(r+3,i[3]),t.setUint32(r+4,a,!0),t.setUint32(r+8,o,!0),r+=12,r}function Ap(e,t,r){e&&e.setUint32(t+8,r,!0)}function FTe(e,t,r,n,i){e={magic:np.COMPOSITE,tiles:[],...e};let a=r;r+=Ep(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let o=0;o<e.tiles.length;++o)r+=i(e.tiles[o],t,r,n);return Ap(t,a,r-a),r}function kTe(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=Ja(s.length,8),l=u?Ja(u.length,8):0;e={magic:np.BATCHED_MODEL,...e};let f=r;r=Ep(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=U0(t,r,s,8),a&&(r=U0(t,r,u,8));let p=e.gltfEncoded;return p&&(r=Sv(t,r,p,p.byteLength)),Ap(t,f,r-f),r}function BTe(e,t,r,n){let{featuresLength:i=1,gltfFormat:a=1,gltfUri:o=""}=e,s=o.length,u={INSTANCES_LENGTH:i,POSITION:new Array(i*3).fill(0)},c=JSON.stringify(u),l=c.length;e={magic:np.INSTANCED_MODEL,...e};let f=r;return r=Ep(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,a,!0)),r+=20,r+=N0(t,r,c,l),r+=N0(t,r,o,s),Ap(t,f,r-f),r}var g5t={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function OTe(e,t,r,n){let{featureTableJson:i=g5t}=e,a=JSON.stringify(i);a=WB(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:np.POINT_CLOUD,...e};let c=r;return r+=Ep(e,t,0),t&&(t.setUint32(r+0,o,!0),t.setUint32(r+4,u,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=N0(t,r,a,o),r+=Sv(t,r,s,u),Ap(t,c,r-c),r}function vU(e,t){let r=xU(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return xU(e,i,0,t),n}function xU(e,t,r,n){switch(Et(typeof e.type=="string"),e.type){case Lo.COMPOSITE:return FTe(e,t,r,n,xU);case Lo.POINT_CLOUD:return OTe(e,t,r,n);case Lo.BATCHED_3D_MODEL:return kTe(e,t,r,n);case Lo.INSTANCED_3D_MODEL:return BTe(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var yU={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Rg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>ITe(e,t),encodeSync:ITe};function ITe(e,t){return vU(e,t)}var ts=require("path");var PTe=kt(require("crypto")),v4=new Uint8Array(256),x4=v4.length;function bU(){return x4>v4.length-16&&(PTe.default.randomFillSync(v4),x4=0),v4.slice(x4,x4+=16)}var Pi=[];for(let e=0;e<256;++e)Pi.push((e+256).toString(16).slice(1));function RTe(e,t=0){return(Pi[e[t+0]]+Pi[e[t+1]]+Pi[e[t+2]]+Pi[e[t+3]]+"-"+Pi[e[t+4]]+Pi[e[t+5]]+"-"+Pi[e[t+6]]+Pi[e[t+7]]+"-"+Pi[e[t+8]]+Pi[e[t+9]]+"-"+Pi[e[t+10]]+Pi[e[t+11]]+Pi[e[t+12]]+Pi[e[t+13]]+Pi[e[t+14]]+Pi[e[t+15]]).toLowerCase()}var MTe=kt(require("crypto")),_U={randomUUID:MTe.default.randomUUID};function x5t(e,t,r){if(_U.randomUUID&&!t&&!e)return _U.randomUUID();e=e||{};let n=e.random||(e.rng||bU)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return RTe(n)}var cc=x5t;var zh=kt(require("process"),1),uD=kt(zs(),1),cD=kt(AU(),1);var _4=require("path"),QTe=kt(zs(),1);var KTe=()=>({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 Bh=require("fs"),q1=require("path");var XTe=require("zlib"),y4=require("fs");function b4(e){let t=`${e}.gz`,r=(0,XTe.createGzip)(),n=(0,y4.createReadStream)(e),i=(0,y4.createWriteStream)(t);return new Promise((a,o)=>{n.on("end",()=>{console.log(`${t} compressed and saved.`),a(t)}),n.on("error",s=>{console.log(`${t}: compression error!`),o(s)}),n.pipe(r).pipe(i)})}async function ja(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 Bh.promises.mkdir(e,{recursive:!0});let i=(0,q1.join)(e,r);try{await Bh.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function lc(e,t,r="index.json",n=!0,i){let a=await ja(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);let o=await b4(a);return await D2(a),o}return a}async function N1(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,q1.join)(e,t);Jr(o,KB).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function S2(e){try{return await Bh.promises.stat(e),!0}catch{return!1}}function C2(e){return Bh.promises.rm(e,{recursive:!0})}function D2(e){return Bh.promises.unlink(e)}function JTe(e){return(0,q1.isAbsolute)(e)?e:(0,q1.join)(process.cwd(),e)}async function YTe(e,t){try{await Bh.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Ri=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,_4.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),i=(0,_4.join)(r,n);return await S2(i)?(console.log(`load ${i}.`),await N1(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 i;if(t==null)return;let n=await this.getNodeById(t);(i=n.children)==null||i.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),Ri.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:i,fileName:a}=this.getNodePageFileName(r),o=await this.getNodeById(t.index,n);o?Ri.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(i,s,a,!0,this.converter.compressList)},!0)}async saveMetadata(){let t=(0,QTe.default)({nodeCount:this.nodesCounter},KTe()),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),i=(0,_4.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(i,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}),Ri.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 F2=require("path"),w4=require("fs");function U1(e){if(typeof e=="number"){let a=Math.floor(e/1e3),o=e-a*1e3;return ZTe(a,o)}let t=1e6,r=e[0],n=e[1]/t;return ZTe(r,n)}function ZTe(e,t){let r=Math.floor(e/3600);e=e-r*3600;let n=Math.floor(e/60);e=e-n*60;let i=Math.floor(e),a="";return r&&(a+=`${r}h `),n&&(a+=`${n}m `),i&&(a+=`${i}s`),a||(a+=`${Math.floor(t)}ms`),a}async function E4(e){let{slpk:t,outputPath:r,tilesetName:n}=e,i=JTe(r);try{if(t){let s=(0,F2.join)(i,`${n}.slpk`);return(await w4.promises.stat(s)).size}let a=(0,F2.join)(i,n);return await e3e(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function e3e(e){let t=0,r=await w4.promises.readdir(e);for(let n of r){let i=await w4.promises.stat((0,F2.join)(e,n));i.isDirectory()?t+=await e3e((0,F2.join)(e,n)):t+=i.size}return t}var v3e=kt(AU(),1);var Oh=3,G1=9;function r3e(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/G1;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:t,normals:r,texCoords:n,colors:i,uvRegions:a};let u=D5t(o),c=F5t({...u,...e}),l=k5t(c);return B5t(l,u.featureCount)}function D5t(e){let t=1,r=1,n=t3e(e.slice(0,Oh)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let c=Oh;c<e.length;c+=Oh){let l=t3e(e.slice(c,c+Oh));n!==l&&(i[t]=c/Oh-1,i[t+1]=c/Oh,a[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}i[t]=e.length/Oh-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function t3e(e){let t={},r=e[0],n=1;for(let i of e)t[i]=(t[i]||0)+1,n=n>t[i]?n:t[i],r=n>t[i]?r:i;return r}function F5t(e){let{featureIds:t,positions:r,normals:n,colors:i,uvRegions:a,texCoords:o,faceRange:s=new Uint32Array(0)}=e,u=[],c=new Float32Array(r),l=new Float32Array(n),f=new Uint8Array(i),p=new Float32Array(o),d=new Uint16Array(a),h=0,g=0,m=0,v=0,b=0;for(let _=0;_<t.length;_++){let A=s[_*2],w=s[_*2+1],C=k2("positions",A,w),k=k2("normals",A,w),R=k2("colors",A,w),S=k2("uvRegions",A,w),D=k2("texCoords",A,w);u.push({featureId:t[_],positions:c.subarray(h,h+C),normals:l.subarray(g,g+k),colors:f.subarray(m,m+R),uvRegions:d.subarray(v,v+S),texCoords:p.subarray(b,b+D)}),h+=C,g+=k,m+=R,v+=S,b+=D}return u}function k2(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*G1;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function k5t(e){let t=[];for(let n of e){let i=t.find(a=>a.featureId===n.featureId);i?i.attributes.push(n):t.push({featureId:n.featureId,attributes:[n]})}let r=[];for(let n of t){let i=n3e(n.attributes);r.push({featureId:n.featureId,...i})}return r}function B5t(e,t){let n=[e[0].featureId||0],i=[0],a=0,o=0;for(let c=1;c<e.length;c++){let l=e[c];n.push(l.featureId||0);let f=e[a];i.push(f.positions.length/G1-1+o),i.push(f.positions.length/G1+o),o+=f.positions.length/G1,a+=1}let s=n3e(e);return i.push(s.positions.length/G1-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function n3e(e){let t=e.map(({positions:f})=>f),r=t.length>1?Xa(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?Xa(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Xa(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Xa(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?Xa(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function A4(e,t){let r,n,i,a=Nt.WGS84.cartesianToCartographic(e.center,new ne);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0])),e instanceof gi?(n=e.halfSize,r=new ne(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Vu().fromMatrix3(new pr([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[a[0],a[1],a[2],r],obb:{center:[a[0],a[1],a[2]],halfSize:n,quaternion:i}}}function i3e(e,t){let r=O5t(e),n=wL(r),i=vL(r),a=Nt.WGS84.cartesianToCartographic(i.center,new ne),o=Nt.WGS84.cartesianToCartographic(n.center,new ne);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0]),o[2]=o[2]-t.getHeight(o[1],o[0])),{mbs:[a[0],a[1],a[2],i.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function O5t(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new ne([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function a3e(e){let t;e instanceof la?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Nt.WGS84.cartesianToCartographic(new ne(r[0]+n,r[1]+n,r[2]+n),new ne),a=Nt.WGS84.cartesianToCartographic(new ne(r[0]-n,r[1]-n,r[2]-n),new ne);return{xmin:Math.min(a[0],i[0]),xmax:Math.max(a[0],i[0]),ymin:Math.min(a[1],i[1]),ymax:Math.max(a[1],i[1]),zmin:Math.min(a[2],i[2]),zmax:Math.max(a[2],i[2])}}function TU(e){let t=e[3],r=new ne(e[0],e[1],e[2]),n=new pr([t,0,0,0,t,0,0,0,t]);return new gi(r,n)}function o3e(e,t,r){var s,u,c,l,f,p,d,h;let n=((u=(s=e.gltf)==null?void 0:s.scene)==null?void 0:u.nodes)||((f=(l=(c=e.gltf)==null?void 0:c.scenes)==null?void 0:l[0])==null?void 0:f.nodes)||((p=e.gltf)==null?void 0:p.nodes)||[],i=((h=(d=e.gltf)==null?void 0:d.images)==null?void 0:h.map(g=>{var b,_;if((b=g==null?void 0:g.image)!=null&&b.compressed)return null;let m=(_=g==null?void 0:g.image)==null?void 0:_.data,v=new Uint8Array(m.length);return v.set(m),{data:v,compressed:!1,height:g.image.height,width:g.image.width,components:g.image.components,mimeType:g.mimeType}}))||[];s3e(n);let{cartographicOrigin:a,modelMatrix:o}=P5t(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function I5t(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function P5t(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new kr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new kr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new kr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new ne(a),u=Nt.WGS84.cartesianToCartographic(s,new ne);return{modelMatrix:o,cartographicOrigin:u}}function s3e(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(i=>{var a,o,s;return{...i,indices:{value:(a=i==null?void 0:i.indices)==null?void 0:a.value},attributes:I5t(i.attributes),material:{id:(o=i==null?void 0:i.material)==null?void 0:o.id,uniqueId:(s=i==null?void 0:i.material)==null?void 0:s.uniqueId}}})}}),n.children&&s3e(n.children)}}function u3e(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[No];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function c3e(e,t,r,n){let i=t==null?void 0:t.extensions;if(!i)return[];for(let[a,o]of Object.entries(i||{}))switch(a){case No:return M5t(e,o,r,n);case W8:return R5t(e,o);default:return[]}return[]}function R5t(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function M5t(e,t,r,n){var o,s,u,c,l,f,p;let i=(o=t==null?void 0:t.featureIdAttributes)==null?void 0:o[0];if((s=i==null?void 0:i.featureIds)!=null&&s.attribute)return e[i.featureIds.attribute].value;if((u=i==null?void 0:i.featureIds)!=null&&u.hasOwnProperty("constant")&&((c=i==null?void 0:i.featureIds)!=null&&c.hasOwnProperty("divisor"))){let d=((l=e==null?void 0:e.POSITIONS)==null?void 0:l.value.length)/3||0;return j5t(d,i.featureIds.constant,i.featureIds.divisor)}let a=(t==null?void 0:t.featureIdTextures)&&(t==null?void 0:t.featureIdTextures[0]);if(a){let h=`TEXCOORD_${((p=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:p.texCoord)||0}`,g=e[h].value;return L5t(a,g,r)}return n?e[n].value:[]}function j5t(e,t=0,r=0){let n=[];if(r>0){let i=t,a=r;for(let o=0;o<e;o++)n.push(i),a-=1,a===0&&(i++,a=r)}else n=Array(e).fill(t,0,e);return n}function L5t(e,t,r){var c,l,f;if(!(r!=null&&r.length))return[];let n={r:0,g:1,b:2,a:3},i=(l=(c=e==null?void 0:e.featureIds)==null?void 0:c.texture)==null?void 0:l.index,a=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!a||i===void 0)return[];let o=r[i],s=[],u=n[a];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],g=Math.min(A8(d)*o.width|0,o.width-1),v=(Math.min(A8(h)*o.height|0,o.height-1)*o.width+g)*o.components+u,b=new Uint8Array(o.data)[v];s.push(b)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function l3e(e,t){let r={};for(let n in t){let i=t[n];r[n]=q5t(i,e)}return r}function q5t(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function f3e(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function N5t(e){return typeof e=="string"||typeof e=="bigint"?nn.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?nn.SHORT_INT_TYPE:nn.DOUBLE_TYPE:nn.STRING_TYPE}function p3e(e){let t={};for(let r in e){let n=e[r][0],i=N5t(n);t[r]=i}return t}var d3e=(e,t)=>{var a,o,s,u,c,l,f,p;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[No])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:u[t];if(n){for(let d in n.properties){let h=n.properties[d],g=U5t(h);r[d]=g}return r}let i=(p=(f=(l=(c=e.extensions)==null?void 0:c[pl])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:p[t];if(i){for(let d in i.properties){let h=i.properties[d],g=G5t(h);r[d]=g}return r}return null},U5t=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t},G5t=e=>{let t;if(e.array)t=nn.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t};var T4=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var z5t=1,H5t=1,Hs=3,B2=2,V5t=4,$5t="string",W5t="Int32",K5t="Float64",X5t="Oid32",h3e=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],Tp=new ne;async function SU({tileContent:e,tileTransform:t,tileBoundingVolume:r,addNodeToNodePage:n,propertyTable:i,featuresHashArray:a,attributeStorageInfo:o,draco:s,generateBoundingVolumes:u,shouldMergeMaterials:c,geoidHeightModel:l,libraries:f,metadataClass:p}){var _;let d=u,h=await lBt((_=e.gltf)==null?void 0:_.materials,c),g=o3e(e,t,r),m=u3e(e,p),v=await Q5t(g,h,d,m);u&&J5t(v,l);let b=[];for(let A of h){let w=A.mergedMaterials[0].originalMaterialId;if(!v.has(w))continue;let C=v.get(w);if(!C)continue;let{material:k,texture:R}=A,S=await n();b.push(await Y5t({convertedAttributes:C,material:k,texture:R,tileContent:e,nodeId:S,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return b.length?b:null}function J5t(e,t){for(let r of e.values()){let n=i3e(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=Hs){let o=r.positions.subarray(a,a+Hs);Nt.WGS84.cartesianToCartographic(Array.from(o),Tp),t&&(Tp[2]=Tp[2]-t.getHeight(Tp[1],Tp[0])),Tp=Tp.subtract(i),r.positions.set(Tp,a)}}}async function Y5t({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var D;let l=e.boundingVolumes,f=e.positions.length/Hs,{faceRange:p,featureIds:d,positions:h,normals:g,colors:m,uvRegions:v,texCoords:b,featureCount:_}=r3e(e),A={};o&&(A=_Bt(d,e.featureIndices,a,o));let w=new Uint32Array(2),C=kBt(d);w.set([f,_],0);let k=new Uint8Array(_n(w.buffer,h.buffer,g.buffer,r?b.buffer:new ArrayBuffer(0),m.buffer,v,C.buffer,p.buffer)),R=u?BBt(f,e,{positions:h,normals:g,texCoords:r?b:new Float32Array(0),colors:m,uvRegions:v,featureIds:d,faceRange:p},c):null,S=[];return s&&o&&(S=TBt(d,A,o,s)),{nodeId:i,geometry:k,compressedGeometry:R,texture:r,hasUvRegions:Boolean(v.length),sharedResources:gBt(((D=n.gltf)==null?void 0:D.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:S,featureCount:_,boundingVolumes:l}}async function Q5t(e,t,r,n){let{nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s}=e,u=new Map;for(let c 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:c.mergedMaterials};for(let f of c.mergedMaterials)u.set(f.originalMaterialId,l)}y3e({nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s,attributesMap:u,useCartesianPositions:r,featureTexture:n});for(let c of u.keys()){let l=u.get(c);if(l){if(l.positions.length===0){u.delete(c);continue}l.featureIndicesGroups&&(l.featureIndices=l.featureIndicesGroups.reduce((f,p)=>f.concat(p)),delete l.featureIndicesGroups)}}return u}function y3e({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new kr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){if(e)for(let u of e)eBt({node:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o,featureTexture:s})}function Z5t(e,t){let r=t,{matrix:n,rotation:i,scale:a,translation:o}=e;return n&&(r=t.multiplyRight(n)),o&&(r=r.translate(o)),i&&(r=r.rotateXYZ(i)),a&&(r=r.scale(a)),r}function eBt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new kr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let u=Z5t(e,o),c=e.mesh;c&&tBt({mesh:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s}),y3e({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s})}function tBt({mesh:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a=!1,matrix:o,featureTexture:s}){var u;for(let c of e.primitives){let l=null,f;c.material?(l=i.get(c.material.id),f=(u=l==null?void 0:l.mergedMaterials.find(({originalMaterialId:h})=>{var g;return h===((g=c.material)==null?void 0:g.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),Et(l!==null,"Primitive - material mapping failed"),Et(c.mode===void 0||c.mode===xt.TRIANGLES||c.mode===xt.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let p=c.attributes;if(!l)continue;let d=rBt(c);l.positions=Xa(l.positions,m3e({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:nBt,useCartesianPositions:a})),l.normals=Xa(l.normals,m3e({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:iBt,useCartesianPositions:!1})),l.texCoords=Xa(l.texCoords,aBt(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=Xa(l.colors,oBt(p.COLOR_0,d)),f&&(l.uvRegions=Xa(l.uvRegions,sBt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(uBt(cBt(p,c,t,s),d))}}function rBt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return T4(n.length/Hs)}if(t&&e.mode===xt.TRIANGLE_STRIP){let n=t.constructor,i=new n((t.length-2)*3),a=0,o=t.slice(0,3);i.set(o,0);for(let s=1;s+2<t.length;s++)a+=3,o=t.slice(s,s+3),s%2===0?i.set(o,a):i.set(o.reverse(),a);t=i}return t}function m3e(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*Hs);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*Hs,s=t.subarray(o,o+Hs),u=new ne(Array.from(s));u=n(u,e),i[a*Hs]=u.x,i[a*Hs+1]=u.y,i[a*Hs+2]=u.z}return i}function nBt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Nt.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function iBt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function aBt(e,t){let r=new Float32Array(t.length*B2);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*B2,a=e.subarray(i,i+B2);r[n*B2]=a[0],r[n*B2+1]=a[1]}return r}function oBt(e,t){let r=(e==null?void 0:e.components)||V5t,n=new Uint8Array(t.length*r);if(!e)return n.fill(255),n;let i=e.value;for(let a=0;a<t.length;a++){let o=t[a]*r,s=i.subarray(o,o+r),u=new Uint8Array(r);for(let c=0;c<s.length;c++)u[c]=s[c]*255;n.set(u,a*r)}return n}function sBt(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 uBt(e,t){if(!e.length||!t.length)return[];let r=[];for(let n=0;n<t.length;n++){let i=t[n];r.push(e[i])}return r}function cBt(e,t,r,n){let i=c3e(e,t,r,n);if(i.length)return i;for(let a=0;a<h3e.length;a++){let o=h3e[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function lBt(e=[],t){let r=[];for(let n of e)r.push(dBt(n));return t&&(r=await fBt(r)),r}async function fBt(e){var r,n;let t=[];for(;e.length>0;){let i=e.splice(0,1)[0],a=[];for(let o=0;o<e.length;o++){let s=e[o];(i.texture&&s.texture||!i.texture&&!s.texture)&&(i=await pBt(i,s),a.push(o))}if(i.texture&&a.length){let o=(r=i.mergedMaterials)==null?void 0:r.reduce((c,{textureSize:l})=>c+((l==null?void 0:l.width)||0),0),s=(n=i.mergedMaterials)==null?void 0:n.reduce((c,{textureSize:l})=>Math.max(c,(l==null?void 0:l.height)||0),0),u=-1;for(let c of i.mergedMaterials)if(c.textureSize){let l=u+1+c.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;c.uvRegion=new Uint16Array([u+1,0,l,c.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),u=l}i.texture.image.width=o,i.texture.image.height=s}for(let o of a.reverse())e.splice(o,1);t.push(i)}return t.length||t.push({material:mBt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function pBt(e,t){var r,n;if((r=e.texture)!=null&&r.bufferView&&((n=t.texture)!=null&&n.bufferView)&&e.mergedMaterials&&t.mergedMaterials){let i=Buffer.from(e.texture.bufferView.data),a=Buffer.from(t.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([i,a],{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 dBt(e){var i,a,o,s,u;let t={doubleSided:e.doubleSided,emissiveFactor:(i=e.emissiveFactor)==null?void 0:i.map(c=>Math.round(c*255)),alphaMode:hBt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||z5t,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||H5t}},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:cc();let n=[{originalMaterialId:e.id}];if(r)n[0].textureSize={width:r.image.width,height:r.image.height};else{let c=(u=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:u.baseColorFactor;t.pbrMetallicRoughness.baseColorFactor=c&&c.map(l=>Math.round(l*255))||void 0}return{material:t,texture:r,mergedMaterials:n}}function hBt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function mBt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function gBt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=xBt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function xBt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=yBt(r.texture,t));let{baseColorFactor:i,metallicFactor:a}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=i;return(!i||i[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:vBt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function vBt(e,t=1){let r=.00015686274509803922,n=new Mo(0,0,0,1),i=new Mo(1,1,1,1),a=new Mo(r,r,r,0),o=new Mo(e),s=i.subtract(a).multiply(o),u=s.lerp(s,n,t);a[3]=1;let c=a.lerp(a,o,t);return{params:{diffuse:u.toArray(),specular:c.toArray(),renderMode:"solid"}}}function yBt(e,t){var r,n,i,a;return{encoding:(r=e==null?void 0:e.source)!=null&&r.mimeType?[e.source.mimeType]:void 0,images:[{id:bBt(e,t),size:(n=e.source)==null?void 0:n.image.width,length:(i=e.source)!=null&&i.image.data.length?[(a=e.source)==null?void 0:a.image.data.length]:void 0}]}}function bBt(e,t){var g;let{width:r,height:n}=((g=e.source)==null?void 0:g.image)||{};if(!r||!n)return"";let i=1,a=0,o=t+1,s=32-o.toString(2).length,u="0".repeat(s).concat(o.toString(2)),c=i<<28,l=a<<24,f=r-1<<12,p=n-1<<0,d=c+l+f+p;return BigInt(`0b${d.toString(2)}${u}`).toString()}function _Bt(e,t,r,n){let i=wBt(e,n,r);return g3e(t,i),g3e(e,i),i}function wBt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=ABt(i,t,r);n[a.toString()]=o}return n}function EBt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function ABt(e,t,r){let n=EBt(t,e),i=(0,v3e.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function g3e(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function TBt(e,t,r,n){let i=[],o=f3e(e,r)?l3e(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=CBt(u,n);if(c){let l=s[u],f=SBt(c,l);i.push(f)}}return i}function SBt(e,t){let r;switch(e){case X5t:case W5t:r=DBt(t);break;case K5t:r=FBt(t);break;case $5t:r=x3e(t);break;default:r=x3e(t)}return r}function CBt(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 DBt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return _n(t.buffer,r.buffer)}function FBt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return _n(t.buffer,r.buffer,n.buffer)}function x3e(e){let t=new Uint32Array([e.length]),r=0,n=new Uint32Array(e.length),i=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,u=Buffer.from(s),c=u.length;r+=c,n[o]=c,i.push(u)}let a=new Uint32Array([r]);return _n(t.buffer,a.buffer,n.buffer,...i)}function kBt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function BBt(e,t,r,n){let{positions:i,normals:a,texCoords:o,colors:s,uvRegions:u,featureIds:c,faceRange:l}=r,f=new Uint32Array(e);for(let m=0;m<f.length;m++)f.set([m],m);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=OBt(p,l),h={positions:i,normals:a,colors:s,"feature-index":d};o.length&&(h.texCoords=o);let g={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(h["uv-region"]=u,g["uv-region"]={"i3s-attribute-type":"uv-region"}),Dg({attributes:h,indices:f},SL,{...SL.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:g},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}})}function OBt(e,t){let r=new Uint32Array(e.length),n=0,i=0;for(let a=1;a<t.length;a+=2){let o=(t[a]+1)*Hs;r.fill(n,i,o),n++,i=o+1}return r}function b3e(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=RBt(e);switch(i){case pl:return r=IBt(a,t),r;case No:return r=PBt(a,t),r;default:return null}}function IBt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return S4(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return S4(r)}return null}function PBt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return S4(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return S4(n)}return null}function S4(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function RBt(e){var a,o,s,u;let t=[No,pl];if(!((a=e==null?void 0:e.gltf)==null?void 0:a.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let c of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(t.includes(c)){n=c;break}if(!n)return{extensionName:null,extension:null};let i=(u=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:u[n];return{extensionName:n,extension:i}}var w3e=kt(zs(),1),E3e=require("path");var _3e=()=>({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 A3e(e,t,r){let n={serviceItemId:cc().replace(/-/gi,""),layerName:e,layers0:t},i=(0,w3e.default)(n,_3e()),a=(0,E3e.join)(r,"SceneServer");await ja(a,JSON.stringify(i))}var CU=16;function T3e(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*CU/i},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*a.maxError*a.maxError};return n.constructor.name==="OrientedBoundingBox"?(r.push(o),r.push(a)):(r.push(a),r.push(o)),r}function DU(e){var n,i;let t=(n=e.lodSelection)==null?void 0:n.find(a=>a.metricType==="maxScreenThreshold"),r=t==null?void 0:t.maxError;if(!r){let a=(i=e.lodSelection)==null?void 0:i.find(o=>o.metricType==="maxScreenThresholdSQ");a&&(r=Math.sqrt(a.maxError/(Math.PI*.25)))}return r||(r=CU),e.mbs[3]*2*CU/r}var MBt=240,jBt=[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],LBt=372,qBt=[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],NBt=372,UBt=[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],GBt=12,FU=(3+1)*(3+2)/2,zBt=2,z1=class{constructor(t){gt(this,"_v00",0),gt(this,"_v01",0),gt(this,"_v10",0),gt(this,"_v11",0),gt(this,"_t",[]),gt(this,"_ix",void 0),gt(this,"_iy",void 0),gt(this,"options",void 0),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=HBt(r,360);r=n!==-180?n:180;let i=r*this.options._rlonres,a=-t*this.options._rlatres,o=Math.floor(i),s=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(a));i-=o,a-=s,s+=(this.options._height-1)/2,o+=o<0?this.options._width:o>=this.options._width?-this.options._width:0;let u=0,c=0,l=0,f=0,p=new Array(FU);if(o===this._ix&&s===this._iy)this.options.cubic?p=this._t:(u=this._v00,c=this._v01,l=this._v10,f=this._v11);else if(!this.options.cubic)u=this._rawval(o,s),c=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)],g=qBt;s!==0&&(g=s===this.options._height-2?UBt:jBt);let m=LBt;s!==0&&(m=s===this.options._height-2?NBt:MBt);for(let v=0;v<FU;++v){p[v]=0;for(let b=0;b<GBt;++b)p[v]+=h[b]*g[FU*b+v];p[v]/=m}}if(!this.options.cubic){let h=(1-i)*u+i*c,g=(1-i)*l+i*f,m=(1-a)*h+a*g,v=this.options._offset+this.options._scale*m;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,v}let d=p[0]+i*(p[1]+i*(p[3]+i*p[6]))+a*(p[2]+i*(p[4]+i*p[7])+a*(p[5]+i*p[8]+a*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+zBt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function HBt(e,t){t=Math.abs(t);let r=S3e(e,t);return 2*Math.abs(r)===t?r-=S3e(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function S3e(e,t){return e-Math.floor(e/t)*t}var VBt=10,$Bt=65535;function kU(e,t){let r=WBt(e),n=r.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");let i=Number.MAX_VALUE,a=0,o=-1,s=-1,u="NONE",c="UNKNOWN",l=0,f=0,p=null,d=null;do{n=r.next();let v=n.value.line;if(v.length)if(v[0]==="#"){let b=v.split(" "),_=b[0],A=b[1];if(_!=="#"||!A)continue;let w=b.length>2?b.slice(2):[];if(A==="Description")u=w.join(" ");else if(A==="DateTime")c=w.join(" ");else if(A==="Offset"){if(!b[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(b[2],10)}else if(A==="Scale"){if(!b[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(b[2])}else A===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(b[2]))&&(o=parseFloat(b[2])):A===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(b[2]))&&(s=parseFloat(b[2]))}else{let b=v.split(" ");if(b=b.filter(_=>_!==""),l=parseInt(b[0],10),f=parseInt(b[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!==$Bt)throw new Error("Geoid model file: Incorrect value of maxval");if(p=n.value.offset,d=l,i===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(a===0)throw new Error("Geoid model file: Scale not set");if(a<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 g=l/360,m=(f-1)/180;return new z1({cubic:t.cubic,_width:l,_height:f,_rlonres:g,_rlatres:m,_offset:i,_scale:a,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*WBt(e){let t=0;do{let r=e.indexOf(VBt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:C3e(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:C3e(n)}}}while(t<e.length);return{offset:t,line:""}}function C3e(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var KBt="4.3.0-alpha.5";var C4={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:KBt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>kU(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var H1=kt(zs(),1);var D3e={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 XBt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),JBt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),YBt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),QBt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),F3e=()=>({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,H1.default)(e,XBt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,H1.default)(e,D3e)},fullExtent:{path:"fullExtent",transform:e=>(0,H1.default)(e,QBt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,H1.default)(e,JBt())},nodePages:{path:"nodePages",transform:e=>(0,H1.default)(e,YBt())},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 BU=kt(zs(),1),ZBt=()=>({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}}}),eOt=()=>({"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}}}),k3e=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,BU.default)(e,ZBt())];return e.draco&&t.push((0,BU.default)({geometryConfig:e},eOt())),t}}});var O2=kt(zs(),1),tOt=()=>({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}}),rOt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,O2.default)(r,tOt())}}),nOt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),iOt=()=>({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,O2.default)(n,nOt()))}}),B3e=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:aOt},textureDefinitions:{path:"textureDefinitionInfos",transform:oOt}});function aOt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,O2.default)(a,rOt());return n}function oOt(e,t,r){if(!e)return null;let n={};for(let[i,a]of e.entries()){let o=`${r.nodePath}${i}`;a.imageIndex=o,n[o]=(0,O2.default)(a,iOt())}return n}var sOt=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 I3e(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 uOt(t,e),cOt(t,e),t}function uOt(e,t){var o;let r=lOt(t.parentNode.obb),n=fOt(t);if(pOt(r,n))return;let a=`OBB of Tile (${t.id}) doesn't fit into Parent (${(o=t.parentNode)==null?void 0:o.id}) tile OBB`;e.push(a)}function cOt(e,t){var a;let r=O3e(t.mbs),n=O3e(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 (${(a=t.parentNode)==null?void 0:a.id}) tile MBS`;e.push(o)}}function O3e(e){return new la([e[0],e[1],e[2]],e[3])}function lOt(e){let{center:t,halfSize:r,quaternion:n}=e;return new gi().fromCenterHalfSizeQuaternion(t,r,n)}function fOt(e){let t=e.obb.halfSize,r=sOt,n=Nt.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new ne(r[a]*=t[0],r[a+1]*=t[1],r[a+2]*=t[2]).transformByQuaternion(e.obb.quaternion).add(n);i=i.concat(s)}return i}function pOt(e,t){let r=!0;for(let n=0;n<t.length/3;n+=3){let i=[t[n],t[n+1],t[n+2]],a=Nt.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){r=!1;break}}return r}var D4=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var P3e=kt(require("process"),1),dOt=4*1024*1024*1024,V1=class extends D4{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:i}=t,a=await i();n&&a&&(this.fileMap[n]=a)}else super.enqueue(t),P3e.default.memoryUsage().rss>dOt&&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 a=0;a<this.writeConcurrency;a++){let o=this.dequeue();if(!o)break;let{archiveKey:s,sourceId:u,outputId:c,resourceType:l,writePromise:f}=o;r.push(s),n.push({sourceId:u,outputId:c,resourceType:l});let p=f();t.push(p)}let i=await Promise.allSettled(t);this.updateFileMap(r,i),await this.conversionDump.updateConvertedTilesDump(n,i)}}updateFileMap(t,r){for(let n=0;n<t.length;n++){let i=t[n];i&&"value"in r[n]&&(this.fileMap[i]=r[n].value)}}};var $1="Tile converter does not work in browser, only in node js environment",Sp=".dump.json";var IU=require("path"),PU=kt(zs(),1);var R3e=kt(zs(),1),M3e=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),hOt=()=>({href:{path:"href"}}),mOt=()=>({id:{path:"id"},...hOt(),...M3e()}),OU=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...M3e(),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,R3e.default)(e,mOt()),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 Vs=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 i of t){let a=await i.load();r.push({id:i.id,href:`../${i.id}`,obb:a.obb,mbs:a.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 i=await n.load();if(i.neighbors=i.neighbors??[],Number((r=t==null?void 0:t.children)==null?void 0:r.length)<1e3)for(let a of t.children||[])n.id!==a.id&&i.neighbors.push({...a});else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete i.neighbors;this.converter.options.instantNodeWriting&&i&&await n.write(i),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,IU.join)(this.converter.layers0Path,"nodes",this.id);await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>lc(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,IU.join)(this.converter.layers0Path,"nodes",t);return await N1(r,"3dNodeIndexDocument.json")}flush(){this.data=null}static async createRootNode(t,r){let n=Vs.createRootNodeIndexDocument(t);return await new Vs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:i,resources:a,converter:o}){let s=await Vs.createNodeIndexDocument(t,r,n,i,a);return await new Vs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${cc().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,PU.default)(r,OU())}static async createNodeIndexDocument(t,r,n,i,a){var l,f,p,d,h;let o=i.index,s=await t.load(),u={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:[]},c=(0,PU.default)(u,OU());if(i.mesh&&(c.geometryData=[{href:"./geometries/0"}],c.sharedResource={href:"./shared"},("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint)&&(c.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),"attributes"in a&&a.attributes&&a.attributes.length&&((f=(l=t.converter.layers0)==null?void 0:l.attributeStorageInfo)!=null&&f.length)||"attributesCount"in a&&a.attributesCount&&((d=(p=t.converter.layers0)==null?void 0:p.attributeStorageInfo)!=null&&d.length))){let g=("attributes"in a?(h=a.attributes)==null?void 0:h.length:a.attributesCount)||0;c.attributeData=[];let m=g<t.converter.layers0.attributeStorageInfo.length?g:t.converter.layers0.attributeStorageInfo.length;for(let v=0;v<m;v++){let b=t.converter.layers0.attributeStorageInfo[v].key;c.attributeData.push({href:`./attributes/${b}/0`})}}return c}};var RU=async(e,t,r)=>{let n=I2(t);if(!e||!t.contentUrl||!n)return;let i={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},a=await F4(t.contentUrl,e.loader,i);a.root&&(t.children=[a.root])},MU=async(e,t,r)=>{let n=I2(t);if(!e||!t.contentUrl||n)return null;let i={...r,[e.loader.id]:{...r[e.loader.id]||{},isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}};return await F4(t.contentUrl,e.loader,i)};async function F4(e,t,r){let n=e.split(".3tz"),i;if(n.length===1)i=null;else if(n.length===2)i=n[1].slice(1),i===""&&(i="tileset.json");else throw new Error("Unexpected URL format");if(i){let a=`${n[0]}.3tz`,o=new Ya(a),s=await gOt(o),u=new A2(o,s,a),c=new Bl(u),l=await Jr(i,t,{...r,fetch:c.fetch.bind(c)});return await c.destroy(),l}return await Jr(e,t,r)}function I2(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}async function gOt(e){let t,r=await Ch(e,Fh),n=await Dh(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await Gs(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await e.slice(a,a+i.compressedSize);t=w2(o)}return t}var k4=async({tile:e,traversalProps:t,processTile:r,postprocessTile:n,maxDepth:i,level:a=0})=>{if(i&&a>i)return;let o=[],s=await r(e,t);o.push(s);for(let u of e.children)await k4({tile:u,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:i,level:a+1});n&&await n(o,t)};var xOt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],j3e=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await Za(e.gltfArrayBuffer,dl,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=vOt(n),a=yOt(n);return{meshTopologyTypes:i,metadataClasses:a}},vOt=e=>{let t=new Set;for(let r of e.meshes||[])for(let n of r.primitives){let{mode:i}=n;typeof i!="number"&&(i=4),t.add(xOt[i])}return t},yOt=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[No])==null?void 0:a.schema)==null?void 0:o.classes;if(r)for(let l of Object.keys(r))t.add(l);let n=(c=(u=(s=e.extensions)==null?void 0:s[pl])==null?void 0:u.schema)==null?void 0:c.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},L3e=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var q3e=kt(require("process"),1);var bOt=.2,W1=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||q3e.default.hrtime.bigint,this.threshold=t.threshold||bOt}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?U1(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var r8e=require("util");var Pp=require("path"),n8e=kt(require("process"),1),i8e=kt(e8e(),1);var t8e={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 Gh=class{restored=!1;options;tilesConverted;textureSetDefinitions;attributeMetadataInfo;materialDefinitions;constructor(){this.tilesConverted={}}async createDump(t){let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p=!0,metadataClass:d,analyze:h=!1}=t;this.options={tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p,metadataClass:d,analyze:h};let g=(0,Pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Sp}`);if(await S2(g))try{let m=await N1((0,Pp.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${Sp}`),{options:v,tilesConverted:b,textureSetDefinitions:_,attributeMetadataInfo:A,materialDefinitions:w}=m;if(new i8e.default().compile(t8e)(m)&&(0,r8e.isDeepStrictEqual)(v,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=b,this.textureSetDefinitions=_,this.attributeMetadataInfo=A,this.materialDefinitions=w,this.restored=!0;return}}catch(m){console.log("Can't open dump file",m)}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=n8e.default.hrtime();await ja((0,Pp.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}${Sp}.${r[0]}.${r[1]}`),await YTe((0,Pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Sp}.${r[0]}.${r[1]}`),(0,Pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Sp}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await S2((0,Pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Sp}`))&&await D2((0,Pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Sp}`))}getRecord(t){return this.tilesConverted[t]}setRecord(t,r){this.tilesConverted[t]=r}async addNode(t,r,n){let{nodes:i}=this.getRecord(t)||{nodes:[]};i.push({nodeId:r,done:!1,dumpMetadata:n}),i.length===1&&this.setRecord(t,{nodes:i}),await this.updateDumpFile()}clearDumpRecord(t){this.setRecord(t,{nodes:[]})}addTexturesDefinitions(t){this.textureSetDefinitions=t}updateDoneStatus(t,r,n,i){var o;let a=(o=this.tilesConverted[t])==null?void 0:o.nodes.find(s=>s.nodeId===r);a&&(a.progress||(a.progress={}),a.progress[n]=i,i||(a.done=!1))}async updateConvertedTilesDump(t,r){for(let n=0;n<t.length;n++)if(t[n]&&"value"in r[n]){let{sourceId:i,resourceType:a,outputId:o}=t[n];this.updateNodes(i,o,a)}await this.updateDumpFile()}updateNodes(t,r,n){if(!(!t||!n||!r)){for(let i of this.tilesConverted[t].nodes)if(i.nodeId===r&&i.progress){i.progress[n]=!0;let a=!1;for(let o in i.progress)if(a=i.progress[o],!a)break;i.done=a,i.done&&delete i.progress;break}}}async updateConvertedNodesDumpFile(t,r,n){var a;let i=(a=this.tilesConverted[t])==null?void 0:a.nodes.find(o=>o.nodeId===r);i&&(i.done=n,await this.updateDumpFile())}isFileConversionComplete(t){var n,i,a;let r=!0;for(let o of((n=this.tilesConverted[t])==null?void 0:n.nodes)||[])if(!o.done){r=!1;break}return r&&((a=(i=this.tilesConverted[t])==null?void 0:i.nodes)==null?void 0:a.length)>0}setMaterialsDefinitions(t){this.materialDefinitions=t}};var o8e,m9t=(o8e=zh.default.env)==null?void 0:o8e.IonToken,a8e=64,g9t="3DTILES",x9t="3DObject",v9t=1800,y9t="https://",Rp="phase1-count",ox=class{attributeMetadataInfo;nodePages;options;layers0Path;materialMap;materialDefinitions;geometryMap;geometryConfigs;vertexCounter;layers0;featuresHashArray;refinementCounter;validate;boundingVolumeWarnings=[];conversionStartTime=[0,0];refreshTokenTime=[0,0];sourceTileset=null;loadOptions={_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"},fetch:{},modules:{}};geoidHeightModel=null;Loader=ec;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new V1(new Gh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new K6,this.nodePages=new Ri(ja,a8e,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 Gh}async convert(t){if(Er)return console.log($1),$1;this.conversionStartTime=zh.default.hrtime();let{tilesetName:r,egmFilePath:n,inputUrl:i,validate:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,instantNodeWriting:p=!1,mergeMaterials:d=!0,inquirer:h,metadataClass:g,analyze:m=!1}=t;this.options={outputPath:o,tilesetName:r,maxDepth:u,egmFilePath:n,draco:s,token:c,inputUrl:i,instantNodeWriting:p,mergeMaterials:d,inquirer:h,metadataClass:g},this.progresses[Rp]=new W1,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(a),this.Loader=i.indexOf(y9t)!==-1?EC:ec,this.generateTextures=Boolean(l),this.generateBoundingVolumes=Boolean(f),this.writeQueue=new V1(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 Jr(n,C4),console.log("Loading egm file completed!")),this.nodePages.useWriteFunction(lc);try{let v=await this._fetchPreloadOptions(),b=i;v.url&&(b=v.url),v.headers&&(this.loadOptions.fetch={headers:v.headers}),this.sourceTileset=await F4(b,this.Loader,this.loadOptions),(this.Loader===ec||m?await this.preprocessConversion():!0)&&!m&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(o,r),await this._finishConversion({outputPath:o,tilesetName:r}))}catch(v){throw v}finally{await this.writeQueue.finalize(),Ki.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await k4({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[Rp].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(I2(t))return await RU(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[Rp].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await MU(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 a=await j3e(i);return L3e(this.preprocessData,a),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 c,l,f;let n=(0,ts.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,ts.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,ts.join)(this.layers0Path,"nodepages"):n;try{await C2(i)}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,cD.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=hb(a.boundingVolume,new kr(a.transform),null);this._formLayers0(r,o,(f=(l=(c=this.sourceTileset)==null?void 0:c.root)==null?void 0:l.boundingVolume)==null?void 0:f.region);let s=A4(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[Rp].startMonitoring();let u=await Vs.createRootNode(s,this);await k4({tile:a,traversalProps:{transform:new kr(a.transform),parentNodes:[u]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[Rp].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=x9t),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,uD.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),k3e()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),A3e(r,this.layers0,n);for(let p of this.compressList||[])await b4(p),await D2(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 i=a3e(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${cc().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${cc().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:a8e},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,uD.default)(o,F3e())}async _writeLayers0(){await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>lc(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")})}async _createSlpk(t){await this.conversionDump.deleteDumpFile();let r=(0,ts.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await mU(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await E2(i)}));try{await C2(t)}catch{}}async convertTile(t,r){let n=I2(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await RU(this.sourceTileset,t,this.loadOptions)),r;t.id&&console.log(`[convert]: ${t.id}`);let{parentNodes:i,transform:a}=r,o=a.clone();t.transform&&(o=o.multiplyRight(t.transform));let s=i[0],u=await this._restoreNode(s,t,o),c;u===null?c=await this._createNode(s,t,o):c=u,await s.addChildren(c);let l={transform:o,parentNodes:c};if(t.id){this.progresses[Rp].stepsDone+=1;let f="Calculating time left...",p=this.progresses[Rp].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[Rp].getPercentString(),h=d?` ${d}%, ${f}`:"";console.log(`[converted${h}]: ${t.id}`)}return l}async finalizeTile(t,r){for(let n of t)for(let i of n.parentNodes)await i.addNeighbors();for(let n of r.parentNodes)await n.save()}async _generateNodeIndexDocument(t,r,n,i,a){this.layersHasTexture=this.layersHasTexture||Boolean("texture"in r&&r.texture||"texelCountHint"in r&&r.texelCountHint),this.generateBoundingVolumes&&r.boundingVolumes&&(t=r.boundingVolumes);let o=T3e(i,t),s=o.find(f=>f.metricType==="maxScreenThresholdSQ")||{maxError:0};if(a){let f={center:[],halfSize:[],quaternion:[]};await this.nodePages.push({index:0,obb:f},n.inPageId)}let u=await this._updateNodeInNodePages(s,t,i,n.inPageId,r),c=await Vs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Vs(u.index,this).addData(c),nodeInPage:u,nodeData:c}}async _restoreNode(t,r,n){if(this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions(),this.conversionDump.restored&&r.id&&this.conversionDump.isFileConversionComplete(r.id)){let i=hb(r.boundingVolume,n,null),a=A4(i,this.geoidHeightModel),o=[];for(let s of this.conversionDump.tilesConverted[r.id].nodes){let{node:u}=await this._generateNodeIndexDocument(a,{...s.dumpMetadata,nodeId:s.nodeId},t,r,!0);o.push(u)}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 i=null;try{i=await MU(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=hb(r.boundingVolume,n,null),o=A4(a,this.geoidHeightModel),s=b3e(i,this.options.metadataClass);this.createAttributeStorageInfo(i,s),this.conversionDump.attributeMetadataInfo={attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,fields:this.attributeMetadataInfo.fields,popupInfo:this.attributeMetadataInfo.popupInfo};let u=await this._convertResources({sourceTile:r,transformationMatrix:n,boundingVolume:a,tileContent:i,parentId:t.inPageId,propertyTable:s}),c=[],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 u||[p]){let{node:g,nodeInPage:m,nodeData:v}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(c.push(g),m.mesh){if(r.id){let b={boundingVolumes:h.boundingVolumes,attributesCount:(d=h.attributes)==null?void 0:d.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:m.mesh.material.definition,texelCountHint:m.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,m.index,b)}await this._writeResources(h,g.id,r)}this.validate&&(this.boundingVolumeWarnings=I3e(v),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(m.index),f.push(m)}return c}async _convertResources({sourceTile:t,transformationMatrix:r,boundingVolume:n,tileContent:i,parentId:a,propertyTable:o}){if(!this.isContentSupported(t)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await SU({tileContent:i,tileTransform:r,tileBoundingVolume:n,addNodeToNodePage:async()=>(await this.nodePages.push({index:0,obb:s},a)).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,i,a){let{vertexCount:o,featureCount:s,geometry:u,hasUvRegions:c}=a,l={index:0,lodThreshold:t.maxError,obb:r.obb,children:[]};u&&this.isContentSupported(n)&&(l.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint),c),resource:0},attribute:{resource:0},material:{definition:0}});let f="nodeId"in a?a.nodeId:void 0,p;if(f?p=await this.nodePages.getNodeById(f):p=await this.nodePages.push(l,i),l.mesh||console.log(`[warning]: node ${p.index} is created with empty content`),Ri.updateAll(p,l),"meshMaterial"in a&&a.meshMaterial?Ri.updateMaterialByNodeId(p,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Ri.updateMaterialByNodeId(p,a.materialId),"texture"in a&&a.texture){let d=a.texture.image.height*a.texture.image.width;Ri.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in a&&a.texelCountHint&&Ri.updateTexelCountHintByNodeId(p,a.texelCountHint);return o&&(this.vertexCounter+=o,Ri.updateVertexCountByNodeId(p,o)),Ri.updateNodeAttributeByNodeId(p),s&&Ri.updateFeatureCountByNodeId(p,s),this.nodePages.saveNode(p),p}async _writeResources(t,r,n){let{geometry:i,compressedGeometry:a,texture:o,sharedResources:s,attributes:u}=t,c=(0,ts.join)(this.layers0Path,"nodes",r),l=(0,ts.join)("nodes",r);await this._writeGeometries({geometryBuffer:i,compressedGeometry:a,childPath:c,slpkChildPath:l,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeShared({sharedResources:s,childPath:c,slpkChildPath:l,nodePath:r,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeTexture(o,c,l,n.id||"",parseInt(r)),await this._writeAttributes(u,c,l,n.id||"",parseInt(r))}async _writeGeometries({geometryBuffer:t,compressedGeometry:r,childPath:n,slpkChildPath:i,sourceId:a,nodeId:o}){if(!t)return;this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1);let s=(0,ts.join)(n,"geometries");if(await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>lc(s,t,"0.bin")}),this.options.draco&&r){this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1);let u=(0,ts.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>lc(u,r,"1.bin")})}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:i,sourceId:a,nodeId:o}){if(!t)return;t.nodePath=i;let s=(0,uD.default)(t,B3e()),u=JSON.stringify(s);this.conversionDump.updateDoneStatus(a,o,"SHARED",!1);let c=(0,ts.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>lc(c,u,"sharedResource.json")})}async _writeTexture(t,r,n,i,a){if(t){let o=this._getFormatByMimeType(t==null?void 0:t.mimeType),s=[],u=t.bufferView.data;switch(o){case"jpg":case"png":{if(s.push({name:"0",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"0",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"1",format:"ktx2"});let c=t.image.data.subarray(),l=new Uint8Array(c),f=Dg({...t.image,data:l},B7,{...B7.options,["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0});this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/ktx2`,!1),await this.writeTextureFile({textureData:f,name:"1",format:"ktx2",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}case"ktx2":{if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"1",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"0",format:"jpg"});let c=Dg(t.image.data[0],v7);this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile({textureData:c,name:"0",format:"jpg",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}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:i,slpkChildPath:a,sourceId:o,nodeId:s}){let u=(0,ts.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>lc(u,t,`${r}.${n}`,c)})}async _writeAttributes(t=[],r,n,i,a){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 u=this.attributeMetadataInfo.attributeStorageInfo[s].key,c=new Uint8Array(t[s]);this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1);let l=(0,ts.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>lc(l,c,"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,cD.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},i=(0,cD.default)(JSON.stringify(n));if(this.geometryMap.has(i))return this.geometryMap.get(i)||0;let a=this.geometryConfigs.push(n)-1;return this.geometryMap.set(i,a),a}createAttributeStorageInfo(t,r){let n=null;this.options.metadataClass?!this.attributeMetadataInfo.attributeStorageInfo.length&&(t!=null&&t.gltf)&&(n=d3e(t.gltf,this.options.metadataClass)):r&&(n=p3e(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/r*100:0,a=await E4(t),o=zh.default.hrtime(this.conversionStartTime),s=U1(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${g9t}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",a," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',i,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let t={"cesium-ion":{accessToken:this.options.token||m9t}},r=await this.Loader.preload(this.options.inputUrl??"",t);return this.refreshTokenTime=zh.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){if(zh.default.hrtime(this.refreshTokenTime)[0]<v9t)return;this.refreshTokenTime=zh.default.hrtime();let r=await this._fetchPreloadOptions();r.headers&&(this.loadOptions.fetch={...this.loadOptions.fetch,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 O8e=require("path"),yz=kt(require("process"),1),I8e=kt(zs(),1);function hz(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 s8e={UInt8:xt.UNSIGNED_BYTE,UInt16:xt.UNSIGNED_SHORT,Float32:xt.FLOAT,UInt32:xt.UNSIGNED_INT,UInt64:xt.DOUBLE};function sx(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 u8e="String",c8e="Oid32",l8e="Float64",f8e="Int16";function lD(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 ux(e,t=null){return t?`${e}?token=${t}`:e}function p8e(e,t){let{attributeData:r=[]}=t,n=[];for(let i=0;i<r.length;i++){let a=r[i].href.replace("./","");n.push(`${e}/${a}`)}return n}function d8e(e,t,r){let n=[],{attributeStorageInfo:i=[]}=e;for(let a=0;a<i.length;a++){let o=i[a].key;n.push(`${t}/nodes/${r}/attributes/${o}/0`)}return n}var fD=new ne([0,0,0]);function _9t(e){switch(e){case"ktx-etc2":case"dds":return Q8;case"ktx2":return oh;case"jpg":case"png":default:return Kg}}var w9t="i3s-attribute-type";async function x8e(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new kr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=ux(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=_9t(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===Kg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await Ka(f,[],p,i);a.texture=d}catch{let h=await Za(f,u,p,i);a.texture=h}}else if(u===Q8||u===oh){let p=await Jr(f,u,t.textureLoaderOptions);u===oh&&(p=p[0]),a.texture={compressed:!0,mipmaps:!1,width:p[0].width,height:p[0].height,data:p}}}else a.texture=f}return a.material=B9t(t.materialDefinition,a.texture),a.material&&(a.texture=null),await E9t(e,a,t,r,n)}async function E9t(e,t,r,n,i){var f,p;let a=e.byteLength,o,s,u=0,c=0,l;if(r.isDracoGeometry){let d=await Za(e,Mg,{draco:{attributeNameEntry:w9t}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:g,COLOR_0:m,TEXCOORD_0:v,["feature-index"]:b,["uv-region"]:_}=d.attributes;o={position:h,normal:g,color:m,uv0:v,uvRegion:_,id:b},A9t(o,d);let A=R9t(b);A&&P9t(o,A)}else{let{vertexAttributes:d,ordering:h,featureAttributes:g,featureAttributeOrder:m}=n.store.defaultGeometrySchema,v=S9t(e,n);u=v.byteOffset,s=v.vertexCount,c=v.featureCount;let{attributes:b,byteOffset:_}=m8e(e,u,d,s,h),{attributes:A}=m8e(e,_,g,c,m);I9t(A),o=T9t(b,A)}if(!((p=i==null?void 0:i.i3s)!=null&&p.coordinateSystem)||i.i3s.coordinateSystem===2){let d=D9t(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem=2}else t.modelMatrix=k9t(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:h8e(o.color),texCoords:o.uv0,uvRegions:h8e(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=a,t}function A9t(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 T9t(e,t){return{...e,...t}}function h8e(e){return e&&(e.normalized=!0,e)}function S9t(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=hz(o);switch(a){case"vertexCount".toString():n=new s(e,0,4)[0],r+=sx(o);break;case"featureCount".toString():i=new s(e,4,4)[0],r+=sx(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function m8e(e,t,r,n,i){let a={};for(let o of i)if(r[o]){let{valueType:s,valuesPerElement:u}=r[o];if(t+n*u*sx(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=C9t(c,n*u,sx(s));else{let f=hz(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:s8e[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*sx(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function C9t(e,t,r){let n=[],i=new DataView(e),a=0;for(let o=0;o<t;o++){let s=i.getUint32(a,!0),u=i.getUint32(a+4,!0),c=s+2**32*u;n.push(c),a+=r}return new Uint32Array(n)}function D9t(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new kr,o=new ne(r[0],r[1],r[2]),s=new ne;return Nt.WGS84.cartographicToCartesian(o,s),Nt.WGS84.eastNorthUpToFixedFrame(s,a),e.value=F9t(n,i,o),a}function F9t(e,t={},r){let n=new Float64Array(e.length),i=t["i3s-scale_x"]&&t["i3s-scale_x"].double||1,a=t["i3s-scale_y"]&&t["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*i+r.x,n[o+1]=e[o+1]*a+r.y,n[o+2]=e[o+2]+r.z;for(let o=0;o<n.length;o+=3)Nt.WGS84.cartographicToCartesian(n.subarray(o,o+3),fD),n[o]=fD.x,n[o+1]=fD.y,n[o+2]=fD.z;return n}function k9t(e){var a,o;let t=e.metadata,r=((a=t==null?void 0:t["i3s-scale_x"])==null?void 0:a.double)||1,n=((o=t==null?void 0:t["i3s-scale_y"])==null?void 0:o.double)||1,i=new kr;return i[0]=r,i[5]=n,i}function B9t(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=g8e(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=g8e(r.pbrMetallicRoughness.baseColorFactor)),t&&O9t(r,t),r}function g8e(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function O9t(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 I9t(e){let{id:t,faceRange:r}=e;if(!t||!r)return;let n=t.value,i=r.value,a=i[i.length-1]+1,o=new Uint32Array(a*3),s=0,u=0;for(let c=1;c<i.length;c+=2){let l=Number(n[s]),f=i[c],p=i[c-1],d=f-p+1,h=u+d*3;o.fill(l,u,h),s++,u=h}e.id.value=o}function P9t(e,t){let r=e.id.value,n=new Float32Array(r.length);for(let i=0;i<r.length;i++)n[i]=t[r[i]];e.id.value=n}function R9t(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 M9t="4.3.0-alpha.5",v8e={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:M9t,mimeTypes:["application/octet-stream"],parse:j9t,extensions:["bin"],options:{"i3s-content":{}}};async function j9t(e,t,r){let{tile:n,_tileOptions:i,tileset:a,_tilesetOptions:o}=(t==null?void 0:t.i3s)||{},s=i||n,u=o||a;return!s||!u?null:await x8e(e,s,u,t,r)}var L9t="4.3.0-alpha.5",y8e={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:L9t,mimeTypes:["application/json"],parse:q9t,extensions:["json"],options:{i3s:{}}};async function q9t(e,t){return JSON.parse(new TextDecoder().decode(e))}var u_=class{tileset;nodePages=[];pendingNodePages=[];nodesPerPage;options;lodSelectionMetricType;textureDefinitionsSelectedFormats=[];nodesInNodePages;url;textureLoaderOptions={};constructor(t,r="",n){var i,a;this.tileset={...t},this.url=r,this.nodesPerPage=((i=t.nodePages)==null?void 0:i.nodesPerPage)||64,this.lodSelectionMetricType=(a=t.nodePages)==null?void 0:a.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(t)}async getNodeById(t){var i;let r=Math.floor(t/this.nodesPerPage);if(!this.nodePages[r]&&!this.pendingNodePages[r]){let a=ux(`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:Jr(a,y8e,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=[],i=[];for(let d of r.children||[])i.push(this.getNodeById(d));let a=await Promise.all(i);for(let d of a)n.push({id:d.index.toString(),obb:d.obb});let o,s,u,c="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:g,materialDefinition:m}=this.getInformationFromMaterial(r.mesh.material);u=m,c=g.format||c,g.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${g.name}`),this.tileset.attributeStorageInfo&&(l=d8e(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return mz({id:t.toString(),lodSelection:p,obb:r.obb,contentUrl:o,textureUrl:s,attributeUrls:l,materialDefinition:u,textureFormat:c,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(t){let r=null,n=this.tileset.geometryDefinitions[t.definition],i=-1;if(this.options.i3s&&this.options.i3s.useDracoGeometry&&(i=n.geometryBuffers.findIndex(a=>a.compressedAttributes&&a.compressedAttributes.encoding==="draco")),i===-1&&(i=n.geometryBuffers.findIndex(a=>!a.compressedAttributes)),i!==-1){let a=Boolean(n.geometryBuffers[i].compressedAttributes);r={url:`${this.url}/nodes/${t.resource}/geometries/${i}`,isDracoGeometry:a}}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,i,a;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=(a=(i=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:i.baseColorTexture)==null?void 0:a.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 i of n){let a=i&&i.formats||[],o=null;for(let s of r){let u=a.find(c=>c.format===s);if(u){o=u;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={format:r1(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let r=Sb();r.has("etc2")&&t.push("ktx-etc2"),r.has("dxt")&&t.push("dds"),t.push("ktx2")}return t.push("jpg"),t.push("png"),t}};function b8e(e,t){let r=t.url||"",n;e.geometryData&&(n=`${r}/${e.geometryData[0].href}`);let i;e.textureData&&(i=`${r}/${e.textureData[0].href}`);let a;e.attributeData&&(a=p8e(r,e));let o=e.children||[];return mz({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function mz(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Nt.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Nt.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new gi().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,i=(u=e.lodSelection)==null?void 0:u[0].maxError,a="mesh",o=2;return{...e,mbs:r,boundingVolume:t,lodMetricType:n,lodMetricValue:i,type:a,refine:o}}async function _8e(e,t,r){let n=lD(r.url||""),i,a;if(e.nodePages)i=new u_(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s,s=ux(`${n}/nodes/root`,o.token);a=await Jr(s,jl,{...t,i3s:{...t.i3s,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:jl,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var N9t="4.3.0-alpha.5",U9t=/layers\/[0-9]+$/,G9t=/\.slpk$/,z9t=/nodes\/([0-9-]+|root)$/,H9t="504b0304",V9t="PointCloud",jl={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:N9t,mimeTypes:["application/octet-stream"],parse:$9t,extensions:["bin"],options:{i3s:{token:null,isTileset:"auto",isTileHeader:"auto",tile:null,tileset:null,_tileOptions:null,_tilesetOptions:null,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:2}}};async function $9t(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},J9t(e)===H9t)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=lD(n),o;t.i3s.isTileset==="auto"?o=U9t.test(a)||G9t.test(a):o=t.i3s.isTileset;let s;return t.isTileHeader==="auto"?s=z9t.test(a):s=t.i3s.isTileHeader,o?e=await K9t(e,t,r):s?e=await X9t(e,r):e=await W9t(e,t),e}async function W9t(e,t){return await Za(e,v8e,t)}async function K9t(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===V9t)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await _8e(n,t,r)}async function X9t(e,t){return e=JSON.parse(new TextDecoder().decode(e)),b8e(e,t)}function J9t(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var Y9t=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/^nodepages\/\d+$/,extensions:[".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+$/,extensions:[".json.gz"]},{test:/^nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],pD=class extends Ol{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new Au;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=Y9t.find(a=>a.test.test(t)))==null?void 0:n.extensions;if(i){let a;for(let o of i)if(a=await this.getDataByPath(`${t}${o}`),a)break;if(a)return a}}if(r==="raw"){let i=await this.getDataByPath(`${t}.gz`);if(i)return i;let a=await this.getFileBytes(t);if(a)return a}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 _2().decompress(r):r}async getFileBytes(t){let r;if(this.hashTable){let n=this._textEncoder.encode(t),i=await this._md5Hash.hash(n.buffer,"hex"),a=this.hashTable[i];if(a===void 0)return;let o=await Gs(a,this.fileProvider);if(!o)return;r=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize)}else try{r=await this.getFileWithoutHash(t)}catch{r=void 0}return r}};async function gz(e,t,r){let n=await Ch(e,Fh),i=await Dh(n,e),a;if((i==null?void 0:i.fileName)!=="@specialIndexFileHASH128@")a=await gU(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Gs(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await e.slice(s,s+o.compressedSize);a=w2(u)}return new pD(e,a,r)}function E8e(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?Q9t(n,e):null}:{}}function Q9t(e,t){switch(e){case u8e:return tjt(t);case c8e:return w8e(t);case l8e:return ejt(t);case f8e:return Z9t(t);default:return w8e(t)}}function w8e(e){return new Uint32Array(e,4)}function Z9t(e){return new Int16Array(e,4)}function ejt(e){return new Float64Array(e,8)}function tjt(e){let i=[];try{let a=new DataView(e,0,4).getUint32(0,!0),o=new Uint32Array(e,8,a),s=8+a*4;for(let u of o){let c=new TextDecoder("utf-8"),l=new Uint8Array(e,s,u);i.push(c.decode(l)),s+=u}}catch(a){console.error("Parse string attribute error: ",a.message)}return i}var rjt="4.3.0-alpha.5";var xz={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:rjt,mimeTypes:["application/binary"],parse:async(e,t)=>E8e(e,t),extensions:["bin"],options:{},binary:!0};function vz(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Nt.WGS84.cartographicToCartesian(r,new ne),i=new gi().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var dD=kt(zs(),1),njt=()=>({version:{path:"version",default:"1.0"}}),A8e=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,dD.default)(t,A8e()))}}),T8e=()=>({asset:{path:"asset",transform:e=>(0,dD.default)(e,njt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,dD.default)(e,A8e())}});function S8e(e,t){let r=new Float32Array(e.length),n=ajt(t);for(let i=0;i<e.length;i+=2){let a=e.subarray(i,i+2),o=n.slice(i*2,i*2+4),s=ijt([a[0],a[1]]),u=[o[2]-o[0],o[3]-o[1]],c=[s[0]*u[0],s[1]*u[1]],l=[c[0]+o[0],c[1]+o[1]];r[i]=l[0],r[i+1]=l[1]}return r}function ijt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function ajt(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var ojt=new kr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),C8e=new ne,D8e="KHR_materials_unlit",sjt=1,ujt=1,c_=class{rtcCenter;i3sTile;async convert(t,r=null){let n=await this.buildGLTF(t,r);return t8({gltfEncoded:new Uint8Array(n),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},yU)}async buildGLTF(t,r){let{tileContent:n,textureFormat:i,box:a}=t,{material:o,attributes:s,indices:u,modelMatrix:c}=n,l=new sr,f=await this._addI3sTextureToGLTF(n,i,l),p=o==null?void 0:o.pbrMetallicRoughness;p&&(p.metallicFactor===void 0||p.metallicFactor===sjt)&&(p.roughnessFactor===void 0||p.roughnessFactor===ujt)&&(l.addObjectExtension(o,D8e,{}),l.addExtension(D8e));let d=this._convertI3sMaterialToGLTFMaterial(o,f),h=l.addMaterial(d),g=s.positions,m=g.value;s.uvRegions&&s.texCoords&&(s.texCoords.value=S8e(s.texCoords.value,s.uvRegions.value));let v=new ne(a),b=Nt.WGS84.cartesianToCartographic(v,new ne);s.positions.value=this._normalizePositions(m,v,b,c),this._createBatchIds(n,r),s.normals&&!this._checkNormals(s.normals.value)&&delete s.normals;let _=u||T4(m.length/g.size),A=l.addMesh({attributes:s,indices:_,material:h,mode:4}),w=this._generateTransformMatrix(v),C=l.addNode({meshIndex:A,matrix:w}),k=l.addScene({nodeIndices:[C]});return l.setDefaultScene(k),l.createBinaryChunk(),t8(l.gltf,X7)}async _addI3sTextureToGLTF(t,r,n){let{texture:i,material:a,attributes:o}=t,s=null,u=i;if(!i&&a&&(u=a.pbrMetallicRoughness&&a.pbrMetallicRoughness.baseColorTexture&&a.pbrMetallicRoughness.baseColorTexture.texture.source.image),u){let c=this._deduceMimeTypeFromFormat(r),l=n.addImage(u,c);s=n.addTexture({imageIndex:l}),delete o.colors}return s}_normalizePositions(t,r,n,i){let a=new Float32Array(t.length);for(let o=0;o<t.length;o+=3){let s=t.subarray(o,o+3),u=new ne(r),c=new ne(Array.from(s)).transform(i).add(n);Nt.WGS84.cartographicToCartesian(c,C8e),c=C8e.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new kr().translate(t).multiplyLeft(ojt)}_createBatchIds(t,r){let{featureIds:n}=t,{OBJECTID:i}=r||{};if(!(!n||!i)){for(let a=0;a<n.length;a++){let o=n[a],s=i.indexOf(o);n[a]=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 F8e=async(e,t,r,n)=>{if(!e||!t.contentUrl)return null;let i={...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 l_(t.contentUrl,jl,i,n)};async function k8e(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new Ya(r),i=await gz(n,void 0,r);return new Bl(i)}return null}async function l_(e,t,r,n){return n!==null?await Jr(e,t,{...r,fetch:n.fetch.bind(n)}):await Jr(e,t,r)}async function B8e(e){if(!(e!=null&&e.fileProvider))return 0;let t=new Set,r=uc(e.fileProvider);for await(let n of r){let i=n.fileName,a=/^nodes\/(\d+)\//.exec(i);a&&t.add(a[1])}return t.size}var cjt="I3S",cx=class{options;tilesetPath;vertexCounter;conversionStartTime;geoidHeightModel;sourceTileset;attributeStorageInfo;workerSource={};slpkFilesystem=null;loaderOptions={_nodeWorkers:!0,reuseWorkers:!0,worker:!1,i3s:{coordinateSystem:3,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};conversionDump;progress;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 Gh,this.progress=new W1}async convert(t){var h;if(Er)return console.log($1),$1;let{inputUrl:r,outputPath:n,tilesetName:i,maxDepth:a,egmFilePath:o,inquirer:s,analyze:u}=t;this.conversionStartTime=yz.default.hrtime(),this.options={maxDepth:a,inquirer:s},console.log("Loading egm file..."),this.geoidHeightModel=await Jr(o,C4),console.log("Loading egm file completed!"),this.slpkFilesystem=await k8e(r);let c=!0;if((u||this.slpkFilesystem)&&(c=await this.preprocessConversion(),!c||u)||(this.progress.startMonitoring(),this.sourceTileset=await l_(r,jl,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let l=(h=this.sourceTileset)==null?void 0:h.root;if(l.obb||(l.obb=TU(l.mbs)),this.tilesetPath=(0,O8e.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 C2(this.tilesetPath)}catch{}let f={boundingVolume:{box:vz(l.obb,this.geoidHeightModel)},geometricError:DU(l),children:[],refine:"REPLACE"};await this._addChildren(l,f,1);let p=(0,I8e.default)({root:f},T8e());await ja(this.tilesetPath,JSON.stringify(p),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:i}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),Ki.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await B8e(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,i){let a=r,o=await this._loadChildNode(t,i);if(o.contentUrl){if(this.conversionDump.restored&&this.conversionDump.isFileConversionComplete(`${o.id}.b3dm`)&&(o.obb||o.mbs)){let{child:b}=this._createChildAndBoundingVolume(o);r.children.push(b),await this._addChildren(o,b,n+1);return}let f=await F8e(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),g={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},v=await new c_().convert(g,p);await this.conversionDump.addNode(`${o.id}.b3dm`,o.id),await ja(this.tilesetPath,new Uint8Array(v),`${o.id}.b3dm`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.b3dm`,o.id,!0),r.children.push(d),a=d}this.progress.stepsDone+=1;let s="Calculating time left...",u=this.progress.getTimeRemainingString();u&&(s=`${u} left`);let c=this.progress.getPercentString(),l=c?` ${c}%, ${s}`:"";console.log(`[converted${l}]: ${i.id}`),await this._addChildren(o,a,n+1)}async _addChildren(t,r,n){if(!(this.options.maxDepth&&n>this.options.maxDepth))for(let i of t.children||[])await this.convertChildNode(t,r,n,i)}async _loadChildNode(t,r){var i;let n;if((i=this.sourceTileset)!=null&&i.nodePagesTile)console.log(`Node conversion: ${r.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(r.id));else{let a=this._relativeUrlToFullUrl(t.url,r.href),o={i3s:{...this.loaderOptions,isTileHeader:!0,loadContent:!1}};console.log(`Node conversion: ${a}`),n=await l_(a,jl,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=TU(t.mbs));let r={box:vz(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:DU(t),children:[],content:{uri:`${t.id}.b3dm`,boundingVolume:r}};return{boundingVolume:r,child:n}}_relativeUrlToFullUrl(t="",r){let n=t.split("/"),i=r.split("/");for(let a of i)switch(a){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(a)}return n.join("/")}async _loadChildAttributes(t,r){let n=[],{attributeUrls:i=[]}=t;for(let o=0;o<i.length;o++){let s=i[o],u=r[o],c={attributeName:u.name,attributeType:this._getAttributeType(u)};n.push(l_(s,xz,c,this.slpkFilesystem))}let a=await Promise.all(n);return this._replaceNestedArrays(a),Object.assign({},...a)}_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 i in n)n[i]=Array.from(n[i])}}async _finishConversion(t){let r=await E4(t),n=yz.default.hrtime(this.conversionStartTime),i=U1(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${cjt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var lx=require("path");var ljt="4.3.0-alpha.5",fjt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",hD=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await Jr(fjt,lU,{}),n=process.cwd();t&&(n=(0,lx.join)(n,t)),await ja(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(ip[An.DECODER],"draco",An.DECODER),await this.installFromUrl(ip[An.DECODER_WASM],"draco",An.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(ip[An.ENCODER],"draco",An.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Yu.TRANSCODER,"libs"),await this.installFromNpm("textures",Yu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Yu.ENCODER,"libs"),await this.installFromNpm("textures",Yu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new q0,a=(0,lx.dirname)(process.execPath);await i.start({command:`${a}/${process.platform==="win32"?"npm.cmd":"npm"}`,arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0}),console.log("All dependencies were installed succesfully.")}async installFromNpm(t,r,n=""){let i=await ca(`https://unpkg.com/@loaders.gl/${t}@${ljt}/dist/${n}/${r}`);if(i.status<200||i.status>=300)throw new Error(`Failed to load resource ${r}`);let a=await i.arrayBuffer();if(!a)return;let o=(0,lx.join)(process.cwd(),"modules",t,"dist",n);await ja(o,a,r)}async installFromUrl(t,r,n){let a=await(await ca(t)).arrayBuffer();if(!a)return;let o=(0,lx.join)(process.cwd(),"modules",r,"dist","libs");await ja(o,a,n)}};function hc(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function P8e(e,t){let r=hc(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function R8e(e){return e.reduce((t,r)=>{let n=r.indexOf("="),i=r.slice(0,n),a=r.slice(n+1,r.length);return r.includes("=")&&r.startsWith("--")&&a?t.concat(i,a):t.concat(r)},[])}function M8e(e,t){let r=hc(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function Ys(e,t){let r=hc(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var q8e=require("fs/promises"),bz={I3S:"I3S",_3DTILES:"3DTILES"};async function pjt(){let[,,...e]=process.argv;e.length===0&&_z();let t=R8e(e),r=hjt(t);if(r.installDependencies){new hD().install("deps");return}if(r.addHash){let i=j8e(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await mD.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&&(a=`${s}-hash.slpk`)}else a=i.output;a!==i.tileset&&await(0,q8e.copyFile)(i.tileset,a);let o=await E2(uc(new Ya(a)));await hU(a,o,"@specialIndexFileHASH128@");return}let n=j8e(r);await djt(n)}pjt().catch(e=>{console.log(e),process.exit(1)});function _z(){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 reduce memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent to merge similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),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('--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 djt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case bz.I3S:await new cx().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:mD.default});break;case bz._3DTILES:await new ox().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:mD.default});break;default:_z()}}function j8e(e,t){let r={name:{getMessage:()=>console.log("Missed: --name [Tileset name]"),condition:i=>t||Boolean(i)||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:i=>t||Boolean(i)&&Object.values(bz).includes(i.toUpperCase())}},n=[];for(let i in r){let a=e[i],o=r[i].condition;(o?o(a):a)||n.push(r[i].getMessage)}return n.length&&(n.forEach(i=>i()),process.exit(1)),e}function hjt(e){let t={output:"data",instantNodeWriting:!1,mergeMaterials:!0,egm:(0,L8e.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=hc(n,e);break;case"--tileset":t.tileset=P8e(n,e);break;case"--name":t.name=hc(n,e);break;case"--output":t.output=hc(n,e);break;case"--instant-node-writing":t.instantNodeWriting=Ys(n,e);break;case"--split-nodes":t.mergeMaterials=Ys(n,e);break;case"--max-depth":t.maxDepth=M8e(n,e);break;case"--add-hash":t.addHash=Ys(n,e);break;case"--egm":t.egm=hc(n,e);break;case"--token":t.token=hc(n,e);break;case"--no-draco":t.draco=Ys(n,e);break;case"--validate":t.validate=Ys(n,e);break;case"--install-dependencies":t.installDependencies=Ys(n,e);break;case"--generate-textures":t.generateTextures=Ys(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=Ys(n,e);break;case"--analyze":t.analyze=Ys(n,e);break;case"--quiet":t.quiet=Ys(n,e);break;case"--metadata-class":t.metadataClass=hc(n,e);break;case"--help":_z();break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
|
|
160
|
+
`).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;t(o)})})}var kre={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},q0=class{id;props={...kre};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...kre,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await Fre(t.port)),r.push(t.portArg,String(this.port))),await new Promise((n,i)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),n({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=Bre.spawn(t.command,r,t.spawn);this.childProcess=a,a.stdout.on("data",o=>{console.log(o.toString())}),a.stderr.on("data",o=>{console.log(`Child process wrote to stderr: "${o}".`),t.ignoreStderr||(this._clearTimeout(),i(new Error(o)))}),a.on("error",o=>{console.log(`Child process errored with ${o}`),this._clearTimeout(),i(o)}),a.on("close",o=>{console.log(`Child process exited with ${o}`),this.childProcess=null,this._clearTimeout(),n({})})}catch(a){i(a)}})}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 GB(e,t){return!Ki.isSupported()||!li&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}async function zB(e,t,r,n,i){let a=e.id,o=Tv(e,r),u=Ki.getWorkerFarm(r).getWorkerPool({name:a,url:o});r=JSON.parse(JSON.stringify(r)),n=JSON.parse(JSON.stringify(n||{}));let c=await u.startJob("process-on-worker",pqe.bind(null,i));return c.postMessage("process",{input:t,options:r,context:n}),await(await c.result).result}async function pqe(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:i,input:a,options:o}=n;try{let s=await e(a,o);t.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";t.postMessage("error",{id:i,error:u})}break;default:console.warn(`parse-with-worker unknown message ${r}`)}}function HB(e,t){return!Ki.isSupported()||!Er&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&(t==null?void 0:t.worker)}function Ire(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Ore(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Ore(e,0,t):""}function Ore(e,t,r){if(e.byteLength<=t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function VB(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${Ire(e)}"`)}}function _u(e,t,r){if(r=r||e.byteLength,e.byteLength<r||t.byteLength<r)return!1;let n=new Uint8Array(e),i=new Uint8Array(t);for(let a=0;a<n.length;++a)if(n[a]!==i[a])return!1;return!0}function _n(...e){return pE(e)}function pE(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function Xa(...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),i=new r(n),a=0;for(let o of t)i.set(o,a),a+=o.length;return i}function sd(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 Ja(e,t){return Et(e>=0),Et(t>0),e+(t-1)&~(t-1)}function $B(e,t,r){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let i=e.byteOffset,a=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(n,r),r+Ja(n.byteLength,4)}function WB(e,t){let r=e.length,i=Math.ceil(r/t)*t-r,a="";for(let o=0;o<i;++o)a+=" ";return e+a}function N0(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r.charCodeAt(i));return t+n}function Sv(e,t,r,n){if(e)for(let i=0;i<n;i++)e.setUint8(t+i,r[i]);return t+n}function dE(e,t,r,n){let i=Ja(r.byteLength,n),a=i-r.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+t,r.byteLength),s=new Uint8Array(r);o.set(s);for(let u=0;u<a;++u)e.setUint8(t+r.byteLength+u,32)}return t+=i,t}function U0(e,t,r,n){let a=new TextEncoder().encode(r);return t=dE(e,t,a,n),t}async function ud(e){let t=[];for await(let r of e)t.push(r);return _n(...t)}var dqe="",Pre={};function wu(e){for(let t in Pre)if(e.startsWith(t)){let r=Pre[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${dqe}${e}`),e}var hqe="4.3.0-alpha.6",KB={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:hqe,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Rre,parse:async e=>Rre(new TextDecoder().decode(e)),options:{}};function Rre(e){return JSON.parse(e)}function Mre(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function jre(e){return e&&typeof e=="object"&&e.isBuffer}function Pc(e){if(jre(e))return Mre(e);if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.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 G0(e){return t=>new Promise((r,n)=>e(t,(i,a)=>i?n(i):r(a)))}var Ta={};zn(Ta,{dirname:()=>xqe,filename:()=>gqe,join:()=>vqe,resolve:()=>yqe});function Lre(){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 gqe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):""}function xqe(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function vqe(...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 yqe(...e){let t=[];for(let a=0;a<e.length;a++)t[a]=e[a];let r="",n=!1,i;for(let a=t.length-1;a>=-1&&!n;a--){let o;a>=0?o=t[a]:(i===void 0&&(i=Lre()),o=i),o.length!==0&&(r=`${o}/${r}`,n=o.charCodeAt(0)===Cv)}return r=bqe(r,!n),n?`/${r}`:r.length>0?r:"."}var Cv=47,XB=46;function bqe(e,t){let r="",n=-1,i=0,a,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else{if(a===Cv)break;a=Cv}if(a===Cv){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(r.length<2||!o||r.charCodeAt(r.length-1)!==XB||r.charCodeAt(r.length-2)!==XB){if(r.length>2){let u=r.length-1,c=u;for(;c>=0&&r.charCodeAt(c)!==Cv;--c);if(c!==u){r=c===-1?"":r.slice(0,c),n=s,i=0,o=!1;continue}}else if(r.length===2||r.length===1){r="",n=s,i=0,o=!1;continue}}t&&(r.length>0?r+="/..":r="..",o=!0)}else{let u=e.slice(n+1,s);r.length>0?r+=`/${u}`:r=u,o=!1}n=s,i=0}else a===XB&&i!==-1?++i:i=-1}return r}var Dv=new Error("Not implemented"),Rc=class{handle;size=0;bigsize=0n;url="";constructor(t,r,n){var i;if((i=globalThis.loaders)!=null&&i.NodeFile)return new globalThis.loaders.NodeFile(t,r,n);throw Er?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 Dv}async write(t,r,n){throw Dv}async stat(){throw Dv}async truncate(t){throw Dv}async append(t){throw Dv}async close(){}};var z0=new Error("Not implemented"),Fv=class{constructor(t){var r;if((r=globalThis.loaders)!=null&&r.NodeFileSystem)return new globalThis.loaders.NodeFileSystem(t);throw Er?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 z0}async openWritableFile(t,r,n){throw z0}async readdir(t=".",r){throw z0}async stat(t,r){throw z0}async unlink(t){throw z0}async fetch(t,r){throw z0}};var JB=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var Ya=class{file;constructor(t,r=!1){this.file=new Rc(t,r?"a+":"r")}async truncate(t){await this.file.truncate(t)}async append(t){await this.file.append(t)}async destroy(){await this.file.close()}async getUint8(t){let r=await this.file.read(t,1),n=new Uint8Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getUint16(t){let r=await this.file.read(t,2),n=new Uint16Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getUint32(t){let r=await this.file.read(t,4),n=new Uint32Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async getBigUint64(t){let r=await this.file.read(t,8),n=new BigInt64Array(r).at(0);if(n===void 0)throw new Error("something went wrong");return n}async slice(t,r){let n=r-t;if(n>Number.MAX_SAFE_INTEGER)throw new Error("too big slice");let i=Number(n);return await this.file.read(t,i)}get length(){return this.file.bigsize}};var H0=e=>{if(e>Number.MAX_SAFE_INTEGER)throw new Error("Offset is out of bounds");return Number(e)},kv=class{file;constructor(t){this.file=t}async destroy(){}async getUint8(t){return this.file.getUint8(H0(t))}async getUint16(t){return this.file.getUint16(H0(t),!0)}async getUint32(t){return this.file.getUint32(H0(t),!0)}async getBigUint64(t){return this.file.getBigUint64(H0(t),!0)}async slice(t,r){return this.file.buffer.slice(H0(t),H0(r))}get length(){return BigInt(this.file.byteLength)}};var Mc=kt(require("fs"),1),cd=class{handle;size;bigsize;url;constructor(t,r,n){t=wu(t),this.handle=Mc.default.openSync(t,r,n);let i=Mc.default.fstatSync(this.handle,{bigint:!0});this.size=Number(i.size),this.bigsize=i.size,this.url=t}async close(){return new Promise((t,r)=>{Mc.default.close(this.handle,n=>n?r(n):t())})}async truncate(t){return new Promise((r,n)=>{Mc.default.ftruncate(this.handle,t,i=>{i?n(i):(this.bigsize=BigInt(t),this.size=Number(this.bigsize),r())})})}async append(t){return new Promise((r,n)=>{Mc.default.appendFile(this.handle,t,i=>{i?n(i):(this.bigsize=this.bigsize+BigInt(t.length),this.size=Number(this.bigsize),r())})})}async stat(){return await new Promise((t,r)=>Mc.default.fstat(this.handle,{bigint:!0},(n,i)=>{let a={size:Number(i.size),bigsize:i.size,isDirectory:i.isDirectory()};n?r(n):t(a)}))}async read(t,r){let n=new ArrayBuffer(r),i=BigInt(t),a=0,o=new Uint8Array(n),s;for(;r>0;){let u=await wqe(this.handle,o,0,r,i);if(u===0)break;a+=u,i+=BigInt(u),r-=u,s!==void 0&&(s+=u)}return a<r?n.slice(0,a):n}async write(t,r=0,n=t.byteLength){return new Promise((i,a)=>{let o=Number(r),s=new Uint8Array(t,Number(r),n);Mc.default.write(this.handle,s,0,n,o,(u,c)=>u?a(u):i(c))})}};async function wqe(e,t,r,n,i){return await new Promise((a,o)=>Mc.default.read(e,t,r,n,i,(s,u)=>s?o(s):a(u)))}var xE=kt(require("fs/promises"),1);var QB=kt(require("fs"),1),YB=require("stream");var hE=kt(require("zlib"),1),Eqe=e=>e&&e instanceof ArrayBuffer,Aqe=e=>e&&e instanceof Buffer;function mE(e,t){switch(t==null?void 0:t.get("content-encoding")){case"br":return e.pipe(hE.default.createBrotliDecompress());case"gzip":return e.pipe(hE.default.createGunzip());case"deflate":return e.pipe(hE.default.createDeflate());default:return e}}async function qre(e){let t=[];return await new Promise((r,n)=>{e.on("error",i=>n(i)),e.on("readable",()=>e.read()),e.on("data",i=>{typeof i=="string"&&n(new Error("Read stream not binary")),t.push(Sqe(i))}),e.on("end",()=>{let i=Tqe(t);r(i)})})}function Tqe(e){let t=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),r=t.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(r),i=0;for(let a of t)n.set(a,i),i+=a.byteLength;return n.buffer}function Sqe(e){if(Eqe(e))return e;if(Aqe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;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(${JSON.stringify(e,null,2).slice(10)})`)}var Cqe=e=>typeof e=="boolean",Nre=e=>typeof e=="function",Dqe=e=>e!==null&&typeof e=="object",Fqe=e=>Dqe(e)&&Nre(e.read)&&Nre(e.pipe)&&Cqe(e.readable);async function gE(e,t){let r=/^file:\/\//;e.replace(r,"/");let n=e.split("?")[0];n=wu(n);let i=new Headers;e.endsWith(".gz")&&(i["content-encoding"]="gzip"),e.endsWith(".br")&&(i["content-encoding"]="br");try{let a=await new Promise((f,p)=>{let d=QB.default.createReadStream(n,{encoding:null});d.once("readable",()=>f(d)),d.on("error",h=>p(h))}),o=a;Fqe(a)?o=mE(a,i):typeof a=="string"?o=YB.Readable.from([new TextEncoder().encode(a)]):o=YB.Readable.from([a||new ArrayBuffer(0)]);let s=200,u="OK",c=kqe(n),l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}catch(a){let o=a.message,s=400,u=o,c={},l=new Response(o,{headers:c,status:s,statusText:u});return Object.defineProperty(l,"url",{value:e}),l}}function kqe(e){let t={};if(!t["content-length"]){let r=QB.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 vE=class{readable=!0;writable=!0;constructor(){}async readdir(t=".",r){return await xE.default.readdir(t,r)}async stat(t){let r=await xE.default.stat(t,{bigint:!0});return{size:Number(r.size),bigsize:r.size,isDirectory:r.isDirectory()}}async unlink(t){return await xE.default.unlink(t)}async fetch(t,r){return await gE(t,r)}async openReadableFile(t,r="r"){return new cd(t,r)}async openWritableFile(t,r="w",n){return new cd(t,r,n)}};var jc=class{constructor(t={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(t,r="base64"){var o,s;let n=[];for await(let u of t)n.push(u),yield u;let i=await this.concatenate(n),a=await this.hash(i,r);(s=(o=this.options.crypto)==null?void 0:o.onEnd)==null||s.call(o,{hash:a})}async concatenate(t){return await ud(t)}};var V0=class{crc;constructor(){this.crc=-1}update(t){let r=Oqe(),n=new Uint8Array(t);for(let i=0;i<n.byteLength;i++)this.crc=this.crc>>>8^r[(this.crc^n[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},Bqe=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 Oqe(){return Bqe}function Ure(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 i=0;i<n.length;i++)typeof n[i]>"u"?t+="=":t+=Iqe(n[i])}return t}function Iqe(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 ZB(e,t){switch(t){case"hex":return Gre(e);case"base64":return Hre(Gre(e));default:throw new Error(t)}}function zre(e,t){switch(t){case"hex":return e;case"base64":return Hre(e);default:throw new Error(t)}}function Hre(e){e.length%2!==0&&(e=`0${e}`);let r=(e.match(/\w{2}/g)||[]).map(n=>String.fromCharCode(parseInt(n,16))).join("");return Ure(r)||""}function Gre(e){let t=e.toString(16);return t==="0"?`0${t}`:t}var Bv=class extends jc{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 V0;n.update(t);let i=n.finalize();return ZB(i,r)}async*hashBatches(t,r="base64"){var a,o;let n=new V0;for await(let s of t)n.update(s),yield s;let i=n.finalize();(o=(a=this.options.crypto)==null?void 0:a.onEnd)==null||o.call(a,{hash:ZB(i,r)})}};var $re=typeof atob=="function"?atob:typeof Buffer=="function"?Nqe:Kre,Pqe=$re("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="),eO=WebAssembly&&$re!==Kre?qqe(Pqe).buffer:!1,Eu=Uqe(),tO=240*16*16,Wre=Math.floor(tO*16*1.066666667),Rqe=268435456-65536,Vre="Parameter must be Buffer, ArrayBuffer or Uint8Array",Mqe="Parameter exceeds max size of 255.9 Mbytes";eO||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function rO(e){var t,r,n,i,a,o,s,u,c,l;let f=Lqe(),p=jqe(),d={},h=new Date().getTime();return d.then=function(b){return s=b,m(),d},d.catch=function(b){return u=b,d},e&&typeof e=="object"?typeof Buffer=="function"&&e.constructor===Buffer?o=e:e.constructor===Uint8Array||e.constructor===ArrayBuffer?o=e.constructor===ArrayBuffer?new Uint8Array(e):e:v(new TypeError(Vre)):v(new TypeError(Vre)),o&&(a=o.length,eO&&a>Wre?a>Rqe?v(new Error(Mqe)):(t=new WebAssembly.Memory({initial:a>32e6?a>64e6?a>128e6?4096:2048:1024:512}),r=new Uint32Array(t.buffer),i={mem:t,log:console.log},n={imports:i},WebAssembly.instantiate(eO,n).then(g)):m(f(o))),d;function g(b){m(p(o,b.instance.exports,r))}function m(b){var _=Boolean(b)?b:c;Boolean(b)&&(l=new Date().getTime()),typeof s=="function"?Boolean(_)&&(s(_,l-h),s=u=null):Boolean(b)&&(c=b)}function v(b){typeof u=="function"&&u(b)}}function jqe(){var e,t,r,n,i,a,o,s,u,c,l,f,p,d=function(h){var g,m,v,b,_,A,w,C,k,R,S,D,I,M,G,z,X,Y,le,ue,ce,me,De=new Date().getTime(),Oe=0,J=1732584193,N=-271733879,K=-1732584194,Q=271733878,Ie=0,qe=h.length*8,Xe;for(Xe=ye(h,p),p[qe>>>5]|=128<<qe%32,p[(qe+64>>>9<<4)+14]=qe,Xe=(qe+64>>>9<<4)+15,ce=p;Ie<Xe;)Xe>Ie+Wre?(n(J),a(N),s(K),c(Q),t(tO),Ie=Ie+tO*16,J=r(),N=i(),K=o(),Q=u(),Oe++):(X=J,Y=N,le=K,ue=Q,g=ce[Ie+0]>>>0,m=ce[Ie+1]>>>0,v=ce[Ie+2]>>>0,b=ce[Ie+3]>>>0,_=ce[Ie+4]>>>0,A=ce[Ie+5]>>>0,w=ce[Ie+6]>>>0,C=ce[Ie+7]>>>0,k=ce[Ie+8]>>>0,R=ce[Ie+9]>>>0,S=ce[Ie+10]>>>0,D=ce[Ie+11]>>>0,I=ce[Ie+12]>>>0,M=ce[Ie+13]>>>0,G=ce[Ie+14]>>>0,z=ce[Ie+15]>>>0,J=ie(7,25,J+(N&K|~N&Q)+g-680876936)+N,Q=ie(12,20,Q+(J&N|~J&K)+m-389564586)+J,K=ie(17,15,K+(Q&J|~Q&N)+v+606105819)+Q,N=ie(22,10,N+(K&Q|~K&J)+b-1044525330)+K,J=ie(7,25,J+(N&K|~N&Q)+_-176418897)+N,Q=ie(12,20,Q+(J&N|~J&K)+A+1200080426)+J,K=ie(17,15,K+(Q&J|~Q&N)+w-1473231341)+Q,N=ie(22,10,N+(K&Q|~K&J)+C-45705983)+K,J=ie(7,25,J+(N&K|~N&Q)+k+1770035416)+N,Q=ie(12,20,Q+(J&N|~J&K)+R-1958414417)+J,K=ie(17,15,K+(Q&J|~Q&N)+S-42063)+Q,N=ie(22,10,N+(K&Q|~K&J)+D-1990404162)+K,J=ie(7,25,J+(N&K|~N&Q)+I+1804603682)+N,Q=ie(12,20,Q+(J&N|~J&K)+M-40341101)+J,K=ie(17,15,K+(Q&J|~Q&N)+G-1502002290)+Q,N=ie(22,10,N+(K&Q|~K&J)+z+1236535329)+K,J=ie(5,27,J+(N&Q|K&~Q)+m-165796510)+N,Q=ie(9,23,Q+(J&K|N&~K)+w-1069501632)+J,K=ie(14,18,K+(Q&N|J&~N)+D+643717713)+Q,N=ie(20,12,N+(K&J|Q&~J)+g-373897302)+K,J=ie(5,27,J+(N&Q|K&~Q)+A-701558691)+N,Q=ie(9,23,Q+(J&K|N&~K)+S+38016083)+J,K=ie(14,18,K+(Q&N|J&~N)+z-660478335)+Q,N=ie(20,12,N+(K&J|Q&~J)+_-405537848)+K,J=ie(5,27,J+(N&Q|K&~Q)+R+568446438)+N,Q=ie(9,23,Q+(J&K|N&~K)+G-1019803690)+J,K=ie(14,18,K+(Q&N|J&~N)+b-187363961)+Q,N=ie(20,12,N+(K&J|Q&~J)+k+1163531501)+K,J=ie(5,27,J+(N&Q|K&~Q)+M-1444681467)+N,Q=ie(9,23,Q+(J&K|N&~K)+v-51403784)+J,K=ie(14,18,K+(Q&N|J&~N)+C+1735328473)+Q,N=ie(20,12,N+(K&J|Q&~J)+I-1926607734)+K,J=ie(4,28,J+(N^K^Q)+A-378558)+N,Q=ie(11,21,Q+(J^N^K)+k-2022574463)+J,K=ie(16,16,K+(Q^J^N)+D+1839030562)+Q,N=ie(23,9,N+(K^Q^J)+G-35309556)+K,J=ie(4,28,J+(N^K^Q)+m-1530992060)+N,Q=ie(11,21,Q+(J^N^K)+_+1272893353)+J,K=ie(16,16,K+(Q^J^N)+C-155497632)+Q,N=ie(23,9,N+(K^Q^J)+S-1094730640)+K,J=ie(4,28,J+(N^K^Q)+M+681279174)+N,Q=ie(11,21,Q+(J^N^K)+g-358537222)+J,K=ie(16,16,K+(Q^J^N)+b-722521979)+Q,N=ie(23,9,N+(K^Q^J)+w+76029189)+K,J=ie(4,28,J+(N^K^Q)+R-640364487)+N,Q=ie(11,21,Q+(J^N^K)+I-421815835)+J,K=ie(16,16,K+(Q^J^N)+z+530742520)+Q,N=ie(23,9,N+(K^Q^J)+v-995338651)+K,J=ie(6,26,J+(K^(N|~Q))+g-198630844)+N,Q=ie(10,22,Q+(N^(J|~K))+C+1126891415)+J,K=ie(15,17,K+(J^(Q|~N))+G-1416354905)+Q,N=ie(21,11,N+(Q^(K|~J))+A-57434055)+K,J=ie(6,26,J+(K^(N|~Q))+I+1700485571)+N,Q=ie(10,22,Q+(N^(J|~K))+b-1894986606)+J,K=ie(15,17,K+(J^(Q|~N))+S-1051523)+Q,N=ie(21,11,N+(Q^(K|~J))+m-2054922799)+K,J=ie(6,26,J+(K^(N|~Q))+k+1873313359)+N,Q=ie(10,22,Q+(N^(J|~K))+z-30611744)+J,K=ie(15,17,K+(J^(Q|~N))+w-1560198380)+Q,N=ie(21,11,N+(Q^(K|~J))+M+1309151649)+K,J=ie(6,26,J+(K^(N|~Q))+_-145523070)+N,Q=ie(10,22,Q+(N^(J|~K))+D-1120210379)+J,K=ie(15,17,K+(J^(Q|~N))+v+718787259)+Q,N=ie(21,11,N+(Q^(K|~J))+R-343485551)+K,Ie=Ie+16,J=J+X>>>0,N=N+Y>>>0,K=K+le>>>0,Q=Q+ue>>>0);return Eu.endian([J,N,K,Q]);function ie(xe,Qe,Te){return Te<<xe|Te>>>Qe}function ye(xe,Qe){for(var Te=-1,it=Math.floor((xe.length-1)/4),_t=0,Or,te,Pe,We;it-8>Te++;)_t=Te<<2,Qe[Te]=xe[_t+0]|xe[_t+1]<<8|xe[_t+2]<<16|xe[_t+3]<<24;for(Te--;it>Te++;)_t=Te<<2,Or=typeof xe[_t+0]>"u"?0:xe[_t+0],te=typeof xe[_t+1]>"u"?0:xe[_t+1],Pe=typeof xe[_t+2]>"u"?0:xe[_t+2],We=typeof xe[_t+3]>"u"?0:xe[_t+3],Qe[Te]=Or|te<<8|Pe<<16|We<<24;return it+1}};return function(h,g,m,v){var b;return t=g.loops,e=g.loop,r=g.getA,i=g.getB,o=g.getC,u=g.getD,l=g.getX,n=g.setA,a=g.setB,s=g.setC,c=g.setD,f=g.setX,p=m,b=Eu.wordsToBytes(d(h)),v&&v.asBytes?b:Eu.bytesconvertNumberToHex(b)}}function Lqe(){var e=function(t,r){var n,i,a,o,s,u,c,l,f,p,d,h,g,m,v,b,_,A,w,C,k,R=new Date().getTime(),S=1732584193,D=-271733879,I=-1732584194,M=271733878,G=t.length*8;k=Eu.bytesToWords(t);for(var z=0;z<k.length;z++)k[z]=(k[z]<<8|k[z]>>>24)&16711935|(k[z]<<24|k[z]>>>8)&4278255360;k[G>>>5]|=128<<G%32,k[(G+64>>>9<<4)+14]=G;for(var X=0;X<k.length;X+=16)_=S,A=D,w=I,C=M,n=k[X+0]>>>0,i=k[X+1]>>>0,a=k[X+2]>>>0,o=k[X+3]>>>0,s=k[X+4]>>>0,u=k[X+5]>>>0,c=k[X+6]>>>0,l=k[X+7]>>>0,f=k[X+8]>>>0,p=k[X+9]>>>0,d=k[X+10]>>>0,h=k[X+11]>>>0,g=k[X+12]>>>0,m=k[X+13]>>>0,v=k[X+14]>>>0,b=k[X+15]>>>0,S=Y(7,25,S+(D&I|~D&M)+n-680876936)+D,M=Y(12,20,M+(S&D|~S&I)+i-389564586)+S,I=Y(17,15,I+(M&S|~M&D)+a+606105819)+M,D=Y(22,10,D+(I&M|~I&S)+o-1044525330)+I,S=Y(7,25,S+(D&I|~D&M)+s-176418897)+D,M=Y(12,20,M+(S&D|~S&I)+u+1200080426)+S,I=Y(17,15,I+(M&S|~M&D)+c-1473231341)+M,D=Y(22,10,D+(I&M|~I&S)+l-45705983)+I,S=Y(7,25,S+(D&I|~D&M)+f+1770035416)+D,M=Y(12,20,M+(S&D|~S&I)+p-1958414417)+S,I=Y(17,15,I+(M&S|~M&D)+d-42063)+M,D=Y(22,10,D+(I&M|~I&S)+h-1990404162)+I,S=Y(7,25,S+(D&I|~D&M)+g+1804603682)+D,M=Y(12,20,M+(S&D|~S&I)+m-40341101)+S,I=Y(17,15,I+(M&S|~M&D)+v-1502002290)+M,D=Y(22,10,D+(I&M|~I&S)+b+1236535329)+I,S=Y(5,27,S+(D&M|I&~M)+i-165796510)+D,M=Y(9,23,M+(S&I|D&~I)+c-1069501632)+S,I=Y(14,18,I+(M&D|S&~D)+h+643717713)+M,D=Y(20,12,D+(I&S|M&~S)+n-373897302)+I,S=Y(5,27,S+(D&M|I&~M)+u-701558691)+D,M=Y(9,23,M+(S&I|D&~I)+d+38016083)+S,I=Y(14,18,I+(M&D|S&~D)+b-660478335)+M,D=Y(20,12,D+(I&S|M&~S)+s-405537848)+I,S=Y(5,27,S+(D&M|I&~M)+p+568446438)+D,M=Y(9,23,M+(S&I|D&~I)+v-1019803690)+S,I=Y(14,18,I+(M&D|S&~D)+o-187363961)+M,D=Y(20,12,D+(I&S|M&~S)+f+1163531501)+I,S=Y(5,27,S+(D&M|I&~M)+m-1444681467)+D,M=Y(9,23,M+(S&I|D&~I)+a-51403784)+S,I=Y(14,18,I+(M&D|S&~D)+l+1735328473)+M,D=Y(20,12,D+(I&S|M&~S)+g-1926607734)+I,S=Y(4,28,S+(D^I^M)+u-378558)+D,M=Y(11,21,M+(S^D^I)+f-2022574463)+S,I=Y(16,16,I+(M^S^D)+h+1839030562)+M,D=Y(23,9,D+(I^M^S)+v-35309556)+I,S=Y(4,28,S+(D^I^M)+i-1530992060)+D,M=Y(11,21,M+(S^D^I)+s+1272893353)+S,I=Y(16,16,I+(M^S^D)+l-155497632)+M,D=Y(23,9,D+(I^M^S)+d-1094730640)+I,S=Y(4,28,S+(D^I^M)+m+681279174)+D,M=Y(11,21,M+(S^D^I)+n-358537222)+S,I=Y(16,16,I+(M^S^D)+o-722521979)+M,D=Y(23,9,D+(I^M^S)+c+76029189)+I,S=Y(4,28,S+(D^I^M)+p-640364487)+D,M=Y(11,21,M+(S^D^I)+g-421815835)+S,I=Y(16,16,I+(M^S^D)+b+530742520)+M,D=Y(23,9,D+(I^M^S)+a-995338651)+I,S=Y(6,26,S+(I^(D|~M))+n-198630844)+D,M=Y(10,22,M+(D^(S|~I))+l+1126891415)+S,I=Y(15,17,I+(S^(M|~D))+v-1416354905)+M,D=Y(21,11,D+(M^(I|~S))+u-57434055)+I,S=Y(6,26,S+(I^(D|~M))+g+1700485571)+D,M=Y(10,22,M+(D^(S|~I))+o-1894986606)+S,I=Y(15,17,I+(S^(M|~D))+d-1051523)+M,D=Y(21,11,D+(M^(I|~S))+i-2054922799)+I,S=Y(6,26,S+(I^(D|~M))+f+1873313359)+D,M=Y(10,22,M+(D^(S|~I))+b-30611744)+S,I=Y(15,17,I+(S^(M|~D))+c-1560198380)+M,D=Y(21,11,D+(M^(I|~S))+m+1309151649)+I,S=Y(6,26,S+(I^(D|~M))+s-145523070)+D,M=Y(10,22,M+(D^(S|~I))+h-1120210379)+S,I=Y(15,17,I+(S^(M|~D))+a+718787259)+M,D=Y(21,11,D+(M^(I|~S))+p-343485551)+I,S=S+_>>>0,D=D+A>>>0,I=I+w>>>0,M=M+C>>>0;return Eu.endian([S,D,I,M]);function Y(le,ue,ce){return ce<<le|ce>>>ue}};return function(t,r){var n=Eu.wordsToBytes(e(t,r)),i=r&&r.asBytes?n:Eu.bytesconvertNumberToHex(n);return i}}function qqe(e){var t,r,n,i=-1;for(t=e.length-1,r=new ArrayBuffer(e.length),n=new Uint8Array(r);t>i++;)n[i]=e.charCodeAt(i);return n}function Nqe(e){return Buffer.from(e,"base64").toString("binary")}function Kre(e){return e}function Uqe(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(t,r){return t<<r|t>>>32-r},endian:function(t){if(t.constructor==Number)return Eu.rotl(t,8)&16711935|Eu.rotl(t,24)&4278255360;for(var r=0;r<t.length;r++)t[r]=Eu.endian(t[r]);return t},bytesToWords:function(t){for(var r=[],n=0,i=0;n<t.length;n++,i+=8)r[i>>>5]|=t[n]<<24-i%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 Au=class extends jc{name="md5";options;constructor(t={}){super(),this.options=t}async hash(t,r){let i=await new Promise((a,o)=>rO(t).then(a).catch(o));return zre(i,r)}};var Ov=kt(require("crypto"),1),yE=class extends jc{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 i,a,o,s;let n=(o=(a=(i=this.options)==null?void 0:i.crypto)==null?void 0:a.algorithm)==null?void 0:o.toLowerCase();try{if(!Ov.createHash)throw new Error("crypto.createHash not available");let u=(s=Ov.createHash)==null?void 0:s(n),c=new Uint8Array(t);return u.update(c).digest("base64")}catch(u){throw Error(`${n} hash not available. ${u}`)}}async*hashBatches(t,r="base64"){var a,o,s,u,c,l,f;if(!Ov.createHash)throw new Error("crypto.createHash not available");let n=(u=Ov.createHash)==null?void 0:u((s=(o=(a=this.options)==null?void 0:a.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 i=n.digest(r);(f=(l=(c=this.options)==null?void 0:c.crypto)==null?void 0:l.onEnd)==null||f.call(l,{hash:i})}};var Sie=require("process");var Xre=kt(require("stream"),1),nO=class{},Gqe=Xre.Readable||nO;function aO(e,t){let r=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new iO(r,t)}var iO=class extends Gqe{_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,i,a,o;this._iterator&&(t?await((i=(n=this._iterator)==null?void 0:n.throw)==null?void 0:i.call(n,t)):await((o=(a=this._iterator)==null?void 0:a.return)==null?void 0:o.call(a,t)),r==null||r(null))}async _pull(t,r){var a;let n=this._bytesMode,i=null;for(;this.readable&&!(i=await r.next()).done&&(t!==null&&(t-=n&&ArrayBuffer.isView(i.value)?i.value.byteLength:1),!(!this.push(new Uint8Array(i.value))||t<=0)););return(i!=null&&i.done||!this.readable)&&(this.push(null)||!0)&&((a=r==null?void 0:r.return)==null||a.call(r)),!this.readable}};function Lv(){}function kn(e){return typeof e=="object"&&e!==null||typeof e=="function"}var mne=Lv;function tr(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}var TO=Promise,zqe=Promise.resolve.bind(TO),Hqe=Promise.prototype.then,Vqe=Promise.reject.bind(TO),$qe=zqe;function Nn(e){return new TO(e)}function rr(e){return Nn(t=>t(e))}function at(e){return Vqe(e)}function Du(e,t,r){return Hqe.call(e,t,r)}function Sa(e,t,r){Du(Du(e,t,r),void 0,mne)}function oO(e,t){Sa(e,t)}function mO(e,t){Sa(e,void 0,t)}function zc(e,t,r){return Du(e,t,r)}function Z0(e){Du(e,void 0,mne)}var md=e=>{if(typeof queueMicrotask=="function")md=queueMicrotask;else{let t=rr(void 0);md=r=>Du(t,r)}return md(e)};function gd(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Vc(e,t,r){try{return rr(gd(e,t,r))}catch(n){return at(n)}}var Ca=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,i=n+1,a=t._elements,o=a[n];return i===16384&&(r=t._next,i=0),--this._size,this._cursor=i,t!==r&&(this._front=r),a[n]=void 0,o}forEach(t){let r=this._cursor,n=this._front,i=n._elements;for(;!(r===i.length&&n._next===void 0||r===i.length&&(n=n._next,i=n._elements,r=0,i.length===0));)t(i[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},gne=Symbol("[[AbortSteps]]"),xne=Symbol("[[ErrorSteps]]"),SO=Symbol("[[CancelSteps]]"),CO=Symbol("[[PullSteps]]"),DO=Symbol("[[ReleaseSteps]]");function vne(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?gO(e):t._state==="closed"?function(r){gO(r),bne(r)}(e):yne(e,t._storedError)}function FO(e,t){return bs(e._ownerReadableStream,t)}function Gc(e){let t=e._ownerReadableStream;t._state==="readable"?kO(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){yne(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[DO](),t._reader=void 0,e._ownerReadableStream=void 0}function PE(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function gO(e){e._closedPromise=Nn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function yne(e,t){gO(e),kO(e,t)}function kO(e,t){e._closedPromise_reject!==void 0&&(Z0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function bne(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var Jre=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},Wqe=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function Fu(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function So(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function _ne(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function Hc(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function xO(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function BO(e){return Number(e)}function Yre(e){return e===0?0:e}function OO(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=Yre(n),!Jre(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return Yre(Wqe(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return Jre(n)&&n!==0?n:0}function IO(e,t){if(!df(e))throw new TypeError(`${t} is not a ReadableStream.`)}function K0(e){return new Lc(e)}function wne(e,t){e._reader._readRequests.push(t)}function PO(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function GE(e){return e._reader._readRequests.length}function Ene(e){let t=e._reader;return t!==void 0&&!!hf(t)}var Lc=class{constructor(t){if(Hc(t,1,"ReadableStreamDefaultReader"),IO(t,"First parameter"),gf(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");vne(this,t),this._readRequests=new Ca}get closed(){return hf(this)?this._closedPromise:at(bE("closed"))}cancel(t=void 0){return hf(this)?this._ownerReadableStream===void 0?at(PE("cancel")):FO(this,t):at(bE("cancel"))}read(){if(!hf(this))return at(bE("read"));if(this._ownerReadableStream===void 0)return at(PE("read from"));let t,r,n=Nn((i,a)=>{t=i,r=a});return qv(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!hf(this))throw bE("releaseLock");this._ownerReadableStream!==void 0&&function(t){Gc(t);let r=new TypeError("Reader was released");Ane(t,r)}(this)}};function hf(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof Lc}function qv(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[CO](t)}function Ane(e,t){let r=e._readRequests;e._readRequests=new Ca,r.forEach(n=>{n._errorSteps(t)})}function bE(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var sO,uO,cO;function Pv(e){return e.slice()}function Tne(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}Object.defineProperties(Lc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(Lc.prototype.cancel,"cancel"),tr(Lc.prototype.read,"read"),tr(Lc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Lc.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});var xd=e=>(xd=typeof e.transfer=="function"?t=>t.transfer():typeof structuredClone=="function"?t=>structuredClone(t,{transfer:[t]}):t=>t,xd(e)),vd=e=>(vd=typeof e.detached=="boolean"?t=>t.detached:t=>t.byteLength===0,vd(e));function Sne(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,i=new ArrayBuffer(n);return Tne(i,0,e,t,n),i}function Rv(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 Qre(e){try{let t=e.done,r=e.value;return Du($qe(r),n=>({done:t,value:n}))}catch(t){return at(t)}}var Wv=(cO=(sO=Symbol.asyncIterator)!==null&&sO!==void 0?sO:(uO=Symbol.for)===null||uO===void 0?void 0:uO.call(Symbol,"Symbol.asyncIterator"))!==null&&cO!==void 0?cO:"@@asyncIterator";function Cne(e,t="sync",r){if(r===void 0)if(t==="async"){if((r=Rv(e,Wv))===void 0)return function(i){let a={next(){let o;try{o=Dne(i)}catch(s){return at(s)}return Qre(o)},return(o){let s;try{let u=Rv(i.iterator,"return");if(u===void 0)return rr({done:!0,value:o});s=gd(u,i.iterator,[o])}catch(u){return at(u)}return kn(s)?Qre(s):at(new TypeError("The iterator.return() method must return an object"))}};return{iterator:a,nextMethod:a.next,done:!1}}(Cne(e,"sync",Rv(e,Symbol.iterator)))}else r=Rv(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=gd(r,e,[]);if(!kn(n))throw new TypeError("The iterator method must return an object");return{iterator:n,nextMethod:n.next,done:!1}}function Dne(e){let t=gd(e.nextMethod,e.iterator,[]);if(!kn(t))throw new TypeError("The iterator.next() method must return an object");return t}var RE=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?zc(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?zc(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,i=Nn((a,o)=>{r=a,n=o});return qv(t,{_chunkSteps:a=>{this._ongoingPromise=void 0,md(()=>r({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Gc(t),r({value:void 0,done:!0})},_errorSteps:a=>{this._ongoingPromise=void 0,this._isFinished=!0,Gc(t),n(a)}}),i}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=FO(r,t);return Gc(r),zc(n,()=>({value:t,done:!0}))}return Gc(r),rr({value:t,done:!0})}},Fne={next(){return Zre(this)?this._asyncIteratorImpl.next():at(ene("next"))},return(e){return Zre(this)?this._asyncIteratorImpl.return(e):at(ene("return"))},[Wv](){return this}};function Zre(e){if(!kn(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof RE}catch{return!1}}function ene(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}Object.defineProperty(Fne,Wv,{enumerable:!1});var kne=Number.isNaN||function(e){return e!=e};function tne(e){let t=Sne(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function vO(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function RO(e,t,r){if(typeof(n=r)!="number"||kne(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 xf(e){e._queue=new Ca,e._queueTotalSize=0}function Bne(e){return e===DataView}var mf=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!lO(this))throw fO("view");return this._view}respond(t){if(!lO(this))throw fO("respond");if(Hc(t,1,"respond"),t=OO(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(vd(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");kE(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!lO(this))throw fO("respondWithNewView");if(Hc(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(vd(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");BE(this._associatedReadableByteStreamController,t)}};Object.defineProperties(mf.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),tr(mf.prototype.respond,"respond"),tr(mf.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mf.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var Su=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!dd(this))throw Iv("byobRequest");return _O(this)}get desiredSize(){if(!dd(this))throw Iv("desiredSize");return Une(this)}close(){if(!dd(this))throw Iv("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`);Mv(this)}enqueue(t){if(!dd(this))throw Iv("enqueue");if(Hc(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`);FE(this,t)}error(t=void 0){if(!dd(this))throw Iv("error");To(this,t)}[SO](t){One(this),xf(this);let r=this._cancelAlgorithm(t);return zE(this),r}[CO](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void Nne(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let i;try{i=new ArrayBuffer(n)}catch(o){return void t._errorSteps(o)}let a={buffer:i,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}wne(r,t),_d(this)}[DO](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new Ca,this._pendingPullIntos.push(t)}}};function dd(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof Su}function lO(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof mf}function _d(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(Ene(n)&&GE(n)>0||jO(n)&&Hne(n)>0||Une(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Sa(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,_d(e)),null),r=>(To(e,r),null))}}function One(e){MO(e),e._pendingPullIntos=new Ca}function yO(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Ine(t);t.readerType==="default"?PO(e,n,r):function(i,a,o){let s=i._reader,u=s._readIntoRequests.shift();o?u._closeSteps(a):u._chunkSteps(a)}(e,n,r)}function Ine(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function DE(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Pne(e,t,r,n){let i;try{i=Sne(t,r,r+n)}catch(a){throw To(e,a),a}DE(e,i,0,n)}function Rne(e,t){t.bytesFilled>0&&Pne(e,t.buffer,t.byteOffset,t.bytesFilled),X0(e)}function Mne(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,i=r,a=!1,o=n-n%t.elementSize;o>=t.minimumFill&&(i=o-t.bytesFilled,a=!0);let s=e._queue;for(;i>0;){let u=s.peek(),c=Math.min(i,u.byteLength),l=t.byteOffset+t.bytesFilled;Tne(t.buffer,l,u.buffer,u.byteOffset,c),u.byteLength===c?s.shift():(u.byteOffset+=c,u.byteLength-=c),e._queueTotalSize-=c,jne(e,c,t),i-=c}return a}function jne(e,t,r){r.bytesFilled+=t}function Lne(e){e._queueTotalSize===0&&e._closeRequested?(zE(e),Kv(e._controlledReadableByteStream)):_d(e)}function MO(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function bO(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();Mne(e,t)&&(X0(e),yO(e._controlledReadableByteStream,t))}}function Kqe(e,t,r,n){let i=e._controlledReadableByteStream,a=t.constructor,o=function(p){return Bne(p)?1:p.BYTES_PER_ELEMENT}(a),{byteOffset:s,byteLength:u}=t,c=r*o,l;try{l=xd(t.buffer)}catch(p){return void n._errorSteps(p)}let f={buffer:l,bufferByteLength:l.byteLength,byteOffset:s,byteLength:u,bytesFilled:0,minimumFill:c,elementSize:o,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(f),void rne(i,n);if(i._state!=="closed"){if(e._queueTotalSize>0){if(Mne(e,f)){let p=Ine(f);return Lne(e),void n._chunkSteps(p)}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");return To(e,p),void n._errorSteps(p)}}e._pendingPullIntos.push(f),rne(i,n),_d(e)}else{let p=new a(f.buffer,f.byteOffset,0);n._closeSteps(p)}}function qne(e,t){let r=e._pendingPullIntos.peek();MO(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&X0(n);let a=n._controlledReadableByteStream;if(jO(a))for(;Hne(a)>0;)yO(a,X0(n))}(e,r):function(n,i,a){if(jne(0,i,a),a.readerType==="none")return Rne(n,a),void bO(n);if(a.bytesFilled<a.minimumFill)return;X0(n);let o=a.bytesFilled%a.elementSize;if(o>0){let s=a.byteOffset+a.bytesFilled;Pne(n,a.buffer,s-o,o)}a.bytesFilled-=o,yO(n._controlledReadableByteStream,a),bO(n)}(e,t,r),_d(e)}function X0(e){return e._pendingPullIntos.shift()}function zE(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Mv(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 To(e,n),n}}zE(e),Kv(t)}}function FE(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:i,byteLength:a}=t;if(vd(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let o=xd(n);if(e._pendingPullIntos.length>0){let s=e._pendingPullIntos.peek();if(vd(s.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");MO(e),s.buffer=xd(s.buffer),s.readerType==="none"&&Rne(e,s)}Ene(r)?(function(s){let u=s._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(s._queueTotalSize===0)return;Nne(s,u._readRequests.shift())}}(e),GE(r)===0?DE(e,o,i,a):(e._pendingPullIntos.length>0&&X0(e),PO(r,new Uint8Array(o,i,a),!1))):jO(r)?(DE(e,o,i,a),bO(e)):DE(e,o,i,a),_d(e)}function To(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(One(e),xf(e),zE(e),lie(r,t))}function Nne(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Lne(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function _O(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(mf.prototype);(function(i,a,o){i._associatedReadableByteStreamController=a,i._view=o})(n,e,r),e._byobRequest=n}return e._byobRequest}function Une(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function kE(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=xd(r.buffer),qne(e,t)}function BE(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=xd(t.buffer),qne(e,n)}function Gne(e,t,r,n,i,a,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,xf(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,t._autoAllocateChunkSize=o,t._pendingPullIntos=new Ca,e._readableStreamController=t,Sa(rr(r()),()=>(t._started=!0,_d(t),null),s=>(To(t,s),null))}function fO(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Iv(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function Xqe(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function zne(e){return new qc(e)}function rne(e,t){e._reader._readIntoRequests.push(t)}function Hne(e){return e._reader._readIntoRequests.length}function jO(e){let t=e._reader;return t!==void 0&&!!hd(t)}Object.defineProperties(Su.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Su.prototype.close,"close"),tr(Su.prototype.enqueue,"enqueue"),tr(Su.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Su.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});var qc=class{constructor(t){if(Hc(t,1,"ReadableStreamBYOBReader"),IO(t,"First parameter"),gf(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!dd(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");vne(this,t),this._readIntoRequests=new Ca}get closed(){return hd(this)?this._closedPromise:at(_E("closed"))}cancel(t=void 0){return hd(this)?this._ownerReadableStream===void 0?at(PE("cancel")):FO(this,t):at(_E("cancel"))}read(t,r={}){if(!hd(this))return at(_E("read"));if(!ArrayBuffer.isView(t))return at(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return at(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return at(new TypeError("view's buffer must have non-zero byteLength"));if(vd(t.buffer))return at(new TypeError("view's buffer has been detached"));let n;try{n=function(u,c){var l;return Fu(u,c),{min:OO((l=u==null?void 0:u.min)!==null&&l!==void 0?l:1,`${c} has member 'min' that`)}}(r,"options")}catch(u){return at(u)}let i=n.min;if(i===0)return at(new TypeError("options.min must be greater than 0"));if(function(u){return Bne(u.constructor)}(t)){if(i>t.byteLength)return at(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(i>t.length)return at(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return at(PE("read from"));let a,o,s=Nn((u,c)=>{a=u,o=c});return Vne(this,t,i,{_chunkSteps:u=>a({value:u,done:!1}),_closeSteps:u=>a({value:u,done:!0}),_errorSteps:u=>o(u)}),s}releaseLock(){if(!hd(this))throw _E("releaseLock");this._ownerReadableStream!==void 0&&function(t){Gc(t);let r=new TypeError("Reader was released");$ne(t,r)}(this)}};function hd(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof qc}function Vne(e,t,r,n){let i=e._ownerReadableStream;i._disturbed=!0,i._state==="errored"?n._errorSteps(i._storedError):Kqe(i._readableStreamController,t,r,n)}function $ne(e,t){let r=e._readIntoRequests;e._readIntoRequests=new Ca,r.forEach(n=>{n._errorSteps(t)})}function _E(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Nv(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(kne(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function ME(e){let{size:t}=e;return t||(()=>1)}function jE(e,t){Fu(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:BO(r),size:n===void 0?void 0:Jqe(n,`${t} has member 'size' that`)}}function Jqe(e,t){return So(e,t),r=>BO(e(r))}function Yqe(e,t,r){return So(e,r),n=>Vc(e,t,[n])}function Qqe(e,t,r){return So(e,r),()=>Vc(e,t,[])}function Zqe(e,t,r){return So(e,r),n=>gd(e,t,[n])}function eNe(e,t,r){return So(e,r),(n,i)=>Vc(e,t,[n,i])}function Wne(e,t){if(!W0(e))throw new TypeError(`${t} is not a WritableStream.`)}Object.defineProperties(qc.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),tr(qc.prototype.cancel,"cancel"),tr(qc.prototype.read,"read"),tr(qc.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(qc.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});var tNe=typeof AbortController=="function",Nc=class{constructor(t={},r={}){t===void 0?t=null:_ne(t,"First parameter");let n=jE(r,"Second parameter"),i=function(o,s){Fu(o,s);let u=o==null?void 0:o.abort,c=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:u===void 0?void 0:Yqe(u,o,`${s} has member 'abort' that`),close:c===void 0?void 0:Qqe(c,o,`${s} has member 'close' that`),start:l===void 0?void 0:Zqe(l,o,`${s} has member 'start' that`),write:p===void 0?void 0:eNe(p,o,`${s} has member 'write' that`),type:f}}(t,"First parameter");if(Xne(this),i.type!==void 0)throw new RangeError("Invalid type is specified");let a=ME(n);(function(o,s,u,c){let l=Object.create(yd.prototype),f,p,d,h;f=s.start!==void 0?()=>s.start(l):()=>{},p=s.write!==void 0?g=>s.write(g,l):()=>rr(void 0),d=s.close!==void 0?()=>s.close():()=>rr(void 0),h=s.abort!==void 0?g=>s.abort(g):()=>rr(void 0),rie(o,l,f,p,d,h,u,c)})(this,i,Nv(n,1),a)}get locked(){if(!W0(this))throw EE("locked");return J0(this)}abort(t=void 0){return W0(this)?J0(this)?at(new TypeError("Cannot abort a stream that already has a writer")):LE(this,t):at(EE("abort"))}close(){return W0(this)?J0(this)?at(new TypeError("Cannot close a stream that already has a writer")):ku(this)?at(new TypeError("Cannot close an already-closing stream")):Jne(this):at(EE("close"))}getWriter(){if(!W0(this))throw EE("getWriter");return Kne(this)}};function Kne(e){return new Tu(e)}function Xne(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new Ca,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function W0(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof Nc}function J0(e){return e._writer!==void 0}function LE(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 i=!1;n==="erroring"&&(i=!0,t=void 0);let a=Nn((o,s)=>{e._pendingAbortRequest={_promise:void 0,_resolve:o,_reject:s,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=a,i||LO(e,t),a}function Jne(e){let t=e._state;if(t==="closed"||t==="errored")return at(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=Nn((a,o)=>{let s={_resolve:a,_reject:o};e._closeRequest=s}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&zO(n),RO(i=e._writableStreamController,tie,0),HE(i),r}function wO(e,t){e._state!=="writable"?qO(e):LO(e,t)}function LO(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&Qne(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&qO(e)}function qO(e){e._state="errored",e._writableStreamController[xne]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new Ca,e._pendingAbortRequest===void 0)return void wE(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void wE(e);Sa(e._writableStreamController[gne](r._reason),()=>(r._resolve(),wE(e),null),n=>(r._reject(n),wE(e),null))}function ku(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function wE(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&GO(t,e._storedError)}function NO(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){VE(n)}(r):zO(r)),e._backpressure=t}Object.defineProperties(Nc.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),tr(Nc.prototype.abort,"abort"),tr(Nc.prototype.close,"close"),tr(Nc.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Nc.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});var Tu=class{constructor(t){if(Hc(t,1,"WritableStreamDefaultWriter"),Wne(t,"First parameter"),J0(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")!ku(t)&&t._backpressure?VE(this):nne(this),OE(this);else if(r==="erroring")EO(this,t._storedError),OE(this);else if(r==="closed")nne(this),OE(n=this),oie(n);else{let i=t._storedError;EO(this,i),aie(this,i)}var n}get closed(){return ld(this)?this._closedPromise:at(fd("closed"))}get desiredSize(){if(!ld(this))throw fd("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:nie(r._writableStreamController)}(this)}get ready(){return ld(this)?this._readyPromise:at(fd("ready"))}abort(t=void 0){return ld(this)?this._ownerWritableStream===void 0?at(jv("abort")):function(r,n){return LE(r._ownerWritableStream,n)}(this,t):at(fd("abort"))}close(){if(!ld(this))return at(fd("close"));let t=this._ownerWritableStream;return t===void 0?at(jv("close")):ku(t)?at(new TypeError("Cannot close an already-closing stream")):Yne(this)}releaseLock(){if(!ld(this))throw fd("releaseLock");this._ownerWritableStream!==void 0&&Zne(this)}write(t=void 0){return ld(this)?this._ownerWritableStream===void 0?at(jv("write to")):eie(this,t):at(fd("write"))}};function ld(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof Tu}function Yne(e){return Jne(e._ownerWritableStream)}function rNe(e,t){e._closedPromiseState==="pending"?GO(e,t):function(r,n){aie(r,n)}(e,t)}function Qne(e,t){e._readyPromiseState==="pending"?sie(e,t):function(r,n){EO(r,n)}(e,t)}function Zne(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Qne(e,r),rNe(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function eie(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,i=function(s,u){try{return s._strategySizeAlgorithm(u)}catch(c){return Uv(s,c),1}}(n,t);if(r!==e._ownerWritableStream)return at(jv("write to"));let a=r._state;if(a==="errored")return at(r._storedError);if(ku(r)||a==="closed")return at(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return at(r._storedError);let o=function(s){return Nn((u,c)=>{let l={_resolve:u,_reject:c};s._writeRequests.push(l)})}(r);return function(s,u,c){try{RO(s,u,c)}catch(f){return void Uv(s,f)}let l=s._controlledWritableStream;!ku(l)&&l._state==="writable"&&NO(l,UO(s)),HE(s)}(n,t,i),o}Object.defineProperties(Tu.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),tr(Tu.prototype.abort,"abort"),tr(Tu.prototype.close,"close"),tr(Tu.prototype.releaseLock,"releaseLock"),tr(Tu.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Tu.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});var tie={},yd=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!pO(this))throw dO("abortReason");return this._abortReason}get signal(){if(!pO(this))throw dO("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!pO(this))throw dO("error");this._controlledWritableStream._state==="writable"&&iie(this,t)}[gne](t){let r=this._abortAlgorithm(t);return qE(this),r}[xne](){xf(this)}};function pO(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof yd}function rie(e,t,r,n,i,a,o,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,xf(t),t._abortReason=void 0,t._abortController=function(){if(tNe)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=o,t._writeAlgorithm=n,t._closeAlgorithm=i,t._abortAlgorithm=a;let u=UO(t);NO(e,u),Sa(rr(r()),()=>(t._started=!0,HE(t),null),c=>(t._started=!0,wO(e,c),null))}function qE(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function nie(e){return e._strategyHWM-e._queueTotalSize}function HE(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void qO(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===tie?function(n){let i=n._controlledWritableStream;(function(o){o._inFlightCloseRequest=o._closeRequest,o._closeRequest=void 0})(i),vO(n);let a=n._closeAlgorithm();qE(n),Sa(a,()=>(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&&oie(s)}(i),null),o=>(function(s,u){s._inFlightCloseRequest._reject(u),s._inFlightCloseRequest=void 0,s._pendingAbortRequest!==void 0&&(s._pendingAbortRequest._reject(u),s._pendingAbortRequest=void 0),wO(s,u)}(i,o),null))}(e):function(n,i){let a=n._controlledWritableStream;(function(s){s._inFlightWriteRequest=s._writeRequests.shift()})(a);let o=n._writeAlgorithm(i);Sa(o,()=>{(function(u){u._inFlightWriteRequest._resolve(void 0),u._inFlightWriteRequest=void 0})(a);let s=a._state;if(vO(n),!ku(a)&&s==="writable"){let u=UO(n);NO(a,u)}return HE(n),null},s=>(a._state==="writable"&&qE(n),function(u,c){u._inFlightWriteRequest._reject(c),u._inFlightWriteRequest=void 0,wO(u,c)}(a,s),null))}(e,r)}function Uv(e,t){e._controlledWritableStream._state==="writable"&&iie(e,t)}function UO(e){return nie(e)<=0}function iie(e,t){let r=e._controlledWritableStream;qE(e),LO(r,t)}function EE(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function dO(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function fd(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 OE(e){e._closedPromise=Nn((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function aie(e,t){OE(e),GO(e,t)}function GO(e,t){e._closedPromise_reject!==void 0&&(Z0(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function oie(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 VE(e){e._readyPromise=Nn((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function EO(e,t){VE(e),sie(e,t)}function nne(e){VE(e),zO(e)}function sie(e,t){e._readyPromise_reject!==void 0&&(Z0(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function zO(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(yd.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(yd.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});var ine=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:void 0,nNe=function(){let e=ine==null?void 0:ine.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 ane(e,t,r,n,i,a){let o=K0(e),s=Kne(t);e._disturbed=!0;let u=!1,c=rr(void 0);return Nn((l,f)=>{let p;if(a!==void 0){if(p=()=>{let w=a.reason!==void 0?a.reason:new nNe("Aborted","AbortError"),C=[];n||C.push(()=>t._state==="writable"?LE(t,w):rr(void 0)),i||C.push(()=>e._state==="readable"?bs(e,w):rr(void 0)),b(()=>Promise.all(C.map(k=>k())),!0,w)},a.aborted)return void p();a.addEventListener("abort",p)}var d,h,g;if(v(e,o._closedPromise,w=>(n?_(!0,w):b(()=>LE(t,w),!0,w),null)),v(t,s._closedPromise,w=>(i?_(!0,w):b(()=>bs(e,w),!0,w),null)),d=e,h=o._closedPromise,g=()=>(r?_():b(()=>function(w){let C=w._ownerWritableStream,k=C._state;return ku(C)||k==="closed"?rr(void 0):k==="errored"?at(C._storedError):Yne(w)}(s)),null),d._state==="closed"?g():oO(h,g),ku(t)||t._state==="closed"){let w=new TypeError("the destination writable stream closed before all data could be piped to it");i?_(!0,w):b(()=>bs(e,w),!0,w)}function m(){let w=c;return Du(c,()=>w!==c?m():void 0)}function v(w,C,k){w._state==="errored"?k(w._storedError):mO(C,k)}function b(w,C,k){function R(){return Sa(w(),()=>A(C,k),S=>A(!0,S)),null}u||(u=!0,t._state!=="writable"||ku(t)?R():oO(m(),R))}function _(w,C){u||(u=!0,t._state!=="writable"||ku(t)?A(w,C):oO(m(),()=>A(w,C)))}function A(w,C){return Zne(s),Gc(o),a!==void 0&&a.removeEventListener("abort",p),w?f(C):l(void 0),null}Z0(Nn((w,C)=>{(function k(R){R?w():Du(u?rr(!0):Du(s._readyPromise,()=>Nn((S,D)=>{qv(o,{_chunkSteps:I=>{c=Du(eie(s,I),void 0,Lv),S(!1)},_closeSteps:()=>S(!0),_errorSteps:D})})),k,C)})(!1)}))})}var Cu=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!AE(this))throw TE("desiredSize");return HO(this)}close(){if(!AE(this))throw TE("close");if(!Q0(this))throw new TypeError("The stream is not in a state that permits close");bd(this)}enqueue(t=void 0){if(!AE(this))throw TE("enqueue");if(!Q0(this))throw new TypeError("The stream is not in a state that permits enqueue");return Y0(this,t)}error(t=void 0){if(!AE(this))throw TE("error");_s(this,t)}[SO](t){xf(this);let r=this._cancelAlgorithm(t);return NE(this),r}[CO](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=vO(this);this._closeRequested&&this._queue.length===0?(NE(this),Kv(r)):Gv(this),t._chunkSteps(n)}else wne(r,t),Gv(this)}[DO](){}};function AE(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof Cu}function Gv(e){if(uie(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,Sa(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Gv(e)),null),t=>(_s(e,t),null))}}function uie(e){let t=e._controlledReadableStream;return!Q0(e)||!e._started?!1:gf(t)&&GE(t)>0?!0:HO(e)>0}function NE(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function bd(e){if(!Q0(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(NE(e),Kv(t))}function Y0(e,t){if(!Q0(e))return;let r=e._controlledReadableStream;if(gf(r)&&GE(r)>0)PO(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(i){throw _s(e,i),i}try{RO(e,t,n)}catch(i){throw _s(e,i),i}}Gv(e)}function _s(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(xf(e),NE(e),lie(r,t))}function HO(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Q0(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function cie(e,t,r,n,i,a,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,xf(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=i,e._readableStreamController=t,Sa(rr(r()),()=>(t._started=!0,Gv(t),null),s=>(_s(t,s),null))}function TE(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function iNe(e,t){return dd(e._readableStreamController)?function(r){let n,i,a,o,s,u=K0(r),c=!1,l=!1,f=!1,p=!1,d=!1,h=Nn(k=>{s=k});function g(k){mO(k._closedPromise,R=>(k!==u||(To(a._readableStreamController,R),To(o._readableStreamController,R),p&&d||s(void 0)),null))}function m(){hd(u)&&(Gc(u),u=K0(r),g(u)),qv(u,{_chunkSteps:k=>{md(()=>{l=!1,f=!1;let R=k,S=k;if(!p&&!d)try{S=tne(k)}catch(D){return To(a._readableStreamController,D),To(o._readableStreamController,D),void s(bs(r,D))}p||FE(a._readableStreamController,R),d||FE(o._readableStreamController,S),c=!1,l?b():f&&_()})},_closeSteps:()=>{c=!1,p||Mv(a._readableStreamController),d||Mv(o._readableStreamController),a._readableStreamController._pendingPullIntos.length>0&&kE(a._readableStreamController,0),o._readableStreamController._pendingPullIntos.length>0&&kE(o._readableStreamController,0),p&&d||s(void 0)},_errorSteps:()=>{c=!1}})}function v(k,R){hf(u)&&(Gc(u),u=zne(r),g(u));let S=R?o:a,D=R?a:o;Vne(u,k,1,{_chunkSteps:I=>{md(()=>{l=!1,f=!1;let M=R?d:p;if(R?p:d)M||BE(S._readableStreamController,I);else{let G;try{G=tne(I)}catch(z){return To(S._readableStreamController,z),To(D._readableStreamController,z),void s(bs(r,z))}M||BE(S._readableStreamController,I),FE(D._readableStreamController,G)}c=!1,l?b():f&&_()})},_closeSteps:I=>{c=!1;let M=R?d:p,G=R?p:d;M||Mv(S._readableStreamController),G||Mv(D._readableStreamController),I!==void 0&&(M||BE(S._readableStreamController,I),!G&&D._readableStreamController._pendingPullIntos.length>0&&kE(D._readableStreamController,0)),M&&G||s(void 0)},_errorSteps:()=>{c=!1}})}function b(){if(c)return l=!0,rr(void 0);c=!0;let k=_O(a._readableStreamController);return k===null?m():v(k._view,!1),rr(void 0)}function _(){if(c)return f=!0,rr(void 0);c=!0;let k=_O(o._readableStreamController);return k===null?m():v(k._view,!0),rr(void 0)}function A(k){if(p=!0,n=k,d){let R=Pv([n,i]),S=bs(r,R);s(S)}return h}function w(k){if(d=!0,i=k,p){let R=Pv([n,i]),S=bs(r,R);s(S)}return h}function C(){}return a=sne(C,b,A),o=sne(C,_,w),g(u),[a,o]}(e):function(r,n){let i=K0(r),a,o,s,u,c,l=!1,f=!1,p=!1,d=!1,h=Nn(_=>{c=_});function g(){return l?(f=!0,rr(void 0)):(l=!0,qv(i,{_chunkSteps:_=>{md(()=>{f=!1;let A=_,w=_;p||Y0(s._readableStreamController,A),d||Y0(u._readableStreamController,w),l=!1,f&&g()})},_closeSteps:()=>{l=!1,p||bd(s._readableStreamController),d||bd(u._readableStreamController),p&&d||c(void 0)},_errorSteps:()=>{l=!1}}),rr(void 0))}function m(_){if(p=!0,a=_,d){let A=Pv([a,o]),w=bs(r,A);c(w)}return h}function v(_){if(d=!0,o=_,p){let A=Pv([a,o]),w=bs(r,A);c(w)}return h}function b(){}return s=zv(b,g,m),u=zv(b,g,v),mO(i._closedPromise,_=>(_s(s._readableStreamController,_),_s(u._readableStreamController,_),p&&d||c(void 0),null)),[s,u]}(e)}function aNe(e){return kn(t=e)&&t.getReader!==void 0?function(r){let n;function i(){let o;try{o=r.read()}catch(s){return at(s)}return zc(o,s=>{if(!kn(s))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)bd(n._readableStreamController);else{let u=s.value;Y0(n._readableStreamController,u)}})}function a(o){try{return rr(r.cancel(o))}catch(s){return at(s)}}return n=zv(Lv,i,a,0),n}(e.getReader()):function(r){let n,i=Cne(r,"async");function a(){let s;try{s=Dne(i)}catch(u){return at(u)}return zc(rr(s),u=>{if(!kn(u))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(u.done)bd(n._readableStreamController);else{let c=u.value;Y0(n._readableStreamController,c)}})}function o(s){let u=i.iterator,c;try{c=Rv(u,"return")}catch(l){return at(l)}return c===void 0?rr(void 0):zc(Vc(c,u,[s]),l=>{if(!kn(l))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n=zv(Lv,a,o,0),n}(e);var t}function oNe(e,t,r){return So(e,r),n=>Vc(e,t,[n])}function sNe(e,t,r){return So(e,r),n=>Vc(e,t,[n])}function uNe(e,t,r){return So(e,r),n=>gd(e,t,[n])}function cNe(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function one(e,t){Fu(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,i=e==null?void 0:e.preventClose,a=e==null?void 0:e.signal;return a!==void 0&&function(o,s){if(!function(u){if(typeof u!="object"||u===null)return!1;try{return typeof u.aborted=="boolean"}catch{return!1}}(o))throw new TypeError(`${s} is not an AbortSignal.`)}(a,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(i),signal:a}}Object.defineProperties(Cu.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Cu.prototype.close,"close"),tr(Cu.prototype.enqueue,"enqueue"),tr(Cu.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Cu.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});var ei=class{constructor(t={},r={}){t===void 0?t=null:_ne(t,"First parameter");let n=jE(r,"Second parameter"),i=function(a,o){Fu(a,o);let s=a,u=s==null?void 0:s.autoAllocateChunkSize,c=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:u===void 0?void 0:OO(u,`${o} has member 'autoAllocateChunkSize' that`),cancel:c===void 0?void 0:oNe(c,s,`${o} has member 'cancel' that`),pull:l===void 0?void 0:sNe(l,s,`${o} has member 'pull' that`),start:f===void 0?void 0:uNe(f,s,`${o} has member 'start' that`),type:p===void 0?void 0:cNe(p,`${o} has member 'type' that`)}}(t,"First parameter");if(VO(this),i.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");(function(a,o,s){let u=Object.create(Su.prototype),c,l,f;c=o.start!==void 0?()=>o.start(u):()=>{},l=o.pull!==void 0?()=>o.pull(u):()=>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");Gne(a,u,c,l,f,s,p)})(this,i,Nv(n,0))}else{let a=ME(n);(function(o,s,u,c){let l=Object.create(Cu.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),cie(o,l,f,p,d,u,c)})(this,i,Nv(n,1),a)}}get locked(){if(!df(this))throw pd("locked");return gf(this)}cancel(t=void 0){return df(this)?gf(this)?at(new TypeError("Cannot cancel a stream that already has a reader")):bs(this,t):at(pd("cancel"))}getReader(t=void 0){if(!df(this))throw pd("getReader");return function(r,n){Fu(r,n);let i=r==null?void 0:r.mode;return{mode:i===void 0?void 0:Xqe(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?K0(this):zne(this)}pipeThrough(t,r={}){if(!df(this))throw pd("pipeThrough");Hc(t,1,"pipeThrough");let n=function(a,o){Fu(a,o);let s=a==null?void 0:a.readable;xO(s,"readable","ReadableWritablePair"),IO(s,`${o} has member 'readable' that`);let u=a==null?void 0:a.writable;return xO(u,"writable","ReadableWritablePair"),Wne(u,`${o} has member 'writable' that`),{readable:s,writable:u}}(t,"First parameter"),i=one(r,"Second parameter");if(gf(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(J0(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return Z0(ane(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!df(this))return at(pd("pipeTo"));if(t===void 0)return at("Parameter 1 is required in 'pipeTo'.");if(!W0(t))return at(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=one(r,"Second parameter")}catch(i){return at(i)}return gf(this)?at(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):J0(t)?at(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):ane(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!df(this))throw pd("tee");return Pv(iNe(this))}values(t=void 0){if(!df(this))throw pd("values");return function(r,n){let i=K0(r),a=new RE(i,n),o=Object.create(Fne);return o._asyncIteratorImpl=a,o}(this,function(r,n){Fu(r,n);let i=r==null?void 0:r.preventCancel;return{preventCancel:Boolean(i)}}(t,"First parameter").preventCancel)}[Wv](t){return this.values(t)}static from(t){return aNe(t)}};function zv(e,t,r,n=1,i=()=>1){let a=Object.create(ei.prototype);return VO(a),cie(a,Object.create(Cu.prototype),e,t,r,n,i),a}function sne(e,t,r){let n=Object.create(ei.prototype);return VO(n),Gne(n,Object.create(Su.prototype),e,t,r,0,void 0),n}function VO(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function df(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof ei}function gf(e){return e._reader!==void 0}function bs(e,t){if(e._disturbed=!0,e._state==="closed")return rr(void 0);if(e._state==="errored")return at(e._storedError);Kv(e);let r=e._reader;if(r!==void 0&&hd(r)){let n=r._readIntoRequests;r._readIntoRequests=new Ca,n.forEach(i=>{i._closeSteps(void 0)})}return zc(e._readableStreamController[SO](t),Lv)}function Kv(e){e._state="closed";let t=e._reader;if(t!==void 0&&(bne(t),hf(t))){let r=t._readRequests;t._readRequests=new Ca,r.forEach(n=>{n._closeSteps()})}}function lie(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(kO(r,t),hf(r)?Ane(r,t):$ne(r,t))}function pd(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function fie(e,t){Fu(e,t);let r=e==null?void 0:e.highWaterMark;return xO(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:BO(r)}}Object.defineProperties(ei,{from:{enumerable:!0}}),Object.defineProperties(ei.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),tr(ei.from,"from"),tr(ei.prototype.cancel,"cancel"),tr(ei.prototype.getReader,"getReader"),tr(ei.prototype.pipeThrough,"pipeThrough"),tr(ei.prototype.pipeTo,"pipeTo"),tr(ei.prototype.tee,"tee"),tr(ei.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ei.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(ei.prototype,Wv,{value:ei.prototype.values,writable:!0,configurable:!0});var pie=e=>e.byteLength;tr(pie,"size");var Hv=class{constructor(t){Hc(t,1,"ByteLengthQueuingStrategy"),t=fie(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!cne(this))throw une("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!cne(this))throw une("size");return pie}};function une(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function cne(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof Hv}Object.defineProperties(Hv.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hv.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});var die=()=>1;tr(die,"size");var Vv=class{constructor(t){Hc(t,1,"CountQueuingStrategy"),t=fie(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!fne(this))throw lne("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!fne(this))throw lne("size");return die}};function lne(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function fne(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof Vv}function lNe(e,t,r){return So(e,r),n=>Vc(e,t,[n])}function fNe(e,t,r){return So(e,r),n=>gd(e,t,[n])}function pNe(e,t,r){return So(e,r),(n,i)=>Vc(e,t,[n,i])}function dNe(e,t,r){return So(e,r),n=>Vc(e,t,[n])}Object.defineProperties(Vv.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Vv.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});var $v=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=jE(r,"Second parameter"),a=jE(n,"Third parameter"),o=function(p,d){Fu(p,d);let h=p==null?void 0:p.cancel,g=p==null?void 0:p.flush,m=p==null?void 0:p.readableType,v=p==null?void 0:p.start,b=p==null?void 0:p.transform,_=p==null?void 0:p.writableType;return{cancel:h===void 0?void 0:dNe(h,p,`${d} has member 'cancel' that`),flush:g===void 0?void 0:lNe(g,p,`${d} has member 'flush' that`),readableType:m,start:v===void 0?void 0:fNe(v,p,`${d} has member 'start' that`),transform:b===void 0?void 0:pNe(b,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=Nv(a,0),u=ME(a),c=Nv(i,1),l=ME(i),f;(function(p,d,h,g,m,v){function b(){return d}function _(R){return function(S,D){let I=S._transformStreamController;return S._backpressure?zc(S._backpressureChangePromise,()=>{let M=S._writable;if(M._state==="erroring")throw M._storedError;return dne(I,D)}):dne(I,D)}(p,R)}function A(R){return function(S,D){let I=S._transformStreamController;if(I._finishPromise!==void 0)return I._finishPromise;let M=S._readable;I._finishPromise=Nn((z,X)=>{I._finishPromise_resolve=z,I._finishPromise_reject=X});let G=I._cancelAlgorithm(D);return IE(I),Sa(G,()=>(M._state==="errored"?$0(I,M._storedError):(_s(M._readableStreamController,D),hO(I)),null),z=>(_s(M._readableStreamController,z),$0(I,z),null)),I._finishPromise}(p,R)}function w(){return function(R){let S=R._transformStreamController;if(S._finishPromise!==void 0)return S._finishPromise;let D=R._readable;S._finishPromise=Nn((M,G)=>{S._finishPromise_resolve=M,S._finishPromise_reject=G});let I=S._flushAlgorithm();return IE(S),Sa(I,()=>(D._state==="errored"?$0(S,D._storedError):(bd(D._readableStreamController),hO(S)),null),M=>(_s(D._readableStreamController,M),$0(S,M),null)),S._finishPromise}(p)}function C(){return function(R){return UE(R,!1),R._backpressureChangePromise}(p)}function k(R){return function(S,D){let I=S._transformStreamController;if(I._finishPromise!==void 0)return I._finishPromise;let M=S._writable;I._finishPromise=Nn((z,X)=>{I._finishPromise_resolve=z,I._finishPromise_reject=X});let G=I._cancelAlgorithm(D);return IE(I),Sa(G,()=>(M._state==="errored"?$0(I,M._storedError):(Uv(M._writableStreamController,D),AO(S),hO(I)),null),z=>(Uv(M._writableStreamController,z),AO(S),$0(I,z),null)),I._finishPromise}(p,R)}p._writable=function(R,S,D,I,M=1,G=()=>1){let z=Object.create(Nc.prototype);return Xne(z),rie(z,Object.create(yd.prototype),R,S,D,I,M,G),z}(b,_,w,A,h,g),p._readable=zv(b,C,k,m,v),p._backpressure=void 0,p._backpressureChangePromise=void 0,p._backpressureChangePromise_resolve=void 0,UE(p,!0),p._transformStreamController=void 0})(this,Nn(p=>{f=p}),c,l,s,u),function(p,d){let h=Object.create(Uc.prototype),g,m,v;g=d.transform!==void 0?b=>d.transform(b,h):b=>{try{return mie(h,b),rr(void 0)}catch(_){return at(_)}},m=d.flush!==void 0?()=>d.flush(h):()=>rr(void 0),v=d.cancel!==void 0?b=>d.cancel(b):()=>rr(void 0),function(b,_,A,w,C){_._controlledTransformStream=b,b._transformStreamController=_,_._transformAlgorithm=A,_._flushAlgorithm=w,_._cancelAlgorithm=C,_._finishPromise=void 0,_._finishPromise_resolve=void 0,_._finishPromise_reject=void 0}(p,h,g,m,v)}(this,o),o.start!==void 0?f(o.start(this._transformStreamController)):f(void 0)}get readable(){if(!pne(this))throw hne("readable");return this._readable}get writable(){if(!pne(this))throw hne("writable");return this._writable}};function pne(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof $v}function hie(e,t){_s(e._readable._readableStreamController,t),$O(e,t)}function $O(e,t){IE(e._transformStreamController),Uv(e._writable._writableStreamController,t),AO(e)}function AO(e){e._backpressure&&UE(e,!1)}function UE(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=Nn(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}Object.defineProperties($v.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty($v.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});var Uc=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!SE(this))throw CE("desiredSize");return HO(this._controlledTransformStream._readable._readableStreamController)}enqueue(t=void 0){if(!SE(this))throw CE("enqueue");mie(this,t)}error(t=void 0){if(!SE(this))throw CE("error");var r;r=t,hie(this._controlledTransformStream,r)}terminate(){if(!SE(this))throw CE("terminate");(function(t){let r=t._controlledTransformStream;bd(r._readable._readableStreamController);let n=new TypeError("TransformStream terminated");$O(r,n)})(this)}};function SE(e){return!!kn(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof Uc}function IE(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function mie(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!Q0(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{Y0(n,t)}catch(a){throw $O(r,a),r._readable._storedError}(function(a){return!uie(a)})(n)!==r._backpressure&&UE(r,!0)}function dne(e,t){return zc(e._transformAlgorithm(t),void 0,r=>{throw hie(e._controlledTransformStream,r),r})}function CE(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function hO(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function $0(e,t){e._finishPromise_reject!==void 0&&(Z0(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function hne(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Uc.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),tr(Uc.prototype.enqueue,"enqueue"),tr(Uc.prototype.error,"error"),tr(Uc.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Uc.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var $E=class extends ei{};var WE=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(i){t.error(i);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 KE=class extends $E{_chunks;constructor(t){super(new WE(t.values()),{type:"bytes"}),this._chunks=t}async*[Symbol.asyncIterator](t){let r=this.getReader();yield*this._chunks,r.releaseLock()}};var wd=class{type;size;parts;constructor(t=[],r={}){this.parts=[],this.size=0;for(let n of t)if(typeof n=="string"){let i=new TextEncoder().encode(n);this.parts.push(i),this.size+=i.byteLength}else if(n instanceof wd)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:i,byteOffset:a,byteLength:o}=n;this.parts.push(new Uint8Array(i,a,o)),this.size+=o}else{let i=new TextEncoder().encode(String(n));this.parts.push(i),this.size+=i.byteLength}this.type=hNe(r.type)}slice(t=0,r=this.size,n=""){let{size:i,parts:a}=this,o=t<0?Math.max(i+t,0):Math.min(t,i),s=r<0?Math.max(i+r,0):Math.min(r,i),u=Math.max(s-o,0),c=new wd([],{type:n});if(u===0)return c;let l=0,f=[];for(let p of a){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>=u)break}}return c.parts=f,c.size=l,c}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 KE(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 i of this.parts)r.set(i,n),n+=i.byteLength;return t}};function hNe(e=""){let t=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(t)?"":t}function mNe(){return typeof Blob>"u"&&!globalThis.Blob&&(globalThis.Blob=wd),globalThis.Blob}var gNe=mNe();var XE=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,${mx(r)}`;this.onload&&this.onload({target:{result:n}})}async readAsText(t){let r=await t.text();this.onload&&this.onload({target:{result:r}})}};var JE=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 gie(){return typeof FileReader>"u"&&!globalThis.FileReader&&(globalThis.FileReader=XE),typeof File>"u"&&!globalThis.File&&(globalThis.File=JE),global}var xNe=gie();var WO=kt(require("module"),1),xie=kt(require("path"),1),QE=kt(require("fs"),1);async function vie(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():QE.default.readFileSync(e).buffer}async function yie(e){return e.startsWith("http")?await(await fetch(e)).text():QE.default.readFileSync(e,"utf8")}async function bie(e){if(e.startsWith("http")){let n=await(await fetch(e)).text();return YE(n)}e.startsWith("/")||(e=`${process.cwd()}/${e}`);let t=QE.default.readFileSync(e,"utf8");return YE(t)}function YE(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=WO.default._nodeModulePaths(xie.default.dirname(t)),i=typeof module<"u"&&(module==null?void 0:module.parent),a=new WO.default(t,i);return a.filename=t,a.paths=[].concat((r==null?void 0:r.prependPaths)||[]).concat(n).concat((r==null?void 0:r.appendPaths)||[]),a._compile(e,t),i&&i.children&&i.children.splice(i.children.indexOf(a),1),a.exports}var ws=class{map;constructor(t){this.map={},t instanceof ws?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=Xv(t),r=_ie(r);let n=this.map[t];this.map[t]=n?`${n}, ${r}`:r}delete(t){delete this.map[Xv(t)]}get(t){return t=Xv(t),this.has(t)?this.map[t]:null}has(t){return this.map.hasOwnProperty(Xv(t))}set(t,r){this.map[Xv(t)]=_ie(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)}),KO(t)}values(){let t=[];return this.forEach(function(r){t.push(r)}),KO(t)}entries(){let t=[];return this.forEach(function(r,n){t.push([n,r])}),KO(t)}*[Symbol.iterator](){yield*this.entries()}};function Xv(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 _ie(e){return typeof e!="string"&&(e=String(e)),e}function KO(e){let t={next(){let r=e.shift();return{done:r===void 0,value:r}}};return t[Symbol.iterator]=function(){return t},t}function XO(e,t){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${t}`)}var YO=kt(require("stream"),1),vNe=e=>typeof e=="boolean",wie=e=>typeof e=="function",yNe=e=>e!==null&&typeof e=="object",JO=e=>yNe(e)&&wie(e.read)&&wie(e.pipe)&&vNe(e.readable),$c=class{ok;status;statusText;headers;url;bodyUsed=!1;_body;constructor(t,r){let{headers:n,status:i=200,statusText:a="OK",url:o}=r||{};this.url=o,this.ok=i===200,this.status=i,this.statusText=a,this.headers=new ws((r==null?void 0:r.headers)||{}),JO(t)?this._body=mE(t,n):typeof t=="string"?this._body=YO.Readable.from([new TextEncoder().encode(t)]):this._body=YO.Readable.from([t||new ArrayBuffer(0)])}get body(){return XO(!this.bodyUsed),XO(JO(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return JO(this._body)?await qre(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 Aie=kt(require("http"),1),Tie=kt(require("https"),1);var bNe=e=>e&&e instanceof ArrayBuffer,_Ne=e=>e&&e instanceof Buffer;function Eie(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:wNe(r),mimeType:n}}function wNe(e){if(bNe(e))return e;if(_Ne(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;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(${JSON.stringify(e,null,2).slice(10)})`)}var QO=e=>e.startsWith("data:"),ENe=e=>e.startsWith("http:")||e.startsWith("https:");async function Jv(e,t){try{if(globalThis.fetch!==Jv&&(ENe(e)||QO(e)))return await fetch(e,t);if(QO(e)){let{arrayBuffer:c,mimeType:l}=Eie(e);return new $c(c,{headers:{"content-type":l},url:e})}let r={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip");let i=await ANe(n,t),a=DNe(e,i,r),{status:o,statusText:s}=CNe(i),u=!t||t.followRedirect||t.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let c=TNe(e,a.get("location"));return await Jv(c,t)}return new $c(i,{headers:a,status:o,statusText:s,url:e})}catch(r){return new $c(null,{status:400,statusText:String(r),url:e})}}async function ANe(e,t){return await new Promise((r,n)=>{let i=SNe(e,t),a=e.startsWith("https:")?Tie.default.request(i,o=>r(o)):Aie.default.request(i,o=>r(o));a.on("error",o=>n(o)),a.end()})}function TNe(e,t){if(t.startsWith("http"))return t;let r=new URL(e);return r.pathname=t,r.href}function SNe(e,t){let r=(t==null?void 0:t.headers)||{},n={};for(let a of Object.keys(r))n[a.toLowerCase()]=r[a];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let i=new URL(e);return{hostname:i.hostname,path:i.pathname,method:"GET",...t,...t==null?void 0:t.fetch,headers:n,port:i.port}}function CNe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function DNe(e,t,r={}){let n={};if(t&&t.headers){let i=t.headers;for(let a in i){let o=i[a];n[a.toLowerCase()]=String(o)}}if(!n["content-length"]){let i=FNe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,r),new ws(n)}function FNe(e){return QO(e)?e.length-5:null}var kNe=parseInt(Sie.versions.node.split(".")[0]);Ez&&console.error("loaders.gl: The @loaders.gl/polyfills should only be used in Node.js environments");globalThis.loaders=globalThis.loaders||{};globalThis.loaders.makeNodeStream=aO;globalThis.loaders.NodeFile=cd;globalThis.loaders.NodeFileSystem=vE;globalThis.loaders.fetchNode=gE;globalThis.loaders.NodeHash=yE;globalThis.TextEncoder||(globalThis.TextEncoder=hx);globalThis.TextDecoder||(globalThis.TextDecoder=Mp);globalThis.ReadableStream||(globalThis.ReadableStream=ReadableStream);!("atob"in globalThis)&&mx&&(globalThis.atob=mx);!("btoa"in globalThis)&&wD&&(globalThis.btoa=wD);globalThis.loaders.encodeImageNode=S$;globalThis.loaders.parseImageNode=CB;globalThis.loaders.imageFormatsNode=SB;globalThis._parseImageNode=CB;globalThis._imageFormatsNode=SB;globalThis.loaders.readFileAsArrayBuffer=vie;globalThis.loaders.readFileAsText=yie;globalThis.loaders.requireFromFile=bie;globalThis.loaders.requireFromString=YE;kNe<18&&(!("Headers"in globalThis)&&ws&&(globalThis.Headers=ws),!("Response"in globalThis)&&$c&&(globalThis.Response=$c),!("fetch"in globalThis)&&Jv&&(globalThis.fetch=Jv));var L8e=require("path"),mD=kt(V1e(),1);var nn={OBJECT_ID_TYPE:"OBJECTID",STRING_TYPE:"string",DOUBLE_TYPE:"double",SHORT_INT_TYPE:"Int32"};var K6=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:nn.OBJECT_ID_TYPE,...t},n=!1,i=this._attributeStorageInfo.length;for(let a in r)if(!this._attributeStorageInfo.find(s=>s.name===a)){let s=r[a],u=this.createStorageAttribute(i,a,s),c=this.getFieldAttributeType(s),l=this.createFieldAttribute(a,c);this._attributeStorageInfo.push(u),this._fields.push(l),i+=1,n=!0}if(n){let a=[];for(let o of this._attributeStorageInfo)a.push(o.name);this._popupInfo=this.createPopupInfo(a)}}fromObject(t){this._attributeStorageInfo=t.attributeStorageInfo,this._fields=t.fields,this._popupInfo=t.popupInfo}createStorageAttribute(t,r,n){let i={key:`f_${t}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(n){case nn.OBJECT_ID_TYPE:this.setupIdAttribute(i);break;case nn.STRING_TYPE:this.setupStringAttribute(i);break;case nn.DOUBLE_TYPE:this.setupDoubleAttribute(i);break;case nn.SHORT_INT_TYPE:break;default:this.setupStringAttribute(i)}return i}getFieldAttributeType(t){switch(t){case nn.OBJECT_ID_TYPE:return"esriFieldTypeOID";case nn.STRING_TYPE:return"esriFieldTypeString";case nn.SHORT_INT_TYPE:return"esriFieldTypeInteger";case nn.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=[],i=[],a=[],o=[];for(let s of t)i.push({fieldName:s,visible:!0,isEditable:!1,label:s});return a.push({fieldInfos:i,type:"fields"}),{title:r,mediaInfos:n,popupElements:a,fieldInfos:i,expressionInfos:o}}};var qbt=e=>typeof e=="boolean",nb=e=>typeof e=="function",Xd=e=>e!==null&&typeof e=="object",Ej=e=>Xd(e)&&e.constructor==={}.constructor;var $1e=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",W1e=e=>e&&typeof e[Symbol.asyncIterator]=="function";var Io=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Po=e=>typeof Blob<"u"&&e instanceof Blob,K1e=e=>e&&typeof e=="object"&&e.isBuffer;var Nbt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||Xd(e)&&nb(e.tee)&&nb(e.cancel)&&nb(e.getReader);var Ubt=e=>Xd(e)&&nb(e.read)&&nb(e.pipe)&&qbt(e.readable),X6=e=>Nbt(e)||Ubt(e);var J6=class extends Error{constructor(t,r){super(t),this.reason=r.reason,this.url=r.url,this.response=r.response}reason;url;response};var Gbt=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,zbt=/^([-\w.]+\/[-\w.+]+)/;function Aj(e,t){return e.toLowerCase()===t.toLowerCase()}function X1e(e){let t=zbt.exec(e);return t?t[1]:e}function Tj(e){let t=Gbt.exec(e);return t?t[1]:""}var J1e=/\?.*/;function Y1e(e){let t=e.match(J1e);return t&&t[0]}function Sg(e){return e.replace(J1e,"")}function Q1e(e){if(e.length<50)return e;let t=e.slice(e.length-15);return`${e.substr(0,32)}...${t}`}function Jd(e){return Io(e)?e.url:Po(e)?e.name||"":typeof e=="string"?e:""}function ib(e){if(Io(e)){let t=e,r=t.headers.get("content-type")||"",n=Sg(t.url);return X1e(r)||Tj(n)}return Po(e)?e.type||"":typeof e=="string"?Tj(e):""}function Z1e(e){return Io(e)?e.headers["content-length"]||-1:Po(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Y6(e){if(Io(e))return e;let t={},r=Z1e(e);r>=0&&(t["content-length"]=String(r));let n=Jd(e),i=ib(e);i&&(t["content-type"]=i);let a=await Vbt(e);a&&(t["x-first-bytes"]=a),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 exe(e){if(!e.ok)throw await Hbt(e)}async function Hbt(e){let t=Q1e(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 i=e.headers.get("Content-Type");n.reason=!e.bodyUsed&&(i!=null&&i.includes("application/json"))?await e.json():await e.text()}catch{}return new J6(r,n)}async function Vbt(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 i=new FileReader;i.onload=a=>{var o;return n((o=a==null?void 0:a.target)==null?void 0:o.result)},i.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5);return`data:base64,${$bt(r)}`}return null}function $bt(e){let t="",r=new Uint8Array(e);for(let n=0;n<r.byteLength;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function Wbt(e){return!Kbt(e)&&!Xbt(e)}function Kbt(e){return e.startsWith("http:")||e.startsWith("https:")}function Xbt(e){return e.startsWith("data:")}async function ca(e,t){var r,n;if(typeof e=="string"){let i=wu(e);return Wbt(i)&&(r=globalThis.loaders)!=null&&r.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,t):await fetch(i,t)}return await Y6(e)}var Sj=new vu({id:"loaders.gl"}),Q6=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Z6=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 Cj={fetch:null,mimeType:void 0,nothrow:!1,log:new Z6,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:Er,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},txe={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function Dj(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function Cg(){let e=Dj();return e.globalOptions=e.globalOptions||{...Cj},e.globalOptions}function ixe(e,t,r,n){return r=r||[],r=Array.isArray(r)?r:[r],Jbt(e,r),Qbt(t,e,n)}function Jbt(e,t){rxe(e,null,Cj,txe,t);for(let r of t){let n=e&&e[r.id]||{},i=r.options&&r.options[r.id]||{},a=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};rxe(n,r.id,i,a,t)}}function rxe(e,t,r,n,i){let a=t||"Top level",o=t?`${t}.`:"";for(let s in e){let u=!t&&Xd(e[s]),c=s==="baseUri"&&!t,l=s==="workerUrl"&&t;if(!(s in r)&&!c&&!l){if(s in n)Sj.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=Ybt(s,i);Sj.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function Ybt(e,t){let r=e.toLowerCase(),n="";for(let i of t)for(let a in i.options){if(e===a)return`Did you mean '${i.id}.${a}'?`;let o=a.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(n=n||`Did you mean '${i.id}.${a}'?`)}return n}function Qbt(e,t,r){let i={...e.options||{}};return Zbt(i,r),i.log===null&&(i.log=new Q6),nxe(i,Cg()),nxe(i,t),i}function nxe(e,t){for(let r in t)if(r in t){let n=t[r];Ej(n)&&Ej(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function Zbt(e,t){t&&!("baseUri"in e)&&(e.baseUri=t)}function ab(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function Fj(e){Et(e,"null loader"),Et(ab(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 e2t=()=>{let e=Dj();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function axe(){return e2t()}var t2t=/\.([^.]+)$/;async function uxe(e,t=[],r,n){if(!cxe(e))return null;let i=oxe(e,t,{...r,nothrow:!0},n);if(i)return i;if(Po(e)&&(e=await e.slice(0,10).arrayBuffer(),i=oxe(e,t,r,n)),!i&&!(r!=null&&r.nothrow))throw new Error(lxe(e));return i}function oxe(e,t=[],r,n){if(!cxe(e))return null;if(t&&!Array.isArray(t))return Fj(t);let i=[];t&&(i=i.concat(t)),r!=null&&r.ignoreRegisteredLoaders||i.push(...axe()),n2t(i);let a=r2t(e,i,r,n);if(!a&&!(r!=null&&r.nothrow))throw new Error(lxe(e));return a}function r2t(e,t,r,n){let i=Jd(e),a=ib(e),o=Sg(i)||(n==null?void 0:n.url),s=null,u="";return r!=null&&r.mimeType&&(s=kj(t,r==null?void 0:r.mimeType),u=`match forced by supplied MIME type ${r==null?void 0:r.mimeType}`),s=s||i2t(t,o),u=u||(s?`matched url ${o}`:""),s=s||kj(t,a),u=u||(s?`matched MIME type ${a}`:""),s=s||o2t(t,e),u=u||(s?`matched initial data ${fxe(e)}`:""),r!=null&&r.fallbackMimeType&&(s=s||kj(t,r==null?void 0:r.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&OB.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function cxe(e){return!(e instanceof Response&&e.status===204)}function lxe(e){let t=Jd(e),r=ib(e),n="No valid loader found (";n+=t?`${Ta.filename(t)}, `:"no url provided, ",n+=`MIME type: ${r?`"${r}"`:"not provided"}, `;let i=e?fxe(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function n2t(e){for(let t of e)Fj(t)}function i2t(e,t){let r=t&&t2t.exec(t),n=r&&r[1];return n?a2t(e,n):null}function a2t(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 kj(e,t){var r;for(let n of e)if((r=n.mimeTypes)!=null&&r.some(i=>Aj(t,i))||Aj(t,`application/x.${n.id}`))return n;return null}function o2t(e,t){if(!t)return null;for(let r of e)if(typeof t=="string"){if(s2t(t,r))return r}else if(ArrayBuffer.isView(t)){if(sxe(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&sxe(t,0,r))return r;return null}function s2t(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>e.startsWith(n))}function sxe(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(i=>u2t(e,t,r,i))}function u2t(e,t,r,n){if(n instanceof ArrayBuffer)return _u(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=Bj(e,t,n.length);return n===i;default:return!1}}function fxe(e,t=5){return typeof e=="string"?e.slice(0,t):ArrayBuffer.isView(e)?Bj(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Bj(e,0,t):""}function Bj(e,t,r){if(e.byteLength<t+r)return"";let n=new DataView(e),i="";for(let a=0;a<r;a++)i+=String.fromCharCode(n.getUint8(t+a));return i}function*pxe(e,t){let r=(t==null?void 0:t.chunkSize)||262144,n=0,i=new TextEncoder;for(;n<e.length;){let a=Math.min(e.length-n,r),o=e.slice(n,n+a);n+=a,yield i.encode(o)}}function*dxe(e,t={}){let{chunkSize:r=262144}=t,n=0;for(;n<e.byteLength;){let i=Math.min(e.byteLength-n,r),a=new ArrayBuffer(i),o=new Uint8Array(e,n,i);new Uint8Array(a).set(o),n+=i,yield a}}async function*hxe(e,t){let r=(t==null?void 0:t.chunkSize)||1048576,n=0;for(;n<e.size;){let i=n+r,a=await e.slice(n,i).arrayBuffer();n=i,yield a}}function Oj(e,t){return Er?c2t(e,t):l2t(e,t)}async function*c2t(e,t){let r=e.getReader(),n;try{for(;;){let i=n||r.read();t!=null&&t._streamReadAhead&&(n=r.read());let{done:a,value:o}=await i;if(a)return;yield Pc(o)}}catch{r.releaseLock()}}async function*l2t(e,t){for await(let r of e)yield Pc(r)}function mxe(e,t){if(typeof e=="string")return pxe(e,t);if(e instanceof ArrayBuffer)return dxe(e,t);if(Po(e))return hxe(e,t);if(X6(e))return Oj(e,t);if(Io(e))return Oj(e.body,t);throw new Error("makeIterator")}var gxe="Cannot convert supplied data type";function f2t(e,t,r){if(t.text&&typeof e=="string")return e;if(K1e(e)&&(e=e.buffer),e instanceof ArrayBuffer){let n=e;return t.text&&!t.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(e)){if(t.text&&!t.binary)return new TextDecoder("utf8").decode(e);let n=e.buffer,i=e.byteLength||e.length;return(e.byteOffset!==0||i!==n.byteLength)&&(n=n.slice(e.byteOffset,e.byteOffset+i)),n}throw new Error(gxe)}async function xxe(e,t,r){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return f2t(e,t,r);if(Po(e)&&(e=await Y6(e)),Io(e)){let i=e;return await exe(i),t.binary?await i.arrayBuffer():await i.text()}if(X6(e)&&(e=mxe(e,r)),$1e(e)||W1e(e))return ud(e);throw new Error(gxe)}function e8(e,t){let r=Cg(),n=e||r;return typeof n.fetch=="function"?n.fetch:Xd(n.fetch)?i=>ca(i,n.fetch):t!=null&&t.fetch?t==null?void 0:t.fetch:ca}function vxe(e,t,r){if(r)return r;let n={fetch:e8(t,e),...e};if(n.url){let i=Sg(n.url);n.baseUrl=i,n.queryString=Y1e(n.url),n.filename=Ta.filename(i),n.baseUrl=Ta.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function yxe(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 Za(e,t,r,n){t&&!Array.isArray(t)&&!ab(t)&&(n=void 0,r=t,t=void 0),e=await e,r=r||{};let i=Jd(e),o=yxe(t,n),s=await uxe(e,o,r);return s?(r=ixe(r,s,o,i),n=vxe({url:i,_parse:Za,loaders:o},r,n||null),await p2t(s,e,r,n)):null}async function p2t(e,t,r,n){if(NB(e),r=IB(e.options,r),Io(t)){let a=t,{ok:o,redirected:s,status:u,statusText:c,type:l,url:f}=a,p=Object.fromEntries(a.headers.entries());n.response={headers:p,ok:o,redirected:s,status:u,statusText:c,type:l,url:f}}t=await xxe(t,e,r);let i=e;if(i.parseTextSync&&typeof t=="string")return i.parseTextSync(t,r,n);if(GB(e,r))return await zB(e,t,r,n,Za);if(i.parseText&&typeof t=="string")return await i.parseText(t,r,n);if(i.parse)return await i.parse(t,r,n);throw Ti(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function bxe(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 Ij(e){let t=1/0,r=1/0,n=1/0,i=-1/0,a=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length;for(let c=0;c<u;c+=3){let l=s[c],f=s[c+1],p=s[c+2];t=l<t?l:t,r=f<r?f:r,n=p<n?p:n,i=l>i?l:i,a=f>a?f:a,o=p>o?p:o}return[[t,r,n],[i,a,o]]}function Pj(e,t,r){let n=bxe(t.value),i=r||_xe(t);return{name:e,type:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function _xe(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 Jr(e,t,r,n){let i,a;!Array.isArray(t)&&!ab(t)?(i=[],a=t,n=void 0):(i=t,a=r);let o=e8(a),s=e;return typeof e=="string"&&(s=await o(e)),Po(e)&&(s=await o(e)),Array.isArray(i)?await Za(s,i,a):await Za(s,i,a)}async function Dg(e,t,r){return r={...Cg(),...r},t.encodeURLtoURL?d2t(t,e,r):HB(t,r)?await qB(t,e,r):await t.encode(e,r)}function t8(e,t,r){if(t.encodeSync)return t.encodeSync(e,r);if(t.encodeTextSync)return new TextEncoder().encode(t.encodeTextSync(e,r));throw new Error(`Writer ${t.name} could not synchronously encode data`)}async function Exe(e,t,r,n){if(e=wu(e),t=wu(t),Er||!r.encodeURLtoURL)throw new Error;return await r.encodeURLtoURL(e,t,n)}async function d2t(e,t,r){if(Er)throw new Error(`Writer ${e.name} not supported in browser`);let n=wxe("input");await new Rc(n,"w").write(t);let a=wxe("output"),o=await Exe(n,a,e,r);return(await ca(o)).arrayBuffer()}function wxe(e){return`/tmp/${e}`}var h2t=1/Math.PI*180,m2t=1/180*Math.PI,g2t={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...g2t}};var Lr=globalThis.mathgl.config;function Rj(e,{precision:t=Lr.precision}={}){return e=x2t(e),"".concat(parseFloat(e.toPrecision(t)))}function Ro(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Mj(e){return Axe(e)}function jj(e){return sl(e)}function Axe(e,t){return qj(e,r=>r*m2t,t)}function sl(e,t){return qj(e,r=>r*h2t,t)}function Lj(e,t,r){return qj(e,n=>Math.max(t,Math.min(r,n)))}function eo(e,t,r){let n=Lr.EPSILON;r&&(Lr.EPSILON=r);try{if(e===t)return!0;if(Ro(e)&&Ro(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!eo(e[i],t[i]))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)<=Lr.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{Lr.EPSILON=n}}function x2t(e){return Math.round(e/Lr.EPSILON)*Lr.EPSILON}function v2t(e){return e.clone?e.clone():new Array(e.length)}function qj(e,t,r){if(Ro(e)){let n=e;r=r||v2t(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}function y2t(e){function t(){var r=Reflect.construct(e,Array.from(arguments));return Object.setPrototypeOf(r,Object.getPrototypeOf(this)),r}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}var Zf=class extends y2t(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:Ro(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(Lr)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+Rj(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(r,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!eo(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 i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}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(Lr.debug&&!this.validate())throw new Error("math.gl: ".concat(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 b2t(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 ".concat(JSON.stringify(e)));return e}function ep(e,t,r=""){if(Lr.debug&&!b2t(e,t))throw new Error("math.gl: ".concat(r," some fields set to invalid numbers'"));return e}function hi(e,t){if(!e)throw new Error("math.gl assertion ".concat(t))}var tp=class extends Zf{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 i=this[n]-t[n];r+=i*i}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 hi(t>=0&&t<this.ELEMENTS,"index is out of range"),zt(this[t])}setComponent(t,r){return hi(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 an=typeof Float32Array<"u"?Float32Array:Array,ob=Math.random;function Fg(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var bir=Math.PI/180;function _2t(){let e=new an(2);return an!=Float32Array&&(e[0]=0,e[1]=0),e}function Txe(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e}function Sxe(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e}function r8(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function n8(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var _ir=function(){let e=_2t();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function i8(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function a8(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function Cxe(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function Dxe(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function o8(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Yd=class extends tp{constructor(t=0,r=0){super(2),Ro(t)&&arguments.length===1?this.copy(t):(Lr.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 Lr.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 n8(this,this,t),this.check()}transformAsVector(t){return i8(this,this,t),this.check()}transformByMatrix3(t){return r8(this,this,t),this.check()}transformByMatrix2x3(t){return Sxe(this,this,t),this.check()}transformByMatrix2(t){return Txe(this,this,t),this.check()}};var Bg={};zn(Bg,{add:()=>T2t,angle:()=>Hj,bezier:()=>L2t,ceil:()=>S2t,clone:()=>w2t,copy:()=>E2t,create:()=>s8,cross:()=>Qd,dist:()=>W2t,distance:()=>Ixe,div:()=>$2t,divide:()=>Oxe,dot:()=>sb,equals:()=>z2t,exactEquals:()=>G2t,floor:()=>C2t,forEach:()=>J2t,fromValues:()=>u8,hermite:()=>j2t,inverse:()=>P2t,len:()=>Vj,length:()=>Fxe,lerp:()=>R2t,max:()=>F2t,min:()=>D2t,mul:()=>V2t,multiply:()=>Bxe,negate:()=>I2t,normalize:()=>Nj,random:()=>q2t,rotateX:()=>Uj,rotateY:()=>Gj,rotateZ:()=>zj,round:()=>k2t,scale:()=>B2t,scaleAndAdd:()=>O2t,set:()=>A2t,slerp:()=>M2t,sqrDist:()=>K2t,sqrLen:()=>X2t,squaredDistance:()=>Pxe,squaredLength:()=>Rxe,str:()=>U2t,sub:()=>H2t,subtract:()=>kxe,transformMat3:()=>ub,transformMat4:()=>Zd,transformQuat:()=>cb,zero:()=>N2t});function s8(){let e=new an(3);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function w2t(e){let t=new an(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Fxe(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function u8(e,t,r){let n=new an(3);return n[0]=e,n[1]=t,n[2]=r,n}function E2t(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function A2t(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function T2t(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function kxe(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Bxe(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Oxe(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function S2t(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function C2t(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function D2t(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 F2t(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 k2t(e,t){return e[0]=Fg(t[0]),e[1]=Fg(t[1]),e[2]=Fg(t[2]),e}function B2t(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function O2t(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 Ixe(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function Pxe(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function Rxe(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function I2t(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function P2t(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function Nj(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function sb(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Qd(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function R2t(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function M2t(e,t,r,n){let i=Math.acos(Math.min(Math.max(sb(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;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 j2t(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function L2t(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,p=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*p,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*p,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*p,e}function q2t(e,t){t=t===void 0?1:t;let r=ob()*2*Math.PI,n=ob()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function Zd(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function ub(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function cb(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,p=n*u-i*s,d=i*p-a*f,h=a*l-n*p,g=n*f-i*l,m=o*2;return l*=m,f*=m,p*=m,d*=2,h*=2,g*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+g,e}function Uj(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function Gj(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function zj(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function Hj(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&sb(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function N2t(e){return e[0]=0,e[1]=0,e[2]=0,e}function U2t(e){return"vec3(".concat(e[0],", ").concat(e[1],", ").concat(e[2],")")}function G2t(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function z2t(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var H2t=kxe,V2t=Bxe,$2t=Oxe,W2t=Ixe,K2t=Pxe,Vj=Fxe,X2t=Rxe,J2t=function(){let e=s8();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var $j=[0,0,0],c8,ne=class extends tp{static get ZERO(){return c8||(c8=new ne(0,0,0),Object.freeze(c8)),c8}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Ro(t)?this.copy(t):(Lr.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 Lr.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 Hj(this,t)}cross(t){return Qd(this,this,t),this.check()}rotateX({radians:t,origin:r=$j}){return Uj(this,this,r,t),this.check()}rotateY({radians:t,origin:r=$j}){return Gj(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=$j}){return zj(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Zd(this,this,t),this.check()}transformAsVector(t){return a8(this,this,t),this.check()}transformByMatrix3(t){return ub(this,this,t),this.check()}transformByMatrix2(t){return Cxe(this,this,t),this.check()}transformByQuaternion(t){return cb(this,this,t),this.check()}};var l8,Mo=class extends tp{static get ZERO(){return l8||(l8=new Mo(0,0,0,0),Object.freeze(l8)),l8}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),Ro(t)&&arguments.length===1?this.copy(t):(Lr.debug&&(zt(t),zt(r),zt(n),zt(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 Lr.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 Zd(this,this,t),this.check()}transformByMatrix3(t){return o8(this,this,t),this.check()}transformByMatrix2(t){return Dxe(this,this,t),this.check()}transformByQuaternion(t){return cb(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Og=class extends Zf{toString(){let t="[";if(Lr.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)t+=" ".concat(this[n*this.RANK+r])}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=" ".concat(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 i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function Mxe(){let e=new an(9);return an!=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 jxe(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}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 Lxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,d=c*a-o*u,h=r*f+n*p+i*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=p*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function qxe(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function Wj(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1],h=r[2],g=r[3],m=r[4],v=r[5],b=r[6],_=r[7],A=r[8];return e[0]=p*n+d*o+h*c,e[1]=p*i+d*s+h*l,e[2]=p*a+d*u+h*f,e[3]=g*n+m*o+v*c,e[4]=g*i+m*s+v*l,e[5]=g*a+m*u+v*f,e[6]=b*n+_*o+A*c,e[7]=b*i+_*s+A*l,e[8]=b*a+_*u+A*f,e}function Nxe(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=p*n+d*o+c,e[7]=p*i+d*s+l,e[8]=p*a+d*u+f,e}function Uxe(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=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*i+p*s,e[2]=d*a+p*u,e[3]=d*o-p*n,e[4]=d*s-p*i,e[5]=d*u-p*a,e[6]=c,e[7]=l,e[8]=f,e}function Kj(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Gxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,v=a*u;return e[0]=1-f-h,e[3]=l-v,e[6]=p+m,e[1]=l+v,e[4]=1-c-h,e[7]=d-g,e[2]=p-m,e[5]=d+g,e[8]=1-c-f,e}var Xj;(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"})(Xj||(Xj={}));var Q2t=Object.freeze([1,0,0,0,1,0,0,0,1]),pr=class extends Og{static get IDENTITY(){return e_t()}static get ZERO(){return Z2t()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return Xj}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(Q2t)}fromObject(t){return this.check()}fromQuaternion(t){return Gxe(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return qxe(this)}transpose(){return jxe(this,this),this.check()}invert(){return Lxe(this,this),this.check()}multiplyLeft(t){return Wj(this,t,this),this.check()}multiplyRight(t){return Wj(this,this,t),this.check()}rotate(t){return Uxe(this,this,t),this.check()}scale(t){return Array.isArray(t)?Kj(this,this,t):Kj(this,this,[t,t]),this.check()}translate(t){return Nxe(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=r8(r||[-0,-0],t,this);break;case 3:n=ub(r||[-0,-0,-0],t,this);break;case 4:n=o8(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(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)}},f8,p8=null;function Z2t(){return f8||(f8=new pr([0,0,0,0,0,0,0,0,0]),Object.freeze(f8)),f8}function e_t(){return p8||(p8=new pr,Object.freeze(p8)),p8}var d8={};zn(d8,{add:()=>T_t,adjoint:()=>o_t,clone:()=>r_t,copy:()=>n_t,create:()=>t_t,decompose:()=>g_t,determinant:()=>Qj,equals:()=>F_t,exactEquals:()=>D_t,frob:()=>A_t,fromQuat:()=>aL,fromQuat2:()=>d_t,fromRotation:()=>c_t,fromRotationTranslation:()=>Hxe,fromRotationTranslationScale:()=>x_t,fromRotationTranslationScaleOrigin:()=>v_t,fromScaling:()=>u_t,fromTranslation:()=>s_t,fromValues:()=>i_t,fromXRotation:()=>l_t,fromYRotation:()=>f_t,fromZRotation:()=>p_t,frustum:()=>oL,getRotation:()=>m_t,getScaling:()=>Vxe,getTranslation:()=>h_t,identity:()=>zxe,invert:()=>Yj,lookAt:()=>cL,mul:()=>k_t,multiply:()=>lb,multiplyScalar:()=>S_t,multiplyScalarAndAdd:()=>C_t,ortho:()=>uL,orthoNO:()=>Wxe,orthoZO:()=>__t,perspective:()=>sL,perspectiveFromFieldOfView:()=>b_t,perspectiveNO:()=>$xe,perspectiveZO:()=>y_t,rotate:()=>tL,rotateX:()=>rL,rotateY:()=>nL,rotateZ:()=>iL,scale:()=>eL,set:()=>a_t,str:()=>E_t,sub:()=>B_t,subtract:()=>Kxe,targetTo:()=>w_t,translate:()=>Zj,transpose:()=>Jj});function t_t(){let e=new an(16);return an!=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 r_t(e){let t=new an(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 n_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],e}function i_t(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g){let m=new an(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=n,m[4]=i,m[5]=a,m[6]=o,m[7]=s,m[8]=u,m[9]=c,m[10]=l,m[11]=f,m[12]=p,m[13]=d,m[14]=h,m[15]=g,m}function a_t(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=h,e[14]=g,e[15]=m,e}function zxe(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 Jj(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=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]=a,e[11]=t[14],e[12]=i,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 Yj(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],v=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,C=n*c-a*s,k=i*c-a*u,R=l*g-f*h,S=l*m-p*h,D=l*v-d*h,I=f*m-p*g,M=f*v-d*g,G=p*v-d*m,z=b*G-_*M+A*I+w*D-C*S+k*R;return z?(z=1/z,e[0]=(s*G-u*M+c*I)*z,e[1]=(i*M-n*G-a*I)*z,e[2]=(g*k-m*C+v*w)*z,e[3]=(p*C-f*k-d*w)*z,e[4]=(u*D-o*G-c*S)*z,e[5]=(r*G-i*D+a*S)*z,e[6]=(m*A-h*k-v*_)*z,e[7]=(l*k-p*A+d*_)*z,e[8]=(o*M-s*D+c*R)*z,e[9]=(n*D-r*M-a*R)*z,e[10]=(h*C-g*A+v*b)*z,e[11]=(f*A-l*C-d*b)*z,e[12]=(s*S-o*I-u*R)*z,e[13]=(r*I-n*S+i*R)*z,e[14]=(g*_-h*w-m*b)*z,e[15]=(l*w-f*_+p*b)*z,e):null}function o_t(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],v=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,C=n*c-a*s,k=i*c-a*u,R=l*g-f*h,S=l*m-p*h,D=l*v-d*h,I=f*m-p*g,M=f*v-d*g,G=p*v-d*m;return e[0]=s*G-u*M+c*I,e[1]=i*M-n*G-a*I,e[2]=g*k-m*C+v*w,e[3]=p*C-f*k-d*w,e[4]=u*D-o*G-c*S,e[5]=r*G-i*D+a*S,e[6]=m*A-h*k-v*_,e[7]=l*k-p*A+d*_,e[8]=o*M-s*D+c*R,e[9]=n*D-r*M-a*R,e[10]=h*C-g*A+v*b,e[11]=f*A-l*C-d*b,e[12]=s*S-o*I-u*R,e[13]=r*I-n*S+i*R,e[14]=g*_-h*w-m*b,e[15]=l*w-f*_+p*b,e}function Qj(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],d=e[12],h=e[13],g=e[14],m=e[15],v=t*o-r*a,b=t*s-n*a,_=r*s-n*o,A=c*h-l*d,w=c*g-f*d,C=l*g-f*h,k=t*C-r*w+n*A,R=a*C-o*w+s*A,S=c*_-l*b+f*v,D=d*_-h*b+g*v;return u*k-i*R+m*S-p*D}function lb(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],d=t[10],h=t[11],g=t[12],m=t[13],v=t[14],b=t[15],_=r[0],A=r[1],w=r[2],C=r[3];return e[0]=_*n+A*s+w*f+C*g,e[1]=_*i+A*u+w*p+C*m,e[2]=_*a+A*c+w*d+C*v,e[3]=_*o+A*l+w*h+C*b,_=r[4],A=r[5],w=r[6],C=r[7],e[4]=_*n+A*s+w*f+C*g,e[5]=_*i+A*u+w*p+C*m,e[6]=_*a+A*c+w*d+C*v,e[7]=_*o+A*l+w*h+C*b,_=r[8],A=r[9],w=r[10],C=r[11],e[8]=_*n+A*s+w*f+C*g,e[9]=_*i+A*u+w*p+C*m,e[10]=_*a+A*c+w*d+C*v,e[11]=_*o+A*l+w*h+C*b,_=r[12],A=r[13],w=r[14],C=r[15],e[12]=_*n+A*s+w*f+C*g,e[13]=_*i+A*u+w*p+C*m,e[14]=_*a+A*c+w*d+C*v,e[15]=_*o+A*l+w*h+C*b,e}function Zj(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,g,m,v;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],p=t[6],d=t[7],h=t[8],g=t[9],m=t[10],v=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=h,e[9]=g,e[10]=m,e[11]=v,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+g*a+t[13],e[14]=u*n+p*i+m*a+t[14],e[15]=c*n+d*i+v*a+t[15]),e}function eL(e,t,r){let n=r[0],i=r[1],a=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]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function tL(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,p,d,h,g,m,v,b,_,A,w,C,k,R,S,D,I,M,G,z,X;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],p=t[1],d=t[2],h=t[3],g=t[4],m=t[5],v=t[6],b=t[7],_=t[8],A=t[9],w=t[10],C=t[11],k=i*i*l+u,R=a*i*l+o*c,S=o*i*l-a*c,D=i*a*l-o*c,I=a*a*l+u,M=o*a*l+i*c,G=i*o*l+a*c,z=a*o*l-i*c,X=o*o*l+u,e[0]=f*k+g*R+_*S,e[1]=p*k+m*R+A*S,e[2]=d*k+v*R+w*S,e[3]=h*k+b*R+C*S,e[4]=f*D+g*I+_*M,e[5]=p*D+m*I+A*M,e[6]=d*D+v*I+w*M,e[7]=h*D+b*I+C*M,e[8]=f*G+g*z+_*X,e[9]=p*G+m*z+A*X,e[10]=d*G+v*z+w*X,e[11]=h*G+b*z+C*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function rL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=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]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e}function nL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=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]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e}function iL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=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]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e}function s_t(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 u_t(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 c_t(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function l_t(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 f_t(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 p_t(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 Hxe(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,d=i*u,h=i*c,g=a*c,m=o*s,v=o*u,b=o*c;return e[0]=1-(d+g),e[1]=f+b,e[2]=p-v,e[3]=0,e[4]=f-b,e[5]=1-(l+g),e[6]=h+m,e[7]=0,e[8]=p+v,e[9]=h-m,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 d_t(e,t){let r=new an(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),Hxe(e,t,r),e}function h_t(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function Vxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function m_t(e,t){let r=new an(3);Vxe(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,p=t[8]*n,d=t[9]*i,h=t[10]*a,g=o+l+h,m=0;return g>0?(m=Math.sqrt(g+1)*2,e[3]=.25*m,e[0]=(f-d)/m,e[1]=(p-u)/m,e[2]=(s-c)/m):o>l&&o>h?(m=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/m,e[0]=.25*m,e[1]=(s+c)/m,e[2]=(p+u)/m):l>h?(m=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/m,e[0]=(s+c)/m,e[1]=.25*m,e[2]=(f+d)/m):(m=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/m,e[0]=(p+u)/m,e[1]=(f+d)/m,e[2]=.25*m),e}function g_t(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],h=1/r[1],g=1/r[2],m=i*d,v=a*h,b=o*g,_=s*d,A=u*h,w=c*g,C=l*d,k=f*h,R=p*g,S=m+A+R,D=0;return S>0?(D=Math.sqrt(S+1)*2,e[3]=.25*D,e[0]=(w-k)/D,e[1]=(C-b)/D,e[2]=(v-_)/D):m>A&&m>R?(D=Math.sqrt(1+m-A-R)*2,e[3]=(w-k)/D,e[0]=.25*D,e[1]=(v+_)/D,e[2]=(C+b)/D):A>R?(D=Math.sqrt(1+A-m-R)*2,e[3]=(C-b)/D,e[0]=(v+_)/D,e[1]=.25*D,e[2]=(w+k)/D):(D=Math.sqrt(1+R-m-A)*2,e[3]=(v-_)/D,e[0]=(C+b)/D,e[1]=(w+k)/D,e[2]=.25*D),e}function x_t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,p=i*c,d=i*l,h=a*c,g=a*l,m=o*l,v=s*u,b=s*c,_=s*l,A=n[0],w=n[1],C=n[2];return e[0]=(1-(h+m))*A,e[1]=(p+_)*A,e[2]=(d-b)*A,e[3]=0,e[4]=(p-_)*w,e[5]=(1-(f+m))*w,e[6]=(g+v)*w,e[7]=0,e[8]=(d+b)*C,e[9]=(g-v)*C,e[10]=(1-(f+h))*C,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function v_t(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,p=a*c,d=a*l,h=a*f,g=o*l,m=o*f,v=s*f,b=u*c,_=u*l,A=u*f,w=n[0],C=n[1],k=n[2],R=i[0],S=i[1],D=i[2],I=(1-(g+v))*w,M=(d+A)*w,G=(h-_)*w,z=(d-A)*C,X=(1-(p+v))*C,Y=(m+b)*C,le=(h+_)*k,ue=(m-b)*k,ce=(1-(p+g))*k;return e[0]=I,e[1]=M,e[2]=G,e[3]=0,e[4]=z,e[5]=X,e[6]=Y,e[7]=0,e[8]=le,e[9]=ue,e[10]=ce,e[11]=0,e[12]=r[0]+R-(I*R+z*S+le*D),e[13]=r[1]+S-(M*R+X*S+ue*D),e[14]=r[2]+D-(G*R+Y*S+ce*D),e[15]=1,e}function aL(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,v=a*u;return e[0]=1-f-h,e[1]=l+v,e[2]=p-m,e[3]=0,e[4]=l-v,e[5]=1-c-h,e[6]=d+g,e[7]=0,e[8]=p+m,e[9]=d-g,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function oL(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function $xe(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var sL=$xe;function y_t(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function b_t(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*c*.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 Wxe(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var uL=Wxe;function __t(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function cL(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],g=t[1],m=t[2],v=n[0],b=n[1],_=n[2],A=r[0],w=r[1],C=r[2];return Math.abs(h-A)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(m-C)<1e-6?zxe(e):(f=h-A,p=g-w,d=m-C,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=b*d-_*p,o=_*f-v*d,s=v*p-b*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=p*s-d*o,c=d*a-f*s,l=f*o-p*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(a*h+o*g+s*m),e[13]=-(u*h+c*g+l*m),e[14]=-(f*h+p*g+d*m),e[15]=1,e)}function w_t(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-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=u*p-c*f,g=c*l-s*p,m=s*f-u*l;return d=h*h+g*g+m*m,d>0&&(d=1/Math.sqrt(d),h*=d,g*=d,m*=d),e[0]=h,e[1]=g,e[2]=m,e[3]=0,e[4]=f*m-p*g,e[5]=p*h-l*m,e[6]=l*g-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function E_t(e){return"mat4(".concat(e[0],", ").concat(e[1],", ").concat(e[2],", ").concat(e[3],", ").concat(e[4],", ").concat(e[5],", ").concat(e[6],", ").concat(e[7],", ").concat(e[8],", ").concat(e[9],", ").concat(e[10],", ").concat(e[11],", ").concat(e[12],", ").concat(e[13],", ").concat(e[14],", ").concat(e[15],")")}function A_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 T_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 Kxe(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 S_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 C_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 D_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 F_t(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],p=e[10],d=e[11],h=e[12],g=e[13],m=e[14],v=e[15],b=t[0],_=t[1],A=t[2],w=t[3],C=t[4],k=t[5],R=t[6],S=t[7],D=t[8],I=t[9],M=t[10],G=t[11],z=t[12],X=t[13],Y=t[14],le=t[15];return Math.abs(r-b)<=1e-6*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(n-_)<=1e-6*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(i-A)<=1e-6*Math.max(1,Math.abs(i),Math.abs(A))&&Math.abs(a-w)<=1e-6*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(o-C)<=1e-6*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(s-k)<=1e-6*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(u-R)<=1e-6*Math.max(1,Math.abs(u),Math.abs(R))&&Math.abs(c-S)<=1e-6*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(l-D)<=1e-6*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(f-I)<=1e-6*Math.max(1,Math.abs(f),Math.abs(I))&&Math.abs(p-M)<=1e-6*Math.max(1,Math.abs(p),Math.abs(M))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-z)<=1e-6*Math.max(1,Math.abs(h),Math.abs(z))&&Math.abs(g-X)<=1e-6*Math.max(1,Math.abs(g),Math.abs(X))&&Math.abs(m-Y)<=1e-6*Math.max(1,Math.abs(m),Math.abs(Y))&&Math.abs(v-le)<=1e-6*Math.max(1,Math.abs(v),Math.abs(le))}var k_t=lb,B_t=Kxe;function O_t(){let e=new an(4);return an!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Xxe(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 Jxe(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 Yxe(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function Qxe(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function Zxe(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function eve(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function tve(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function rve(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function nve(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,d=-o*n-s*i-u*a;return e[0]=l*c+d*-o+f*-u-p*-s,e[1]=f*c+d*-s+p*-o-l*-u,e[2]=p*c+d*-u+l*-s-f*-o,e[3]=t[3],e}var Zir=function(){let e=O_t();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(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 pL;(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"})(pL||(pL={}));var P_t=45*Math.PI/180,R_t=1,lL=.1,fL=500,M_t=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),kr=class extends Og{static get IDENTITY(){return L_t()}static get ZERO(){return j_t()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return pL}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,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=h,this[14]=g,this[15]=m,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=a,this[2]=c,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]=g,this[12]=i,this[13]=u,this[14]=p,this[15]=m,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(M_t)}fromObject(t){return this.check()}fromQuaternion(t){return aL(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=lL,far:s=fL}=t;return s===1/0?q_t(this,r,n,i,a,o):oL(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return cL(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=lL,far:s=fL}=t;return uL(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=P_t,aspect:n=R_t,focalDistance:i=1,near:a=lL,far:o=fL}=t;ive(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return ive(r),sL(this,r,n,i,a),this.check()}determinant(){return Qj(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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return Jj(this,this),this.check()}invert(){return Yj(this,this),this.check()}multiplyLeft(t){return lb(this,t,this),this.check()}multiplyRight(t){return lb(this,this,t),this.check()}rotateX(t){return rL(this,this,t),this.check()}rotateY(t){return nL(this,this,t),this.check()}rotateZ(t){return iL(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return tL(this,this,t,r),this.check()}scale(t){return eL(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return Zj(this,this,t),this.check()}transform(t,r){return t.length===4?(r=rve(r||[-0,-0,-0,-0],t,this),ep(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=n8(r||[-0,-0],t,this);break;case 3:i=Zd(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=i8(r||[-0,-0],t,this);break;case 3:n=a8(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return ep(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])}},h8,m8;function j_t(){return h8||(h8=new kr([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(h8)),h8}function L_t(){return m8||(m8=new kr,Object.freeze(m8)),m8}function ive(e){if(e>Math.PI*2)throw Error("expected radians")}function q_t(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,p=-2*a;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]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function ave(){let e=new an(4);return an!=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 dL(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 hL(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function sve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function uve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function cve(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function lve(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function fb(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],p,d,h,g,m;return p=i*u+a*c+o*l+s*f,p<0&&(p=-p,u=-u,c=-c,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),m=Math.sin(d),h=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(h=1-n,g=n),e[0]=h*i+g*u,e[1]=h*a+g*c,e[2]=h*o+g*l,e[3]=h*s+g*f,e}function fve(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*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 mL(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 i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var dve=Xxe;var hve=Jxe,mve=eve,gve=tve,xve=Yxe;var vve=Qxe;var yve=Zxe;var bve=function(){let e=s8(),t=u8(1,0,0),r=u8(0,1,0);return function(n,i,a){let o=sb(i,a);return o<-.999999?(Qd(e,t,i),Vj(e)<1e-6&&Qd(e,r,i),Nj(e,e),dL(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Qd(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,yve(n,n))}}(),dar=function(){let e=ave(),t=ave();return function(r,n,i,a,o,s){return fb(e,n,o,s),fb(t,i,a,s),fb(r,e,t,2*s*(1-s)),r}}(),har=function(){let e=Mxe();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],yve(t,mL(t,e))}}();var N_t=[0,0,0,1],Vu=class extends Zf{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}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,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 mL(this,t),this.check()}fromAxisRotation(t,r){return dL(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 xve(this)}lengthSquared(){return vve(this)}dot(t){return mve(this,t)}rotationTo(t,r){return bve(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 hL(this,this,t),this.check()}multiplyLeft(t){return hL(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 uve(this,this,t),this.check()}rotateZ(t){return cve(this,this,t),this.check()}scale(t){return hve(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=N_t,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return fb(this,i,a,o),this.check()}transformVector4(t,r=new Mo){return nve(r,t,this),ep(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 Bs={};zn(Bs,{EPSILON1:()=>U_t,EPSILON10:()=>J_t,EPSILON11:()=>Y_t,EPSILON12:()=>Q_t,EPSILON13:()=>Z_t,EPSILON14:()=>ewt,EPSILON15:()=>twt,EPSILON16:()=>rwt,EPSILON17:()=>nwt,EPSILON18:()=>iwt,EPSILON19:()=>awt,EPSILON2:()=>G_t,EPSILON20:()=>owt,EPSILON3:()=>z_t,EPSILON4:()=>H_t,EPSILON5:()=>V_t,EPSILON6:()=>$_t,EPSILON7:()=>W_t,EPSILON8:()=>K_t,EPSILON9:()=>X_t,PI_OVER_FOUR:()=>uwt,PI_OVER_SIX:()=>cwt,PI_OVER_TWO:()=>swt,TWO_PI:()=>lwt});var U_t=.1,G_t=.01,z_t=.001,H_t=1e-4,V_t=1e-5,$_t=1e-6,W_t=1e-7,K_t=1e-8,X_t=1e-9,J_t=1e-10,Y_t=1e-11,Q_t=1e-12,Z_t=1e-13,ewt=1e-14,twt=1e-15,rwt=1e-16,nwt=1e-17,iwt=1e-18,awt=1e-19,owt=1e-20,swt=Math.PI/2,uwt=Math.PI/4,cwt=Math.PI/6,lwt=Math.PI*2;var ul=6356752314245179e-9,fwt={radii:[6378137,6378137,ul],radiiSquared:[6378137*6378137,6378137*6378137,ul*ul],oneOverRadii:[1/6378137,1/6378137,1/ul],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(ul*ul)],maximumRadius:Math.max(6378137,6378137,ul),centerToleranceSquared:.1};function g8(e){return e}var $ar=new ne;function pwt(e,t=[],r=g8){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 pwt(e,t,Lr._cartographicRadians?g8:Mj)}function dwt(e,t,r=g8){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 dwt(e,t,Lr._cartographicRadians?g8:jj)}var Eve=1e-14,hwt=new ne,Ave={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"}},gL={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},pb={east:new ne,north:new ne,up:new ne,west:new ne,south:new ne,down:new ne},mwt=new ne,gwt=new ne,xwt=new ne;function xL(e,t,r,n,i,a){let o=Ave[t]&&Ave[t][r];hi(o&&(!n||n===o));let s,u,c,l=hwt.copy(i);if(eo(l.x,0,Eve)&&eo(l.y,0,Eve)){let p=Math.sign(l.z);s=mwt.fromArray(gL[t]),t!=="east"&&t!=="west"&&s.scale(p),u=gwt.fromArray(gL[r]),r!=="east"&&r!=="west"&&u.scale(p),c=xwt.fromArray(gL[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=pb;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:g,west:m,south:v}=pb;g.copy(p).scale(-1),m.copy(d).scale(-1),v.copy(h).scale(-1),s=pb[t],u=pb[r],c=pb[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var Ig=new ne,vwt=new ne,ywt=new ne;function Tve(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;Ig.from(e);let o=Ig.x,s=Ig.y,u=Ig.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,h=u*u*f*f,g=p+d+h,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let v=vwt;if(v.copy(e).scale(m),g<a)return v.to(r);let b=i.x,_=i.y,A=i.z,w=ywt;w.set(v.x*b*2,v.y*_*2,v.z*A*2);let C=(1-m)*Ig.len()/(.5*w.len()),k=0,R,S,D,I;do{C-=k,R=1/(1+C*b),S=1/(1+C*_),D=1/(1+C*A);let M=R*R,G=S*S,z=D*D,X=M*R,Y=G*S,le=z*D;I=p*M+d*G+h*z-1;let ce=-2*(p*X*b+d*Y*_+h*le*A);k=I/ce}while(Math.abs(I)>Bs.EPSILON12);return Ig.scale([R,S,D]).to(r)}var x8=new ne,Sve=new ne,wwt=new ne,Os=new ne,Ewt=new ne,v8=new ne,Nt=class{constructor(t=0,r=0,n=0){gt(this,"radii",void 0),gt(this,"radiiSquared",void 0),gt(this,"radiiToTheFourth",void 0),gt(this,"oneOverRadii",void 0),gt(this,"oneOverRadiiSquared",void 0),gt(this,"minimumRadius",void 0),gt(this,"maximumRadius",void 0),gt(this,"centerToleranceSquared",Bs.EPSILON1),gt(this,"squaredXOverSquaredZ",void 0),hi(t>=0),hi(r>=0),hi(n>=0),this.radii=new ne(t,r,n),this.radiiSquared=new ne(t*t,r*r,n*n),this.radiiToTheFourth=new ne(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new ne(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new ne(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=Sve,i=wwt,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){v8.from(t);let n=this.scaleToGeodeticSurface(v8,Os);if(!n)return;let i=this.geodeticSurfaceNormal(n,Sve),a=Ewt;a.copy(v8).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Bg.dot(a,v8))*Bg.length(a);return wve([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new kr){return xL(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new kr){return xL(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return x8.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=_ve(t),i=n[0],a=n[1],o=Math.cos(a);return x8.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),x8.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return x8.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return Tve(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Os.from(t);let n=Os.x,i=Os.y,a=Os.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return Os.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Os.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Os.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){hi(eo(this.radii.x,this.radii.y,Bs.EPSILON15)),hi(this.radii.z>0),Os.from(t);let i=Os.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Os.set(0,0,i).to(n)}};gt(Nt,"WGS84",new Nt(6378137,6378137,ul));var mi={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var hor=new ne,mor=new ne;var db=new ne,Cve=new ne,la=class{constructor(t=[0,0,0],r=0){gt(this,"center",void 0),gt(this,"radius",void 0),this.radius=-0,this.center=new ne,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=db.from(r),this.center=new ne().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 la(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=db.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return Cve.copy(o).scale((-n+u)/s).add(r),this.center.copy(Cve),this.radius=u,this}expand(t){let n=db.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=d8.getScaling(db,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=db.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?mi.OUTSIDE:a<n?mi.INTERSECTING:mi.INSIDE}};var Awt=new ne,Twt=new ne,y8=new ne,b8=new ne,_8=new ne,Swt=new ne,Cwt=new ne,cl={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},gi=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){gt(this,"center",void 0),gt(this,"halfAxes",void 0),this.center=new ne().from(t),this.halfAxes=new pr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ne(t).len(),new ne(r).len(),new ne(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new ne(t).normalize(),a=new ne(r).normalize(),o=new ne(n).normalize();return new Vu().fromMatrix3(new pr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new Vu(n),a=new pr().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new ne().from(t),this.halfAxes=a,this}clone(){return new gi(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new la){let r=this.halfAxes,n=r.getColumn(0,y8),i=r.getColumn(1,b8),a=r.getColumn(2,_8),o=Awt.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[cl.COLUMN0ROW0]+o*i[cl.COLUMN0ROW1]+s*i[cl.COLUMN0ROW2])+Math.abs(a*i[cl.COLUMN1ROW0]+o*i[cl.COLUMN1ROW1]+s*i[cl.COLUMN1ROW2])+Math.abs(a*i[cl.COLUMN2ROW0]+o*i[cl.COLUMN2ROW1]+s*i[cl.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?mi.OUTSIDE:c>=u?mi.INSIDE:mi.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=Twt.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,y8),a=n.getColumn(1,b8),o=n.getColumn(2,_8),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,y8),c=s.getColumn(1,b8),l=s.getColumn(2,_8),f=Swt.copy(u).add(c).add(l).add(o),p=Cwt.copy(f).subtract(t),d=r.dot(p);return i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,y8);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,b8);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,_8);return i.transformAsPoint(t),this.halfAxes=new pr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var Dve=new ne,Fve=new ne,ll=class{constructor(t=[0,0,1],r=0){gt(this,"normal",void 0),gt(this,"distance",void 0),this.normal=new ne,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return hi(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,i){return this.normal.set(t,r,n),hi(eo(this.normal.len(),1)),this.distance=i,this}clone(){return new ll(this.normal,this.distance)}equals(t){return eo(this.distance,t.distance)&&eo(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=Fve.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),i=this.getPointDistance(n),a=Fve.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var kve=[new ne([1,0,0]),new ne([0,1,0]),new ne([0,0,1])],Bve=new ne,Dwt=new ne,jo=class{constructor(t=[]){gt(this,"planes",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*kve.length;let r=t.center,n=t.radius,i=0;for(let a of kve){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new ll),s||(s=this.planes[i+1]=new ll);let u=Bve.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=Bve.copy(a).scale(n).add(r),l=Dwt.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=mi.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case mi.OUTSIDE:return mi.OUTSIDE;case mi.INTERSECTING:r=mi.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(hi(Number.isFinite(r),"parentPlaneMask is required."),r===jo.MASK_OUTSIDE||r===jo.MASK_INSIDE)return r;let n=jo.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===mi.OUTSIDE)return jo.MASK_OUTSIDE;u===mi.INTERSECTING&&(n|=o)}return n}};gt(jo,"MASK_OUTSIDE",4294967295);gt(jo,"MASK_INSIDE",0);gt(jo,"MASK_INDETERMINATE",2147483647);var Lor=new ne,qor=new ne,Nor=new ne,Uor=new ne,Gor=new ne;var kwt=new ne,Bwt=new ne,Owt=new ne,Iwt=new ne,Pwt=new ne,Rwt=new ne,Mwt=new ne,Pg=new ne,jwt=new ne,Lwt=new ne,qwt=new ne,Nwt=new ne;function vL(e,t=new la){if(!e||e.length===0)return t.fromCenterRadius([0,0,0],0);let r=Mwt.copy(e[0]),n=kwt.copy(r),i=Bwt.copy(r),a=Owt.copy(r),o=Iwt.copy(r),s=Pwt.copy(r),u=Rwt.copy(r);for(let C of e){r.copy(C);let k=r.x,R=r.y,S=r.z;k<n.x&&n.copy(r),k>o.x&&o.copy(r),R<i.y&&i.copy(r),R>s.y&&s.copy(r),S<a.z&&a.copy(r),S>u.z&&u.copy(r)}let c=Pg.copy(o).subtract(n).magnitudeSquared(),l=Pg.copy(s).subtract(i).magnitudeSquared(),f=Pg.copy(u).subtract(a).magnitudeSquared(),p=n,d=o,h=c;l>h&&(h=l,p=i,d=s),f>h&&(h=f,p=a,d=u);let g=jwt;g.x=(p.x+d.x)*.5,g.y=(p.y+d.y)*.5,g.z=(p.z+d.z)*.5;let m=Pg.copy(d).subtract(g).magnitudeSquared(),v=Math.sqrt(m),b=Lwt;b.x=n.x,b.y=i.y,b.z=a.z;let _=qwt;_.x=o.x,_.y=s.y,_.z=u.z;let A=Nwt.copy(b).add(_).multiplyByScalar(.5),w=0;for(let C of e){r.copy(C);let k=Pg.copy(r).subtract(A).magnitude();k>w&&(w=k);let R=Pg.copy(r).subtract(g).magnitudeSquared();if(R>m){let S=Math.sqrt(R);v=(v+S)*.5,m=v*v;let D=S-v;g.x=(v*g.x+D*r.x)/S,g.y=(v*g.y+D*r.y)/S,g.z=(v*g.z+D*r.z)/S}}return v<w?(g.to(t.center),t.radius=v):(A.to(t.center),t.radius=w),t}var $u=new pr,Uwt=new pr,Gwt=new pr,w8=new pr,Ove=new pr;function _L(e,t={}){let r=Bs.EPSILON20,n=10,i=0,a=0,o=Uwt,s=Gwt;o.identity(),s.copy(e);let u=r*zwt(s);for(;a<n&&Hwt(s)>u;)Vwt(s,w8),Ove.copy(w8).transpose(),s.multiplyRight(w8),s.multiplyLeft(Ove),o.multiplyRight(w8),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function zwt(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var yL=[1,0,0],bL=[2,2,1];function Hwt(e){let t=0;for(let r=0;r<3;++r){let n=e[$u.getElementIndex(bL[r],yL[r])];t+=2*n*n}return Math.sqrt(t)}function Vwt(e,t){let r=Bs.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[$u.getElementIndex(bL[c],yL[c])]);l>n&&(i=c,n=l)}let a=yL[i],o=bL[i],s=1,u=0;if(Math.abs(e[$u.getElementIndex(o,a)])>r){let c=e[$u.getElementIndex(o,o)],l=e[$u.getElementIndex(a,a)],f=e[$u.getElementIndex(o,a)],p=(c-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),u=d*s}return pr.IDENTITY.to(t),t[$u.getElementIndex(a,a)]=t[$u.getElementIndex(o,o)]=s,t[$u.getElementIndex(o,a)]=u,t[$u.getElementIndex(a,o)]=-u,t}var rp=new ne,Wwt=new ne,Kwt=new ne,Xwt=new ne,Jwt=new ne,Ywt=new pr,Qwt={diagonal:new pr,unitary:new pr};function wL(e,t=new gi){if(!e||e.length===0)return t.halfAxes=new pr([0,0,0,0,0,0,0,0,0]),t.center=new ne,t;let r=e.length,n=new ne(0,0,0);for(let S of e)n.add(S);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let S of e){let D=rp.copy(S).subtract(n);a+=D.x*D.x,o+=D.x*D.y,s+=D.x*D.z,u+=D.y*D.y,c+=D.y*D.z,l+=D.z*D.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=Ywt;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:p}=_L(f,Qwt),d=t.halfAxes.copy(p),h=d.getColumn(0,Kwt),g=d.getColumn(1,Xwt),m=d.getColumn(2,Jwt),v=-Number.MAX_VALUE,b=-Number.MAX_VALUE,_=-Number.MAX_VALUE,A=Number.MAX_VALUE,w=Number.MAX_VALUE,C=Number.MAX_VALUE;for(let S of e)rp.copy(S),v=Math.max(rp.dot(h),v),b=Math.max(rp.dot(g),b),_=Math.max(rp.dot(m),_),A=Math.min(rp.dot(h),A),w=Math.min(rp.dot(g),w),C=Math.min(rp.dot(m),C);h=h.multiplyByScalar(.5*(A+v)),g=g.multiplyByScalar(.5*(w+b)),m=m.multiplyByScalar(.5*(C+_)),t.center.copy(h).add(g).add(m);let k=Wwt.set(v-A,b-w,_-C).multiplyByScalar(.5),R=new pr([k[0],0,0,0,k[1],0,0,0,k[2]]);return t.halfAxes.multiplyRight(R),t}function Mve(e){return e!=null}var _sr=new ne,Zwt=new ne,eEt=new ne,tEt=new ne,eh=new ne,Ive=new ne,Pve=new ne,Rve=new ne;function hb(e,t,r){if(Et(e,"3D Tile: boundingVolume must be defined"),e.box)return jve(e.box,t,r);if(e.region)return nEt(e.region);if(e.sphere)return rEt(e.sphere,t,r);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function jve(e,t,r){let n=new ne(e[0],e[1],e[2]);t.transform(n,n);let i=[];if(e.length===10){let c=e.slice(3,6),l=new Vu;l.fromArray(e,6);let f=new ne([1,0,0]),p=new ne([0,1,0]),d=new ne([0,0,1]);f.transformByQuaternion(l),f.scale(c[0]),p.transformByQuaternion(l),p.scale(c[1]),d.transformByQuaternion(l),d.scale(c[2]),i=[...f.toArray(),...p.toArray(),...d.toArray()]}else i=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let a=t.transformAsVector(i.slice(0,3)),o=t.transformAsVector(i.slice(3,6)),s=t.transformAsVector(i.slice(6,9)),u=new pr([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return Mve(r)?(r.center=n,r.halfAxes=u,r):new gi(n,u)}function rEt(e,t,r){let n=new ne(e[0],e[1],e[2]);t.transform(n,n);let i=t.getScale(Zwt),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return Mve(r)?(r.center=n,r.radius=o,r):new la(n,o)}function nEt(e){let[t,r,n,i,a,o]=e,s=Nt.WGS84.cartographicToCartesian([sl(t),sl(i),a],eEt),u=Nt.WGS84.cartographicToCartesian([sl(n),sl(r),o],tEt),c=new ne().addVectors(s,u).multiplyByScalar(.5);return Nt.WGS84.cartesianToCartographic(c,eh),Nt.WGS84.cartographicToCartesian([sl(n),eh[1],eh[2]],Ive),Nt.WGS84.cartographicToCartesian([eh[0],sl(i),eh[2]],Pve),Nt.WGS84.cartographicToCartesian([eh[0],eh[1],o],Rve),jve([...c,...Ive.subtract(c),...Pve.subtract(c),...Rve.subtract(c)],new kr)}var Rg="4.3.0-alpha.6";var Lo={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},Ssr=Object.keys(Lo),np={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function EL(e,t,r){Et(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,t,r);return n.decode(i)}function Lve(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 E8="4.3.0-alpha.6";var qve={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:E8,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}};function Uve(e,t,r){let n=Gve(t.metadata),i=[],a=iEt(t.attributes);for(let o in e){let s=e[o],u=Nve(o,s,a[o]);i.push(u)}if(r){let o=Nve("indices",r);i.push(o)}return{fields:i,metadata:n}}function iEt(e){let t={};for(let r in e){let n=e[r];t[n.name||"undefined"]=n}return t}function Nve(e,t,r){let n=r?Gve(r.metadata):void 0;return Pj(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 zve={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},aEt={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},oEt=4,mb=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 i=this.decoder.GetEncodedGeometryType(n),a=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,a);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,a);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!a.ptr){let p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}let s=this._getDracoLoaderData(a,i,r),u=this._getMeshData(a,s,r),c=Ij(u.attributes),l=Uve(u.attributes,s,u.indices);return{loader:"draco",loaderData:s,header:{vertexCount:a.num_points(),boundingBox:c},...u,schema:l}}finally{this.draco.destroy(n),a&&this.draco.destroy(a)}}_getDracoLoaderData(t,r,n){let i=this._getTopLevelMetadata(t),a=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:i,attributes:a}}_getDracoAttributes(t,r){let n={};for(let i=0;i<t.num_attributes();i++){let a=this.decoder.GetAttribute(t,i),o=this._getAttributeMetadata(t,i);n[a.unique_id()]={unique_id:a.unique_id(),attribute_type:a.attribute_type(),data_type:a.data_type(),num_components:a.num_components(),byte_offset:a.byte_offset(),byte_stride:a.byte_stride(),normalized:a.normalized(),attribute_index:i,metadata:o};let s=this._getQuantizationTransform(a,r);s&&(n[a.unique_id()].quantization_transform=s);let u=this._getOctahedronTransform(a,r);u&&(n[a.unique_id()].octahedron_transform=u)}return n}_getMeshData(t,r,n){let i=this._getMeshAttributes(r,t,n);if(!i.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:i,indices:{value:this._getTriangleStripIndices(t),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(t),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(t,r,n){let i={};for(let a of Object.values(t.attributes)){let o=this._deduceAttributeName(a,n);a.name=o;let s=this._getAttributeValues(r,a);if(s){let{value:u,size:c}=s;i[o]={value:u,size:c,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}}return i}_getTriangleListIndices(t){let n=t.num_faces()*3,i=n*oEt,a=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(t,i,a),new Uint32Array(this.draco.HEAPF32.buffer,a,n).slice()}finally{this.draco._free(a)}}_getTriangleStripIndices(t){let r=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(t,r),cEt(r)}finally{this.draco.destroy(r)}}_getAttributeValues(t,r){let n=aEt[r.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${r.data_type}`),null;let i=r.num_components,o=t.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=sEt(this.draco,n),c,l=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(t,r.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(t,f,u,s,l),c=new n(this.draco.HEAPF32.buffer,l,o).slice()}finally{this.draco._free(l)}return{value:c,size:i}}_deduceAttributeName(t,r){let n=t.unique_id;for(let[o,s]of Object.entries(r.extraAttributes||{}))if(s===n)return o;let i=t.attribute_type;for(let o in zve)if(this.draco[o]===i)return zve[o];let a=r.attributeNameEntry||"name";return t.metadata[a]?t.metadata[a].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 i=0;i<n;i++){let a=this.metadataQuerier.GetEntryName(t,i);r[a]=this._getDracoMetadataField(t,a)}return r}_getDracoMetadataField(t,r){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(t,r,n);let i=uEt(n);return{int:this.metadataQuerier.GetIntEntry(t,r),string:this.metadataQuerier.GetStringEntry(t,r),double:this.metadataQuerier.GetDoubleEntry(t,r),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(t){let{quantizedAttributes:r=[],octahedronAttributes:n=[]}=t,i=[...r,...n];for(let a of i)this.decoder.SkipAttributeTransform(this.draco[a])}_getQuantizationTransform(t,r){let{quantizedAttributes:n=[]}=r,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){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,i=t.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){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 sEt(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 uEt(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}function cEt(e){let t=e.size(),r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=e.GetValue(n);return r}var lEt="1.5.6",fEt="1.4.1",AL=`https://www.gstatic.com/draco/versioned/decoders/${lEt}`,An={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},ip={[An.DECODER]:`${AL}/${An.DECODER}`,[An.DECODER_WASM]:`${AL}/${An.DECODER_WASM}`,[An.FALLBACK_DECODER]:`${AL}/${An.FALLBACK_DECODER}`,[An.ENCODER]:`https://raw.githubusercontent.com/google/draco/${fEt}/javascript/${An.ENCODER}`},TL;async function Hve(e){let t=e.modules||{};return t.draco3d?TL||(TL=t.draco3d.createDecoderModule({}).then(r=>({draco:r}))):TL||(TL=pEt(e)),await TL}async function pEt(e){let t,r;switch(e.draco&&e.draco.decoderType){case"js":t=await bu(ip[An.FALLBACK_DECODER],"draco",e,An.FALLBACK_DECODER);break;case"wasm":default:[t,r]=await Promise.all([await bu(ip[An.DECODER],"draco",e,An.DECODER),await bu(ip[An.DECODER_WASM],"draco",e,An.DECODER_WASM)])}return t=t||globalThis.DracoDecoderModule,await dEt(t,r)}function dEt(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e({...r,onModuleLoaded:i=>n({draco:i})})})}var SL={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:E8,worker:!0,options:{draco:{},source:null}};var Mg={...qve,parse:hEt};async function hEt(e,t){let{draco:r}=await Hve(t),n=new mb(r);try{return n.parseSync(e,t==null?void 0:t.draco)}finally{n.destroy()}}var mEt={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},On={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},xt={...mEt,...On};var CL={[On.DOUBLE]:Float64Array,[On.FLOAT]:Float32Array,[On.UNSIGNED_SHORT]:Uint16Array,[On.UNSIGNED_INT]:Uint32Array,[On.UNSIGNED_BYTE]:Uint8Array,[On.BYTE]:Int8Array,[On.SHORT]:Int16Array,[On.INT]:Int32Array},gEt={DOUBLE:On.DOUBLE,FLOAT:On.FLOAT,UNSIGNED_SHORT:On.UNSIGNED_SHORT,UNSIGNED_INT:On.UNSIGNED_INT,UNSIGNED_BYTE:On.UNSIGNED_BYTE,BYTE:On.BYTE,SHORT:On.SHORT,INT:On.INT},DL="Failed to convert GL type",Ji=class{static fromTypedArray(t){t=ArrayBuffer.isView(t)?t.constructor:t;for(let r in CL)if(CL[r]===t)return r;throw new Error(DL)}static fromName(t){let r=gEt[t];if(!r)throw new Error(DL);return r}static getArrayType(t){switch(t){case On.UNSIGNED_SHORT_5_6_5:case On.UNSIGNED_SHORT_4_4_4_4:case On.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let r=CL[t];if(!r)throw new Error(DL);return r}}static getByteSize(t){return Ji.getArrayType(t).BYTES_PER_ELEMENT}static validate(t){return Boolean(Ji.getArrayType(t))}static createTypedArray(t,r,n=0,i){i===void 0&&(i=(r.byteLength-n)/Ji.getByteSize(t));let a=Ji.getArrayType(t);return new a(r,n,i)}};function Vve(e,t){if(!e)throw new Error(`math.gl assertion failed. ${t}`)}function FL(e,t=[0,0,0]){let r=e>>11&31,n=e>>5&63,i=e&31;return t[0]=r<<3,t[1]=n<<2,t[2]=i<<3,t}var eur=1/256;var tur=new Yd,rur=new ne,nur=new Yd,iur=new Yd,aur=new Uint8Array(1);function $ve(e,t=255){return Lj(e,0,t)/t*2-1}function Wve(e){return e<0?-1:1}function Kve(e,t,r,n){if(Vve(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=$ve(e,r),n.y=$ve(t,r),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*Wve(i),n.y=(1-Math.abs(i))*Wve(n.y)}return n.normalize()}function kL(e,t,r){return Kve(e,t,255,r)}function A8(e){return(e%1+1)%1}var xEt=1/Math.PI*180,vEt=1/180*Math.PI,yEt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...yEt}};var on=globalThis.mathgl.config;function BL(e,{precision:t=on.precision}={}){return e=bEt(e),`${parseFloat(e.toPrecision(t))}`}function Wu(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function OL(e){return Xve(e)}function IL(e){return Jve(e)}function Xve(e,t){return Yve(e,r=>r*vEt,t)}function Jve(e,t){return Yve(e,r=>r*xEt,t)}function to(e,t,r){let n=on.EPSILON;r&&(on.EPSILON=r);try{if(e===t)return!0;if(Wu(e)&&Wu(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!to(e[i],t[i]))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)<=on.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{on.EPSILON=n}}function bEt(e){return Math.round(e/on.EPSILON)*on.EPSILON}function _Et(e){return e.clone?e.clone():new Array(e.length)}function Yve(e,t,r){if(Wu(e)){let n=e;r=r||_Et(n);for(let i=0;i<r.length&&i<n.length;++i){let a=typeof e=="number"?e:e[i];r[i]=t(a,i,r)}return r}return t(e)}var ap=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:Wu(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(on)}formatString(t){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+BL(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(!to(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 i=0;i<this.ELEMENTS;++i){let a=t[i],o=typeof r=="number"?r:r[i];this[i]=a+n*(o-a)}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(on.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 wEt(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 dr(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function op(e,t,r=""){if(on.debug&&!wEt(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function xi(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var jg=class extends ap{get x(){return this[0]}set x(t){this[0]=dr(t)}get y(){return this[1]}set y(t){this[1]=dr(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 i=this[n]-t[n];r+=i*i}return dr(r)}dot(t){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*t[n];return dr(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 xi(t>=0&&t<this.ELEMENTS,"index is out of range"),dr(this[t])}setComponent(t,r){return xi(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 sn=typeof Float32Array<"u"?Float32Array:Array,gb=Math.random;function Lg(e){return e>=0?Math.round(e):e%.5===0?Math.floor(e):Math.round(e)}var jur=Math.PI/180;function EEt(){let e=new sn(2);return sn!=Float32Array&&(e[0]=0,e[1]=0),e}function Qve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e}function Zve(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e}var Lur=function(){let e=EEt();return function(t,r,n,i,a,o){let s,u;for(r||(r=2),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}();function eye(e,t,r){let n=t[0],i=t[1],a=r[3]*n+r[7]*i||1;return e[0]=(r[0]*n+r[4]*i)/a,e[1]=(r[1]*n+r[5]*i)/a,e}function T8(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a||1;return e[0]=(r[0]*n+r[4]*i+r[8]*a)/o,e[1]=(r[1]*n+r[5]*i+r[9]*a)/o,e[2]=(r[2]*n+r[6]*i+r[10]*a)/o,e}function tye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e}function rye(e,t,r){let n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e[2]=t[2],e[3]=t[3],e}function S8(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[3]*i+r[6]*a,e[1]=r[1]*n+r[4]*i+r[7]*a,e[2]=r[2]*n+r[5]*i+r[8]*a,e[3]=t[3],e}var Ng={};zn(Ng,{add:()=>DEt,angle:()=>LL,bezier:()=>UEt,ceil:()=>FEt,clone:()=>TEt,copy:()=>SEt,create:()=>C8,cross:()=>th,dist:()=>JEt,distance:()=>sye,div:()=>XEt,divide:()=>oye,dot:()=>xb,equals:()=>$Et,exactEquals:()=>VEt,floor:()=>kEt,forEach:()=>ZEt,fromValues:()=>D8,hermite:()=>NEt,inverse:()=>jEt,len:()=>qL,length:()=>nye,lerp:()=>LEt,max:()=>OEt,min:()=>BEt,mul:()=>KEt,multiply:()=>aye,negate:()=>MEt,normalize:()=>PL,random:()=>GEt,rotateX:()=>RL,rotateY:()=>ML,rotateZ:()=>jL,round:()=>IEt,scale:()=>PEt,scaleAndAdd:()=>REt,set:()=>CEt,slerp:()=>qEt,sqrDist:()=>YEt,sqrLen:()=>QEt,squaredDistance:()=>uye,squaredLength:()=>cye,str:()=>HEt,sub:()=>WEt,subtract:()=>iye,transformMat3:()=>vb,transformMat4:()=>rh,transformQuat:()=>yb,zero:()=>zEt});function C8(){let e=new sn(3);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function TEt(e){let t=new sn(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function nye(e){let t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}function D8(e,t,r){let n=new sn(3);return n[0]=e,n[1]=t,n[2]=r,n}function SEt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function CEt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function DEt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function iye(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function aye(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function oye(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function FEt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function kEt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function BEt(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 OEt(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 IEt(e,t){return e[0]=Lg(t[0]),e[1]=Lg(t[1]),e[2]=Lg(t[2]),e}function PEt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function REt(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 sye(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}function uye(e,t){let r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function cye(e){let t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function MEt(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function jEt(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function PL(e,t){let r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function xb(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function th(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e}function LEt(e,t,r,n){let i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}function qEt(e,t,r,n){let i=Math.acos(Math.min(Math.max(xb(t,r),-1),1)),a=Math.sin(i),o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a;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 NEt(e,t,r,n,i,a){let o=a*a,s=o*(2*a-3)+1,u=o*(a-2)+a,c=o*(a-1),l=o*(3-2*a);return e[0]=t[0]*s+r[0]*u+n[0]*c+i[0]*l,e[1]=t[1]*s+r[1]*u+n[1]*c+i[1]*l,e[2]=t[2]*s+r[2]*u+n[2]*c+i[2]*l,e}function UEt(e,t,r,n,i,a){let o=1-a,s=o*o,u=a*a,c=s*o,l=3*a*s,f=3*u*o,p=u*a;return e[0]=t[0]*c+r[0]*l+n[0]*f+i[0]*p,e[1]=t[1]*c+r[1]*l+n[1]*f+i[1]*p,e[2]=t[2]*c+r[2]*l+n[2]*f+i[2]*p,e}function GEt(e,t){t=t===void 0?1:t;let r=gb()*2*Math.PI,n=gb()*2-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}function rh(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}function vb(e,t,r){let n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}function yb(e,t,r){let n=r[0],i=r[1],a=r[2],o=r[3],s=t[0],u=t[1],c=t[2],l=i*c-a*u,f=a*s-n*c,p=n*u-i*s,d=i*p-a*f,h=a*l-n*p,g=n*f-i*l,m=o*2;return l*=m,f*=m,p*=m,d*=2,h*=2,g*=2,e[0]=s+l+d,e[1]=u+f+h,e[2]=c+p+g,e}function RL(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function ML(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function jL(e,t,r,n){let i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e}function LL(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2],u=Math.sqrt((r*r+n*n+i*i)*(a*a+o*o+s*s)),c=u&&xb(e,t)/u;return Math.acos(Math.min(Math.max(c,-1),1))}function zEt(e){return e[0]=0,e[1]=0,e[2]=0,e}function HEt(e){return`vec3(${e[0]}, ${e[1]}, ${e[2]})`}function VEt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function $Et(e,t){let r=e[0],n=e[1],i=e[2],a=t[0],o=t[1],s=t[2];return Math.abs(r-a)<=1e-6*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=1e-6*Math.max(1,Math.abs(i),Math.abs(s))}var WEt=iye,KEt=aye,XEt=oye,JEt=sye,YEt=uye,qL=nye,QEt=cye,ZEt=function(){let e=C8();return function(t,r,n,i,a,o){let s,u;for(r||(r=3),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}();var NL=[0,0,0],F8,ge=class extends jg{static get ZERO(){return F8||(F8=new ge(0,0,0),Object.freeze(F8)),F8}constructor(t=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Wu(t)?this.copy(t):(on.debug&&(dr(t),dr(r),dr(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 on.debug&&(dr(t.x),dr(t.y),dr(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]=dr(t)}angle(t){return LL(this,t)}cross(t){return th(this,this,t),this.check()}rotateX({radians:t,origin:r=NL}){return RL(this,this,r,t),this.check()}rotateY({radians:t,origin:r=NL}){return ML(this,this,r,t),this.check()}rotateZ({radians:t,origin:r=NL}){return jL(this,this,r,t),this.check()}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return rh(this,this,t),this.check()}transformAsVector(t){return T8(this,this,t),this.check()}transformByMatrix3(t){return vb(this,this,t),this.check()}transformByMatrix2(t){return tye(this,this,t),this.check()}transformByQuaternion(t){return yb(this,this,t),this.check()}};var k8,Ug=class extends jg{static get ZERO(){return k8||(k8=new Ug(0,0,0,0),Object.freeze(k8)),k8}constructor(t=0,r=0,n=0,i=0){super(-0,-0,-0,-0),Wu(t)&&arguments.length===1?this.copy(t):(on.debug&&(dr(t),dr(r),dr(n),dr(i)),this[0]=t,this[1]=r,this[2]=n,this[3]=i)}set(t,r,n,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 on.debug&&(dr(t.x),dr(t.y),dr(t.z),dr(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]=dr(t)}get w(){return this[3]}set w(t){this[3]=dr(t)}transform(t){return rh(this,this,t),this.check()}transformByMatrix3(t){return S8(this,this,t),this.check()}transformByMatrix2(t){return rye(this,this,t),this.check()}transformByQuaternion(t){return yb(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var Gg=class extends ap{toString(){let t="[";if(on.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]=dr(n),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(t,r){let n=t*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};function lye(){let e=new sn(9);return sn!=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 fye(e,t){if(e===t){let r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}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 pye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,d=c*a-o*u,h=r*f+n*p+i*d;return h?(h=1/h,e[0]=f*h,e[1]=(-l*n+i*c)*h,e[2]=(s*n-i*o)*h,e[3]=p*h,e[4]=(l*r-i*u)*h,e[5]=(-s*r+i*a)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*a)*h,e):null}function dye(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)}function UL(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1],h=r[2],g=r[3],m=r[4],v=r[5],b=r[6],_=r[7],A=r[8];return e[0]=p*n+d*o+h*c,e[1]=p*i+d*s+h*l,e[2]=p*a+d*u+h*f,e[3]=g*n+m*o+v*c,e[4]=g*i+m*s+v*l,e[5]=g*a+m*u+v*f,e[6]=b*n+_*o+A*c,e[7]=b*i+_*s+A*l,e[8]=b*a+_*u+A*f,e}function hye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],d=r[1];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=p*n+d*o+c,e[7]=p*i+d*s+l,e[8]=p*a+d*u+f,e}function mye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=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*i+p*s,e[2]=d*a+p*u,e[3]=d*o-p*n,e[4]=d*s-p*i,e[5]=d*u-p*a,e[6]=c,e[7]=l,e[8]=f,e}function zL(e,t,r){let n=r[0],i=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function gye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,v=a*u;return e[0]=1-f-h,e[3]=l-v,e[6]=p+m,e[1]=l+v,e[4]=1-c-h,e[7]=d-g,e[2]=p-m,e[5]=d+g,e[8]=1-c-f,e}var HL;(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"})(HL||(HL={}));var eAt=Object.freeze([1,0,0,0,1,0,0,0,1]),Yr=class extends Gg{static get IDENTITY(){return rAt()}static get ZERO(){return tAt()}get ELEMENTS(){return 9}get RANK(){return 3}get INDICES(){return HL}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(eAt)}fromObject(t){return this.check()}fromQuaternion(t){return gye(this,t),this.check()}set(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c){return this[0]=t,this[1]=i,this[2]=s,this[3]=r,this[4]=a,this[5]=u,this[6]=n,this[7]=o,this[8]=c,this.check()}determinant(){return dye(this)}transpose(){return fye(this,this),this.check()}invert(){return pye(this,this),this.check()}multiplyLeft(t){return UL(this,t,this),this.check()}multiplyRight(t){return UL(this,this,t),this.check()}rotate(t){return mye(this,this,t),this.check()}scale(t){return Array.isArray(t)?zL(this,this,t):zL(this,this,[t,t]),this.check()}translate(t){return hye(this,this,t),this.check()}transform(t,r){let n;switch(t.length){case 2:n=Qve(r||[-0,-0],t,this);break;case 3:n=vb(r||[-0,-0,-0],t,this);break;case 4:n=S8(r||[-0,-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(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)}},B8,O8=null;function tAt(){return B8||(B8=new Yr([0,0,0,0,0,0,0,0,0]),Object.freeze(B8)),B8}function rAt(){return O8||(O8=new Yr,Object.freeze(O8)),O8}var I8={};zn(I8,{add:()=>CAt,adjoint:()=>uAt,clone:()=>iAt,copy:()=>aAt,create:()=>nAt,decompose:()=>vAt,determinant:()=>WL,equals:()=>BAt,exactEquals:()=>kAt,frob:()=>SAt,fromQuat:()=>e7,fromQuat2:()=>mAt,fromRotation:()=>fAt,fromRotationTranslation:()=>yye,fromRotationTranslationScale:()=>yAt,fromRotationTranslationScaleOrigin:()=>bAt,fromScaling:()=>lAt,fromTranslation:()=>cAt,fromValues:()=>oAt,fromXRotation:()=>pAt,fromYRotation:()=>dAt,fromZRotation:()=>hAt,frustum:()=>t7,getRotation:()=>xAt,getScaling:()=>bye,getTranslation:()=>gAt,identity:()=>vye,invert:()=>$L,lookAt:()=>i7,mul:()=>OAt,multiply:()=>bb,multiplyScalar:()=>DAt,multiplyScalarAndAdd:()=>FAt,ortho:()=>n7,orthoNO:()=>wye,orthoZO:()=>EAt,perspective:()=>r7,perspectiveFromFieldOfView:()=>wAt,perspectiveNO:()=>_ye,perspectiveZO:()=>_At,rotate:()=>JL,rotateX:()=>YL,rotateY:()=>QL,rotateZ:()=>ZL,scale:()=>XL,set:()=>sAt,str:()=>TAt,sub:()=>IAt,subtract:()=>Eye,targetTo:()=>AAt,translate:()=>KL,transpose:()=>VL});function nAt(){let e=new sn(16);return sn!=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 iAt(e){let t=new sn(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 aAt(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 oAt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g){let m=new sn(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=n,m[4]=i,m[5]=a,m[6]=o,m[7]=s,m[8]=u,m[9]=c,m[10]=l,m[11]=f,m[12]=p,m[13]=d,m[14]=h,m[15]=g,m}function sAt(e,t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=l,e[10]=f,e[11]=p,e[12]=d,e[13]=h,e[14]=g,e[15]=m,e}function vye(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 VL(e,t){if(e===t){let r=t[1],n=t[2],i=t[3],a=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]=a,e[11]=t[14],e[12]=i,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 $L(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],v=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,C=n*c-a*s,k=i*c-a*u,R=l*g-f*h,S=l*m-p*h,D=l*v-d*h,I=f*m-p*g,M=f*v-d*g,G=p*v-d*m,z=b*G-_*M+A*I+w*D-C*S+k*R;return z?(z=1/z,e[0]=(s*G-u*M+c*I)*z,e[1]=(i*M-n*G-a*I)*z,e[2]=(g*k-m*C+v*w)*z,e[3]=(p*C-f*k-d*w)*z,e[4]=(u*D-o*G-c*S)*z,e[5]=(r*G-i*D+a*S)*z,e[6]=(m*A-h*k-v*_)*z,e[7]=(l*k-p*A+d*_)*z,e[8]=(o*M-s*D+c*R)*z,e[9]=(n*D-r*M-a*R)*z,e[10]=(h*C-g*A+v*b)*z,e[11]=(f*A-l*C-d*b)*z,e[12]=(s*S-o*I-u*R)*z,e[13]=(r*I-n*S+i*R)*z,e[14]=(g*_-h*w-m*b)*z,e[15]=(l*w-f*_+p*b)*z,e):null}function uAt(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],d=t[11],h=t[12],g=t[13],m=t[14],v=t[15],b=r*s-n*o,_=r*u-i*o,A=r*c-a*o,w=n*u-i*s,C=n*c-a*s,k=i*c-a*u,R=l*g-f*h,S=l*m-p*h,D=l*v-d*h,I=f*m-p*g,M=f*v-d*g,G=p*v-d*m;return e[0]=s*G-u*M+c*I,e[1]=i*M-n*G-a*I,e[2]=g*k-m*C+v*w,e[3]=p*C-f*k-d*w,e[4]=u*D-o*G-c*S,e[5]=r*G-i*D+a*S,e[6]=m*A-h*k-v*_,e[7]=l*k-p*A+d*_,e[8]=o*M-s*D+c*R,e[9]=n*D-r*M-a*R,e[10]=h*C-g*A+v*b,e[11]=f*A-l*C-d*b,e[12]=s*S-o*I-u*R,e[13]=r*I-n*S+i*R,e[14]=g*_-h*w-m*b,e[15]=l*w-f*_+p*b,e}function WL(e){let t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],d=e[12],h=e[13],g=e[14],m=e[15],v=t*o-r*a,b=t*s-n*a,_=r*s-n*o,A=c*h-l*d,w=c*g-f*d,C=l*g-f*h,k=t*C-r*w+n*A,R=a*C-o*w+s*A,S=c*_-l*b+f*v,D=d*_-h*b+g*v;return u*k-i*R+m*S-p*D}function bb(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],d=t[10],h=t[11],g=t[12],m=t[13],v=t[14],b=t[15],_=r[0],A=r[1],w=r[2],C=r[3];return e[0]=_*n+A*s+w*f+C*g,e[1]=_*i+A*u+w*p+C*m,e[2]=_*a+A*c+w*d+C*v,e[3]=_*o+A*l+w*h+C*b,_=r[4],A=r[5],w=r[6],C=r[7],e[4]=_*n+A*s+w*f+C*g,e[5]=_*i+A*u+w*p+C*m,e[6]=_*a+A*c+w*d+C*v,e[7]=_*o+A*l+w*h+C*b,_=r[8],A=r[9],w=r[10],C=r[11],e[8]=_*n+A*s+w*f+C*g,e[9]=_*i+A*u+w*p+C*m,e[10]=_*a+A*c+w*d+C*v,e[11]=_*o+A*l+w*h+C*b,_=r[12],A=r[13],w=r[14],C=r[15],e[12]=_*n+A*s+w*f+C*g,e[13]=_*i+A*u+w*p+C*m,e[14]=_*a+A*c+w*d+C*v,e[15]=_*o+A*l+w*h+C*b,e}function KL(e,t,r){let n=r[0],i=r[1],a=r[2],o,s,u,c,l,f,p,d,h,g,m,v;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],u=t[2],c=t[3],l=t[4],f=t[5],p=t[6],d=t[7],h=t[8],g=t[9],m=t[10],v=t[11],e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=l,e[5]=f,e[6]=p,e[7]=d,e[8]=h,e[9]=g,e[10]=m,e[11]=v,e[12]=o*n+l*i+h*a+t[12],e[13]=s*n+f*i+g*a+t[13],e[14]=u*n+p*i+m*a+t[14],e[15]=c*n+d*i+v*a+t[15]),e}function XL(e,t,r){let n=r[0],i=r[1],a=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]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function JL(e,t,r,n){let i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),u,c,l,f,p,d,h,g,m,v,b,_,A,w,C,k,R,S,D,I,M,G,z,X;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,c=Math.sin(r),u=Math.cos(r),l=1-u,f=t[0],p=t[1],d=t[2],h=t[3],g=t[4],m=t[5],v=t[6],b=t[7],_=t[8],A=t[9],w=t[10],C=t[11],k=i*i*l+u,R=a*i*l+o*c,S=o*i*l-a*c,D=i*a*l-o*c,I=a*a*l+u,M=o*a*l+i*c,G=i*o*l+a*c,z=a*o*l-i*c,X=o*o*l+u,e[0]=f*k+g*R+_*S,e[1]=p*k+m*R+A*S,e[2]=d*k+v*R+w*S,e[3]=h*k+b*R+C*S,e[4]=f*D+g*I+_*M,e[5]=p*D+m*I+A*M,e[6]=d*D+v*I+w*M,e[7]=h*D+b*I+C*M,e[8]=f*G+g*z+_*X,e[9]=p*G+m*z+A*X,e[10]=d*G+v*z+w*X,e[11]=h*G+b*z+C*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function YL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=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]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e}function QL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=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]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e}function ZL(e,t,r){let n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=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]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e}function cAt(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 lAt(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 fAt(e,t,r){let n=r[0],i=r[1],a=r[2],o=Math.sqrt(n*n+i*i+a*a),s,u,c;return o<1e-6?null:(o=1/o,n*=o,i*=o,a*=o,u=Math.sin(t),s=Math.cos(t),c=1-s,e[0]=n*n*c+s,e[1]=i*n*c+a*u,e[2]=a*n*c-i*u,e[3]=0,e[4]=n*i*c-a*u,e[5]=i*i*c+s,e[6]=a*i*c+n*u,e[7]=0,e[8]=n*a*c+i*u,e[9]=i*a*c-n*u,e[10]=a*a*c+s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function pAt(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 dAt(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 hAt(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 yye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,d=i*u,h=i*c,g=a*c,m=o*s,v=o*u,b=o*c;return e[0]=1-(d+g),e[1]=f+b,e[2]=p-v,e[3]=0,e[4]=f-b,e[5]=1-(l+g),e[6]=h+m,e[7]=0,e[8]=p+v,e[9]=h-m,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 mAt(e,t){let r=new sn(3),n=-t[0],i=-t[1],a=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=n*n+i*i+a*a+o*o;return f>0?(r[0]=(s*o+l*n+u*a-c*i)*2/f,r[1]=(u*o+l*i+c*n-s*a)*2/f,r[2]=(c*o+l*a+s*i-u*n)*2/f):(r[0]=(s*o+l*n+u*a-c*i)*2,r[1]=(u*o+l*i+c*n-s*a)*2,r[2]=(c*o+l*a+s*i-u*n)*2),yye(e,t,r),e}function gAt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function bye(e,t){let r=t[0],n=t[1],i=t[2],a=t[4],o=t[5],s=t[6],u=t[8],c=t[9],l=t[10];return e[0]=Math.sqrt(r*r+n*n+i*i),e[1]=Math.sqrt(a*a+o*o+s*s),e[2]=Math.sqrt(u*u+c*c+l*l),e}function xAt(e,t){let r=new sn(3);bye(r,t);let n=1/r[0],i=1/r[1],a=1/r[2],o=t[0]*n,s=t[1]*i,u=t[2]*a,c=t[4]*n,l=t[5]*i,f=t[6]*a,p=t[8]*n,d=t[9]*i,h=t[10]*a,g=o+l+h,m=0;return g>0?(m=Math.sqrt(g+1)*2,e[3]=.25*m,e[0]=(f-d)/m,e[1]=(p-u)/m,e[2]=(s-c)/m):o>l&&o>h?(m=Math.sqrt(1+o-l-h)*2,e[3]=(f-d)/m,e[0]=.25*m,e[1]=(s+c)/m,e[2]=(p+u)/m):l>h?(m=Math.sqrt(1+l-o-h)*2,e[3]=(p-u)/m,e[0]=(s+c)/m,e[1]=.25*m,e[2]=(f+d)/m):(m=Math.sqrt(1+h-o-l)*2,e[3]=(s-c)/m,e[0]=(p+u)/m,e[1]=(f+d)/m,e[2]=.25*m),e}function vAt(e,t,r,n){t[0]=n[12],t[1]=n[13],t[2]=n[14];let i=n[0],a=n[1],o=n[2],s=n[4],u=n[5],c=n[6],l=n[8],f=n[9],p=n[10];r[0]=Math.sqrt(i*i+a*a+o*o),r[1]=Math.sqrt(s*s+u*u+c*c),r[2]=Math.sqrt(l*l+f*f+p*p);let d=1/r[0],h=1/r[1],g=1/r[2],m=i*d,v=a*h,b=o*g,_=s*d,A=u*h,w=c*g,C=l*d,k=f*h,R=p*g,S=m+A+R,D=0;return S>0?(D=Math.sqrt(S+1)*2,e[3]=.25*D,e[0]=(w-k)/D,e[1]=(C-b)/D,e[2]=(v-_)/D):m>A&&m>R?(D=Math.sqrt(1+m-A-R)*2,e[3]=(w-k)/D,e[0]=.25*D,e[1]=(v+_)/D,e[2]=(C+b)/D):A>R?(D=Math.sqrt(1+A-m-R)*2,e[3]=(C-b)/D,e[0]=(v+_)/D,e[1]=.25*D,e[2]=(w+k)/D):(D=Math.sqrt(1+R-m-A)*2,e[3]=(v-_)/D,e[0]=(C+b)/D,e[1]=(w+k)/D,e[2]=.25*D),e}function yAt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=i+i,c=a+a,l=o+o,f=i*u,p=i*c,d=i*l,h=a*c,g=a*l,m=o*l,v=s*u,b=s*c,_=s*l,A=n[0],w=n[1],C=n[2];return e[0]=(1-(h+m))*A,e[1]=(p+_)*A,e[2]=(d-b)*A,e[3]=0,e[4]=(p-_)*w,e[5]=(1-(f+m))*w,e[6]=(g+v)*w,e[7]=0,e[8]=(d+b)*C,e[9]=(g-v)*C,e[10]=(1-(f+h))*C,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function bAt(e,t,r,n,i){let a=t[0],o=t[1],s=t[2],u=t[3],c=a+a,l=o+o,f=s+s,p=a*c,d=a*l,h=a*f,g=o*l,m=o*f,v=s*f,b=u*c,_=u*l,A=u*f,w=n[0],C=n[1],k=n[2],R=i[0],S=i[1],D=i[2],I=(1-(g+v))*w,M=(d+A)*w,G=(h-_)*w,z=(d-A)*C,X=(1-(p+v))*C,Y=(m+b)*C,le=(h+_)*k,ue=(m-b)*k,ce=(1-(p+g))*k;return e[0]=I,e[1]=M,e[2]=G,e[3]=0,e[4]=z,e[5]=X,e[6]=Y,e[7]=0,e[8]=le,e[9]=ue,e[10]=ce,e[11]=0,e[12]=r[0]+R-(I*R+z*S+le*D),e[13]=r[1]+S-(M*R+X*S+ue*D),e[14]=r[2]+D-(G*R+Y*S+ce*D),e[15]=1,e}function e7(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,u=i+i,c=r*o,l=n*o,f=n*s,p=i*o,d=i*s,h=i*u,g=a*o,m=a*s,v=a*u;return e[0]=1-f-h,e[1]=l+v,e[2]=p-m,e[3]=0,e[4]=l-v,e[5]=1-c-h,e[6]=d+g,e[7]=0,e[8]=p+m,e[9]=d-g,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function t7(e,t,r,n,i,a,o){let s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}function _ye(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=(i+n)*o,e[14]=2*i*n*o}else e[10]=-1,e[14]=-2*n;return e}var r7=_ye;function _At(e,t,r,n,i){let a=1/Math.tan(t/2);if(e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(n-i);e[10]=i*o,e[14]=i*n*o}else e[10]=-1,e[14]=-n;return e}function wAt(e,t,r,n){let i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*u*.5),e[9]=(i-a)*c*.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 wye(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e}var n7=wye;function EAt(e,t,r,n,i,a,o){let s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=a*c,e[15]=1,e}function i7(e,t,r,n){let i,a,o,s,u,c,l,f,p,d,h=t[0],g=t[1],m=t[2],v=n[0],b=n[1],_=n[2],A=r[0],w=r[1],C=r[2];return Math.abs(h-A)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(m-C)<1e-6?vye(e):(f=h-A,p=g-w,d=m-C,i=1/Math.sqrt(f*f+p*p+d*d),f*=i,p*=i,d*=i,a=b*d-_*p,o=_*f-v*d,s=v*p-b*f,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),u=p*s-d*o,c=d*a-f*s,l=f*o-p*a,i=Math.sqrt(u*u+c*c+l*l),i?(i=1/i,u*=i,c*=i,l*=i):(u=0,c=0,l=0),e[0]=a,e[1]=u,e[2]=f,e[3]=0,e[4]=o,e[5]=c,e[6]=p,e[7]=0,e[8]=s,e[9]=l,e[10]=d,e[11]=0,e[12]=-(a*h+o*g+s*m),e[13]=-(u*h+c*g+l*m),e[14]=-(f*h+p*g+d*m),e[15]=1,e)}function AAt(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=n[0],u=n[1],c=n[2],l=i-r[0],f=a-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=u*p-c*f,g=c*l-s*p,m=s*f-u*l;return d=h*h+g*g+m*m,d>0&&(d=1/Math.sqrt(d),h*=d,g*=d,m*=d),e[0]=h,e[1]=g,e[2]=m,e[3]=0,e[4]=f*m-p*g,e[5]=p*h-l*m,e[6]=l*g-f*h,e[7]=0,e[8]=l,e[9]=f,e[10]=p,e[11]=0,e[12]=i,e[13]=a,e[14]=o,e[15]=1,e}function TAt(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 SAt(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 CAt(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 Eye(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 DAt(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 FAt(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 kAt(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 BAt(e,t){let r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],c=e[7],l=e[8],f=e[9],p=e[10],d=e[11],h=e[12],g=e[13],m=e[14],v=e[15],b=t[0],_=t[1],A=t[2],w=t[3],C=t[4],k=t[5],R=t[6],S=t[7],D=t[8],I=t[9],M=t[10],G=t[11],z=t[12],X=t[13],Y=t[14],le=t[15];return Math.abs(r-b)<=1e-6*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(n-_)<=1e-6*Math.max(1,Math.abs(n),Math.abs(_))&&Math.abs(i-A)<=1e-6*Math.max(1,Math.abs(i),Math.abs(A))&&Math.abs(a-w)<=1e-6*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(o-C)<=1e-6*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(s-k)<=1e-6*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(u-R)<=1e-6*Math.max(1,Math.abs(u),Math.abs(R))&&Math.abs(c-S)<=1e-6*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(l-D)<=1e-6*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(f-I)<=1e-6*Math.max(1,Math.abs(f),Math.abs(I))&&Math.abs(p-M)<=1e-6*Math.max(1,Math.abs(p),Math.abs(M))&&Math.abs(d-G)<=1e-6*Math.max(1,Math.abs(d),Math.abs(G))&&Math.abs(h-z)<=1e-6*Math.max(1,Math.abs(h),Math.abs(z))&&Math.abs(g-X)<=1e-6*Math.max(1,Math.abs(g),Math.abs(X))&&Math.abs(m-Y)<=1e-6*Math.max(1,Math.abs(m),Math.abs(Y))&&Math.abs(v-le)<=1e-6*Math.max(1,Math.abs(v),Math.abs(le))}var OAt=bb,IAt=Eye;function PAt(){let e=new sn(4);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Aye(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 Tye(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 Sye(e){let t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}function Cye(e){let t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}function Dye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o,e}function Fye(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function kye(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function Bye(e,t,r){let n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}function Oye(e,t,r){let n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,d=-o*n-s*i-u*a;return e[0]=l*c+d*-o+f*-u-p*-s,e[1]=f*c+d*-s+p*-o-l*-u,e[2]=p*c+d*-u+l*-s-f*-o,e[3]=t[3],e}var ccr=function(){let e=PAt();return function(t,r,n,i,a,o){let s,u;for(r||(r=4),n||(n=0),i?u=Math.min(i*r+n,t.length):u=t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(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 s7;(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"})(s7||(s7={}));var RAt=45*Math.PI/180,MAt=1,a7=.1,o7=500,jAt=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),qo=class extends Gg{static get IDENTITY(){return qAt()}static get ZERO(){return LAt()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return s7}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,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,this[4]=a,this[5]=o,this[6]=s,this[7]=u,this[8]=c,this[9]=l,this[10]=f,this[11]=p,this[12]=d,this[13]=h,this[14]=g,this[15]=m,this.check()}setRowMajor(t,r,n,i,a,o,s,u,c,l,f,p,d,h,g,m){return this[0]=t,this[1]=a,this[2]=c,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]=g,this[12]=i,this[13]=u,this[14]=p,this[15]=m,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(jAt)}fromObject(t){return this.check()}fromQuaternion(t){return e7(this,t),this.check()}frustum(t){let{left:r,right:n,bottom:i,top:a,near:o=a7,far:s=o7}=t;return s===1/0?NAt(this,r,n,i,a,o):t7(this,r,n,i,a,o,s),this.check()}lookAt(t){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=t;return i7(this,r,n,i),this.check()}ortho(t){let{left:r,right:n,bottom:i,top:a,near:o=a7,far:s=o7}=t;return n7(this,r,n,i,a,o,s),this.check()}orthographic(t){let{fovy:r=RAt,aspect:n=MAt,focalDistance:i=1,near:a=a7,far:o=o7}=t;Pye(r);let s=r/2,u=i*Math.tan(s),c=u*n;return this.ortho({left:-c,right:c,bottom:-u,top:u,near:a,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:a=500}=t;return Pye(r),r7(this,r,n,i,a),this.check()}determinant(){return WL(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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*a,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*a,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),i=1/n[0],a=1/n[1],o=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*a,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*a,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*a,t[8]=this[10]*o,t}transpose(){return VL(this,this),this.check()}invert(){return $L(this,this),this.check()}multiplyLeft(t){return bb(this,t,this),this.check()}multiplyRight(t){return bb(this,this,t),this.check()}rotateX(t){return YL(this,this,t),this.check()}rotateY(t){return QL(this,this,t),this.check()}rotateZ(t){return ZL(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return JL(this,this,t,r),this.check()}scale(t){return XL(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return KL(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Bye(r||[-0,-0,-0,-0],t,this),op(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:n}=t,i;switch(n){case 2:i=Zve(r||[-0,-0],t,this);break;case 3:i=rh(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(i,t.length),i}transformAsVector(t,r){let n;switch(t.length){case 2:n=eye(r||[-0,-0],t,this);break;case 3:n=T8(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return op(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])}},P8,R8;function LAt(){return P8||(P8=new qo([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(P8)),P8}function qAt(){return R8||(R8=new qo,Object.freeze(R8)),R8}function Pye(e){if(e>Math.PI*2)throw Error("expected radians")}function NAt(e,t,r,n,i,a){let o=2*a/(r-t),s=2*a/(i-n),u=(r+t)/(r-t),c=(i+n)/(i-n),l=-1,f=-1,p=-2*a;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]=u,e[9]=c,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=p,e[15]=0,e}function Rye(){let e=new sn(4);return sn!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Mye(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function u7(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],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e}function jye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e}function Lye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e}function qye(e,t,r){r*=.5;let n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e}function Nye(e,t){let r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e}function _b(e,t,r,n){let i=t[0],a=t[1],o=t[2],s=t[3],u=r[0],c=r[1],l=r[2],f=r[3],p,d,h,g,m;return p=i*u+a*c+o*l+s*f,p<0&&(p=-p,u=-u,c=-c,l=-l,f=-f),1-p>1e-6?(d=Math.acos(p),m=Math.sin(d),h=Math.sin((1-n)*d)/m,g=Math.sin(n*d)/m):(h=1-n,g=n),e[0]=h*i+g*u,e[1]=h*a+g*c,e[2]=h*o+g*l,e[3]=h*s+g*f,e}function Uye(e,t){let r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e}function Gye(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function l7(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 i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);let a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(t[i*3+i]-t[a*3+a]-t[o*3+o]+1),e[i]=.5*n,n=.5/n,e[3]=(t[a*3+o]-t[o*3+a])*n,e[a]=(t[a*3+i]+t[i*3+a])*n,e[o]=(t[o*3+i]+t[i*3+o])*n}return e}var zye=Aye;var Hye=Tye,Vye=Fye,$ye=kye,Wye=Sye;var Kye=Cye;var Xye=Dye;var Jye=function(){let e=C8(),t=D8(1,0,0),r=D8(0,1,0);return function(n,i,a){let o=xb(i,a);return o<-.999999?(th(e,t,i),qL(e)<1e-6&&th(e,r,i),PL(e,e),u7(n,e,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(th(e,i,a),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+o,Xye(n,n))}}(),Ecr=function(){let e=Rye(),t=Rye();return function(r,n,i,a,o,s){return _b(e,n,o,s),_b(t,i,a,s),_b(r,e,t,2*s*(1-s)),r}}(),Acr=function(){let e=lye();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],Xye(t,l7(t,e))}}();var GAt=[0,0,0,1],sp=class extends ap{constructor(t=0,r=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,n,i)}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,i){return this[0]=t,this[1]=r,this[2]=n,this[3]=i,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 l7(this,t),this.check()}fromAxisRotation(t,r){return u7(this,t,r),this.check()}identity(){return Mye(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]=dr(t)}get y(){return this[1]}set y(t){this[1]=dr(t)}get z(){return this[2]}set z(t){this[2]=dr(t)}get w(){return this[3]}set w(t){this[3]=dr(t)}len(){return Wye(this)}lengthSquared(){return Kye(this)}dot(t){return Vye(this,t)}rotationTo(t,r){return Jye(this,t,r),this.check()}add(t){return zye(this,this,t),this.check()}calculateW(){return Nye(this,this),this.check()}conjugate(){return Gye(this,this),this.check()}invert(){return Uye(this,this),this.check()}lerp(t,r,n){return n===void 0?this.lerp(this,t,r):($ye(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 jye(this,this,t),this.check()}rotateY(t){return Lye(this,this,t),this.check()}rotateZ(t){return qye(this,this,t),this.check()}scale(t){return Hye(this,this,t),this.check()}slerp(t,r,n){let i,a,o;switch(arguments.length){case 1:({start:i=GAt,target:a,ratio:o}=t);break;case 2:i=this,a=t,o=r;break;default:i=t,a=r,o=n}return _b(this,i,a,o),this.check()}transformVector4(t,r=new Ug){return Oye(r,t,this),op(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 Ku={};zn(Ku,{EPSILON1:()=>zAt,EPSILON10:()=>QAt,EPSILON11:()=>ZAt,EPSILON12:()=>eTt,EPSILON13:()=>tTt,EPSILON14:()=>rTt,EPSILON15:()=>nTt,EPSILON16:()=>iTt,EPSILON17:()=>aTt,EPSILON18:()=>oTt,EPSILON19:()=>sTt,EPSILON2:()=>HAt,EPSILON20:()=>uTt,EPSILON3:()=>VAt,EPSILON4:()=>$At,EPSILON5:()=>WAt,EPSILON6:()=>KAt,EPSILON7:()=>XAt,EPSILON8:()=>JAt,EPSILON9:()=>YAt,PI_OVER_FOUR:()=>lTt,PI_OVER_SIX:()=>fTt,PI_OVER_TWO:()=>cTt,TWO_PI:()=>pTt});var zAt=.1,HAt=.01,VAt=.001,$At=1e-4,WAt=1e-5,KAt=1e-6,XAt=1e-7,JAt=1e-8,YAt=1e-9,QAt=1e-10,ZAt=1e-11,eTt=1e-12,tTt=1e-13,rTt=1e-14,nTt=1e-15,iTt=1e-16,aTt=1e-17,oTt=1e-18,sTt=1e-19,uTt=1e-20,cTt=Math.PI/2,lTt=Math.PI/4,fTt=Math.PI/6,pTt=Math.PI*2;var fl=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=xt.UNSIGNED_INT,n=1){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(t,r,n,1,i.byteOffset):i}getPropertyArray(t,r,n){let i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(r=Ji.fromName(i.componentType)),this._getTypedArrayFromBinary(t,r,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(t,r,i)}getProperty(t,r,n,i,a){let o=this.json[t];if(!o)return o;let s=this.getPropertyArray(t,r,n);if(n===1)return s[i];for(let u=0;u<n;++u)a[u]=s[n*i+u];return a}_getTypedArrayFromBinary(t,r,n,i,a){let o=this._cachedTypedArrays,s=o[t];return s||(s=Ji.createTypedArray(r,this.buffer.buffer,this.buffer.byteOffset+a,i*n),o[t]=s),s}_getTypedArrayFromArray(t,r,n){let i=this._cachedTypedArrays,a=i[t];return a||(a=Ji.createTypedArray(r,n),i[t]=a),a}};var dTt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},hTt={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]]},mTt={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 Yye(e,t,r,n){let{componentType:i}=e;Et(e.componentType);let a=typeof i=="string"?Ji.fromName(i):i,o=dTt[e.type],s=hTt[e.type],u=mTt[e.type];return r+=e.byteOffset,{values:Ji.createTypedArray(a,t,r,o*n),type:a,size:o,unpacker:s,packer:u}}var Xu=e=>e!==void 0;function Qye(e,t,r){if(!t)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),i=t.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),t.extensions=t.extensions||{},t.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?gTt(n,r):null}function gTt(e,t){let r,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,c=e.parentIds,l=a;Xu(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,i=getBinaryAccessor(s),s=i.createArrayBufferView(t.buffer,t.byteOffset+s.byteOffset,a));let f;if(Xu(u))for(Xu(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(t.buffer,t.byteOffset+u.byteOffset,a)),f=new Uint16Array(a),l=0,r=0;r<a;++r)f[r]=l,l+=u[r];Xu(c)&&Xu(c.byteOffset)&&(c.componentType=defaultValue(c.componentType,GL.UNSIGNED_SHORT),c.type=AttributeType.SCALAR,i=getBinaryAccessor(c),c=i.createArrayBufferView(t.buffer,t.byteOffset+c.byteOffset,l));let p=o.length;for(r=0;r<p;++r){let m=o[r].length,v=o[r].instances,b=getBinaryProperties(m,v,t);o[r].instances=combine(b,v)}let d=new Array(p).fill(0),h=new Uint16Array(a);for(r=0;r<a;++r)n=s[r],h[r]=d[n],++d[n];let g={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:c};return yTt(g),g}function zg(e,t,r){if(!e)return;let n=e.parentCounts;return e.parentIds?r(e,t):n>0?xTt(e,t,r):vTt(e,t,r)}function xTt(e,t,r){let n=e.classIds,i=e.parentCounts,a=e.parentIds,o=e.parentIndexes,s=n.length,u=scratchVisited;u.length=Math.max(u.length,s);let c=++marker,l=scratchStack;for(l.length=0,l.push(t);l.length>0;){if(t=l.pop(),u[t]===c)continue;u[t]=c;let f=r(e,t);if(Xu(f))return f;let p=i[t],d=o[t];for(let h=0;h<p;++h){let g=a[d+h];g!==t&&l.push(g)}}return null}function vTt(e,t,r){let n=!0;for(;n;){let i=r(e,t);if(Xu(i))return i;let a=e.parentIds[t];n=a!==t,t=a}throw new Error("traverseHierarchySingleParent")}function yTt(e){let t=[],n=e.classIds.length;for(let i=0;i<n;++i)Zye(e,i,stack)}function Zye(e,t,r){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!Xu(i))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 u=Xu(n)?n[t]:1,c=Xu(n)?a[t]:t;for(let l=0;l<u;++l){let f=i[c+l];f!==t&&Zye(e,f,r)}r.pop(t)}function Pa(e){return e!=null}var M8=(e,t)=>e,bTt={HIERARCHY:!0,extensions:!0,extras:!0},nh=class{json;binary;featureCount;_extensions;_properties;_binaryProperties;_hierarchy;constructor(t,r,n,i={}){var a;Et(n>=0),this.json=t||{},this.binary=r,this.featureCount=n,this._extensions=((a=this.json)==null?void 0:a.extensions)||{},this._properties={};for(let o in this.json)bTt[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=Qye(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),Et(typeof r=="string",r),this._hierarchy){let n=zg(this._hierarchy,t,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===r});return Pa(n)}return!1}isExactClass(t,r){return Et(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),Et(typeof r=="string",r),Pa(this._properties[r])||this._hasPropertyInHierarchy(t,r)}getPropertyNames(t,r){this._checkBatchId(t),r=Pa(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),Et(typeof r=="string",r),this._binaryProperties){let i=this._binaryProperties[r];if(Pa(i))return this._getBinaryProperty(i,t)}let n=this._properties[r];if(Pa(n))return M8(n[t],!0);if(this._hierarchy){let i=this._getHierarchyProperty(t,r);if(Pa(i))return i}}setProperty(t,r,n){let i=this.featureCount;if(this._checkBatchId(t),Et(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 a=this._properties[r];Pa(a)||(this._properties[r]=new Array(i),a=this._properties[r]),a[t]=M8(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],i=this._initializeBinaryProperty(r,n);i&&(t=t||{},t[r]=i)}return t}_initializeBinaryProperty(t,r){if("byteOffset"in r){let n=r;Et(this.binary,`Property ${t} requires a batch table binary.`),Et(n.type,`Property ${t} requires a type.`);let i=Yye(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(t,r){if(!this._hierarchy)return!1;let n=zg(this._hierarchy,t,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Pa(s[r])});return Pa(n)}_getPropertyNamesInHierarchy(t,r){zg(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a].instances;for(let s in o)o.hasOwnProperty(s)&&r.indexOf(s)===-1&&r.push(s)})}_getHierarchyProperty(t,r){return zg(this._hierarchy,t,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[r];return Pa(u)?Pa(u.typedArray)?this._getBinaryProperty(u,s):M8(u[s],!0):null})}_setHierarchyProperty(t,r,n,i){let a=zg(this._hierarchy,r,(o,s)=>{let u=o.classIds[s],c=o.classes[u],l=o.classIndexes[s],f=c.instances[n];return Pa(f)?(Et(s===r,`Inherited property "${n}" is read-only.`),Pa(f.typedArray)?this._setBinaryProperty(f,l,i):f[l]=M8(i,!0),!0):!1});return Pa(a)}};var f7=4;function up(e,t,r=0){let n=new DataView(t);if(e.magic=n.getUint32(r,!0),r+=f7,e.version=n.getUint32(r,!0),r+=f7,e.byteLength=n.getUint32(r,!0),r+=f7,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return r}var Hg=4,ebe="b3dm tile in legacy format.";function Vg(e,t,r){let n=new DataView(t),i;e.header=e.header||{};let a=n.getUint32(r,!0);r+=Hg;let o=n.getUint32(r,!0);r+=Hg;let s=n.getUint32(r,!0);r+=Hg;let u=n.getUint32(r,!0);return r+=Hg,s>=570425344?(r-=Hg*2,i=a,s=o,u=0,a=0,o=0,console.warn(ebe)):u>=570425344&&(r-=Hg,i=s,s=a,u=o,a=0,o=0,console.warn(ebe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,r}function $g(e,t,r,n){return r=_Tt(e,t,r,n),r=wTt(e,t,r,n),r}function _Tt(e,t,r,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:a,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){let s=EL(t,r,i);e.featureTableJson=JSON.parse(s)}return r+=i||0,e.featureTableBinary=new Uint8Array(t,r,a),r+=a||0,r}function wTt(e,t,r,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=EL(t,r,i);e.batchTableJson=JSON.parse(o),r+=i,a&&a>0&&(e.batchTableBinary=new Uint8Array(t,r,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),r+=a)}return r}function p7(e,t,r){if(!t&&(!e||!e.batchIds||!r))return null;let{batchIds:n,isRGB565:i,pointCount:a=0}=e;if(n&&r){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=n[s],l=r.getProperty(u,"dimensions").map(f=>f*255);o[s*3]=l[0],o[s*3+1]=l[1],o[s*3+2]=l[2]}return{type:xt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(t&&i){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=FL(t[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:xt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return t&&t.length===a*3?{type:xt.UNSIGNED_BYTE,value:t,size:3,normalized:!0}:{type:xt.UNSIGNED_BYTE,value:t||new Uint8ClampedArray,size:4,normalized:!0}}var tbe=new ge;function rbe(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++)kL(t[n*2],t[n*2+1],tbe),tbe.toArray(r,n*3);return{type:xt.FLOAT,size:2,value:r}}return{type:xt.FLOAT,size:2,value:t}}function nbe(e,t,r){return e.isQuantized?r["3d-tiles"]&&r["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,ETt(e,t)):{type:xt.UNSIGNED_SHORT,value:t,size:3,normalized:!0}:t}function ETt(e,t){let r=new ge,n=new Float32Array(e.pointCount*3);for(let i=0;i<e.pointCount;i++)r.set(t[i*3],t[i*3+1],t[i*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,i*3);return n}async function ibe(e,t,r,n,i){r=up(e,t,r),r=Vg(e,t,r),r=$g(e,t,r,n),ATt(e);let{featureTable:a,batchTable:o}=TTt(e);return await kTt(e,a,o,n,i),STt(e,a,n),CTt(e,a,o),DTt(e,a),r}function ATt(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function TTt(e){let t=new fl(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",xt.FLOAT,3);let n=FTt(e,t);return{featureTable:t,batchTable:n}}function STt(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",xt.FLOAT,3);else if(t.hasProperty("POSITION_QUANTIZED")){let n=t.getPropertyArray("POSITION_QUANTIZED",xt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",xt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",xt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=nbe(e,n,r)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function CTt(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",xt.UNSIGNED_BYTE,4),e.isTranslucent=!0):t.hasProperty("RGB")?n=t.getPropertyArray("RGB",xt.UNSIGNED_BYTE,3):t.hasProperty("RGB565")&&(n=t.getPropertyArray("RGB565",xt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=p7(e,n,r)}t.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=t.getGlobalProperty("CONSTANT_RGBA",xt.UNSIGNED_BYTE,4))}function DTt(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",xt.FLOAT,3):t.hasProperty("NORMAL_OCT16P")&&(r=t.getPropertyArray("NORMAL_OCT16P",xt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=rbe(e,r)}}function FTt(e,t){let r=null;if(!e.batchIds&&t.hasProperty("BATCH_ID")&&(e.batchIds=t.getPropertyArray("BATCH_ID",xt.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:i,batchTableBinary:a}=e;r=new nh(i,a,n)}return r}async function kTt(e,t,r,n,i){let a,o,s,u=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];u&&(s=u.properties);let c=t.getExtension("3DTILES_draco_point_compression");if(c){o=c.properties;let f=c.byteOffset,p=c.byteLength;if(!o||!Number.isFinite(f)||!p)throw new Error("Draco properties, byteOffset, and byteLength must be defined");a=(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(!a)return!0;let l={buffer:a,properties:{...o,...s},featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await BTt(e,l,n,i)}async function BTt(e,t,r,n){if(!n)return;let i={...r,draco:{...r==null?void 0:r.draco,extraAttributes:t.batchTableProperties||{}}};delete i["3d-tiles"];let a=await Ka(t.buffer,Mg,i,n),o=a.attributes.POSITION&&a.attributes.POSITION.value,s=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,c=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,l=o&&a.attributes.POSITION.value.quantization,f=u&&a.attributes.NORMAL.value.quantization;if(l){let d=a.POSITION.data.quantization,h=d.range;e.quantizedVolumeScale=new ge(h,h,h),e.quantizedVolumeOffset=new ge(d.minValues),e.quantizedRange=(1<<d.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let p={};if(t.batchTableProperties)for(let d of Object.keys(t.batchTableProperties))a.attributes[d]&&a.attributes[d].value&&(p[d.toLowerCase()]=a.attributes[d].value);e.attributes={positions:o,colors:p7(e,s,void 0),normals:u,batchIds:c,...p}}var _7={};zn(_7,{decode:()=>g3t,name:()=>W8});var j8="4.3.0-alpha.6";var abe,OTt=(abe=globalThis.loaders)==null?void 0:abe.parseImageNode,d7=typeof Image<"u",h7=typeof ImageBitmap<"u",ITt=Boolean(OTt),m7=Er?!0:ITt;function obe(e){switch(e){case"auto":return h7||d7||m7;case"imagebitmap":return h7;case"image":return d7;case"data":return m7;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function sbe(){if(h7)return"imagebitmap";if(d7)return"image";if(m7)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function ube(e){let t=PTt(e);if(!t)throw new Error("Not an image");return t}function g7(e){return Wg(e)}function Wg(e){switch(ube(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 PTt(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 RTt=/^data:image\/svg\+xml/,MTt=/\.svg((\?|#).*)?$/;function L8(e){return e&&(RTt.test(e)||MTt.test(e))}function cbe(e,t){if(L8(t)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return x7(e,t)}function x7(e,t){if(L8(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function q8(e,t,r){let n=cbe(e,r),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await jTt(a||n,t)}finally{a&&i.revokeObjectURL(a)}}async function jTt(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,i)=>{try{r.onload=()=>n(r),r.onerror=a=>{let o=a instanceof Error?a.message:"error";i(new Error(o))}}catch(a){i(a)}})}var LTt={},lbe=!0;async function fbe(e,t,r){let n;L8(r)?n=await q8(e,t,r):n=x7(e,r);let i=t&&t.imagebitmap;return await qTt(n,i)}async function qTt(e,t=null){if((NTt(t)||!lbe)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),lbe=!1}return await createImageBitmap(e)}function NTt(e){for(let t in e||LTt)return!1;return!0}function pbe(e){return!HTt(e,"ftyp",4)||!(e[8]&96)?null:UTt(e)}function UTt(e){switch(GTt(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function GTt(e,t,r){return String.fromCharCode(...e.slice(t,r))}function zTt(e){return[...e].map(t=>t.charCodeAt(0))}function HTt(e,t,r=0){let n=zTt(t);for(let i=0;i<n.length;++i)if(n[i]!==e[i+r])return!1;return!0}var Ju=!1,wb=!0;function ih(e){let t=Eb(e);return $Tt(t)||XTt(t)||WTt(t)||KTt(t)||VTt(t)}function VTt(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=pbe(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function $Tt(e){let t=Eb(e);return t.byteLength>=24&&t.getUint32(0,Ju)===2303741511?{mimeType:"image/png",width:t.getUint32(16,Ju),height:t.getUint32(20,Ju)}:null}function WTt(e){let t=Eb(e);return t.byteLength>=10&&t.getUint32(0,Ju)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,wb),height:t.getUint16(8,wb)}:null}function KTt(e){let t=Eb(e);return t.byteLength>=14&&t.getUint16(0,Ju)===16973&&t.getUint32(2,wb)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,wb),height:t.getUint32(22,wb)}:null}function XTt(e){let t=Eb(e);if(!(t.byteLength>=3&&t.getUint16(0,Ju)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=JTt(),a=2;for(;a+9<t.byteLength;){let o=t.getUint16(a,Ju);if(i.has(o))return{mimeType:"image/jpeg",height:t.getUint16(a+5,Ju),width:t.getUint16(a+7,Ju)};if(!n.has(o))return null;a+=2,a+=t.getUint16(a,Ju)}return null}function JTt(){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 Eb(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 dbe(e,t){var i;let{mimeType:r}=ih(e)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return Et(n),await n(e,r)}async function hbe(e,t,r){t=t||{};let i=(t.image||{}).type||"auto",{url:a}=r||{},o=YTt(i),s;switch(o){case"imagebitmap":s=await fbe(e,t,a);break;case"image":s=await q8(e,t,a);break;case"data":s=await dbe(e,t);break;default:Et(!1)}return i==="data"&&(s=Wg(s)),s}function YTt(e){switch(e){case"auto":case"data":return sbe();default:return obe(e),e}}var QTt=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],ZTt=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],e3t={image:{type:"auto",decode:!0}},Kg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:j8,mimeTypes:ZTt,extensions:QTt,parse:hbe,tests:[e=>Boolean(ih(new DataView(e)))],options:e3t};var xbe,mbe=(xbe=globalThis.loaders)==null?void 0:xbe.encodeImageNode;async function vbe(e,t){return t=t||{},t.image=t.image||{},mbe?mbe(e,{type:t.image.mimeType}):t3t(e,t)}var gbe=!0;async function t3t(e,t){let{mimeType:r,jpegQuality:n}=t.image,{width:i,height:a}=g7(e),o=document.createElement("canvas");o.width=i,o.height=a,r3t(e,o);let s=await new Promise(u=>{if(n&&gbe)try{o.toBlob(u,r,n);return}catch{gbe=!1}o.toBlob(u,r)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function r3t(e,t,r=0,n=0){if(r===0&&n===0&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let a=t.getContext("bitmaprenderer");if(a)return a.transferFromImageBitmap(e),t}let i=t.getContext("2d");if(e.data){let a=new Uint8ClampedArray(e.data),o=new ImageData(a,e.width,e.height);return i.putImageData(o,0,0),t}return i.drawImage(e,0,0),t}var v7={name:"Images",id:"image",module:"images",version:j8,extensions:["jpeg"],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:vbe};var y7={};function b7(e){if(y7[e]===void 0){let t=Er?i3t(e):n3t(e);y7[e]=t}return y7[e]}function n3t(e){var i,a;let t=["image/png","image/jpeg","image/gif"],r=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||t,n=(a=globalThis.loaders)==null?void 0:a.parseImageNode;return Boolean(n)&&r.includes(e)}function i3t(e){switch(e){case"image/avif":case"image/webp":return a3t(e);default:return!0}}function a3t(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function ti(e,t){if(!e)throw new Error(t||"assert failed: gltf")}var N8={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},U8={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var o3t=1.33,ybe=["SCALAR","VEC2","VEC3","VEC4"],s3t=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],u3t=new Map(s3t),c3t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},l3t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},f3t={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function G8(e){return ybe[e-1]||ybe[0]}function Xg(e){let t=u3t.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function Jg(e,t){let r=f3t[e.componentType],n=c3t[e.type],i=l3t[e.componentType],a=e.count*n,o=e.count*n*i;ti(o>=0&&o<=t.byteLength);let s=U8[e.componentType],u=N8[e.type];return{ArrayType:r,length:a,byteLength:o,componentByteSize:s,numberOfComponentsInElement:u}}function Ab(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 i=r.reduce((o,s)=>o+s.byteLength,0),a=t.reduce((o,s)=>{let{width:u,height:c}=s.image;return o+u*c},0);return i+Math.ceil(4*a*o3t)}function bbe(e,t,r){let n=e.bufferViews[r];ti(n);let i=n.buffer,a=t[i];ti(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}function _be(e,t,r){var g,m;let n=typeof r=="number"?(g=e.accessors)==null?void 0:g[r]:r;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(r)}`);let i=(m=e.bufferViews)==null?void 0:m[n.bufferView||0];if(!i)throw new Error(`No gltf buffer view for accessor ${i}`);let{arrayBuffer:a,byteOffset:o}=t[i.buffer],s=(o||0)+(n.byteOffset||0)+(i.byteOffset||0),{ArrayType:u,length:c,componentByteSize:l,numberOfComponentsInElement:f}=Jg(n,i),p=l*f,d=i.byteStride||p;if(typeof i.byteStride>"u"||i.byteStride===p)return new u(a,s,c);let h=new u(c);for(let v=0;v<n.count;v++){let b=new u(a,s+v*d,f);h.set(b,v*f)}return h}function p3t(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var sr=class{gltf;sourceBuffers;byteLength;constructor(t){this.gltf={json:(t==null?void 0:t.json)||p3t(),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(i=>i===t),n=this.getRequiredExtensions().find(i=>i===t);return typeof r=="string"||typeof n=="string"}getExtension(t){let r=this.getUsedExtensions().find(i=>i===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];ti(n);let i=(t.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,t.byteLength)}getTypedArrayForAccessor(t){let r=this.getAccessor(t);return _be(this.gltf.json,this.gltf.buffers,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);let r=this.getBufferView(t.bufferView),i=this.getBuffer(r.buffer).data,a=r.byteOffset||0;return new Uint8Array(i,a,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 i=t.extensions||{};i[r]=n}removeObjectExtension(t,r){let n=(t==null?void 0:t.extensions)||{};if(n[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(r)||i.push(r)}delete n[r]}addExtension(t,r={}){return ti(r),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=r,this.registerUsedExtension(t),r}addRequiredExtension(t,r={}){return ti(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 i={mesh:r};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){let{attributes:r,indices:n,material:i,mode:a=4}=t,s={primitives:[{attributes:this._addAttributes(r),mode:a}]};if(n){let u=this._addIndices(n);s.primitives[0].indices=u}return Number.isFinite(i)&&(s.primitives[0].material=i),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=ih(t),i=r||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(t),mimeType:i};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 i=t.byteLength;ti(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);let a={buffer:r,byteOffset:n,byteLength:i};return this.byteLength+=Ja(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(a),this.json.bufferViews.length-1}addAccessor(t,r){let n={bufferView:t,type:G8(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),i={min:r.min,max:r.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,r.size));let a={size:r.size,componentType:Xg(t),count:Math.round(t.length/r.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(a,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 a,o;this.gltf.buffers=[];let t=this.byteLength,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;for(let s of this.sourceBuffers||[])i=$B(s,n,i);(o=(a=this.json)==null?void 0:a.buffers)!=null&&o[0]?this.json.buffers[0].byteLength=t:this.json.buffers=[{byteLength:t}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(t,r){let n=!0;for(;n;){let i=t.indexOf(r);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){let r={};for(let n in t){let i=t[n],a=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);r[a]=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 i=t.subarray(0,r);for(let a of i)n.min.push(a),n.max.push(a);for(let a=r;a<t.length;a+=r)for(let o=0;o<r;o++)n.min[0+o]=Math.min(n.min[0+o],t[a+o]),n.max[0+o]=Math.max(n.max[0+o],t[a+o]);return n}};function wbe(e){return(e%1+1)%1}var Ebe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},d3t={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},Abe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function Tb(e,t){return Abe[t]*Ebe[e]}function Yg(e,t,r,n){if(r!=="UINT8"&&r!=="UINT16"&&r!=="UINT32"&&r!=="UINT64")return null;let i=e.getTypedArrayForBufferView(t),a=Qg(i,"SCALAR",r,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function Qg(e,t,r,n=1){let i=Ebe[t],a=d3t[r],o=Abe[r],s=n*i,u=s*o,c=e.buffer,l=e.byteOffset;return l%o!==0&&(c=new Uint8Array(c).slice(l,l+u).buffer,l=0),new a(c,l,s)}function Zg(e,t,r){var c,l,f,p,d;let n=`TEXCOORD_${t.texCoord||0}`,i=r.attributes[n],a=e.getTypedArrayForAccessor(i),o=e.gltf.json,s=t.index,u=(l=(c=o.textures)==null?void 0:c[s])==null?void 0:l.source;if(typeof u<"u"){let h=(p=(f=o.images)==null?void 0:f[u])==null?void 0:p.mimeType,g=(d=e.gltf.images)==null?void 0:d[u];if(g&&typeof g.width<"u"){let m=[];for(let v=0;v<a.length;v+=2){let b=h3t(g,h,a,v,t.channels);m.push(b)}return m}}return[]}function z8(e,t,r,n,i){if(!(r!=null&&r.length))return;let a=[];for(let l of r){let f=n.findIndex(p=>p===l);f===-1&&(f=n.push(l)-1),a.push(f)}let o=new Uint32Array(a),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,u=e.addBufferView(o,s,0),c=e.addAccessor(u,{size:1,componentType:Xg(o),count:o.length});i.attributes[t]=c}function h3t(e,t,r,n,i=[0]){let a={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],u=1;t&&(t.indexOf("image/jpeg")!==-1||t.indexOf("image/png")!==-1)&&(u=4);let c=m3t(o,s,e,u),l=0;for(let f of i){let p=typeof f=="number"?Object.values(a)[f]:a[f],d=c+p.offset,h=Wg(e);if(h.data.length<=d)throw new Error(`${h.data.length} <= ${d}`);let g=h.data[d];l|=g<<p.shift}return l}function m3t(e,t,r,n=1){let i=r.width,a=wbe(e)*(i-1),o=Math.round(a),s=r.height,u=wbe(t)*(s-1),c=Math.round(u),l=r.components?r.components:n;return(c*i+o)*l}function H8(e,t,r,n,i){let a=[];for(let o=0;o<t;o++){let s=r[o],u=r[o+1]-r[o];if(u+s>n)break;let c=s/i,l=u/i;a.push(e.slice(c,c+l))}return a}function V8(e,t,r){let n=[];for(let i=0;i<t;i++){let a=i*r;n.push(e.slice(a,a+r))}return n}function $8(e,t,r,n){if(r)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){let i=[],a=new TextDecoder("utf8"),o=0;for(let s=0;s<e;s++){let u=n[s+1]-n[s];if(u+o<=t.length){let c=t.subarray(o,u+o),l=a.decode(c);i.push(l),o+=u}}return i}return[]}var Tbe="EXT_mesh_features",W8=Tbe;async function g3t(e,t){let r=new sr(e);x3t(r,t)}function x3t(e,t){let r=e.gltf.json;if(r.meshes)for(let n of r.meshes)for(let i of n.primitives)v3t(e,i,t)}function v3t(e,t,r){var a,o,s;if(!((a=r==null?void 0:r.gltf)!=null&&a.loadBuffers))return;let n=(o=t.extensions)==null?void 0:o[Tbe],i=n==null?void 0:n.featureIds;if(i)for(let u of i){let c;if(typeof u.attribute<"u"){let l=`_FEATURE_ID_${u.attribute}`,f=t.attributes[l];c=e.getTypedArrayForAccessor(f)}else typeof u.texture<"u"&&((s=r==null?void 0:r.gltf)!=null&&s.loadImages)?c=Zg(e,u.texture,t):c=[];u.data=c}}var A7={};zn(A7,{decode:()=>y3t,name:()=>pl});var w7="EXT_structural_metadata",pl=w7;async function y3t(e,t){let r=new sr(e);b3t(r,t)}function b3t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(w7);r&&((i=t.gltf)!=null&&i.loadImages&&_3t(e,r),w3t(e,r))}function _3t(e,t){let r=t.propertyTextures,n=e.gltf.json;if(r&&n.meshes)for(let i of n.meshes)for(let a of i.primitives)A3t(e,r,a,t)}function w3t(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.propertyTables;if(n&&i)for(let a in n){let o=E3t(i,a);o&&S3t(e,r,o)}}function E3t(e,t){for(let r of e)if(r.class===t)return r;return null}function A3t(e,t,r,n){var o;if(!t)return;let i=(o=r.extensions)==null?void 0:o[w7],a=i==null?void 0:i.propertyTextures;if(a)for(let s of a){let u=t[s];T3t(e,u,r,n)}}function T3t(e,t,r,n){var a;if(!t.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=t.class;for(let o in t.properties){let s=`${i}_${o}`,u=(a=t.properties)==null?void 0:a[o];if(!u)continue;u.data||(u.data=[]);let c=u.data,l=Zg(e,u,r);l!==null&&(z8(e,s,l,c,r),u.data=c,n.dataAttributeNames.push(s))}}function S3t(e,t,r){var a,o;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=C3t(e,t,u,i,c);c.data=l}}}function C3t(e,t,r,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=D3t(e,r,i,n),c=F3t(e,i,n);switch(r.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=k3t(r,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${r.type}`);case"STRING":{a=$8(n,s,u,c);break}case"ENUM":{a=B3t(t,r,n,s,u);break}default:throw new Error(`Unknown classProperty type ${r.type}`)}return a}function D3t(e,t,r,n){return t.array&&typeof t.count>"u"&&typeof r.arrayOffsets<"u"?Yg(e,r.arrayOffsets,r.arrayOffsetType||"UINT32",n):null}function F3t(e,t,r){return typeof t.stringOffsets<"u"?Yg(e,t.stringOffsets,t.stringOffsetType||"UINT32",r):null}function k3t(e,t,r,n){let i=e.array,a=e.count,o=Tb(e.type,e.componentType),s=r.byteLength/o,u;return e.componentType?u=Qg(r,e.type,e.componentType,s):u=r,i?n?H8(u,t,n,r.length,o):a?V8(u,t,a):[]:u}function B3t(e,t,r,n,i){var f;let a=t.enumType;if(!a)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[a];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${a}`);let s=o.valueType||"UINT16",u=Tb(t.type,s),c=n.byteLength/u,l=Qg(n,t.type,s,c);if(l||(l=n),t.array){if(i)return O3t({valuesData:l,numberOfElements:r,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let p=t.count;return p?I3t(l,r,p,o):[]}return E7(l,0,r,o)}function O3t(e){let{valuesData:t,numberOfElements:r,arrayOffsets:n,valuesDataBytesLength:i,elementSize:a,enumEntry:o}=e,s=[];for(let u=0;u<r;u++){let c=n[u],l=n[u+1]-n[u];if(l+c>i)break;let f=c/a,p=l/a,d=E7(t,f,p,o);s.push(d)}return s}function I3t(e,t,r,n){let i=[];for(let a=0;a<t;a++){let o=r*a,s=E7(e,o,r,n);i.push(s)}return i}function E7(e,t,r,n){let i=[];for(let a=0;a<r;a++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)i.push("");else{let o=e[t+a],s=P3t(n,o);s?i.push(s.name):i.push("")}return i}function P3t(e,t){for(let r of e.values)if(r.value===t)return r;return null}var T7={};zn(T7,{decode:()=>R3t,name:()=>No});var Sbe="EXT_feature_metadata",No=Sbe;async function R3t(e,t){let r=new sr(e);M3t(r,t)}function M3t(e,t){var n,i;if(!((n=t.gltf)!=null&&n.loadBuffers))return;let r=e.getExtension(Sbe);r&&((i=t.gltf)!=null&&i.loadImages&&j3t(e,r),L3t(e,r))}function j3t(e,t){let r=t.schema;if(!r)return;let n=r.classes,{featureTextures:i}=t;if(n&&i)for(let a in n){let o=n[a],s=N3t(i,a);s&&G3t(e,s,o)}}function L3t(e,t){let r=t.schema;if(!r)return;let n=r.classes,i=t.featureTables;if(n&&i)for(let a in n){let o=q3t(i,a);o&&U3t(e,r,o)}}function q3t(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function N3t(e,t){for(let r in e){let n=e[r];if(n.class===t)return n}return null}function U3t(e,t,r){var a,o;if(!r.class)return;let n=(a=t.classes)==null?void 0:a[r.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${r.class}`);let i=r.count;for(let s in n.properties){let u=n.properties[s],c=(o=r.properties)==null?void 0:o[s];if(c){let l=z3t(e,t,u,i,c);c.data=l}}}function G3t(e,t,r){var i;let n=t.class;for(let a in r.properties){let o=(i=t==null?void 0:t.properties)==null?void 0:i[a];if(o){let s=K3t(e,o,n);o.data=s}}}function z3t(e,t,r,n,i){let a=[],o=i.bufferView,s=e.getTypedArrayForBufferView(o),u=H3t(e,r,i,n),c=V3t(e,r,i,n);return r.type==="STRING"||r.componentType==="STRING"?a=$8(n,s,u,c):$3t(r)&&(a=W3t(r,n,s,u)),a}function H3t(e,t,r,n){return t.type==="ARRAY"&&typeof t.componentCount>"u"&&typeof r.arrayOffsetBufferView<"u"?Yg(e,r.arrayOffsetBufferView,r.offsetType||"UINT32",n):null}function V3t(e,t,r,n){return typeof r.stringOffsetBufferView<"u"?Yg(e,r.stringOffsetBufferView,r.offsetType||"UINT32",n):null}function $3t(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 W3t(e,t,r,n){let i=e.type==="ARRAY",a=e.componentCount,o="SCALAR",s=e.componentType||e.type,u=Tb(o,s),c=r.byteLength/u,l=Qg(r,o,s,c);return i?n?H8(l,t,n,r.length,u):a?V8(l,t,a):[]:l}function K3t(e,t,r){let n=e.gltf.json;if(!n.meshes)return[];let i=[];for(let a of n.meshes)for(let o of a.primitives)X3t(e,r,t,i,o);return i}function X3t(e,t,r,n,i){let a={channels:r.channels,...r.texture},o=Zg(e,a,i);o&&z8(e,t,o,n,i)}var K8="4.3.0-alpha.6";var e1="4.3.0-alpha.6";var Yu={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Cbe;async function C7(e){yv(e.modules);let t=PB("basis");return t||(Cbe||(Cbe=J3t(e)),await Cbe)}async function J3t(e){let t=null,r=null;return[t,r]=await Promise.all([await bu(Yu.TRANSCODER,"textures",e),await bu(Yu.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Y3t(t,r)}function Y3t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,initializeBasis:o}=i;o(),n({BasisFile:a})})})}var S7;async function D7(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(S7=S7||Q3t(e),await S7)}async function Q3t(e){let t=null,r=null;return[t,r]=await Promise.all([await bu(Yu.ENCODER,"textures",e),await bu(Yu.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Z3t(t,r)}function Z3t(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(n=>{e(r).then(i=>{let{BasisFile:a,KTX2File:o,initializeBasis:s,BasisEncoder:u}=i;s(),n({BasisFile:a,KTX2File:o,BasisEncoder:u})})})}var pe={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var eSt=["","WEBKIT_","MOZ_"],Dbe={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"},X8=null;function Sb(e){if(!X8){e=e||tSt()||void 0,X8=new Set;for(let t of eSt)for(let r in Dbe)if(e&&e.getExtension(`${t}${r}`)){let n=Dbe[r];X8.add(n)}}return X8}function tSt(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var F7=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}},ah=class{constructor(t,r,n,i){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,n),this._littleEndian=i,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,i=0;for(;this._dataView.getUint8(this._offset)!==r&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}};var Xfr=new Uint8Array([0]),fa=[171,75,84,88,32,50,48,187,13,10,26,10];function Fbe(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):Buffer.from(e).toString("utf8")}function kbe(e){let t=new Uint8Array(e.buffer,e.byteOffset,fa.length);if(t[0]!==fa[0]||t[1]!==fa[1]||t[2]!==fa[2]||t[3]!==fa[3]||t[4]!==fa[4]||t[5]!==fa[5]||t[6]!==fa[6]||t[7]!==fa[7]||t[8]!==fa[8]||t[9]!==fa[9]||t[10]!==fa[10]||t[11]!==fa[11])throw new Error("Missing KTX 2.0 identifier.");let r=new F7,n=17*Uint32Array.BYTES_PER_ELEMENT,i=new ah(e,fa.length,n,!0);r.vkFormat=i._nextUint32(),r.typeSize=i._nextUint32(),r.pixelWidth=i._nextUint32(),r.pixelHeight=i._nextUint32(),r.pixelDepth=i._nextUint32(),r.layerCount=i._nextUint32(),r.faceCount=i._nextUint32();let a=i._nextUint32();r.supercompressionScheme=i._nextUint32();let o=i._nextUint32(),s=i._nextUint32(),u=i._nextUint32(),c=i._nextUint32(),l=i._nextUint64(),f=i._nextUint64(),p=a*3*8,d=new ah(e,fa.length+n,p,!0);for(let me=0;me<a;me++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+d._nextUint64(),d._nextUint64()),uncompressedByteLength:d._nextUint64()});let h=new ah(e,o,s,!0),g={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:[]},m=6,v=4,b=(g.descriptorBlockSize/4-m)/v;for(let me=0;me<b;me++){let De={bitOffset:h._nextUint16(),bitLength:h._nextUint8(),channelType:h._nextUint8(),samplePosition:[h._nextUint8(),h._nextUint8(),h._nextUint8(),h._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};De.channelType&64?(De.sampleLower=h._nextInt32(),De.sampleUpper=h._nextInt32()):(De.sampleLower=h._nextUint32(),De.sampleUpper=h._nextUint32()),g.samples[me]=De}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(g);let _=new ah(e,u,c,!0);for(;_._offset<c;){let me=_._nextUint32(),De=_._scan(me),Oe=Fbe(De);if(r.keyValue[Oe]=_._nextUint8Array(me-De.byteLength-1),Oe.match(/^ktx/i)){let N=Fbe(r.keyValue[Oe]);r.keyValue[Oe]=N.substring(0,N.lastIndexOf("\0"))}let J=me%4?4-me%4:0;_._skip(J)}if(f<=0)return r;let A=new ah(e,l,f,!0),w=A._nextUint16(),C=A._nextUint16(),k=A._nextUint32(),R=A._nextUint32(),S=A._nextUint32(),D=A._nextUint32(),I=[];for(let me=0;me<a;me++)I.push({imageFlags:A._nextUint32(),rgbSliceByteOffset:A._nextUint32(),rgbSliceByteLength:A._nextUint32(),alphaSliceByteOffset:A._nextUint32(),alphaSliceByteLength:A._nextUint32()});let M=l+A._offset,G=M+k,z=G+R,X=z+S,Y=new Uint8Array(e.buffer,e.byteOffset+M,k),le=new Uint8Array(e.buffer,e.byteOffset+G,R),ue=new Uint8Array(e.buffer,e.byteOffset+z,S),ce=new Uint8Array(e.buffer,e.byteOffset+X,D);return r.globalData={endpointCount:w,selectorCount:C,imageDescs:I,endpointsData:Y,selectorsData:le,tablesData:ue,extendedData:ce},r}function t1(e,t){let r=new Array(t.mipMapLevels),n=t.width,i=t.height,a=0;for(let o=0;o<t.mipMapLevels;++o){let s=nSt(t,n,i,e,o),u=rSt(e,o,a,s);r[o]={compressed:!0,format:t.internalFormat,data:u,width:n,height:i,levelSize:s},n=Math.max(1,n>>1),i=Math.max(1,i>>1),a+=s}return r}function rSt(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function nSt(e,t,r,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(t,r)}var iSt={131:pe.COMPRESSED_RGB_S3TC_DXT1_EXT,132:pe.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:pe.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:pe.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:pe.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:pe.COMPRESSED_RED_RGTC1_EXT,140:pe.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:pe.COMPRESSED_RED_GREEN_RGTC2_EXT,142:pe.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:pe.COMPRESSED_RGB8_ETC2,148:pe.COMPRESSED_SRGB8_ETC2,149:pe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:pe.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:pe.COMPRESSED_RGBA8_ETC2_EAC,152:pe.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:pe.COMPRESSED_R11_EAC,154:pe.COMPRESSED_SIGNED_R11_EAC,155:pe.COMPRESSED_RG11_EAC,156:pe.COMPRESSED_SIGNED_RG11_EAC,157:pe.COMPRESSED_RGBA_ASTC_4x4_KHR,158:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:pe.COMPRESSED_RGBA_ASTC_5x4_KHR,160:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:pe.COMPRESSED_RGBA_ASTC_5x5_KHR,162:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:pe.COMPRESSED_RGBA_ASTC_6x5_KHR,164:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:pe.COMPRESSED_RGBA_ASTC_6x6_KHR,166:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:pe.COMPRESSED_RGBA_ASTC_8x5_KHR,168:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:pe.COMPRESSED_RGBA_ASTC_8x6_KHR,170:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:pe.COMPRESSED_RGBA_ASTC_8x8_KHR,172:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:pe.COMPRESSED_RGBA_ASTC_10x5_KHR,174:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:pe.COMPRESSED_RGBA_ASTC_10x6_KHR,176:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:pe.COMPRESSED_RGBA_ASTC_10x8_KHR,178:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:pe.COMPRESSED_RGBA_ASTC_10x10_KHR,180:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:pe.COMPRESSED_RGBA_ASTC_12x10_KHR,182:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:pe.COMPRESSED_RGBA_ASTC_12x12_KHR,184:pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:pe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:pe.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:pe.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:pe.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:pe.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:pe.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:pe.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:pe.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:pe.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:pe.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:pe.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:pe.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:pe.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:pe.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:pe.COMPRESSED_RGBA_ASTC_12x12_KHR};function Bbe(e){return iSt[e]}var ro=[171,75,84,88,32,50,48,187,13,10,26,10];function J8(e){let t=new Uint8Array(e);return!(t.byteLength<ro.length||t[0]!==ro[0]||t[1]!==ro[1]||t[2]!==ro[2]||t[3]!==ro[3]||t[4]!==ro[4]||t[5]!==ro[5]||t[6]!==ro[6]||t[7]!==ro[7]||t[8]!==ro[8]||t[9]!==ro[9]||t[10]!==ro[10]||t[11]!==ro[11])}function Obe(e){let t=new Uint8Array(e),r=kbe(t),n=Math.max(1,r.levels.length),i=r.pixelWidth,a=r.pixelHeight,o=Bbe(r.vkFormat);return t1(r.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var aSt={etc1:{basisFormat:0,compressed:!0,format:pe.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:pe.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:pe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:pe.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function Cb(e,t){if(t.basis.containerFormat==="auto"){if(J8(e)){let n=await D7(t);return Ibe(n.KTX2File,e,t)}let{BasisFile:r}=await C7(t);return k7(r,e,t)}switch(t.basis.module){case"encoder":let r=await D7(t);switch(t.basis.containerFormat){case"ktx2":return Ibe(r.KTX2File,e,t);case"basis":default:return k7(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await C7(t);return k7(n,e,t)}}function k7(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),a=[];for(let o=0;o<i;o++){let s=n.getNumLevels(o),u=[];for(let c=0;c<s;c++)u.push(oSt(n,o,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function oSt(e,t,r,n){let i=e.getImageWidth(t,r),a=e.getImageHeight(t,r),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:c}=Pbe(n,o),l=e.getImageTranscodedSizeInBytes(t,r,c),f=new Uint8Array(l);if(!e.transcodeImage(f,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:a,data:f,compressed:s,format:u,hasAlpha:o}}function Ibe(e,t,r){let n=new e(new Uint8Array(t));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),a=[];for(let o=0;o<i;o++)a.push(sSt(n,o,r));return[a]}finally{n.close(),n.delete()}}function sSt(e,t,r){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(t,0,0),{compressed:o,format:s,basisFormat:u}=Pbe(r,n),c=e.getImageTranscodedSizeInBytes(t,0,0,u),l=new Uint8Array(c);if(!e.transcodeImage(l,t,0,0,u,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:i,data:l,compressed:o,levelSize:c,hasAlpha:n,format:s}}function Pbe(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=r1()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),aSt[r]}function r1(){let e=Sb();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var Rbe={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:e1,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},oh={...Rbe,parse:Cb};var no={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},uSt={DXT1:pe.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:pe.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:pe.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":pe.COMPRESSED_RGB_ATC_WEBGL,ATCA:pe.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:pe.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},cSt=Lbe,lSt=Y8,fSt=Y8,pSt={DXT1:Lbe,DXT3:Y8,DXT5:Y8,"ATC ":cSt,ATCA:lSt,ATCI:fSt};function Mbe(e){return new Uint32Array(e,0,no.HEADER_LENGTH)[no.MAGIC_NUMBER_INDEX]===no.MAGIC_NUMBER}function jbe(e){let t=new Int32Array(e,0,no.HEADER_LENGTH),r=t[no.HEADER_PF_FOURCC_INDEX];Et(Boolean(t[no.HEADER_PF_FLAGS_INDEX]&no.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=dSt(r),i=uSt[n],a=pSt[n];Et(i&&a,`DDS: Unknown pixel format ${r}`);let o=1;t[no.HEADER_FLAGS_INDEX]&no.DDSD_MIPMAPCOUNT&&(o=Math.max(1,t[no.MIPMAPCOUNT_INDEX]));let s=t[no.HEADER_WIDTH_INDEX],u=t[no.HEADER_HEIGHT_INDEX],c=t[no.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return t1(l,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function Lbe(e,t){return(e+3>>2)*(t+3>>2)*8}function Y8(e,t){return(e+3>>2)*(t+3>>2)*16}function dSt(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Uo={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},hSt={0:[pe.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[pe.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[pe.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[pe.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[pe.COMPRESSED_RGB_ETC1_WEBGL],7:[pe.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[pe.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[pe.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[pe.COMPRESSED_RGB8_ETC2],23:[pe.COMPRESSED_RGBA8_ETC2_EAC],24:[pe.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[pe.COMPRESSED_R11_EAC],26:[pe.COMPRESSED_RG11_EAC],27:[pe.COMPRESSED_RGBA_ASTC_4X4_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[pe.COMPRESSED_RGBA_ASTC_5X4_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[pe.COMPRESSED_RGBA_ASTC_5X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[pe.COMPRESSED_RGBA_ASTC_6X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[pe.COMPRESSED_RGBA_ASTC_6X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[pe.COMPRESSED_RGBA_ASTC_8X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[pe.COMPRESSED_RGBA_ASTC_8X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[pe.COMPRESSED_RGBA_ASTC_8X8_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[pe.COMPRESSED_RGBA_ASTC_10X5_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[pe.COMPRESSED_RGBA_ASTC_10X6_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[pe.COMPRESSED_RGBA_ASTC_10X8_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[pe.COMPRESSED_RGBA_ASTC_10X10_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[pe.COMPRESSED_RGBA_ASTC_12X10_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[pe.COMPRESSED_RGBA_ASTC_12X12_KHR,pe.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},mSt={0:qbe,1:qbe,2:Nbe,3:Nbe,6:Db,7:Db,9:Fb,11:Fb,22:Db,23:Fb,24:Db,25:Db,26:Fb,27:Fb,28:gSt,29:xSt,30:vSt,31:ySt,32:bSt,33:_St,34:wSt,35:ESt,36:ASt,37:TSt,38:SSt,39:CSt,40:DSt};function Ube(e){let r=new Uint32Array(e,0,Uo.HEADER_LENGTH)[Uo.MAGIC_NUMBER_INDEX];return r===Uo.MAGIC_NUMBER||r===Uo.MAGIC_NUMBER_EXTRA}function Gbe(e){let t=new Uint32Array(e,0,Uo.HEADER_LENGTH),r=t[Uo.PIXEL_FORMAT_INDEX],n=t[Uo.COLOUR_SPACE_INDEX],i=hSt[r]||[],a=i.length>1&&n?i[1]:i[0],o=mSt[r],s=t[Uo.MIPMAPCOUNT_INDEX],u=t[Uo.WIDTH_INDEX],c=t[Uo.HEIGHT_INDEX],l=Uo.HEADER_SIZE+t[Uo.METADATA_SIZE_INDEX],f=new Uint8Array(e,l);return t1(f,{mipMapLevels:s,width:u,height:c,sizeFunction:o,internalFormat:a})}function qbe(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Nbe(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function Db(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function Fb(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function gSt(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function xSt(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function vSt(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function ySt(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function bSt(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function _St(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function wSt(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function ESt(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function ASt(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function TSt(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function SSt(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function CSt(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function DSt(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function zbe(e){if(J8(e))return Obe(e);if(Mbe(e))return jbe(e);if(Ube(e))return Gbe(e);throw new Error("Texture container format not recognized")}var Hbe={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:e1,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":{libraryPath:"libs/",useBasis:!1}}},Q8={...Hbe,parse:async(e,t)=>{var r;return(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 Cb(e,t))[0]):zbe(e)}};var B7={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:e1,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var n1=!0,Vbe=1735152710,P7=12,Z8=8,FSt=1313821514,kSt=5130562,BSt=0,OSt=0,ISt=1;function PSt(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 $be(e,t=0,r={}){let n=new DataView(e),{magic:i=Vbe}=r,a=n.getUint32(t,!1);return a===i||a===Vbe}function Wbe(e,t,r=0,n={}){let i=new DataView(t),a=PSt(i,r+0),o=i.getUint32(r+4,n1),s=i.getUint32(r+8,n1);switch(Object.assign(e,{header:{byteOffset:r,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),r+=P7,e.version){case 1:return RSt(e,i,r);case 2:return MSt(e,i,r,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function RSt(e,t,r){Et(e.header.byteLength>P7+Z8);let n=t.getUint32(r+0,n1),i=t.getUint32(r+4,n1);return r+=Z8,Et(i===BSt),O7(e,t,r,n),r+=n,r+=I7(e,t,r,e.header.byteLength),r}function MSt(e,t,r,n){return Et(e.header.byteLength>P7+Z8),jSt(e,t,r,n),r+e.header.byteLength}function jSt(e,t,r,n){for(;r+8<=e.header.byteLength;){let i=t.getUint32(r+0,n1),a=t.getUint32(r+4,n1);switch(r+=Z8,a){case FSt:O7(e,t,r,i);break;case kSt:I7(e,t,r,i);break;case OSt:n.strict||O7(e,t,r,i);break;case ISt:n.strict||I7(e,t,r,i);break;default:break}r+=Ja(i,4)}return r}function O7(e,t,r,n){let i=new Uint8Array(t.buffer,r,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Ja(n,4)}function I7(e,t,r,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:r,byteLength:n,arrayBuffer:t.buffer}),Ja(n,4)}function R7(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=t.baseUri||t.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}var j7={};zn(j7,{decode:()=>XSt,name:()=>KSt});var LSt="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",qSt="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",NSt=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]),USt=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),GSt={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},zSt={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Kbe(e,t,r,n,i,a="NONE"){let o=await HSt();WSt(o,o.exports[zSt[i]],e,t,r,n,o.exports[GSt[a||"NONE"]])}var M7;async function HSt(){return M7||(M7=VSt()),M7}async function VSt(){let e=LSt;WebAssembly.validate(NSt)&&(e=qSt,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let t=await WebAssembly.instantiate($St(e),{});return await t.instance.exports.__wasm_call_ctors(),t.instance}function $St(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let i=e.charCodeAt(n);t[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let r=0;for(let n=0;n<e.length;++n)t[r++]=t[n]<60?USt[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,r)}function WSt(e,t,r,n,i,a,o){let s=e.exports.sbrk,u=n+3&-4,c=s(u*i),l=s(a.length),f=new Uint8Array(e.exports.memory.buffer);f.set(a,l);let p=t(c,n,i,l,a.length);if(p===0&&o&&o(c,u,i),r.set(f.subarray(c,c+n*i)),s(c-s(0)),p!==0)throw new Error(`Malformed buffer data: ${p}`)}var eC="EXT_meshopt_compression",KSt=eC;async function XSt(e,t){var i,a;let r=new sr(e);if(!((i=t==null?void 0:t.gltf)!=null&&i.decompressMeshes)||!((a=t.gltf)!=null&&a.loadBuffers))return;let n=[];for(let o of e.json.bufferViews||[])n.push(JSt(r,o));await Promise.all(n),r.removeExtension(eC)}async function JSt(e,t){let r=e.getObjectExtension(t,eC);if(r){let{byteOffset:n=0,byteLength:i=0,byteStride:a,count:o,mode:s,filter:u="NONE",buffer:c}=r,l=e.gltf.buffers[c],f=new Uint8Array(l.arrayBuffer,l.byteOffset+n,i),p=new Uint8Array(e.gltf.buffers[t.buffer].arrayBuffer,t.byteOffset,t.byteLength);await Kbe(p,o,a,f,s,u),e.removeObjectExtension(t,eC)}}var L7={};zn(L7,{name:()=>YSt,preprocess:()=>QSt});var i1="EXT_texture_webp",YSt=i1;function QSt(e,t){let r=new sr(e);if(!b7("image/webp")){if(r.getRequiredExtensions().includes(i1))throw new Error(`gltf: Required extension ${i1} not supported by browser`);return}let{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,i1);a&&(i.source=a.source),r.removeObjectExtension(i,i1)}r.removeExtension(i1)}var q7={};zn(q7,{name:()=>ZSt,preprocess:()=>e6t});var tC="KHR_texture_basisu",ZSt=tC;function e6t(e,t){let r=new sr(e),{json:n}=r;for(let i of n.textures||[]){let a=r.getObjectExtension(i,tC);a&&(i.source=a.source,r.removeObjectExtension(i,tC))}r.removeExtension(tC)}var U7={};zn(U7,{decode:()=>a6t,encode:()=>o6t,name:()=>n6t,preprocess:()=>i6t});function Xbe(e){let t={};for(let r in e){let n=e[r];if(r!=="indices"){let i=N7(n);t[r]=i}}return t}function N7(e){let{buffer:t,size:r,count:n}=t6t(e);return{value:t,size:r,byteOffset:0,count:n,type:G8(r),componentType:Xg(t)}}function t6t(e){let t=e,r=1,n=0;return e&&e.value&&(t=e.value,r=e.size||1),t&&(ArrayBuffer.isView(t)||(t=r6t(t,Float32Array)),n=t.length/r),{buffer:t,size:r,count:n}}function r6t(e,t,r=!1){return e?Array.isArray(e)?new t(e):r&&!(e instanceof t)?new t(e):e:null}var cp="KHR_draco_mesh_compression",n6t=cp;function i6t(e,t,r){let n=new sr(e);for(let i of Jbe(n))n.getObjectExtension(i,cp)}async function a6t(e,t,r){var a;if(!((a=t==null?void 0:t.gltf)!=null&&a.decompressMeshes))return;let n=new sr(e),i=[];for(let o of Jbe(n))n.getObjectExtension(o,cp)&&i.push(s6t(n,o,t,r));await Promise.all(i),n.removeExtension(cp)}function o6t(e,t={}){let r=new sr(e);for(let n of r.json.meshes||[])u6t(n,t),r.addRequiredExtension(cp)}async function s6t(e,t,r,n){let i=e.getObjectExtension(t,cp);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=sd(a.buffer,a.byteOffset),s={...r};delete s["3d-tiles"];let u=await Ka(o,Mg,s,n),c=Xbe(u.attributes);for(let[l,f]of Object.entries(c))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=c,u.indices&&(t.indices=N7(u.indices)),e.removeObjectExtension(t,cp),c6t(t)}function u6t(e,t,r=4,n,i){var l;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let a=n.DracoWriter.encodeSync({attributes:e}),o=(l=i==null?void 0:i.parseSync)==null?void 0:l.call(i,{attributes:e}),s=n._addFauxAttributes(o.attributes),u=n.addBufferView(a);return{primitives:[{attributes:s,mode:r,extensions:{[cp]:{bufferView:u,attributes:s}}}]}}function c6t(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Jbe(e){for(let t of e.json.meshes||[])for(let r of t.primitives)yield r}var G7={};zn(G7,{decode:()=>d6t,name:()=>l6t});var nC="KHR_texture_transform",l6t=nC,rC=new ne,f6t=new pr,p6t=new pr;async function d6t(e,t){var a;if(!new sr(e).hasExtension(nC)||!((a=t.gltf)!=null&&a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)h6t(o,e)}function h6t(e,t){var a,o,s,u;let r=(a=t.json.materials)==null?void 0:a[e],n=[(o=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:o.baseColorTexture,r==null?void 0:r.emissiveTexture,r==null?void 0:r.normalTexture,r==null?void 0:r.occlusionTexture,(s=r==null?void 0:r.pbrMetallicRoughness)==null?void 0:s.metallicRoughnessTexture],i=[];for(let c of n)c&&((u=c==null?void 0:c.extensions)!=null&&u[nC])&&m6t(t,e,c,i)}function m6t(e,t,r,n){let i=g6t(r,n);if(!i)return;let a=e.json.meshes||[];for(let o of a)for(let s of o.primitives){let u=s.material;Number.isFinite(u)&&t===u&&x6t(e,s,i)}}function g6t(e,t){var o;let r=(o=e.extensions)==null?void 0:o[nC],{texCoord:n=0}=e,{texCoord:i=n}=r;if(!(t.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=b6t(r);return n!==i&&(e.texCoord=i),t.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function x6t(e,t,r){var s,u;let{originalTexCoord:n,texCoord:i,matrix:a}=r,o=t.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let c=(s=e.json.accessors)==null?void 0:s[o];if(c&&c.bufferView){let l=(u=e.json.bufferViews)==null?void 0:u[c.bufferView];if(l){let{arrayBuffer:f,byteOffset:p}=e.buffers[l.buffer],d=(p||0)+(c.byteOffset||0)+(l.byteOffset||0),{ArrayType:h,length:g}=Jg(c,l),m=U8[c.componentType],v=N8[c.type],b=l.byteStride||m*v,_=new Float32Array(g);for(let A=0;A<c.count;A++){let w=new h(f,d+A*b,2);rC.set(w[0],w[1],1),rC.transformByMatrix3(a),_.set([rC[0],rC[1]],A*v)}n===i?v6t(c,l,e.buffers,_):y6t(i,c,t,e,_)}}}}function v6t(e,t,r,n){e.componentType=5126,r.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),t.buffer=r.length-1,t.byteLength=n.buffer.byteLength,t.byteOffset=0,delete t.byteStride}function y6t(e,t,r,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let a=n.json.bufferViews;if(!a)return;a.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let o=n.json.accessors;o&&(o.push({bufferView:(a==null?void 0:a.length)-1,byteOffset:0,componentType:5126,count:t.count,type:"VEC2"}),r.attributes[`TEXCOORD_${e}`]=o.length-1)}function b6t(e){let{offset:t=[0,0],rotation:r=0,scale:n=[1,1]}=e,i=new pr().set(1,0,0,0,1,0,t[0],t[1],1),a=f6t.set(Math.cos(r),Math.sin(r),0,-Math.sin(r),Math.cos(r),0,0,0,1),o=p6t.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var z7={};zn(z7,{decode:()=>w6t,encode:()=>E6t,name:()=>_6t});var sh="KHR_lights_punctual",_6t=sh;async function w6t(e){let t=new sr(e),{json:r}=t,n=t.getExtension(sh);n&&(t.json.lights=n.lights,t.removeExtension(sh));for(let i of r.nodes||[]){let a=t.getObjectExtension(i,sh);a&&(i.light=a.light),t.removeObjectExtension(i,sh)}}async function E6t(e){let t=new sr(e),{json:r}=t;if(r.lights){let n=t.addExtension(sh);ti(!n.lights),n.lights=r.lights,delete r.lights}if(t.json.lights){for(let n of t.json.lights){let i=n.node;t.addObjectExtension(i,sh,n)}delete t.json.lights}}var H7={};zn(H7,{decode:()=>T6t,encode:()=>S6t,name:()=>A6t});var kb="KHR_materials_unlit",A6t=kb;async function T6t(e){let t=new sr(e),{json:r}=t;for(let n of r.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),t.removeObjectExtension(n,kb);t.removeExtension(kb)}function S6t(e){let t=new sr(e),{json:r}=t;if(t.materials)for(let n of r.materials||[])n.unlit&&(delete n.unlit,t.addObjectExtension(n,kb,{}),t.addExtension(kb))}var V7={};zn(V7,{decode:()=>D6t,encode:()=>F6t,name:()=>C6t});var Bb="KHR_techniques_webgl",C6t=Bb;async function D6t(e){let t=new sr(e),{json:r}=t,n=t.getExtension(Bb);if(n){let i=k6t(n,t);for(let a of r.materials||[]){let o=t.getObjectExtension(a,Bb);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=B6t(a.technique,t)),t.removeObjectExtension(a,Bb)}t.removeExtension(Bb)}}async function F6t(e,t){}function k6t(e,t){let{programs:r=[],shaders:n=[],techniques:i=[]}=e,a=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=a.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]}),i.forEach(o=>{o.program=r[o.program]}),i}function B6t(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 Ybe=[A7,_7,j7,L7,q7,U7,z7,H7,V7,G7,T7];function Qbe(e,t={},r){var i;let n=Ybe.filter(a=>e2e(a.name,t));for(let a of n)(i=a.preprocess)==null||i.call(a,e,t,r)}async function Zbe(e,t={},r){var i;let n=Ybe.filter(a=>e2e(a.name,t));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,t,r))}function e2e(e,t){var i;let r=((i=t==null?void 0:t.gltf)==null?void 0:i.excludeExtensions)||{};return!(e in r&&!r[e])}var $7="KHR_binary_glTF";function t2e(e){let t=new sr(e),{json:r}=t;for(let n of r.images||[]){let i=t.getObjectExtension(n,$7);i&&Object.assign(n,i),t.removeObjectExtension(n,$7)}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,t.removeExtension($7)}var r2e={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},I6t={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},W7=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),t2e(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 r2e)this._convertTopLevelObjectToArray(t,r)}_convertTopLevelObjectToArray(t,r){let n=t[r];if(!(!n||Array.isArray(n))){t[r]=[];for(let i in n){let a=n[i];a.id=a.id||i;let o=t[r].length;t[r].push(a),this.idToIndexMap[r][i]=o}}}_convertObjectIdsToArrayIndices(t){for(let r in r2e)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:i,material:a}=r;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");i&&(r.indices=this._convertIdToIndex(i,"accessor")),a&&(r.material=this._convertIdToIndex(a,"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 i in n){let a=n[i],o=this._convertIdToIndex(a,i);n[i]=o}}_convertIdToIndex(t,r){let n=I6t[r];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${r} with id ${t}`);return i}return t}_updateObjects(t){for(let r of this.json.buffers)delete r.type}_updateMaterial(t){var r,n,i;for(let a of t.materials){a.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((r=a.values)==null?void 0:r.tex)||((n=a.values)==null?void 0:n.texture2d_0)||((i=a.values)==null?void 0:i.diffuseTex),s=t.textures.findIndex(u=>u.id===o);s!==-1&&(a.pbrMetallicRoughness.baseColorTexture={index:s})}}};function n2e(e,t={}){return new W7().normalize(e,t)}async function i2e(e,t,r=0,n,i){var a,o,s;return P6t(e,t,r,n),n2e(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),Qbe(e,n,i),(o=n==null?void 0:n.gltf)!=null&&o.loadBuffers&&e.json.buffers&&await R6t(e,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadImages&&await M6t(e,n,i),await Zbe(e,n,i),e}function P6t(e,t,r,n){if(n.uri&&(e.baseUri=n.uri),t instanceof ArrayBuffer&&!$be(t,r,n)&&(t=new TextDecoder().decode(t)),typeof t=="string")e.json=VB(t);else if(t instanceof ArrayBuffer){let o={};r=Wbe(o,t,r,n.glb),ti(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else ti(!1,"GLTF: must be ArrayBuffer or string");let i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:o}=e._glb;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}let a=e.json.images||[];e.images=new Array(a.length).fill({})}async function R6t(e,t,r){var i,a;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:u}=r;ti(u);let c=R7(s.uri,t),l=await((i=r==null?void 0:r.fetch)==null?void 0:i.call(r,c)),f=await((a=l==null?void 0:l.arrayBuffer)==null?void 0:a.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 M6t(e,t,r){let n=j6t(e),i=e.json.images||[],a=[];for(let o of n)a.push(L6t(e,i[o],o,t,r));return await Promise.all(a)}function j6t(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 L6t(e,t,r,n,i){let a;if(t.uri&&!t.hasOwnProperty("bufferView")){let s=R7(t.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),t.bufferView={data:a}}if(Number.isFinite(t.bufferView)){let s=bbe(e.json,e.buffers,t.bufferView);a=sd(s.buffer,s.byteOffset,s.byteLength)}ti(a,"glTF image has no data");let o=await Ka(a,[Kg,oh],{...n,mimeType:t.mimeType,basis:n.basis||{format:r1()}},i);o&&o[0]&&(o={compressed:!0,mipmaps:!1,width:o[0].width,height:o[0].height,data:o[0]}),e.images=e.images||[],e.images[r]=o}var dl={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:K8,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:q6t,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function q6t(e,t={},r){t={...dl.options,...t},t.gltf={...dl.options.gltf,...t.gltf};let{byteOffset:n=0}=t;return await i2e({},e,n,t,r)}var N6t=1179937895,U6t=1313821514,G6t=5130562,Qu=!0;function a2e(e,t,r=0,n={}){let{magic:i=N6t,version:a=2,json:o={},binary:s}=e,u=r;t&&(t.setUint32(r+0,i,Qu),t.setUint32(r+4,a,Qu),t.setUint32(r+8,0,Qu));let c=r+8;r+=12;let l=r;t&&(t.setUint32(r+0,0,Qu),t.setUint32(r+4,U6t,Qu)),r+=8;let f=JSON.stringify(o);if(r=U0(t,r,f,4),t){let p=r-l-8;t.setUint32(l+0,p,Qu)}if(s){let p=r;if(t&&(t.setUint32(r+0,0,Qu),t.setUint32(r+4,G6t,Qu)),r+=8,r=dE(t,r,s,4),t){let d=r-p-8;t.setUint32(p+0,d,Qu)}}if(t){let p=r-u;t.setUint32(c,p,Qu)}return r}function K7(e,t,r,n){return z6t(e),a2e(e,t,r,n)}function z6t(e,{firstBuffer:t=0}={}){if(e.buffers&&e.buffers.length>t)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var X7={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:K8,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,options:{gltf:{}},encode:async(e,t={})=>o2e(e,t),encodeSync:o2e};function o2e(e,t={}){let{byteOffset:r=0}=t,n=K7(e,null,r,t),i=new ArrayBuffer(n),a=new DataView(i);return K7(e,a,r,t),i}var H6t={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},V6t={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Go={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},$6t={magFilter:Go.TEXTURE_MAG_FILTER,minFilter:Go.TEXTURE_MIN_FILTER,wrapS:Go.TEXTURE_WRAP_S,wrapT:Go.TEXTURE_WRAP_T},W6t={[Go.TEXTURE_MAG_FILTER]:Go.LINEAR,[Go.TEXTURE_MIN_FILTER]:Go.NEAREST_MIPMAP_LINEAR,[Go.TEXTURE_WRAP_S]:Go.REPEAT,[Go.TEXTURE_WRAP_T]:Go.REPEAT};function K6t(){return{id:"default-sampler",parameters:W6t}}function X6t(e){return V6t[e]}function J6t(e){return H6t[e]}var J7=class{baseUri="";jsonUnprocessed;json;buffers=[];images=[];postProcess(t,r={}){let{json:n,buffers:i=[],images:a=[]}=t,{baseUri:o=""}=t;return ti(n),this.baseUri=o,this.buffers=i,this.images=a,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((i,a)=>this._resolveBufferView(i,a))),t.images&&(n.images=t.images.map((i,a)=>this._resolveImage(i,a))),t.samplers&&(n.samplers=t.samplers.map((i,a)=>this._resolveSampler(i,a))),t.textures&&(n.textures=t.textures.map((i,a)=>this._resolveTexture(i,a))),t.accessors&&(n.accessors=t.accessors.map((i,a)=>this._resolveAccessor(i,a))),t.materials&&(n.materials=t.materials.map((i,a)=>this._resolveMaterial(i,a))),t.meshes&&(n.meshes=t.meshes.map((i,a)=>this._resolveMesh(i,a))),t.nodes&&(n.nodes=t.nodes.map((i,a)=>this._resolveNode(i,a)),n.nodes=n.nodes.map((i,a)=>this._resolveNodeChildren(i))),t.skins&&(n.skins=t.skins.map((i,a)=>this._resolveSkin(i,a))),t.scenes&&(n.scenes=t.scenes.map((i,a)=>this._resolveScene(i,a))),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((i,a)=>{let o=this.getMesh(a);return i.id=o.id,i.primitives=i.primitives.concat(o.primitives),i},{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(i=>{let a={...i,attributes:{},indices:void 0,material:void 0},o=i.attributes;for(let s in o)a.attributes[s]=this.getAccessor(o[s]);return i.indices!==void 0&&(a.indices=this.getAccessor(i.indices)),i.material!==void 0&&(a.material=this.getMaterial(i.material)),a})),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 i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture={...i.baseColorTexture},i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture={...i.metallicRoughnessTexture},i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(t,r){let n=X6t(t.componentType),i=J6t(t.type),a=n*i,o={...t,id:t.id||`accessor-${r}`,bytesPerComponent:n,components:i,bytesPerElement:a,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:u,byteLength:c}=Jg(o,o.bufferView),l=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=s.arrayBuffer.slice(l,l+c);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,l,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new u(f)}return o}_getValueFromInterleavedBuffer(t,r,n,i,a){let o=new Uint8Array(a*i);for(let s=0;s<a;s++){let u=r+s*n;o.set(new Uint8Array(t.arrayBuffer.slice(u,u+i)),s*i)}return o.buffer}_resolveTexture(t,r){return{...t,id:t.id||`texture-${r}`,sampler:typeof t.sampler=="number"?this.getSampler(t.sampler):K6t(),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 i in n){let a=this._enumSamplerParameter(i);a!==void 0&&(n.parameters[a]=n[i])}return n}_enumSamplerParameter(t){return $6t[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},i=this.images[r];return i&&(n.image=i),n}_resolveBufferView(t,r){let n=t.buffer,i=this.buffers[n].arrayBuffer,a=this.buffers[n].byteOffset||0;return t.byteOffset&&(a+=t.byteOffset),{id:`bufferView-${r}`,...t,buffer:this.buffers[n],data:new Uint8Array(i,a,t.byteLength)}}_resolveCamera(t,r){let n={...t,id:t.id||`camera-${r}`};return n.perspective,n.orthographic,n}};function Ob(e,t){return new J7().postProcess(e,t)}var iC={URI:0,EMBEDDED:1};function aC(e,t,r,n){e.rotateYtoZ=!0;let i=(e.byteOffset||0)+(e.byteLength||0)-r;if(i===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=sd(t,r,i),e.gltfByteOffset=0,e.gltfByteLength=i,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 oC(e,t,r,n){let i=(r==null?void 0:r["3d-tiles"])||{};if(Y6t(e,t,r),i.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:a}=n,o=await a(e.gltfUrl,r);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let a=await Ka(e.gltfArrayBuffer,dl,r,n);e.gltf=Ob(a),e.gpuMemoryUsageInBytes=Ab(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function Y6t(e,t,r){switch(t){case iC.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),a=new TextDecoder().decode(n);e.gltfUrl=a.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case iC.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function s2e(e,t,r,n,i){var o;r=Q6t(e,t,r,n,i),await oC(e,iC.EMBEDDED,n,i);let a=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return a&&a.CESIUM_RTC&&(e.rtcCenter=a.CESIUM_RTC.center),r}function Q6t(e,t,r,n,i){r=up(e,t,r),r=Vg(e,t,r),r=$g(e,t,r,n),r=aC(e,t,r,n);let a=new fl(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",xt.FLOAT,3),r}var hl=6356752314245179e-9,Z6t={radii:[6378137,6378137,hl],radiiSquared:[6378137*6378137,6378137*6378137,hl*hl],oneOverRadii:[1/6378137,1/6378137,1/hl],oneOverRadiiSquared:[1/(6378137*6378137),1/(6378137*6378137),1/(hl*hl)],maximumRadius:Math.max(6378137,6378137,hl),centerToleranceSquared:.1};function sC(e){return e}var Ydr=new ge;function e8t(e,t=[],r=sC){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 u2e(e,t=[]){return e8t(e,t,on._cartographicRadians?sC:OL)}function t8t(e,t,r=sC){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 c2e(e,t){return t8t(e,t,on._cartographicRadians?sC:IL)}var l2e=1e-14,r8t=new ge,f2e={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"}},Y7={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Ib={east:new ge,north:new ge,up:new ge,west:new ge,south:new ge,down:new ge},n8t=new ge,i8t=new ge,a8t=new ge;function Q7(e,t,r,n,i,a){let o=f2e[t]&&f2e[t][r];xi(o&&(!n||n===o));let s,u,c,l=r8t.copy(i);if(to(l.x,0,l2e)&&to(l.y,0,l2e)){let p=Math.sign(l.z);s=n8t.fromArray(Y7[t]),t!=="east"&&t!=="west"&&s.scale(p),u=i8t.fromArray(Y7[r]),r!=="east"&&r!=="west"&&u.scale(p),c=a8t.fromArray(Y7[n]),n!=="east"&&n!=="west"&&c.scale(p)}else{let{up:p,east:d,north:h}=Ib;d.set(-l.y,l.x,0).normalize(),e.geodeticSurfaceNormal(l,p),h.copy(p).cross(d);let{down:g,west:m,south:v}=Ib;g.copy(p).scale(-1),m.copy(d).scale(-1),v.copy(h).scale(-1),s=Ib[t],u=Ib[r],c=Ib[n]}return a[0]=s.x,a[1]=s.y,a[2]=s.z,a[3]=0,a[4]=u.x,a[5]=u.y,a[6]=u.z,a[7]=0,a[8]=c.x,a[9]=c.y,a[10]=c.z,a[11]=0,a[12]=l.x,a[13]=l.y,a[14]=l.z,a[15]=1,a}var a1=new ge,o8t=new ge,s8t=new ge;function p2e(e,t,r=[]){let{oneOverRadii:n,oneOverRadiiSquared:i,centerToleranceSquared:a}=t;a1.from(e);let o=a1.x,s=a1.y,u=a1.z,c=n.x,l=n.y,f=n.z,p=o*o*c*c,d=s*s*l*l,h=u*u*f*f,g=p+d+h,m=Math.sqrt(1/g);if(!Number.isFinite(m))return;let v=o8t;if(v.copy(e).scale(m),g<a)return v.to(r);let b=i.x,_=i.y,A=i.z,w=s8t;w.set(v.x*b*2,v.y*_*2,v.z*A*2);let C=(1-m)*a1.len()/(.5*w.len()),k=0,R,S,D,I;do{C-=k,R=1/(1+C*b),S=1/(1+C*_),D=1/(1+C*A);let M=R*R,G=S*S,z=D*D,X=M*R,Y=G*S,le=z*D;I=p*M+d*G+h*z-1;let ce=-2*(p*X*b+d*Y*_+h*le*A);k=I/ce}while(Math.abs(I)>Ku.EPSILON12);return a1.scale([R,S,D]).to(r)}var uC=new ge,d2e=new ge,l8t=new ge,Is=new ge,f8t=new ge,cC=new ge,ml=class{constructor(t=0,r=0,n=0){this.centerToleranceSquared=Ku.EPSILON1,xi(t>=0),xi(r>=0),xi(n>=0),this.radii=new ge(t,r,n),this.radiiSquared=new ge(t*t,r*r,n*n),this.radiiToTheFourth=new ge(t*t*t*t,r*r*r*r,n*n*n*n),this.oneOverRadii=new ge(t===0?0:1/t,r===0?0:1/r,n===0?0:1/n),this.oneOverRadiiSquared=new ge(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=d2e,i=l8t,[,,a]=t;this.geodeticSurfaceNormalCartographic(t,n),i.copy(this.radiiSquared).scale(n);let o=Math.sqrt(n.dot(i));return i.scale(1/o),n.scale(a),i.add(n),i.to(r)}cartesianToCartographic(t,r=[0,0,0]){cC.from(t);let n=this.scaleToGeodeticSurface(cC,Is);if(!n)return;let i=this.geodeticSurfaceNormal(n,d2e),a=f8t;a.copy(cC).subtract(n);let o=Math.atan2(i.y,i.x),s=Math.asin(i.z),u=Math.sign(Ng.dot(a,cC))*Ng.length(a);return c2e([o,s,u],r)}eastNorthUpToFixedFrame(t,r=new qo){return Q7(this,"east","north","up",t,r)}localFrameToFixedFrame(t,r,n,i,a=new qo){return Q7(this,t,r,n,i,a)}geocentricSurfaceNormal(t,r=[0,0,0]){return uC.from(t).normalize().to(r)}geodeticSurfaceNormalCartographic(t,r=[0,0,0]){let n=u2e(t),i=n[0],a=n[1],o=Math.cos(a);return uC.set(o*Math.cos(i),o*Math.sin(i),Math.sin(a)).normalize(),uC.to(r)}geodeticSurfaceNormal(t,r=[0,0,0]){return uC.from(t).scale(this.oneOverRadiiSquared).normalize().to(r)}scaleToGeodeticSurface(t,r){return p2e(t,this,r)}scaleToGeocentricSurface(t,r=[0,0,0]){Is.from(t);let n=Is.x,i=Is.y,a=Is.z,o=this.oneOverRadiiSquared,s=1/Math.sqrt(n*n*o.x+i*i*o.y+a*a*o.z);return Is.multiplyScalar(s).to(r)}transformPositionToScaledSpace(t,r=[0,0,0]){return Is.from(t).scale(this.oneOverRadii).to(r)}transformPositionFromScaledSpace(t,r=[0,0,0]){return Is.from(t).scale(this.radii).to(r)}getSurfaceNormalIntersectionWithZAxis(t,r=0,n=[0,0,0]){xi(to(this.radii.x,this.radii.y,Ku.EPSILON15)),xi(this.radii.z>0),Is.from(t);let i=Is.z*(1-this.squaredXOverSquaredZ);if(!(Math.abs(i)>=this.radii.z-r))return Is.set(0,0,i).to(n)}};ml.WGS84=new ml(6378137,6378137,hl);async function h2e(e,t,r,n,i){return r=p8t(e,t,r,n,i),await oC(e,e.gltfFormat||0,n,i),r}function p8t(e,t,r,n,i){var c;if(r=up(e,t,r),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);r=Vg(e,t,r);let a=new DataView(t);if(e.gltfFormat=a.getUint32(r,!0),r+=4,r=$g(e,t,r,n),r=aC(e,t,r,n),!((c=e==null?void 0:e.header)!=null&&c.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new fl(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",xt.FLOAT,3);let u=new nh(e.batchTableJson,e.batchTableBinary,s);return d8t(e,o,u,s),r}function d8t(e,t,r,n){let i=new Array(n),a=new ge,o=new ge,s=new ge,u=new ge,c=new Yr,l=new sp,f=new ge,p={},d=new qo,h=[],g=[],m=[],v=[];for(let b=0;b<n;b++){let _;if(t.hasProperty("POSITION"))_=t.getProperty("POSITION",xt.FLOAT,3,b,a);else if(t.hasProperty("POSITION_QUANTIZED")){_=t.getProperty("POSITION_QUANTIZED",xt.UNSIGNED_SHORT,3,b,a);let D=t.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",xt.FLOAT,3);if(!D)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let I=t.getGlobalProperty("QUANTIZED_VOLUME_SCALE",xt.FLOAT,3);if(!I)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let M=65535;for(let G=0;G<3;G++)_[G]=_[G]/M*I[G]+D[G]}if(!_)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(_),p.translation=a,e.normalUp=t.getProperty("NORMAL_UP",xt.FLOAT,3,b,h),e.normalRight=t.getProperty("NORMAL_RIGHT",xt.FLOAT,3,b,g);let A=!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",xt.UNSIGNED_SHORT,2,b,h),e.octNormalRight=t.getProperty("NORMAL_RIGHT_OCT32P",xt.UNSIGNED_SHORT,2,b,g),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?(ml.WGS84.eastNorthUpToFixedFrame(a,d),d.getRotationMatrix3(c)):c.identity()}A&&(u.copy(o).cross(s).normalize(),c.setColumn(0,o),c.setColumn(1,s),c.setColumn(2,u)),l.fromMatrix3(c),p.rotation=l,f.set(1,1,1);let w=t.getProperty("SCALE",xt.FLOAT,1,b,m);Number.isFinite(w)&&f.multiplyByScalar(w);let C=t.getProperty("SCALE_NON_UNIFORM",xt.FLOAT,3,b,h);C&&f.scale(C),p.scale=f;let k=t.getProperty("BATCH_ID",xt.UNSIGNED_SHORT,1,b,v);k===void 0&&(k=b);let R=new qo().fromQuaternion(p.rotation);d.identity(),d.translate(p.translation),d.multiplyRight(R),d.scale(p.scale);let S=d.clone();i[b]={modelMatrix:S,batchId:k}}e.instances=i}async function m2e(e,t,r,n,i,a){r=up(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 a(t,r,n,i,s)}return r}async function g2e(e,t,r,n){var i,a;if(e.rotateYtoZ=!0,e.gltfUpAxis=(i=r==null?void 0:r["3d-tiles"])!=null&&i.assetGltfUpAxis?r["3d-tiles"].assetGltfUpAxis:"Y",(a=r==null?void 0:r["3d-tiles"])!=null&&a.loadGLTF){if(!n)return t.byteLength;let o=await Ka(t,dl,r,n);e.gltf=Ob(o),e.gpuMemoryUsageInBytes=Ab(e.gltf)}else e.gltfArrayBuffer=t;return t.byteLength}async function Z7(e,t=0,r,n,i={shape:"tile3d"}){switch(i.byteOffset=t,i.type=Lve(e,t),i.type){case Lo.COMPOSITE:return await m2e(i,e,t,r,n,Z7);case Lo.BATCHED_3D_MODEL:return await s2e(i,e,t,r,n);case Lo.GLTF:return await g2e(i,e,r,n);case Lo.INSTANCED_3D_MODEL:return await h2e(i,e,t,r,n);case Lo.POINT_CLOUD:return await ibe(i,e,t,r,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}async function eq(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 a=x2e(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),c=JSON.parse(u),l=x2e(e.slice(16,24)),f=new ArrayBuffer(0);if(l&&(f=e.slice(24+a)),await lC(c,c.tileAvailability,f,r),Array.isArray(c.contentAvailability))for(let p of c.contentAvailability)await lC(c,p,f,r);else await lC(c,c.contentAvailability,f,r);return await lC(c,c.childSubtreeAvailability,f,r),c}async function lC(e,t,r,n){let i=Number.isFinite(t.bitstream)?t.bitstream:t.bufferView;if(typeof i!="number")return;let a=e.bufferViews[i],o=e.buffers[a.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 u=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(u)).arrayBuffer();t.explicitBitstream=new Uint8Array(l,a.byteOffset,a.byteLength);return}let s=e.buffers.slice(0,a.buffer).reduce((u,c)=>u+c.byteLength,0);t.explicitBitstream=new Uint8Array(r.slice(s,s+o.byteLength),a.byteOffset,a.byteLength)}function x2e(e){let t=new DataView(e),r=t.getUint32(0,!0),n=t.getUint32(4,!0);return r+2**32*n}var fC={dataType:null,batchType:null,id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Rg,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:eq,options:{}};function tq(e){if(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let t=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf("Electron")>=0)}function Ps(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||tq()}var h8t=globalThis.self||globalThis.window||globalThis.global,o1=globalThis.window||globalThis.self||globalThis.global,m8t=globalThis.document||{},uh=globalThis.process||{},g8t=globalThis.console,zhr=globalThis.navigator||{};var pC="4.3.0-alpha.6",$hr=Ps();function x8t(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var dC=class{constructor(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=x8t(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 v2e(e){let t;return e<10?t="".concat(e.toFixed(2),"ms"):e<100?t="".concat(e.toFixed(1),"ms"):e<1e3?t="".concat(e.toFixed(0),"ms"):t="".concat((e/1e3).toFixed(2),"s"),t}function y2e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return"".concat(" ".repeat(r)).concat(e)}function hC(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(r=Math.min(r,n/e.width));let a=e.width*r,o=e.height*r,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var mC;(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"})(mC||(mC={}));var v8t=10;function b2e(e){return typeof e!="string"?e:(e=e.toUpperCase(),mC[e]||mC.WHITE)}function _2e(e,t,r){if(!Ps&&typeof e=="string"){if(t){let n=b2e(t);e="\x1B[".concat(n,"m").concat(e,"\x1B[39m")}if(r){let n=b2e(r);e="\x1B[".concat(n+v8t,"m").concat(e,"\x1B[49m")}}return e}function w2e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(r),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(t.find(s=>a===s)||(i[a]=o.bind(e)))}}function s1(e,t){if(!e)throw new Error(t||"Assertion failed")}function ch(){let e;if(Ps()&&o1.performance){var t,r;e=o1===null||o1===void 0||(t=o1.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if("hrtime"in uh){var n;let i=uh===null||uh===void 0||(n=uh.hrtime)===null||n===void 0?void 0:n.call(uh);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var u1={debug:Ps()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},y8t={enabled:!0,level:0};function zo(){}var E2e={},A2e={once:!0},Pb=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=pC,this._startTs=ch(),this._deltaTs=ch(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new dC("__probe-".concat(this.id,"__"),y8t),this.timeStamp("".concat(this.id," started")),w2e(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((ch()-this._startTs).toPrecision(10))}getDelta(){return Number((ch()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){s1(t,r)}warn(t){return this._getLogFunction(0,t,u1.warn,arguments,A2e)}error(t){return this._getLogFunction(0,t,u1.error,arguments)}deprecated(t,r){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(r,"` instead"))}removed(t,r){return this.error("`".concat(t,"` has been removed. Use `").concat(r,"` instead"))}probe(t,r){return this._getLogFunction(t,r,u1.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,u1.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,u1.debug||u1.info,arguments,A2e)}table(t,r,n){return r?this._getLogFunction(t,r,console.table||zo,n&&[n],{tag:E8t(r)}):zo}image(t){let{logLevel:r,priority:n,image:i,message:a="",scale:o=1}=t;return this._shouldLog(r||n)?Ps()?w8t({image:i,message:a,scale:o}):_8t({image:i,message:a,scale:o}):zo}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||zo)}group(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=T2e({logLevel:t,message:r,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(t,r){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||zo)}withGroup(t,r,n){this.group(t,r)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=S2e(t)}_getLogFunction(t,r,n,i,a){if(this._shouldLog(t)){a=T2e({logLevel:t,message:r,args:i,opts:a}),n=n||a.method,s1(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=ch();let o=a.tag||a.message;if(a.once&&o)if(!E2e[o])E2e[o]=ch();else return zo;return r=b8t(this.id,a.message,a),n.bind(console,r,...a.args)}return zo}};Pb.VERSION=pC;function S2e(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 s1(Number.isFinite(t)&&t>=0),t}function T2e(e){let{logLevel:t,message:r}=e;e.logLevel=S2e(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 i=typeof e.message;return s1(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function b8t(e,t,r){if(typeof t=="string"){let n=r.time?y2e(v2e(r.total)):"";t=r.time?"".concat(e,": ").concat(n," ").concat(t):"".concat(e,": ").concat(t),t=_2e(t,r.color,r.background)}return t}function _8t(e){let{image:t,message:r="",scale:n=1}=e;return console.warn("removed"),zo}function w8t(e){let{image:t,message:r="",scale:n=1}=e;if(typeof t=="string"){let a=new Image;return a.onload=()=>{let o=hC(a,r,n);console.log(...o)},a.src=t,zo}let i=t.nodeName||"";if(i.toLowerCase()==="img")return console.log(...hC(t,r,n)),zo;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...hC(a,r,n)),a.src=t.toDataURL(),zo}return zo}function E8t(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}var rq=new Pb({id:"@probe.gl/log"});var Ho=null;try{Ho=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 Hr(e,t,r){this.low=e|0,this.high=t|0,this.unsigned=!!r}Hr.prototype.__isLong__;Object.defineProperty(Hr.prototype,"__isLong__",{value:!0});function Yi(e){return(e&&e.__isLong__)===!0}function C2e(e){var t=Math.clz32(e&-e);return e?31-t:t}Hr.isLong=Yi;var D2e={},F2e={};function lh(e,t){var r,n,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(n=F2e[e],n)?n:(r=hr(e,0,!0),i&&(F2e[e]=r),r)):(e|=0,(i=-128<=e&&e<128)&&(n=D2e[e],n)?n:(r=hr(e,e<0?-1:0,!1),i&&(D2e[e]=r),r))}Hr.fromInt=lh;function Vo(e,t){if(isNaN(e))return t?gl:Rs;if(t){if(e<0)return gl;if(e>=I2e)return M2e}else{if(e<=-B2e)return Ra;if(e+1>=B2e)return R2e}return e<0?Vo(-e,t).neg():hr(e%l1|0,e/l1|0,t)}Hr.fromNumber=Vo;function hr(e,t,r){return new Hr(e,t,r)}Hr.fromBits=hr;var gC=Math.pow;function iq(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?gl:Rs;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 iq(e.substring(1),t,r).neg();for(var i=Vo(gC(r,8)),a=Rs,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),u=parseInt(e.substring(o,o+s),r);if(s<8){var c=Vo(gC(r,s));a=a.mul(c).add(Vo(u))}else a=a.mul(i),a=a.add(Vo(u))}return a.unsigned=t,a}Hr.fromString=iq;function Ms(e,t){return typeof e=="number"?Vo(e,t):typeof e=="string"?iq(e,t):hr(e.low,e.high,typeof t=="boolean"?t:e.unsigned)}Hr.fromValue=Ms;var k2e=1<<16,A8t=1<<24,l1=k2e*k2e,I2e=l1*l1,B2e=I2e/2,O2e=lh(A8t),Rs=lh(0);Hr.ZERO=Rs;var gl=lh(0,!0);Hr.UZERO=gl;var c1=lh(1);Hr.ONE=c1;var P2e=lh(1,!0);Hr.UONE=P2e;var nq=lh(-1);Hr.NEG_ONE=nq;var R2e=hr(-1,2147483647,!1);Hr.MAX_VALUE=R2e;var M2e=hr(-1,-1,!0);Hr.MAX_UNSIGNED_VALUE=M2e;var Ra=hr(0,-2147483648,!1);Hr.MIN_VALUE=Ra;var Ce=Hr.prototype;Ce.toInt=function(){return this.unsigned?this.low>>>0:this.low};Ce.toNumber=function(){return this.unsigned?(this.high>>>0)*l1+(this.low>>>0):this.high*l1+(this.low>>>0)};Ce.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(Ra)){var r=Vo(t),n=this.div(r),i=n.mul(r).sub(this);return n.toString(t)+i.toInt().toString(t)}else return"-"+this.neg().toString(t);for(var a=Vo(gC(t,6),this.unsigned),o=this,s="";;){var u=o.div(a),c=o.sub(u.mul(a)).toInt()>>>0,l=c.toString(t);if(o=u,o.isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}};Ce.getHighBits=function(){return this.high};Ce.getHighBitsUnsigned=function(){return this.high>>>0};Ce.getLowBits=function(){return this.low};Ce.getLowBitsUnsigned=function(){return this.low>>>0};Ce.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Ra)?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};Ce.isZero=function(){return this.high===0&&this.low===0};Ce.eqz=Ce.isZero;Ce.isNegative=function(){return!this.unsigned&&this.high<0};Ce.isPositive=function(){return this.unsigned||this.high>=0};Ce.isOdd=function(){return(this.low&1)===1};Ce.isEven=function(){return(this.low&1)===0};Ce.equals=function(t){return Yi(t)||(t=Ms(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};Ce.eq=Ce.equals;Ce.notEquals=function(t){return!this.eq(t)};Ce.neq=Ce.notEquals;Ce.ne=Ce.notEquals;Ce.lessThan=function(t){return this.comp(t)<0};Ce.lt=Ce.lessThan;Ce.lessThanOrEqual=function(t){return this.comp(t)<=0};Ce.lte=Ce.lessThanOrEqual;Ce.le=Ce.lessThanOrEqual;Ce.greaterThan=function(t){return this.comp(t)>0};Ce.gt=Ce.greaterThan;Ce.greaterThanOrEqual=function(t){return this.comp(t)>=0};Ce.gte=Ce.greaterThanOrEqual;Ce.ge=Ce.greaterThanOrEqual;Ce.compare=function(t){if(Yi(t)||(t=Ms(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};Ce.comp=Ce.compare;Ce.negate=function(){return!this.unsigned&&this.eq(Ra)?Ra:this.not().add(c1)};Ce.neg=Ce.negate;Ce.add=function(t){Yi(t)||(t=Ms(t));var r=this.high>>>16,n=this.high&65535,i=this.low>>>16,a=this.low&65535,o=t.high>>>16,s=t.high&65535,u=t.low>>>16,c=t.low&65535,l=0,f=0,p=0,d=0;return d+=a+c,p+=d>>>16,d&=65535,p+=i+u,f+=p>>>16,p&=65535,f+=n+s,l+=f>>>16,f&=65535,l+=r+o,l&=65535,hr(p<<16|d,l<<16|f,this.unsigned)};Ce.subtract=function(t){return Yi(t)||(t=Ms(t)),this.add(t.neg())};Ce.sub=Ce.subtract;Ce.multiply=function(t){if(this.isZero())return this;if(Yi(t)||(t=Ms(t)),Ho){var r=Ho.mul(this.low,this.high,t.low,t.high);return hr(r,Ho.get_high(),this.unsigned)}if(t.isZero())return this.unsigned?gl:Rs;if(this.eq(Ra))return t.isOdd()?Ra:Rs;if(t.eq(Ra))return this.isOdd()?Ra:Rs;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(O2e)&&t.lt(O2e))return Vo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,a=this.low>>>16,o=this.low&65535,s=t.high>>>16,u=t.high&65535,c=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+=a*l,p+=d>>>16,d&=65535,d+=o*c,p+=d>>>16,d&=65535,p+=i*l,f+=p>>>16,p&=65535,p+=a*c,f+=p>>>16,p&=65535,p+=o*u,f+=p>>>16,p&=65535,f+=n*l+i*c+a*u+o*s,f&=65535,hr(d<<16|h,f<<16|p,this.unsigned)};Ce.mul=Ce.multiply;Ce.divide=function(t){if(Yi(t)||(t=Ms(t)),t.isZero())throw Error("division by zero");if(Ho){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var r=(this.unsigned?Ho.div_u:Ho.div_s)(this.low,this.high,t.low,t.high);return hr(r,Ho.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?gl:Rs;var n,i,a;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return gl;if(t.gt(this.shru(1)))return P2e;a=gl}else{if(this.eq(Ra)){if(t.eq(c1)||t.eq(nq))return Ra;if(t.eq(Ra))return c1;var o=this.shr(1);return n=o.div(t).shl(1),n.eq(Rs)?t.isNegative()?c1:nq:(i=this.sub(t.mul(n)),a=n.add(i.div(t)),a)}else if(t.eq(Ra))return this.unsigned?gl:Rs;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();a=Rs}for(i=this;i.gte(t);){n=Math.max(1,Math.floor(i.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),u=s<=48?1:gC(2,s-48),c=Vo(n),l=c.mul(t);l.isNegative()||l.gt(i);)n-=u,c=Vo(n,this.unsigned),l=c.mul(t);c.isZero()&&(c=c1),a=a.add(c),i=i.sub(l)}return a};Ce.div=Ce.divide;Ce.modulo=function(t){if(Yi(t)||(t=Ms(t)),Ho){var r=(this.unsigned?Ho.rem_u:Ho.rem_s)(this.low,this.high,t.low,t.high);return hr(r,Ho.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};Ce.mod=Ce.modulo;Ce.rem=Ce.modulo;Ce.not=function(){return hr(~this.low,~this.high,this.unsigned)};Ce.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Ce.clz=Ce.countLeadingZeros;Ce.countTrailingZeros=function(){return this.low?C2e(this.low):C2e(this.high)+32};Ce.ctz=Ce.countTrailingZeros;Ce.and=function(t){return Yi(t)||(t=Ms(t)),hr(this.low&t.low,this.high&t.high,this.unsigned)};Ce.or=function(t){return Yi(t)||(t=Ms(t)),hr(this.low|t.low,this.high|t.high,this.unsigned)};Ce.xor=function(t){return Yi(t)||(t=Ms(t)),hr(this.low^t.low,this.high^t.high,this.unsigned)};Ce.shiftLeft=function(t){return Yi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):hr(0,this.low<<t-32,this.unsigned)};Ce.shl=Ce.shiftLeft;Ce.shiftRight=function(t){return Yi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):hr(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};Ce.shr=Ce.shiftRight;Ce.shiftRightUnsigned=function(t){return Yi(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?hr(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):t===32?hr(this.high,0,this.unsigned):hr(this.high>>>t-32,0,this.unsigned)};Ce.shru=Ce.shiftRightUnsigned;Ce.shr_u=Ce.shiftRightUnsigned;Ce.rotateLeft=function(t){var r;return Yi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?hr(this.high,this.low,this.unsigned):t<32?(r=32-t,hr(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(t-=32,r=32-t,hr(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))};Ce.rotl=Ce.rotateLeft;Ce.rotateRight=function(t){var r;return Yi(t)&&(t=t.toInt()),(t&=63)===0?this:t===32?hr(this.high,this.low,this.unsigned):t<32?(r=32-t,hr(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(t-=32,r=32-t,hr(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))};Ce.rotr=Ce.rotateRight;Ce.toSigned=function(){return this.unsigned?hr(this.low,this.high,!1):this};Ce.toUnsigned=function(){return this.unsigned?this:hr(this.low,this.high,!0)};Ce.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};Ce.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]};Ce.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]};Hr.fromBytes=function(t,r,n){return n?Hr.fromBytesLE(t,r):Hr.fromBytesBE(t,r)};Hr.fromBytesLE=function(t,r){return new Hr(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)};Hr.fromBytesBE=function(t,r){return new Hr(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)};var f1=Hr;var T8t=16;function Rb(e){e==="X"&&(e="");let t=e.padEnd(T8t,"0");return f1.fromString(t,!0,16)}function aq(e){if(e.isZero())return"X";let t=e.countTrailingZeros(),r=t%4;t=(t-r)/4;let n=t;t*=4;let a=e.shiftRightUnsigned(t).toString(16).replace(/0+$/,"");return Array(17-n-a.length).join("0")+a}function oq(e,t){let r=S8t(e).shiftRightUnsigned(2);return e.add(f1.fromNumber(2*t+1-4).multiply(r))}function S8t(e){return e.and(e.not().add(1))}var C8t=3,D8t=30,F8t=2*D8t+1,j2e=180/Math.PI;function q2e(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],i=n.length,a=0,o=[0,0];for(let s=i-1;s>=0;s--){a=i-s;let u=n[s],c=0,l=0;u==="1"?l=1:u==="2"?(c=1,l=1):u==="3"&&(c=1);let f=Math.pow(2,a-1);k8t(f,o,c,l),o[0]+=f*c,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:a}}function N2e(e){if(e.isZero())return"";let t=e.toString(2);for(;t.length<C8t+F8t;)t="0"+t;let r=t.lastIndexOf("1"),n=t.substring(0,3),i=t.substring(3,r),a=i.length/2,o=f1.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=f1.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function sq(e,t,r){let n=1<<t;return[(e[0]+r[0])/n,(e[1]+r[1])/n]}function L2e(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function uq(e){return[L2e(e[0]),L2e(e[1])]}function cq(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 lq([e,t,r]){let n=Math.atan2(r,Math.sqrt(e*e+t*t));return[Math.atan2(t,e)*j2e,n*j2e]}function k8t(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}function U2e(e){let t=sq(e.ij,e.level,[.5,.5]),r=uq(t),n=cq(e.face,r);return lq(n)}var B8t=100;function fq(e){let{face:t,ij:r,level:n}=e,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],a=Math.max(1,Math.ceil(B8t*Math.pow(2,-n))),o=new Float64Array(4*a*2+2),s=0,u=0;for(let c=0;c<4;c++){let l=i[c].slice(0),f=i[c+1],p=(f[0]-l[0])/a,d=(f[1]-l[1])/a;for(let h=0;h<a;h++){l[0]+=p,l[1]+=d;let g=sq(r,n,l),m=uq(g),v=cq(t,m),b=lq(v);Math.abs(b[1])>89.999&&(b[0]=u);let _=b[0]-u;b[0]+=_>180?-360:_<-180?360:0,o[s++]=b[0],o[s++]=b[1],u=b[0]}}return o[s++]=o[0],o[s++]=o[1],o}function p1(e){let t=O8t(e);return q2e(t)}function O8t(e){if(e.indexOf("/")>0)return e;let t=Rb(e);return N2e(t)}function pq(e){let t=p1(e);return U2e(t)}function z2e(e){let t;if(e.face===2||e.face===5){let r=null,n=0;for(let i=0;i<4;i++){let a=`${e.face}/${i}`,o=p1(a),s=fq(o);(typeof r>"u"||r===null)&&(r=new Float64Array(4*s.length)),r.set(s,n),n+=s.length}t=G2e(r)}else{let r=fq(e);t=G2e(r)}return t}function G2e(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,i)=>n-i),r.sort((n,i)=>n-i),{west:t[0],east:t[t.length-1],north:r[r.length-1],south:r[0]}}function dq(e,t){let r=(t==null?void 0:t.minimumHeight)||0,n=(t==null?void 0:t.maximumHeight)||0,i=p1(e),a=z2e(i),o=a.west,s=a.south,u=a.east,c=a.north,l=[];return l.push(new ge(o,c,r)),l.push(new ge(u,c,r)),l.push(new ge(u,s,r)),l.push(new ge(o,s,r)),l.push(new ge(o,c,n)),l.push(new ge(u,c,n)),l.push(new ge(u,s,n)),l.push(new ge(o,s,n)),l}var vi={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var $0r=new ge,W0r=new ge;var Mb=new ge,H2e=new ge,lp=class{constructor(t=[0,0,0],r=0){this.radius=-0,this.center=new ge,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=Mb.from(r),this.center=new ge().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 lp(this.center,this.radius)}union(t){let r=this.center,n=this.radius,i=t.center,a=t.radius,o=Mb.copy(i).subtract(r),s=o.magnitude();if(n>=s+a)return this.clone();if(a>=s+n)return t.clone();let u=(n+s+a)*.5;return H2e.copy(o).scale((-n+u)/s).add(r),this.center.copy(H2e),this.radius=u,this}expand(t){let n=Mb.from(t).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(t){this.center.transform(t);let r=I8.getScaling(Mb,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=Mb.from(t).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(t){let r=this.center,n=this.radius,a=t.normal.dot(r)+t.distance;return a<-n?vi.OUTSIDE:a<n?vi.INTERSECTING:vi.INSIDE}};var I8t=new ge,P8t=new ge,xC=new ge,vC=new ge,yC=new ge,R8t=new ge,M8t=new ge,xl={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8},fh=class{constructor(t=[0,0,0],r=[0,0,0,0,0,0,0,0,0]){this.center=new ge().from(t),this.halfAxes=new Yr(r)}get halfSize(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ge(t).len(),new ge(r).len(),new ge(n).len()]}get quaternion(){let t=this.halfAxes.getColumn(0),r=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new ge(t).normalize(),a=new ge(r).normalize(),o=new ge(n).normalize();return new sp().fromMatrix3(new Yr([...i,...a,...o]))}fromCenterHalfSizeQuaternion(t,r,n){let i=new sp(n),a=new Yr().fromQuaternion(i);return a[0]=a[0]*r[0],a[1]=a[1]*r[0],a[2]=a[2]*r[0],a[3]=a[3]*r[1],a[4]=a[4]*r[1],a[5]=a[5]*r[1],a[6]=a[6]*r[2],a[7]=a[7]*r[2],a[8]=a[8]*r[2],this.center=new ge().from(t),this.halfAxes=a,this}clone(){return new fh(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new lp){let r=this.halfAxes,n=r.getColumn(0,xC),i=r.getColumn(1,vC),a=r.getColumn(2,yC),o=I8t.copy(n).add(i).add(a);return t.center.copy(this.center),t.radius=o.magnitude(),t}intersectPlane(t){let r=this.center,n=t.normal,i=this.halfAxes,a=n.x,o=n.y,s=n.z,u=Math.abs(a*i[xl.COLUMN0ROW0]+o*i[xl.COLUMN0ROW1]+s*i[xl.COLUMN0ROW2])+Math.abs(a*i[xl.COLUMN1ROW0]+o*i[xl.COLUMN1ROW1]+s*i[xl.COLUMN1ROW2])+Math.abs(a*i[xl.COLUMN2ROW0]+o*i[xl.COLUMN2ROW1]+s*i[xl.COLUMN2ROW2]),c=n.dot(r)+t.distance;return c<=-u?vi.OUTSIDE:c>=u?vi.INSIDE:vi.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=P8t.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,xC),a=n.getColumn(1,vC),o=n.getColumn(2,yC),s=i.magnitude(),u=a.magnitude(),c=o.magnitude();i.normalize(),a.normalize(),o.normalize();let l=0,f;return f=Math.abs(r.dot(i))-s,f>0&&(l+=f*f),f=Math.abs(r.dot(a))-u,f>0&&(l+=f*f),f=Math.abs(r.dot(o))-c,f>0&&(l+=f*f),l}computePlaneDistances(t,r,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=this.center,s=this.halfAxes,u=s.getColumn(0,xC),c=s.getColumn(1,vC),l=s.getColumn(2,yC),f=R8t.copy(u).add(c).add(l).add(o),p=M8t.copy(f).subtract(t),d=r.dot(p);return i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),f.copy(o).add(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).add(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).add(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),o.copy(f).subtract(u).subtract(c).subtract(l),p.copy(f).subtract(t),d=r.dot(p),i=Math.min(d,i),a=Math.max(d,a),n[0]=i,n[1]=a,n}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,xC);r.transformAsPoint(t);let n=this.halfAxes.getColumn(1,vC);n.transformAsPoint(t);let i=this.halfAxes.getColumn(2,yC);return i.transformAsPoint(t),this.halfAxes=new Yr([...r,...n,...i]),this}getTransform(){throw new Error("not implemented")}};var V2e=new ge,$2e=new ge,vl=class{constructor(t=[0,0,1],r=0){this.normal=new ge,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return xi(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=V2e.from(t),this.normal.from(r).normalize();let n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,r,n,i){return this.normal.set(t,r,n),xi(to(this.normal.len(),1)),this.distance=i,this}clone(){return new vl(this.normal,this.distance)}equals(t){return to(this.distance,t.distance)&&to(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=$2e.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=V2e.from(t),i=this.getPointDistance(n),a=$2e.copy(this.normal).scale(i);return n.subtract(a).to(r)}};var W2e=[new ge([1,0,0]),new ge([0,1,0]),new ge([0,0,1])],K2e=new ge,j8t=new ge,$o=class{constructor(t=[]){this.planes=t}fromBoundingSphere(t){this.planes.length=2*W2e.length;let r=t.center,n=t.radius,i=0;for(let a of W2e){let o=this.planes[i],s=this.planes[i+1];o||(o=this.planes[i]=new vl),s||(s=this.planes[i+1]=new vl);let u=K2e.copy(a).scale(-n).add(r);o.fromPointNormal(u,a);let c=K2e.copy(a).scale(n).add(r),l=j8t.copy(a).negate();s.fromPointNormal(c,l),i+=2}return this}computeVisibility(t){let r=vi.INSIDE;for(let n of this.planes)switch(t.intersectPlane(n)){case vi.OUTSIDE:return vi.OUTSIDE;case vi.INTERSECTING:r=vi.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(xi(Number.isFinite(r),"parentPlaneMask is required."),r===$o.MASK_OUTSIDE||r===$o.MASK_INSIDE)return r;let n=$o.MASK_INSIDE,i=this.planes;for(let a=0;a<this.planes.length;++a){let o=a<31?1<<a:0;if(a<31&&!(r&o))continue;let s=i[a],u=t.intersectPlane(s);if(u===vi.OUTSIDE)return $o.MASK_OUTSIDE;u===vi.INTERSECTING&&(n|=o)}return n}};$o.MASK_OUTSIDE=4294967295;$o.MASK_INSIDE=0;$o.MASK_INDETERMINATE=2147483647;var fmr=new ge,pmr=new ge,dmr=new ge,hmr=new ge,mmr=new ge;var _mr=new ge,wmr=new ge,Emr=new ge,Amr=new ge,Tmr=new ge,Smr=new ge,Cmr=new ge,Dmr=new ge,Fmr=new ge,kmr=new ge,Bmr=new ge,Omr=new ge;var Zu=new Yr,q8t=new Yr,N8t=new Yr,bC=new Yr,X2e=new Yr;function gq(e,t={}){let r=Ku.EPSILON20,n=10,i=0,a=0,o=q8t,s=N8t;o.identity(),s.copy(e);let u=r*U8t(s);for(;a<n&&G8t(s)>u;)z8t(s,bC),X2e.copy(bC).transpose(),s.multiplyRight(bC),s.multiplyLeft(X2e),o.multiplyRight(bC),++i>2&&(++a,i=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=s.toTarget(t.diagonal),t}function U8t(e){let t=0;for(let r=0;r<9;++r){let n=e[r];t+=n*n}return Math.sqrt(t)}var hq=[1,0,0],mq=[2,2,1];function G8t(e){let t=0;for(let r=0;r<3;++r){let n=e[Zu.getElementIndex(mq[r],hq[r])];t+=2*n*n}return Math.sqrt(t)}function z8t(e,t){let r=Ku.EPSILON15,n=0,i=1;for(let c=0;c<3;++c){let l=Math.abs(e[Zu.getElementIndex(mq[c],hq[c])]);l>n&&(i=c,n=l)}let a=hq[i],o=mq[i],s=1,u=0;if(Math.abs(e[Zu.getElementIndex(o,a)])>r){let c=e[Zu.getElementIndex(o,o)],l=e[Zu.getElementIndex(a,a)],f=e[Zu.getElementIndex(o,a)],p=(c-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),u=d*s}return Yr.IDENTITY.to(t),t[Zu.getElementIndex(a,a)]=t[Zu.getElementIndex(o,o)]=s,t[Zu.getElementIndex(o,a)]=u,t[Zu.getElementIndex(a,o)]=-u,t}var fp=new ge,V8t=new ge,$8t=new ge,W8t=new ge,K8t=new ge,X8t=new Yr,J8t={diagonal:new Yr,unitary:new Yr};function xq(e,t=new fh){if(!e||e.length===0)return t.halfAxes=new Yr([0,0,0,0,0,0,0,0,0]),t.center=new ge,t;let r=e.length,n=new ge(0,0,0);for(let S of e)n.add(S);let i=1/r;n.multiplyByScalar(i);let a=0,o=0,s=0,u=0,c=0,l=0;for(let S of e){let D=fp.copy(S).subtract(n);a+=D.x*D.x,o+=D.x*D.y,s+=D.x*D.z,u+=D.y*D.y,c+=D.y*D.z,l+=D.z*D.z}a*=i,o*=i,s*=i,u*=i,c*=i,l*=i;let f=X8t;f[0]=a,f[1]=o,f[2]=s,f[3]=o,f[4]=u,f[5]=c,f[6]=s,f[7]=c,f[8]=l;let{unitary:p}=gq(f,J8t),d=t.halfAxes.copy(p),h=d.getColumn(0,$8t),g=d.getColumn(1,W8t),m=d.getColumn(2,K8t),v=-Number.MAX_VALUE,b=-Number.MAX_VALUE,_=-Number.MAX_VALUE,A=Number.MAX_VALUE,w=Number.MAX_VALUE,C=Number.MAX_VALUE;for(let S of e)fp.copy(S),v=Math.max(fp.dot(h),v),b=Math.max(fp.dot(g),b),_=Math.max(fp.dot(m),_),A=Math.min(fp.dot(h),A),w=Math.min(fp.dot(g),w),C=Math.min(fp.dot(m),C);h=h.multiplyByScalar(.5*(A+v)),g=g.multiplyByScalar(.5*(w+b)),m=m.multiplyByScalar(.5*(C+_)),t.center.copy(h).add(g).add(m);let k=V8t.set(v-A,b-w,_-C).multiplyByScalar(.5),R=new Yr([k[0],0,0,0,k[1],0,0,0,k[2]]);return t.halfAxes.multiplyRight(R),t}function _C(e){let t=e.token,r={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=dq(t,r),i=pq(t),a=i[0],o=i[1],s=ml.WGS84.cartographicToCartesian([a,o,r.maximumHeight]),u=new ge(s[0],s[1],s[2]);n.push(u);let c=xq(n);return[...c.center,...c.halfAxes]}var Y8t=4,Q8t=8,Z8t={QUADTREE:Y8t,OCTREE:Q8t};function eCt(e,t,r){if(e!=null&&e.box){let n=Rb(e.s2VolumeInfo.token),i=oq(n,t),a=aq(i),o={...e.s2VolumeInfo};switch(o.token=a,r){case"OCTREE":let c=e.s2VolumeInfo,l=c.maximumHeight-c.minimumHeight,f=l/2,p=c.minimumHeight+l/2;c.minimumHeight=p-f,c.maximumHeight=p+f;break;default:break}return{box:_C(o),s2VolumeInfo:o}}}async function yq(e){let{implicitOptions:t,parentData:r={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:a}=e,{subtree:o,level:s=0,globalData:u={level:0,mortonIndex:0,x:0,y:0,z:0}}=e,{subdivisionScheme:c,subtreeLevels:l,maximumLevel:f,contentUrlTemplate:p,subtreesUriTemplate:d,basePath:h}=t,g={children:[],lodMetricValue:0,contentUrl:""};if(!f)return rq.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${p} won't be loaded...`),g;let m=s+u.level;if(m>f)return g;let v=Z8t[c],b=Math.log2(v),_=n&1,A=n>>1&1,w=n>>2&1,C=(v**s-1)/(v-1),k=ph(r.mortonIndex,n,b),R=C+k,S=ph(r.x,_,1),D=ph(r.y,A,1),I=ph(r.z,w,1),M=!1;s>=l&&(M=vq(o.childSubtreeAvailability,k));let G=ph(u.x,S,s),z=ph(u.y,D,s),X=ph(u.z,I,s);if(M){let me=`${h}/${d}`,De=wC(me,m,G,z,X);o=await Jr(De,fC,a),u={mortonIndex:k,x:S,y:D,z:I,level:s},k=0,R=0,S=0,D=0,I=0,s=0}if(!vq(o.tileAvailability,R))return g;vq(o.contentAvailability,R)&&(g.contentUrl=wC(p,m,G,z,X));let ue=s+1,ce={mortonIndex:k,x:S,y:D,z:I};for(let me=0;me<v;me++){let De=eCt(i,me,c),Oe=await yq({subtree:o,implicitOptions:t,loaderOptions:a,parentData:ce,childIndex:me,level:ue,globalData:{...u},s2VolumeBox:De});if(Oe.contentUrl||Oe.children.length){let J=m+1,K=tCt(Oe,J,{childTileX:S,childTileY:D,childTileZ:I},t,i);g.children.push(K)}}return g}function vq(e,t){let r;return Array.isArray(e)?(r=e[0],e.length>1&&rq.once('Not supported extension "3DTILES_multiple_contents" has been detected')):r=e,"constant"in r?Boolean(r.constant):r.explicitBitstream?iCt(t,r.explicitBitstream):!1}function tCt(e,t,r,n,i){let{basePath:a,refine:o,getRefine:s,lodMetricType:u,getTileType:c,rootLodMetricValue:l,rootBoundingVolume:f}=n,p=e.contentUrl&&e.contentUrl.replace(`${a}/`,""),d=l/2**t,h=i!=null&&i.box?{box:i.box}:f,g=rCt(t,h,r);return{children:e.children,contentUrl:e.contentUrl,content:{uri:p},id:e.contentUrl,refine:s(o),type:c(e),lodMetricType:u,lodMetricValue:d,geometricError:d,transform:e.transform,boundingVolume:g}}function rCt(e,t,r){if(t.region){let{childTileX:n,childTileY:i,childTileZ:a}=r,[o,s,u,c,l,f]=t.region,p=2**e,d=(u-o)/p,h=(c-s)/p,g=(f-l)/p,[m,v]=[o+d*n,o+d*(n+1)],[b,_]=[s+h*i,s+h*(i+1)],[A,w]=[l+g*a,l+g*(a+1)];return{region:[m,b,v,_,A,w]}}if(t.box)return t;throw new Error(`Unsupported bounding volume type ${JSON.stringify(t)}`)}function ph(e,t,r){return(e<<r)+t}function wC(e,t,r,n,i){let a=nCt({level:t,x:r,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function nCt(e){let t={};for(let r in e)t[`{${r}}`]=e[r];return t}function iCt(e,t){let r=Math.floor(e/8),n=e%8;return(t[r]>>n&1)===1}function _q(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 wq(e){switch(e){case"REPLACE":case"replace":return 2;case"ADD":case"add":return 1;default:return e}}function bq(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 Ta.resolve(t,e)}function J2e(e,t){var i;if(!e)return null;let r;if(e.content){let a=e.content.uri||((i=e.content)==null?void 0:i.url);typeof a<"u"&&(r=bq(a,t))}return{...e,id:r,contentUrl:r,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:_q(e,r),refine:wq(e.refine)}}async function Z2e(e,t,r){let n=null,i=Q2e(e.root);i&&e.root?n=await Y2e(e.root,e,t,i,r):n=J2e(e.root,t);let a=[];for(a.push(n);a.length>0;){let o=a.pop()||{},s=o.children||[],u=[];for(let c of s){let l=Q2e(c),f;l?f=await Y2e(c,e,t,l,r):f=J2e(c,t),f&&(u.push(f),a.push(f))}o.children=u}return n}async function Y2e(e,t,r,n,i){var A,w,C;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:c}}=n,l=wC(c,0,0,0,0),f=bq(l,r),p=await Jr(f,fC,i),d=(A=e.content)==null?void 0:A.uri,h=d?bq(d,r):"",g=(w=t==null?void 0:t.root)==null?void 0:w.refine,m=e.geometricError,v=(C=e.boundingVolume.extensions)==null?void 0:C["3DTILES_bounding_volume_S2"];if(v){let R={box:_C(v),s2VolumeInfo:v};e.boundingVolume=R}let b=e.boundingVolume,_={contentUrlTemplate:h,subtreesUriTemplate:c,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:g,basePath:r,lodMetricType:"geometricError",rootLodMetricValue:m,rootBoundingVolume:b,getTileType:_q,getRefine:wq};return await aCt(e,r,p,_,i)}async function aCt(e,t,r,n,i){if(!e)return null;let{children:a,contentUrl:o}=await yq({subtree:r,implicitOptions:n,loaderOptions:i}),s,u=null;return o&&(s=o,u={uri:o.replace(`${t}/`,"")}),{...e,id:s,contentUrl:s,lodMetricType:"geometricError",lodMetricValue:e.geometricError,transformMatrix:e.transform,type:_q(e,s),refine:wq(e.refine),content:u||e.content,children:a}}function Q2e(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 ec={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Rg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:oCt,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function oCt(e,t={},r){let n=t["3d-tiles"]||{},i;return n.isTileset==="auto"?i=(r==null?void 0:r.url)&&r.url.indexOf(".json")!==-1:i=n.isTileset,i?sCt(e,t,r):uCt(e,t,r)}async function sCt(e,t,r){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(r==null?void 0:r.url)||"",a=cCt(i),o=await Z2e(n,a,t||{});return{...n,shape:"tileset3d",loader:ec,url:i,queryString:(r==null?void 0:r.queryString)||"",basePath:a,root:o||n.root,type:"TILES3D",lodMetricType:"geometricError",lodMetricValue:((u=n.root)==null?void 0:u.geometricError)||0}}async function uCt(e,t,r){let n={content:{shape:"tile3d",featureIds:null}};return await Z7(e,0,t,r,n.content),n.content}function cCt(e){return Ta.dirname(e)}var e_e="https://api.cesium.com/v1/assets";async function t_e(e,t){if(!t){let a=await lCt(e);for(let o of a.items)o.type==="3DTILES"&&(t=o.id)}let r=await fCt(e,t),{type:n,url:i}=r;return Et(n==="3DTILES"&&i),r.headers={Authorization:`Bearer ${r.accessToken}`},r}async function lCt(e){Et(e);let t=e_e,r={Authorization:`Bearer ${e}`},n=await ca(t,{headers:r});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function fCt(e,t){Et(e,t);let r={Authorization:`Bearer ${e}`},n=`${e_e}/${t}`,i=await ca(`${n}`,{headers:r});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await ca(`${n}/endpoint`,{headers:r}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a={...a,...o},a}async function pCt(e,t={}){t=t["cesium-ion"]||{};let{accessToken:r}=t,n=t.assetId;if(!Number.isFinite(n)){let i=e.match(/\/([0-9]+)\/tileset.json/);n=i&&i[1]}return t_e(r,n)}var EC={...ec,id:"cesium-ion",name:"Cesium Ion",preload:pCt,parse:async(e,t,r)=>(t={...t},t["3d-tiles"]=t["cesium-ion"],t.loader=EC,ec.parse(e,t,r)),options:{"cesium-ion":{...ec.options["3d-tiles"],accessToken:null}}};var lTe=kt(cTe(),1),Okt="4.3.0-alpha.6",lU={dataType:null,batchType:null,id:"zip",module:"zip",name:"Zip Archive",version:Okt,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:Ikt};async function Ikt(e,t={}){let r=[],n={};try{let i=new lTe.default;return(await i.loadAsync(e,t)).forEach((o,s)=>{let u=s.name,c=Pkt(i,u,t).then(l=>{n[o]=l});r.push(c)}),await Promise.all(r),n}catch(i){throw t.log.error(`Unable to read zip archive: ${i}`),i}}async function Pkt(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}}var Rkt=1024,Ch=async(e,t)=>{let r=[await e.getUint8(e.length-1n),await e.getUint8(e.length-2n),await e.getUint8(e.length-3n),void 0],n=-1,i=e.length-4n;do{let a=i;i-=BigInt(Rkt),i=i>=0n?i:0n;let o=new Uint8Array(await e.slice(i,a));for(let s=o.length-1;s>-1;s--)if(r[3]=r[2],r[2]=r[1],r[1]=r[0],r[0]=o[s],r.every((u,c)=>u===t[c])){n=s;break}}while(n===-1&&i>0n);return i+BigInt(n)};var Mkt=new Uint8Array([1,0]);function h4(e){let t={...e,zip64Length:(e.offset?1:0)*8+(e.size?1:0)*16},r=[];for(let n of jkt){if(!t[n.name??""]&&!n.default)continue;let i=new DataView(new ArrayBuffer(n.size));fTe[n.size](i,0,t[n.name??""]??n.default),r.push(i.buffer)}return _n(...r)}function Ii(e,t,r,n){fTe[t](e,Number(r),n)}var fTe={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)}},jkt=[{size:2,default:new DataView(Mkt.buffer).getUint16(0,!0)},{size:2,name:"zip64Length"},{size:8,name:"size"},{size:8,name:"size"},{size:8,name:"offset"}];var pTe=new Uint8Array([80,75,5,6]),dTe=new Uint8Array([80,75,6,7]),hTe=new Uint8Array([80,75,6,6]),mTe=8n,Lkt=10n,gTe=12n,xTe=16n,qkt=22n,vTe=8n,yTe=24n,Nkt=32n,bTe=40n,_Te=48n,Ukt=56n,m4=async e=>{let t=await Ch(e,pTe),r=BigInt(await e.getUint16(t+mTe)),n=BigInt(await e.getUint32(t+gTe)),i=BigInt(await e.getUint32(t+xTe)),a=t-20n,o=0n,s=await e.slice(a,a+4n);if(_u(s,dTe)){o=await e.getBigUint64(a+vTe);let u=await e.slice(o,o+4n);if(!_u(u,hTe.buffer))throw new Error("zip64 EoCD not found");r=await e.getBigUint64(o+yTe),n=await e.getBigUint64(o+bTe),i=await e.getBigUint64(o+_Te)}else a=0n;return{cdRecordsNumber:r,cdStartOffset:i,cdByteSize:n,offsets:{zip64EoCDOffset:o,zip64EoCDLocatorOffset:a,zipEoCDOffset:t}}};function wTe(e,t,r,n,i){let a=new DataView(e),o=t.zip64EoCDOffset?t.zipEoCDOffset-t.zip64EoCDOffset:0n;if(Number(i)<=65535&&(Ii(a,2,o+mTe,i),Ii(a,2,o+Lkt,i)),n-r<=4294967295&&Ii(a,4,o+gTe,n-r),r<4294967295&&Ii(a,4,o+xTe,r),t.zip64EoCDLocatorOffset&&t.zip64EoCDOffset){let s=t.zip64EoCDLocatorOffset-t.zip64EoCDOffset;Ii(a,8,s+vTe,n),Ii(a,8,_Te,r),Ii(a,8,yTe,i),Ii(a,8,Nkt,i),Ii(a,8,bTe,n-r)}return new Uint8Array(a.buffer)}function ETe(e){let t=new DataView(new ArrayBuffer(Number(qkt)));for(let i of Gkt)Ii(t,i.size,i.offset,e[i.name??""]??i.default??0);let r=Hkt(e),n=zkt(e);return _n(n,r,t.buffer)}var Gkt=[{offset:0,size:4,default:new DataView(pTe.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 zkt(e){let t=new DataView(new ArrayBuffer(Number(Ukt)));for(let r of $kt)Ii(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}function Hkt(e){let t=new DataView(new ArrayBuffer(Number(20)));for(let r of Vkt)Ii(t,r.size,r.offset,e[r.name??""]??r.default??0);return t.buffer}var Vkt=[{offset:0,size:4,default:new DataView(dTe.buffer).getUint32(0,!0)},{offset:4,size:4,default:0},{offset:8,size:8,name:"eoCDStart"},{offset:16,size:4,default:1}],$kt=[{offset:0,size:4,default:new DataView(hTe.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 Wkt=20,Kkt=24,Xkt=28,Jkt=30,Ykt=32,Qkt=42,v2=46n,Fh=new Uint8Array([80,75,1,2]),Dh=async(e,t)=>{if(e>=t.length)return null;let r=new DataView(await t.slice(e,e+v2)),n=r.buffer.slice(0,4);if(!_u(n,Fh.buffer))return null;let i=BigInt(r.getUint32(Wkt,!0)),a=BigInt(r.getUint32(Kkt,!0)),o=r.getUint16(Jkt,!0),s=BigInt(r.getUint16(Ykt,!0)),u=r.getUint16(Xkt,!0),c=await t.slice(e+v2,e+v2+BigInt(u+o)),l=c.slice(0,u),f=new TextDecoder().decode(l),p=e+v2+BigInt(u),d=r.getUint32(Qkt,!0),h=BigInt(d),g=new DataView(c.slice(u,c.byteLength)),m={uncompressedSize:a,compressedSize:i,localHeaderOffset:h,startDisk:s},v=Zkt(m,g);return{...m,...v,extraFieldLength:o,fileNameLength:u,fileName:f,extraOffset:p}};async function*uc(e){let{cdStartOffset:t,cdByteSize:r}=await m4(e),n=new kv(new DataView(await e.slice(t,t+r))),i=await Dh(0n,n);for(;i;)yield i,i=await Dh(i.extraOffset+BigInt(i.extraFieldLength),n)}var ATe=(...e)=>e[0]+e[1]*16,Zkt=(e,t)=>{let r=e5t(e),n={};if(r.length>0){let i=r.reduce((s,u)=>s+u.length,0),a=new Uint8Array(t.buffer).findIndex((s,u,c)=>ATe(c[u],c[u+1])===1&&ATe(c[u+2],c[u+3])===i),o=0;for(let s of r){let u=o;n[s.name]=t.getBigUint64(a+4+u,!0),o=u+s.length}}return n},e5t=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 fU(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=h4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(v2)));for(let s of t5t)Ii(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return _n(i.buffer,a,r)}var t5t=[{offset:0,size:4,default:new DataView(Fh.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 r5t=8,n5t=18,i5t=22,a5t=26,o5t=28,y2=30n,pU=new Uint8Array([80,75,3,4]),Gs=async(e,t)=>{let r=new DataView(await t.slice(e,e+y2)),n=r.buffer.slice(0,4);if(!_u(n,pU))return null;let i=r.getUint16(a5t,!0),a=r.getUint16(o5t,!0),o=await t.slice(e+y2,e+y2+BigInt(i+a)),s=o.slice(0,i),u=new DataView(o.slice(i,o.byteLength)),c=new TextDecoder().decode(s).split("\\").join("/"),l=e+y2+BigInt(i+a),f=r.getUint16(r5t,!0),p=BigInt(r.getUint32(n5t,!0)),d=BigInt(r.getUint32(i5t,!0)),h=4;return d===BigInt(4294967295)&&(d=u.getBigUint64(h,!0),h+=8),p===BigInt(4294967295)&&(p=u.getBigUint64(h,!0),h+=8),l===BigInt(4294967295)&&(l=u.getBigUint64(h,!0)),{fileNameLength:i,fileName:c,extraFieldLength:a,fileDataOffset:l,compressedSize:p,compressionMethod:f}};function dU(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=h4(n),t.extraLength=r.byteLength);let i=new DataView(new ArrayBuffer(Number(y2)));for(let s of s5t)Ii(i,s.size,s.offset,t[s.name??""]??s.default??0);let a=new TextEncoder().encode(t.fileName);return _n(i.buffer,a,r)}var s5t=[{offset:0,size:4,default:new DataView(pU.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 u5t(e){let t=await m4(e),r=t.cdStartOffset,n=Number(t.offsets.zip64EoCDOffset?t.offsets.zip64EoCDOffset-r:t.offsets.zipEoCDOffset-r),i=await e.slice(r,e.length);await e.truncate(Number(r));let a=i.slice(0,n),o=i.slice(n,i.byteLength);return[a,o,t]}async function STe(e,t,r){let n=parseInt(await new Bv().hash(t,"hex"),16),i=dU({crc32:n,fileName:e,length:t.byteLength}),a=fU({crc32:n,fileName:e,offset:r,length:t.byteLength});return[new Uint8Array(_n(i,t)),new Uint8Array(a)]}async function hU(e,t,r){let n=new Ya(e,!0),[i,a,o]=await u5t(n),s=n.length,[u,c]=await STe(r,t,s);await n.append(u);let l=_n(i,c),f=n.length;await n.append(new Uint8Array(l));let p=n.length;await n.append(wTe(a,o.offsets,f,p,o.cdRecordsNumber+1n))}async function mU(e,t,r){let n=c5t(e),i=new Rc(t,"w"),a=[],o=[];for await(let l of n)await TTe(l,i,o,a);if(r){let l=await r(a);await TTe(l,i,o)}let s=(await i.stat()).bigsize,u=_n(...o);await i.append(new Uint8Array(u));let c=(await i.stat()).bigsize;await i.append(new Uint8Array(ETe({recordsNumber:o.length,cdSize:u.byteLength,cdOffset:s,eoCDStart:c})))}async function TTe(e,t,r,n){let i=(await t.stat()).bigsize;n==null||n.push({fileName:e.path,localHeaderOffset:i});let[a,o]=await STe(e.path,e.file,i);await t.append(a),r.push(o)}function c5t(e){async function*t(){let r=await CTe(e);for(let n of r){let i=await(await ca(Ta.join(e,n))).arrayBuffer();yield{path:n,file:i}}}return t()}async function CTe(e,t="",r){let n=r||new Fv({}),i=await n.readdir(g4(e,t)),a=[];for(let o of i){let s=g4(e,t,o);if((await n.stat(s)).isDirectory){let u=await CTe(e,g4(t,o));a.push(...u)}else a.push(g4(t,o))}return a}function g4(...e){let t=e.filter(r=>r.length);return Ta.join(...t)}var L1=class{constructor(t){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(t={}){yv(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 ud(t)}improveError(t){return t.message.includes(this.name)||(t.message=`${this.name} ${t.message}`),t}};var b2=class extends L1{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 kh=kt(YN(),1),Fl=kt(require("zlib"),1);var kl=class extends L1{name="deflate";extensions=[];contentEncodings=["deflate"];isSupported=!0;options;_chunks=[];constructor(t={}){super(t),this.options=t}async compress(t){var r,n;if(!Er&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await G0(Fl.default.gzip)(t):await G0(Fl.default.deflate)(t);return Pc(i)}return this.compressSync(t)}async decompress(t){var r,n;if(!Er&&((r=this.options.deflate)!=null&&r.useZlib)){let i=(n=this.options.deflate)!=null&&n.gzip?await G0(Fl.default.gunzip)(t):await G0(Fl.default.inflate)(t);return Pc(i)}return this.decompressSync(t)}compressSync(t){var a,o,s,u;if(!Er&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?Fl.default.gzipSync(t):Fl.default.deflateSync(t);return Pc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?kh.default.deflateRaw:kh.default.deflate)(n,r).buffer}decompressSync(t){var a,o,s,u;if(!Er&&((a=this.options.deflate)!=null&&a.useZlib)){let c=(o=this.options.deflate)!=null&&o.gzip?Fl.default.gunzipSync(t):Fl.default.inflateSync(t);return Pc(c)}let r=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(t);return((u=this.options)!=null&&u.raw?kh.default.inflateRaw:kh.default.inflate)(n,r).buffer}async*compressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new kh.default.Deflate(r);yield*this.transformBatches(n,t)}async*decompressBatches(t){var i;let r=((i=this.options)==null?void 0:i.deflate)||{},n=new kh.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),i=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 _2=class extends kl{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 DTe={0:async e=>e,8:async e=>await new kl({raw:!0}).decompress(e)},Bl=class{fileProvider=null;fileName;archive=null;constructor(t){if(typeof t=="string")if(this.fileName=t,!Er)this.fileProvider=new Ya(t);else throw new Error("Cannot open file for random access in a WEB browser");else t instanceof Ol?(this.fileProvider=t.fileProvider,this.archive=t,this.fileName=t.fileName):JB(t)&&(this.fileProvider=t)}async destroy(){this.fileProvider&&await this.fileProvider.destroy()}async readdir(){if(!this.fileProvider)throw new Error("No data detected in the zip archive");let t=[],r=uc(this.fileProvider);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.fileProvider)throw new Error("No data detected in the zip archive");let i=await this.getCDFileHeader(t),a=await Gs(i.localHeaderOffset,this.fileProvider);if(!a)throw new Error("Local file header has not been found in the zip archive`");let o=DTe[a.compressionMethod.toString()];if(!o)throw Error("Only Deflation compression is supported");let s=await this.fileProvider.slice(a.fileDataOffset,a.fileDataOffset+a.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.fileProvider)throw new Error("No data detected in the zip archive");let r=uc(this.fileProvider),n=null;for await(let i of r)if(i.fileName===t){n=i;break}if(!n)throw new Error("File has not been found in the zip archive");return n}};var Ol=class{fileProvider;fileName;constructor(t,r,n){this.fileProvider=t,this.fileName=n}async getFileWithoutHash(t){return await(await new Bl(this.fileProvider).fetch(t)).arrayBuffer()}};function w2(e){let t=new DataView(e),r={};for(let n=0;n<e.byteLength;n=n+24){let i=t.getBigUint64(n+16,!0),a=l5t(e,n,16);r[a]=i}return r}function l5t(e,t,r){return[...new Uint8Array(e,t,r)].map(n=>n.toString(16).padStart(2,"0")).join("")}async function gU(e){let t=uc(e);return f5t(t)}async function f5t(e){let t=new Au,r=new TextEncoder,n={};for await(let i of e){let a=i.fileName.split("\\").join("/").toLocaleLowerCase(),o=r.encode(a).buffer,s=await t.hash(o,"hex");n[s]=i.localHeaderOffset}return n}async function E2(e){let t=new Au,r=new TextEncoder,n=[];for await(let a of e){let o=a.fileName.split("\\").join("/");o!=="3dSceneLayer.json.gz"&&(o=o.toLocaleLowerCase());let s=r.encode(o).buffer,u=await t.hash(s,"hex");n.push(_n(d5t(u),h5t(a.localHeaderOffset)))}let i=n.sort(p5t);return pE(i)}function p5t(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 d5t(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 h5t(e){return new BigUint64Array([e]).buffer}var m5t={0:e=>new b2().decompress(e),8:e=>new kl({raw:!0}).decompress(e)},A2=class extends Ol{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,i=await new Au().hash(n,"hex"),a=this.hashTable[i];if(a===void 0)return null;let o=await Gs(a,this.fileProvider);if(!o)return null;let s=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize),u=m5t[o.compressionMethod];if(!u)throw Error("Only Deflation compression is supported");r=await u(s)}else r=await this.getFileWithoutHash(t);return r}};function Ep(e,t,r){if(!t)return r+12;let{magic:i,version:a=1,byteLength:o=12}=e;return Et(Array.isArray(i)&&Number.isFinite(a)&&Number.isFinite(o)),t.setUint8(r+0,i[0]),t.setUint8(r+1,i[1]),t.setUint8(r+2,i[2]),t.setUint8(r+3,i[3]),t.setUint32(r+4,a,!0),t.setUint32(r+8,o,!0),r+=12,r}function Ap(e,t,r){e&&e.setUint32(t+8,r,!0)}function FTe(e,t,r,n,i){e={magic:np.COMPOSITE,tiles:[],...e};let a=r;r+=Ep(e,t,r),t&&t.setUint32(r,e.tiles.length,!0),r+=4;for(let o=0;o<e.tiles.length;++o)r+=i(e.tiles[o],t,r,n);return Ap(t,a,r-a),r}function kTe(e,t,r,n){let{featuresLength:i=0,batchTable:a}=e,s=JSON.stringify({BATCH_LENGTH:i}),u=a?JSON.stringify(a):"",c=Ja(s.length,8),l=u?Ja(u.length,8):0;e={magic:np.BATCHED_MODEL,...e};let f=r;r=Ep(e,t,r),t&&(t.setUint32(12,c,!0),t.setUint32(16,0,!0),t.setUint32(20,l,!0),t.setUint32(24,0,!0)),r+=16,r=U0(t,r,s,8),a&&(r=U0(t,r,u,8));let p=e.gltfEncoded;return p&&(r=Sv(t,r,p,p.byteLength)),Ap(t,f,r-f),r}function BTe(e,t,r,n){let{featuresLength:i=1,gltfFormat:a=1,gltfUri:o=""}=e,s=o.length,u={INSTANCES_LENGTH:i,POSITION:new Array(i*3).fill(0)},c=JSON.stringify(u),l=c.length;e={magic:np.INSTANCED_MODEL,...e};let f=r;return r=Ep(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,a,!0)),r+=20,r+=N0(t,r,c,l),r+=N0(t,r,o,s),Ap(t,f,r-f),r}var g5t={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function OTe(e,t,r,n){let{featureTableJson:i=g5t}=e,a=JSON.stringify(i);a=WB(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e={magic:np.POINT_CLOUD,...e};let c=r;return r+=Ep(e,t,0),t&&(t.setUint32(r+0,o,!0),t.setUint32(r+4,u,!0),t.setUint32(r+8,0,!0),t.setUint32(r+12,0,!0)),r+=16,r+=N0(t,r,a,o),r+=Sv(t,r,s,u),Ap(t,c,r-c),r}function vU(e,t){let r=xU(e,null,0,t),n=new ArrayBuffer(r),i=new DataView(n);return xU(e,i,0,t),n}function xU(e,t,r,n){switch(Et(typeof e.type=="string"),e.type){case Lo.COMPOSITE:return FTe(e,t,r,n,xU);case Lo.POINT_CLOUD:return OTe(e,t,r,n);case Lo.BATCHED_3D_MODEL:return kTe(e,t,r,n);case Lo.INSTANCED_3D_MODEL:return BTe(e,t,r,n);default:throw new Error("3D Tiles: unknown tile type")}}var yU={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Rg,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],binary:!0,options:{["3d-tiles"]:{}},encode:async(e,t)=>ITe(e,t),encodeSync:ITe};function ITe(e,t){return vU(e,t)}var ts=require("path");var PTe=kt(require("crypto")),v4=new Uint8Array(256),x4=v4.length;function bU(){return x4>v4.length-16&&(PTe.default.randomFillSync(v4),x4=0),v4.slice(x4,x4+=16)}var Pi=[];for(let e=0;e<256;++e)Pi.push((e+256).toString(16).slice(1));function RTe(e,t=0){return(Pi[e[t+0]]+Pi[e[t+1]]+Pi[e[t+2]]+Pi[e[t+3]]+"-"+Pi[e[t+4]]+Pi[e[t+5]]+"-"+Pi[e[t+6]]+Pi[e[t+7]]+"-"+Pi[e[t+8]]+Pi[e[t+9]]+"-"+Pi[e[t+10]]+Pi[e[t+11]]+Pi[e[t+12]]+Pi[e[t+13]]+Pi[e[t+14]]+Pi[e[t+15]]).toLowerCase()}var MTe=kt(require("crypto")),_U={randomUUID:MTe.default.randomUUID};function x5t(e,t,r){if(_U.randomUUID&&!t&&!e)return _U.randomUUID();e=e||{};let n=e.random||(e.rng||bU)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return RTe(n)}var cc=x5t;var zh=kt(require("process"),1),uD=kt(zs(),1),cD=kt(AU(),1);var _4=require("path"),QTe=kt(zs(),1);var KTe=()=>({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 Bh=require("fs"),q1=require("path");var XTe=require("zlib"),y4=require("fs");function b4(e){let t=`${e}.gz`,r=(0,XTe.createGzip)(),n=(0,y4.createReadStream)(e),i=(0,y4.createWriteStream)(t);return new Promise((a,o)=>{n.on("end",()=>{console.log(`${t} compressed and saved.`),a(t)}),n.on("error",s=>{console.log(`${t}: compression error!`),o(s)}),n.pipe(r).pipe(i)})}async function ja(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 Bh.promises.mkdir(e,{recursive:!0});let i=(0,q1.join)(e,r);try{await Bh.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function lc(e,t,r="index.json",n=!0,i){let a=await ja(e,t,r);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);let o=await b4(a);return await D2(a),o}return a}async function N1(e,t){return new Promise((r,n)=>{let i=0;console.log(`load ${e}/${t}.`);let a=setInterval(()=>{let o=(0,q1.join)(e,t);Jr(o,KB).then(s=>{clearInterval(a),r(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${t}.`)))})},200)})}async function S2(e){try{return await Bh.promises.stat(e),!0}catch{return!1}}function C2(e){return Bh.promises.rm(e,{recursive:!0})}function D2(e){return Bh.promises.unlink(e)}function JTe(e){return(0,q1.isAbsolute)(e)?e:(0,q1.join)(process.cwd(),e)}async function YTe(e,t){try{await Bh.promises.rename(e,t)}catch(r){console.log("Can't rename file",r)}}var Ri=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,_4.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),i=(0,_4.join)(r,n);return await S2(i)?(console.log(`load ${i}.`),await N1(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 i;if(t==null)return;let n=await this.getNodeById(t);(i=n.children)==null||i.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),Ri.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:i,fileName:a}=this.getNodePageFileName(r),o=await this.getNodeById(t.index,n);o?Ri.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(i,s,a,!0,this.converter.compressList)},!0)}async saveMetadata(){let t=(0,QTe.default)({nodeCount:this.nodesCounter},KTe()),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),i=(0,_4.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(i,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}),Ri.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 F2=require("path"),w4=require("fs");function U1(e){if(typeof e=="number"){let a=Math.floor(e/1e3),o=e-a*1e3;return ZTe(a,o)}let t=1e6,r=e[0],n=e[1]/t;return ZTe(r,n)}function ZTe(e,t){let r=Math.floor(e/3600);e=e-r*3600;let n=Math.floor(e/60);e=e-n*60;let i=Math.floor(e),a="";return r&&(a+=`${r}h `),n&&(a+=`${n}m `),i&&(a+=`${i}s`),a||(a+=`${Math.floor(t)}ms`),a}async function E4(e){let{slpk:t,outputPath:r,tilesetName:n}=e,i=JTe(r);try{if(t){let s=(0,F2.join)(i,`${n}.slpk`);return(await w4.promises.stat(s)).size}let a=(0,F2.join)(i,n);return await e3e(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function e3e(e){let t=0,r=await w4.promises.readdir(e);for(let n of r){let i=await w4.promises.stat((0,F2.join)(e,n));i.isDirectory()?t+=await e3e((0,F2.join)(e,n)):t+=i.size}return t}var v3e=kt(AU(),1);var Oh=3,G1=9;function r3e(e){let{positions:t,normals:r,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=t.length/G1;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:t,normals:r,texCoords:n,colors:i,uvRegions:a};let u=D5t(o),c=F5t({...u,...e}),l=k5t(c);return B5t(l,u.featureCount)}function D5t(e){let t=1,r=1,n=t3e(e.slice(0,Oh)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let c=Oh;c<e.length;c+=Oh){let l=t3e(e.slice(c,c+Oh));n!==l&&(i[t]=c/Oh-1,i[t+1]=c/Oh,a[r]=l,o.includes(l)||o.push(l),t+=2,r+=1),n=l}i[t]=e.length/Oh-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function t3e(e){let t={},r=e[0],n=1;for(let i of e)t[i]=(t[i]||0)+1,n=n>t[i]?n:t[i],r=n>t[i]?r:i;return r}function F5t(e){let{featureIds:t,positions:r,normals:n,colors:i,uvRegions:a,texCoords:o,faceRange:s=new Uint32Array(0)}=e,u=[],c=new Float32Array(r),l=new Float32Array(n),f=new Uint8Array(i),p=new Float32Array(o),d=new Uint16Array(a),h=0,g=0,m=0,v=0,b=0;for(let _=0;_<t.length;_++){let A=s[_*2],w=s[_*2+1],C=k2("positions",A,w),k=k2("normals",A,w),R=k2("colors",A,w),S=k2("uvRegions",A,w),D=k2("texCoords",A,w);u.push({featureId:t[_],positions:c.subarray(h,h+C),normals:l.subarray(g,g+k),colors:f.subarray(m,m+R),uvRegions:d.subarray(v,v+S),texCoords:p.subarray(b,b+D)}),h+=C,g+=k,m+=R,v+=S,b+=D}return u}function k2(e,t,r){let a=r-t+1,o=a*3;switch(e){case"positions":case"normals":return a*G1;case"colors":case"uvRegions":return o*4;case"texCoords":return o*2;default:return 0}}function k5t(e){let t=[];for(let n of e){let i=t.find(a=>a.featureId===n.featureId);i?i.attributes.push(n):t.push({featureId:n.featureId,attributes:[n]})}let r=[];for(let n of t){let i=n3e(n.attributes);r.push({featureId:n.featureId,...i})}return r}function B5t(e,t){let n=[e[0].featureId||0],i=[0],a=0,o=0;for(let c=1;c<e.length;c++){let l=e[c];n.push(l.featureId||0);let f=e[a];i.push(f.positions.length/G1-1+o),i.push(f.positions.length/G1+o),o+=f.positions.length/G1,a+=1}let s=n3e(e);return i.push(s.positions.length/G1-1),{faceRange:new Uint32Array(i),featureIds:n,featureCount:t,...s}}function n3e(e){let t=e.map(({positions:f})=>f),r=t.length>1?Xa(...t):t[0],n=e.map(({normals:f})=>f),i=n.length>1?Xa(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Xa(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Xa(...s):s[0],c=e.map(({uvRegions:f})=>f),l=c.length>1?Xa(...c):c[0];return{positions:r,normals:i,colors:o,texCoords:u,uvRegions:l}}function A4(e,t){let r,n,i,a=Nt.WGS84.cartesianToCartographic(e.center,new ne);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0])),e instanceof gi?(n=e.halfSize,r=new ne(n[0],n[1],n[2]).len(),i=e.quaternion):(r=e.radius,n=[r,r,r],i=new Vu().fromMatrix3(new pr([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[a[0],a[1],a[2],r],obb:{center:[a[0],a[1],a[2]],halfSize:n,quaternion:i}}}function i3e(e,t){let r=O5t(e),n=wL(r),i=vL(r),a=Nt.WGS84.cartesianToCartographic(i.center,new ne),o=Nt.WGS84.cartesianToCartographic(n.center,new ne);return t&&(a[2]=a[2]-t.getHeight(a[1],a[0]),o[2]=o[2]-t.getHeight(o[1],o[0])),{mbs:[a[0],a[1],a[2],i.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function O5t(e){let t=[];for(let r=0;r<e.length;r+=3){let n=new ne([e[r],e[r+1],e[r+2]]);t.push(n)}return t}function a3e(e){let t;e instanceof la?t=e:t=e.getBoundingSphere();let r=t.center,n=t.radius,i=Nt.WGS84.cartesianToCartographic(new ne(r[0]+n,r[1]+n,r[2]+n),new ne),a=Nt.WGS84.cartesianToCartographic(new ne(r[0]-n,r[1]-n,r[2]-n),new ne);return{xmin:Math.min(a[0],i[0]),xmax:Math.max(a[0],i[0]),ymin:Math.min(a[1],i[1]),ymax:Math.max(a[1],i[1]),zmin:Math.min(a[2],i[2]),zmax:Math.max(a[2],i[2])}}function TU(e){let t=e[3],r=new ne(e[0],e[1],e[2]),n=new pr([t,0,0,0,t,0,0,0,t]);return new gi(r,n)}function o3e(e,t,r){var s,u,c,l,f,p,d,h;let n=((u=(s=e.gltf)==null?void 0:s.scene)==null?void 0:u.nodes)||((f=(l=(c=e.gltf)==null?void 0:c.scenes)==null?void 0:l[0])==null?void 0:f.nodes)||((p=e.gltf)==null?void 0:p.nodes)||[],i=((h=(d=e.gltf)==null?void 0:d.images)==null?void 0:h.map(g=>{var b,_;if((b=g==null?void 0:g.image)!=null&&b.compressed)return null;let m=(_=g==null?void 0:g.image)==null?void 0:_.data,v=new Uint8Array(m.length);return v.set(m),{data:v,compressed:!1,height:g.image.height,width:g.image.width,components:g.image.components,mimeType:g.mimeType}}))||[];s3e(n);let{cartographicOrigin:a,modelMatrix:o}=P5t(e,t,r);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function I5t(e){let t={};for(let r in e)t[r]={value:e[r].value};return t}function P5t(e,t,r){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=r,o=new kr(t);switch(n&&o.translate(n),i){case"Z":break;case"Y":let c=new kr().rotateX(Math.PI/2);o=o.multiplyRight(c);break;case"X":let l=new kr().rotateY(-Math.PI/2);o=o.multiplyRight(l);break;default:break}let s=new ne(a),u=Nt.WGS84.cartesianToCartographic(s,new ne);return{modelMatrix:o,cartographicOrigin:u}}function s3e(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(i=>{var a,o,s;return{...i,indices:{value:(a=i==null?void 0:i.indices)==null?void 0:a.value},attributes:I5t(i.attributes),material:{id:(o=i==null?void 0:i.material)==null?void 0:o.id,uniqueId:(s=i==null?void 0:i.material)==null?void 0:s.uniqueId}}})}}),n.children&&s3e(n.children)}}function u3e(e,t){var n,i;let r=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[No];if(!(r!=null&&r.featureTextures))return null;for(let a in r.featureTextures)if(r.featureTextures[a].class===t)return a;return null}function c3e(e,t,r,n){let i=t==null?void 0:t.extensions;if(!i)return[];for(let[a,o]of Object.entries(i||{}))switch(a){case No:return M5t(e,o,r,n);case W8:return R5t(e,o);default:return[]}return[]}function R5t(e,t){for(let r of t.featureIds)if(typeof r.propertyTable<"u")return r.data;return[]}function M5t(e,t,r,n){var o,s,u,c,l,f,p;let i=(o=t==null?void 0:t.featureIdAttributes)==null?void 0:o[0];if((s=i==null?void 0:i.featureIds)!=null&&s.attribute)return e[i.featureIds.attribute].value;if((u=i==null?void 0:i.featureIds)!=null&&u.hasOwnProperty("constant")&&((c=i==null?void 0:i.featureIds)!=null&&c.hasOwnProperty("divisor"))){let d=((l=e==null?void 0:e.POSITIONS)==null?void 0:l.value.length)/3||0;return j5t(d,i.featureIds.constant,i.featureIds.divisor)}let a=(t==null?void 0:t.featureIdTextures)&&(t==null?void 0:t.featureIdTextures[0]);if(a){let h=`TEXCOORD_${((p=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:p.texCoord)||0}`,g=e[h].value;return L5t(a,g,r)}return n?e[n].value:[]}function j5t(e,t=0,r=0){let n=[];if(r>0){let i=t,a=r;for(let o=0;o<e;o++)n.push(i),a-=1,a===0&&(i++,a=r)}else n=Array(e).fill(t,0,e);return n}function L5t(e,t,r){var c,l,f;if(!(r!=null&&r.length))return[];let n={r:0,g:1,b:2,a:3},i=(l=(c=e==null?void 0:e.featureIds)==null?void 0:c.texture)==null?void 0:l.index,a=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!a||i===void 0)return[];let o=r[i],s=[],u=n[a];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],g=Math.min(A8(d)*o.width|0,o.width-1),v=(Math.min(A8(h)*o.height|0,o.height-1)*o.width+g)*o.components+u,b=new Uint8Array(o.data)[v];s.push(b)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function l3e(e,t){let r={};for(let n in t){let i=t[n];r[n]=q5t(i,e)}return r}function q5t(e,t){let r=[];if(e)for(let n in t){let i=e[n]||null;r.push(i)}return r}function f3e(e,t){let r=!1;for(let n of Object.values(t))(!e||!n||e.length!==n.length)&&(r=!0);return r}function N5t(e){return typeof e=="string"||typeof e=="bigint"?nn.STRING_TYPE:typeof e=="number"?Number.isInteger(e)?nn.SHORT_INT_TYPE:nn.DOUBLE_TYPE:nn.STRING_TYPE}function p3e(e){let t={};for(let r in e){let n=e[r][0],i=N5t(n);t[r]=i}return t}var d3e=(e,t)=>{var a,o,s,u,c,l,f,p;let r={},n=(u=(s=(o=(a=e.extensions)==null?void 0:a[No])==null?void 0:o.schema)==null?void 0:s.classes)==null?void 0:u[t];if(n){for(let d in n.properties){let h=n.properties[d],g=U5t(h);r[d]=g}return r}let i=(p=(f=(l=(c=e.extensions)==null?void 0:c[pl])==null?void 0:l.schema)==null?void 0:f.classes)==null?void 0:p[t];if(i){for(let d in i.properties){let h=i.properties[d],g=G5t(h);r[d]=g}return r}return null},U5t=e=>{let t;switch(e.type){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":case"BOOLEAN":case"ENUM":case"STRING":case"ARRAY":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t},G5t=e=>{let t;if(e.array)t=nn.STRING_TYPE;else switch(e.componentType){case"INT8":case"UINT8":case"INT16":case"UINT16":case"INT32":case"UINT32":t=nn.SHORT_INT_TYPE;break;case"FLOAT32":case"FLOAT64":t=nn.DOUBLE_TYPE;break;case"INT64":case"UINT64":t=nn.STRING_TYPE;break;default:t=nn.STRING_TYPE;break}return t};var T4=e=>{let t=new Uint32Array(e);for(let r=0;r<e;r++)t[r]=r;return t};var z5t=1,H5t=1,Hs=3,B2=2,V5t=4,$5t="string",W5t="Int32",K5t="Float64",X5t="Oid32",h3e=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],Tp=new ne;async function SU({tileContent:e,tileTransform:t,tileBoundingVolume:r,addNodeToNodePage:n,propertyTable:i,featuresHashArray:a,attributeStorageInfo:o,draco:s,generateBoundingVolumes:u,shouldMergeMaterials:c,geoidHeightModel:l,libraries:f,metadataClass:p}){var _;let d=u,h=await lBt((_=e.gltf)==null?void 0:_.materials,c),g=o3e(e,t,r),m=u3e(e,p),v=await Q5t(g,h,d,m);u&&J5t(v,l);let b=[];for(let A of h){let w=A.mergedMaterials[0].originalMaterialId;if(!v.has(w))continue;let C=v.get(w);if(!C)continue;let{material:k,texture:R}=A,S=await n();b.push(await Y5t({convertedAttributes:C,material:k,texture:R,tileContent:e,nodeId:S,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return b.length?b:null}function J5t(e,t){for(let r of e.values()){let n=i3e(r.positions,t);r.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<r.positions.length;a+=Hs){let o=r.positions.subarray(a,a+Hs);Nt.WGS84.cartesianToCartographic(Array.from(o),Tp),t&&(Tp[2]=Tp[2]-t.getHeight(Tp[1],Tp[0])),Tp=Tp.subtract(i),r.positions.set(Tp,a)}}}async function Y5t({convertedAttributes:e,material:t,texture:r,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:c}){var D;let l=e.boundingVolumes,f=e.positions.length/Hs,{faceRange:p,featureIds:d,positions:h,normals:g,colors:m,uvRegions:v,texCoords:b,featureCount:_}=r3e(e),A={};o&&(A=_Bt(d,e.featureIndices,a,o));let w=new Uint32Array(2),C=kBt(d);w.set([f,_],0);let k=new Uint8Array(_n(w.buffer,h.buffer,g.buffer,r?b.buffer:new ArrayBuffer(0),m.buffer,v,C.buffer,p.buffer)),R=u?BBt(f,e,{positions:h,normals:g,texCoords:r?b:new Float32Array(0),colors:m,uvRegions:v,featureIds:d,faceRange:p},c):null,S=[];return s&&o&&(S=TBt(d,A,o,s)),{nodeId:i,geometry:k,compressedGeometry:R,texture:r,hasUvRegions:Boolean(v.length),sharedResources:gBt(((D=n.gltf)==null?void 0:D.materials)||[],i),meshMaterial:t,vertexCount:f,attributes:S,featureCount:_,boundingVolumes:l}}async function Q5t(e,t,r,n){let{nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s}=e,u=new Map;for(let c 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:c.mergedMaterials};for(let f of c.mergedMaterials)u.set(f.originalMaterialId,l)}y3e({nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s,attributesMap:u,useCartesianPositions:r,featureTexture:n});for(let c of u.keys()){let l=u.get(c);if(l){if(l.positions.length===0){u.delete(c);continue}l.featureIndicesGroups&&(l.featureIndices=l.featureIndicesGroups.reduce((f,p)=>f.concat(p)),delete l.featureIndicesGroups)}}return u}function y3e({nodes:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new kr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){if(e)for(let u of e)eBt({node:u,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o,featureTexture:s})}function Z5t(e,t){let r=t,{matrix:n,rotation:i,scale:a,translation:o}=e;return n&&(r=t.multiplyRight(n)),o&&(r=r.translate(o)),i&&(r=r.rotateXYZ(i)),a&&(r=r.scale(a)),r}function eBt({node:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:o=new kr([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),featureTexture:s}){let u=Z5t(e,o),c=e.mesh;c&&tBt({mesh:c,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s}),y3e({nodes:e.children||[],images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a,matrix:u,featureTexture:s})}function tBt({mesh:e,images:t,cartographicOrigin:r,cartesianModelMatrix:n,attributesMap:i,useCartesianPositions:a=!1,matrix:o,featureTexture:s}){var u;for(let c of e.primitives){let l=null,f;c.material?(l=i.get(c.material.id),f=(u=l==null?void 0:l.mergedMaterials.find(({originalMaterialId:h})=>{var g;return h===((g=c.material)==null?void 0:g.id)}))==null?void 0:u.uvRegion):i.has("default")&&(l=i.get("default")),Et(l!==null,"Primitive - material mapping failed"),Et(c.mode===void 0||c.mode===xt.TRIANGLES||c.mode===xt.TRIANGLE_STRIP,`Primitive - unsupported mode ${c.mode}`);let p=c.attributes;if(!l)continue;let d=rBt(c);l.positions=Xa(l.positions,m3e({vertices:p.POSITION.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:nBt,useCartesianPositions:a})),l.normals=Xa(l.normals,m3e({vertices:p.NORMAL&&p.NORMAL.value,cartographicOrigin:r,cartesianModelMatrix:n,nodeMatrix:o,indices:d,attributeSpecificTransformation:iBt,useCartesianPositions:!1})),l.texCoords=Xa(l.texCoords,aBt(p.TEXCOORD_0&&p.TEXCOORD_0.value,d)),l.colors=Xa(l.colors,oBt(p.COLOR_0,d)),f&&(l.uvRegions=Xa(l.uvRegions,sBt(f,d))),l.featureIndicesGroups=l.featureIndicesGroups||[],l.featureIndicesGroups.push(uBt(cBt(p,c,t,s),d))}}function rBt(e){var r;let t=(r=e.indices)==null?void 0:r.value;if(!t){let n=e.attributes.POSITION.value;return T4(n.length/Hs)}if(t&&e.mode===xt.TRIANGLE_STRIP){let n=t.constructor,i=new n((t.length-2)*3),a=0,o=t.slice(0,3);i.set(o,0);for(let s=1;s+2<t.length;s++)a+=3,o=t.slice(s,s+3),s%2===0?i.set(o,a):i.set(o.reverse(),a);t=i}return t}function m3e(e){let{vertices:t,indices:r,attributeSpecificTransformation:n}=e,i=new Float32Array(r.length*Hs);if(!t)return i;for(let a=0;a<r.length;a++){let o=r[a]*Hs,s=t.subarray(o,o+Hs),u=new ne(Array.from(s));u=n(u,e),i[a*Hs]=u.x,i[a*Hs+1]=u.y,i[a*Hs+2]=u.z}return i}function nBt(e,t){let{cartesianModelMatrix:r,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=t;return i&&(e=e.transform(i)),e=e.transform(r),a||(Nt.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function iBt(e,t){let{cartesianModelMatrix:r,nodeMatrix:n}=t;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(r),e}function aBt(e,t){let r=new Float32Array(t.length*B2);if(!e)return r.fill(1),r;for(let n=0;n<t.length;n++){let i=t[n]*B2,a=e.subarray(i,i+B2);r[n*B2]=a[0],r[n*B2+1]=a[1]}return r}function oBt(e,t){let r=(e==null?void 0:e.components)||V5t,n=new Uint8Array(t.length*r);if(!e)return n.fill(255),n;let i=e.value;for(let a=0;a<t.length;a++){let o=t[a]*r,s=i.subarray(o,o+r),u=new Uint8Array(r);for(let c=0;c<s.length;c++)u[c]=s[c]*255;n.set(u,a*r)}return n}function sBt(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 uBt(e,t){if(!e.length||!t.length)return[];let r=[];for(let n=0;n<t.length;n++){let i=t[n];r.push(e[i])}return r}function cBt(e,t,r,n){let i=c3e(e,t,r,n);if(i.length)return i;for(let a=0;a<h3e.length;a++){let o=h3e[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function lBt(e=[],t){let r=[];for(let n of e)r.push(dBt(n));return t&&(r=await fBt(r)),r}async function fBt(e){var r,n;let t=[];for(;e.length>0;){let i=e.splice(0,1)[0],a=[];for(let o=0;o<e.length;o++){let s=e[o];(i.texture&&s.texture||!i.texture&&!s.texture)&&(i=await pBt(i,s),a.push(o))}if(i.texture&&a.length){let o=(r=i.mergedMaterials)==null?void 0:r.reduce((c,{textureSize:l})=>c+((l==null?void 0:l.width)||0),0),s=(n=i.mergedMaterials)==null?void 0:n.reduce((c,{textureSize:l})=>Math.max(c,(l==null?void 0:l.height)||0),0),u=-1;for(let c of i.mergedMaterials)if(c.textureSize){let l=u+1+c.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;c.uvRegion=new Uint16Array([u+1,0,l,c.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),u=l}i.texture.image.width=o,i.texture.image.height=s}for(let o of a.reverse())e.splice(o,1);t.push(i)}return t.length||t.push({material:mBt(),mergedMaterials:[{originalMaterialId:"default"}]}),t}async function pBt(e,t){var r,n;if((r=e.texture)!=null&&r.bufferView&&((n=t.texture)!=null&&n.bufferView)&&e.mergedMaterials&&t.mergedMaterials){let i=Buffer.from(e.texture.bufferView.data),a=Buffer.from(t.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([i,a],{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 dBt(e){var i,a,o,s,u;let t={doubleSided:e.doubleSided,emissiveFactor:(i=e.emissiveFactor)==null?void 0:i.map(c=>Math.round(c*255)),alphaMode:hBt(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||z5t,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||H5t}},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:cc();let n=[{originalMaterialId:e.id}];if(r)n[0].textureSize={width:r.image.width,height:r.image.height};else{let c=(u=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:u.baseColorFactor;t.pbrMetallicRoughness.baseColorFactor=c&&c.map(l=>Math.round(l*255))||void 0}return{material:t,texture:r,mergedMaterials:n}}function hBt(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function mBt(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function gBt(e,t){let r={};if(!e||!e.length)return r;r.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=xBt(n,t);r.materialDefinitionInfos.push(i),a&&(r.textureDefinitionInfos=r.textureDefinitionInfos||[],r.textureDefinitionInfos.push(a))}return r}function xBt(e,t){var s;let r=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;r&&(n=yBt(r.texture,t));let{baseColorFactor:i,metallicFactor:a}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=i;return(!i||i[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:vBt(o||[1,1,1,1],a),textureDefinitionInfo:n}}function vBt(e,t=1){let r=.00015686274509803922,n=new Mo(0,0,0,1),i=new Mo(1,1,1,1),a=new Mo(r,r,r,0),o=new Mo(e),s=i.subtract(a).multiply(o),u=s.lerp(s,n,t);a[3]=1;let c=a.lerp(a,o,t);return{params:{diffuse:u.toArray(),specular:c.toArray(),renderMode:"solid"}}}function yBt(e,t){var r,n,i,a;return{encoding:(r=e==null?void 0:e.source)!=null&&r.mimeType?[e.source.mimeType]:void 0,images:[{id:bBt(e,t),size:(n=e.source)==null?void 0:n.image.width,length:(i=e.source)!=null&&i.image.data.length?[(a=e.source)==null?void 0:a.image.data.length]:void 0}]}}function bBt(e,t){var g;let{width:r,height:n}=((g=e.source)==null?void 0:g.image)||{};if(!r||!n)return"";let i=1,a=0,o=t+1,s=32-o.toString(2).length,u="0".repeat(s).concat(o.toString(2)),c=i<<28,l=a<<24,f=r-1<<12,p=n-1<<0,d=c+l+f+p;return BigInt(`0b${d.toString(2)}${u}`).toString()}function _Bt(e,t,r,n){let i=wBt(e,n,r);return g3e(t,i),g3e(e,i),i}function wBt(e,t,r){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=ABt(i,t,r);n[a.toString()]=o}return n}function EBt(e,t){let r="";for(let n in e)r+=e[n][t];return r}function ABt(e,t,r){let n=EBt(t,e),i=(0,v3e.default)(n);return r.includes(i)?r.indexOf(i):r.push(i)-1}function g3e(e,t){for(let r=0;r<e.length;r++)e[r]=t[e[r]]}function TBt(e,t,r,n){let i=[],o=f3e(e,r)?l3e(t,r):r,s={OBJECTID:e,...o};for(let u in s){let c=CBt(u,n);if(c){let l=s[u],f=SBt(c,l);i.push(f)}}return i}function SBt(e,t){let r;switch(e){case X5t:case W5t:r=DBt(t);break;case K5t:r=FBt(t);break;case $5t:r=x3e(t);break;default:r=x3e(t)}return r}function CBt(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 DBt(e){let t=new Uint32Array([e.length]),r=new Uint32Array(e);return _n(t.buffer,r.buffer)}function FBt(e){let t=new Uint32Array([e.length]),r=new Uint8Array(4),n=new Float64Array(e);return _n(t.buffer,r.buffer,n.buffer)}function x3e(e){let t=new Uint32Array([e.length]),r=0,n=new Uint32Array(e.length),i=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,u=Buffer.from(s),c=u.length;r+=c,n[o]=c,i.push(u)}let a=new Uint32Array([r]);return _n(t.buffer,a.buffer,n.buffer,...i)}function kBt(e){let t=new BigUint64Array(e.length);for(let r=0;r<e.length;r++)t[r]=BigInt(e[r]);return t}async function BBt(e,t,r,n){let{positions:i,normals:a,texCoords:o,colors:s,uvRegions:u,featureIds:c,faceRange:l}=r,f=new Uint32Array(e);for(let m=0;m<f.length;m++)f.set([m],m);let p=new Uint32Array(t.featureIndices.length?t.featureIndices:e),d=OBt(p,l),h={positions:i,normals:a,colors:s,"feature-index":d};o.length&&(h.texCoords=o);let g={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(c)}};return u.length&&(h["uv-region"]=u,g["uv-region"]={"i3s-attribute-type":"uv-region"}),Dg({attributes:h,indices:f},SL,{...SL.options,reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:g},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}})}function OBt(e,t){let r=new Uint32Array(e.length),n=0,i=0;for(let a=1;a<t.length;a+=2){let o=(t[a]+1)*Hs;r.fill(n,i,o),n++,i=o+1}return r}function b3e(e,t){if(!e)return null;let r,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=RBt(e);switch(i){case pl:return r=IBt(a,t),r;case No:return r=PBt(a,t),r;default:return null}}function IBt(e,t){if(e.propertyTables){for(let r of e.propertyTables)if(r.class===t||!t)return S4(r)}if(e.propertyTextures){for(let r of e.propertyTextures)if(r.class===t||!t)return S4(r)}return null}function PBt(e,t){if(e.featureTables)for(let r in e.featureTables){let n=e.featureTables[r];if(n.class===t||!t)return S4(n)}if(e.featureTextures)for(let r in e.featureTextures){let n=e.featureTextures[r];if(n.class===t||!t)return S4(n)}return null}function S4(e){let t={};for(let r in e.properties)t[r]=e.properties[r].data;return t}function RBt(e){var a,o,s,u;let t=[No,pl];if(!((a=e==null?void 0:e.gltf)==null?void 0:a.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let c of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(t.includes(c)){n=c;break}if(!n)return{extensionName:null,extension:null};let i=(u=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:u[n];return{extensionName:n,extension:i}}var w3e=kt(zs(),1),E3e=require("path");var _3e=()=>({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 A3e(e,t,r){let n={serviceItemId:cc().replace(/-/gi,""),layerName:e,layers0:t},i=(0,w3e.default)(n,_3e()),a=(0,E3e.join)(r,"SceneServer");await ja(a,JSON.stringify(i))}var CU=16;function T3e(e,t){let r=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:t.mbs[3]*2*CU/i},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*a.maxError*a.maxError};return n.constructor.name==="OrientedBoundingBox"?(r.push(o),r.push(a)):(r.push(a),r.push(o)),r}function DU(e){var n,i;let t=(n=e.lodSelection)==null?void 0:n.find(a=>a.metricType==="maxScreenThreshold"),r=t==null?void 0:t.maxError;if(!r){let a=(i=e.lodSelection)==null?void 0:i.find(o=>o.metricType==="maxScreenThresholdSQ");a&&(r=Math.sqrt(a.maxError/(Math.PI*.25)))}return r||(r=CU),e.mbs[3]*2*CU/r}var MBt=240,jBt=[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],LBt=372,qBt=[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],NBt=372,UBt=[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],GBt=12,FU=(3+1)*(3+2)/2,zBt=2,z1=class{constructor(t){gt(this,"_v00",0),gt(this,"_v01",0),gt(this,"_v10",0),gt(this,"_v11",0),gt(this,"_t",[]),gt(this,"_ix",void 0),gt(this,"_iy",void 0),gt(this,"options",void 0),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=HBt(r,360);r=n!==-180?n:180;let i=r*this.options._rlonres,a=-t*this.options._rlatres,o=Math.floor(i),s=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(a));i-=o,a-=s,s+=(this.options._height-1)/2,o+=o<0?this.options._width:o>=this.options._width?-this.options._width:0;let u=0,c=0,l=0,f=0,p=new Array(FU);if(o===this._ix&&s===this._iy)this.options.cubic?p=this._t:(u=this._v00,c=this._v01,l=this._v10,f=this._v11);else if(!this.options.cubic)u=this._rawval(o,s),c=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)],g=qBt;s!==0&&(g=s===this.options._height-2?UBt:jBt);let m=LBt;s!==0&&(m=s===this.options._height-2?NBt:MBt);for(let v=0;v<FU;++v){p[v]=0;for(let b=0;b<GBt;++b)p[v]+=h[b]*g[FU*b+v];p[v]/=m}}if(!this.options.cubic){let h=(1-i)*u+i*c,g=(1-i)*l+i*f,m=(1-a)*h+a*g,v=this.options._offset+this.options._scale*m;return this._ix=o,this._iy=s,this._v00=u,this._v01=c,this._v10=l,this._v11=f,v}let d=p[0]+i*(p[1]+i*(p[3]+i*p[6]))+a*(p[2]+i*(p[4]+i*p[7])+a*(p[5]+i*p[8]+a*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+zBt*(r*this.options._swidth+t),i=this.options.data[n],a=this.options.data[n+1];return i<<8|a}};function HBt(e,t){t=Math.abs(t);let r=S3e(e,t);return 2*Math.abs(r)===t?r-=S3e(e,2*t)-r:2*Math.abs(r)>t&&(r+=r<0?t:-t),r}function S3e(e,t){return e-Math.floor(e/t)*t}var VBt=10,$Bt=65535;function kU(e,t){let r=WBt(e),n=r.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");let i=Number.MAX_VALUE,a=0,o=-1,s=-1,u="NONE",c="UNKNOWN",l=0,f=0,p=null,d=null;do{n=r.next();let v=n.value.line;if(v.length)if(v[0]==="#"){let b=v.split(" "),_=b[0],A=b[1];if(_!=="#"||!A)continue;let w=b.length>2?b.slice(2):[];if(A==="Description")u=w.join(" ");else if(A==="DateTime")c=w.join(" ");else if(A==="Offset"){if(!b[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(b[2],10)}else if(A==="Scale"){if(!b[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(b[2])}else A===(t.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(b[2]))&&(o=parseFloat(b[2])):A===(t.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(b[2]))&&(s=parseFloat(b[2]))}else{let b=v.split(" ");if(b=b.filter(_=>_!==""),l=parseInt(b[0],10),f=parseInt(b[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!==$Bt)throw new Error("Geoid model file: Incorrect value of maxval");if(p=n.value.offset,d=l,i===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(a===0)throw new Error("Geoid model file: Scale not set");if(a<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 g=l/360,m=(f-1)/180;return new z1({cubic:t.cubic,_width:l,_height:f,_rlonres:g,_rlatres:m,_offset:i,_scale:a,_swidth:d,_datastart:p,_maxerror:o,_rmserror:s,_description:u,_datetime:c,data:e})}function*WBt(e){let t=0;do{let r=e.indexOf(VBt,t);if(r!==-1){let n=e.subarray(t,r);t=r+1,yield{offset:t,line:C3e(n)}}else{let n=e.subarray(t,e.length);t=e.length,yield{offset:t,line:C3e(n)}}}while(t<e.length);return{offset:t,line:""}}function C3e(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}var KBt="4.3.0-alpha.6";var C4={dataType:null,batchType:null,name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:KBt,mimeTypes:["image/x-portable-graymap"],parse:async(e,t)=>kU(new Uint8Array(e),(t==null?void 0:t.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var H1=kt(zs(),1);var D3e={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 XBt=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),JBt=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),YBt=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),QBt=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),F3e=()=>({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,H1.default)(e,XBt())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,H1.default)(e,D3e)},fullExtent:{path:"fullExtent",transform:e=>(0,H1.default)(e,QBt())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,H1.default)(e,JBt())},nodePages:{path:"nodePages",transform:e=>(0,H1.default)(e,YBt())},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 BU=kt(zs(),1),ZBt=()=>({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}}}),eOt=()=>({"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}}}),k3e=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let t=[(0,BU.default)(e,ZBt())];return e.draco&&t.push((0,BU.default)({geometryConfig:e},eOt())),t}}});var O2=kt(zs(),1),tOt=()=>({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}}),rOt=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,t,r)=>(0,O2.default)(r,tOt())}}),nOt=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),iOt=()=>({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,O2.default)(n,nOt()))}}),B3e=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:aOt},textureDefinitions:{path:"textureDefinitionInfos",transform:oOt}});function aOt(e,t,r){let n={};for(let[i,a]of e.entries())n[`Mat${r.nodePath}${i}`]=(0,O2.default)(a,rOt());return n}function oOt(e,t,r){if(!e)return null;let n={};for(let[i,a]of e.entries()){let o=`${r.nodePath}${i}`;a.imageIndex=o,n[o]=(0,O2.default)(a,iOt())}return n}var sOt=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 I3e(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 uOt(t,e),cOt(t,e),t}function uOt(e,t){var o;let r=lOt(t.parentNode.obb),n=fOt(t);if(pOt(r,n))return;let a=`OBB of Tile (${t.id}) doesn't fit into Parent (${(o=t.parentNode)==null?void 0:o.id}) tile OBB`;e.push(a)}function cOt(e,t){var a;let r=O3e(t.mbs),n=O3e(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 (${(a=t.parentNode)==null?void 0:a.id}) tile MBS`;e.push(o)}}function O3e(e){return new la([e[0],e[1],e[2]],e[3])}function lOt(e){let{center:t,halfSize:r,quaternion:n}=e;return new gi().fromCenterHalfSizeQuaternion(t,r,n)}function fOt(e){let t=e.obb.halfSize,r=sOt,n=Nt.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<r.length;a+=3){let s=new ne(r[a]*=t[0],r[a+1]*=t[1],r[a+2]*=t[2]).transformByQuaternion(e.obb.quaternion).add(n);i=i.concat(s)}return i}function pOt(e,t){let r=!0;for(let n=0;n<t.length/3;n+=3){let i=[t[n],t[n+1],t[n+2]],a=Nt.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){r=!1;break}}return r}var D4=class extends Array{enqueue(t){this.push(t)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var P3e=kt(require("process"),1),dOt=4*1024*1024*1024,V1=class extends D4{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:i}=t,a=await i();n&&a&&(this.fileMap[n]=a)}else super.enqueue(t),P3e.default.memoryUsage().rss>dOt&&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 a=0;a<this.writeConcurrency;a++){let o=this.dequeue();if(!o)break;let{archiveKey:s,sourceId:u,outputId:c,resourceType:l,writePromise:f}=o;r.push(s),n.push({sourceId:u,outputId:c,resourceType:l});let p=f();t.push(p)}let i=await Promise.allSettled(t);this.updateFileMap(r,i),await this.conversionDump.updateConvertedTilesDump(n,i)}}updateFileMap(t,r){for(let n=0;n<t.length;n++){let i=t[n];i&&"value"in r[n]&&(this.fileMap[i]=r[n].value)}}};var $1="Tile converter does not work in browser, only in node js environment",Sp=".dump.json";var IU=require("path"),PU=kt(zs(),1);var R3e=kt(zs(),1),M3e=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),hOt=()=>({href:{path:"href"}}),mOt=()=>({id:{path:"id"},...hOt(),...M3e()}),OU=()=>({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"},...M3e(),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,R3e.default)(e,mOt()),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 Vs=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 i of t){let a=await i.load();r.push({id:i.id,href:`../${i.id}`,obb:a.obb,mbs:a.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 i=await n.load();if(i.neighbors=i.neighbors??[],Number((r=t==null?void 0:t.children)==null?void 0:r.length)<1e3)for(let a of t.children||[])n.id!==a.id&&i.neighbors.push({...a});else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete i.neighbors;this.converter.options.instantNodeWriting&&i&&await n.write(i),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,IU.join)(this.converter.layers0Path,"nodes",this.id);await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>lc(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,IU.join)(this.converter.layers0Path,"nodes",t);return await N1(r,"3dNodeIndexDocument.json")}flush(){this.data=null}static async createRootNode(t,r){let n=Vs.createRootNodeIndexDocument(t);return await new Vs(0,r).addData(n)}static async createNode({parentNode:t,boundingVolumes:r,lodSelection:n,nodeInPage:i,resources:a,converter:o}){let s=await Vs.createNodeIndexDocument(t,r,n,i,a);return await new Vs(i.index,o).addData(s)}static createRootNodeIndexDocument(t){let r={version:`{${cc().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}],...t,children:[]};return(0,PU.default)(r,OU())}static async createNodeIndexDocument(t,r,n,i,a){var l,f,p,d,h;let o=i.index,s=await t.load(),u={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:[]},c=(0,PU.default)(u,OU());if(i.mesh&&(c.geometryData=[{href:"./geometries/0"}],c.sharedResource={href:"./shared"},("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint)&&(c.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),"attributes"in a&&a.attributes&&a.attributes.length&&((f=(l=t.converter.layers0)==null?void 0:l.attributeStorageInfo)!=null&&f.length)||"attributesCount"in a&&a.attributesCount&&((d=(p=t.converter.layers0)==null?void 0:p.attributeStorageInfo)!=null&&d.length))){let g=("attributes"in a?(h=a.attributes)==null?void 0:h.length:a.attributesCount)||0;c.attributeData=[];let m=g<t.converter.layers0.attributeStorageInfo.length?g:t.converter.layers0.attributeStorageInfo.length;for(let v=0;v<m;v++){let b=t.converter.layers0.attributeStorageInfo[v].key;c.attributeData.push({href:`./attributes/${b}/0`})}}return c}};var RU=async(e,t,r)=>{let n=I2(t);if(!e||!t.contentUrl||!n)return;let i={...r,[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}},a=await F4(t.contentUrl,e.loader,i);a.root&&(t.children=[a.root])},MU=async(e,t,r)=>{let n=I2(t);if(!e||!t.contentUrl||n)return null;let i={...r,[e.loader.id]:{...r[e.loader.id]||{},isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}};return await F4(t.contentUrl,e.loader,i)};async function F4(e,t,r){let n=e.split(".3tz"),i;if(n.length===1)i=null;else if(n.length===2)i=n[1].slice(1),i===""&&(i="tileset.json");else throw new Error("Unexpected URL format");if(i){let a=`${n[0]}.3tz`,o=new Ya(a),s=await gOt(o),u=new A2(o,s,a),c=new Bl(u),l=await Jr(i,t,{...r,fetch:c.fetch.bind(c)});return await c.destroy(),l}return await Jr(e,t,r)}function I2(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}async function gOt(e){let t,r=await Ch(e,Fh),n=await Dh(r,e);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await Gs(n.localHeaderOffset,e);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await e.slice(a,a+i.compressedSize);t=w2(o)}return t}var k4=async({tile:e,traversalProps:t,processTile:r,postprocessTile:n,maxDepth:i,level:a=0})=>{if(i&&a>i)return;let o=[],s=await r(e,t);o.push(s);for(let u of e.children)await k4({tile:u,traversalProps:s,processTile:r,postprocessTile:n,maxDepth:i,level:a+1});n&&await n(o,t)};var xOt=["POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN"],j3e=async e=>{let t={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e!=null&&e.gltfArrayBuffer))return t;let n=(await Za(e.gltfArrayBuffer,dl,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return t;let i=vOt(n),a=yOt(n);return{meshTopologyTypes:i,metadataClasses:a}},vOt=e=>{let t=new Set;for(let r of e.meshes||[])for(let n of r.primitives){let{mode:i}=n;typeof i!="number"&&(i=4),t.add(xOt[i])}return t},yOt=e=>{var i,a,o,s,u,c;let t=new Set,r=(o=(a=(i=e.extensions)==null?void 0:i[No])==null?void 0:a.schema)==null?void 0:o.classes;if(r)for(let l of Object.keys(r))t.add(l);let n=(c=(u=(s=e.extensions)==null?void 0:s[pl])==null?void 0:u.schema)==null?void 0:c.classes;if(n)for(let l of Object.keys(n))t.add(l);return t},L3e=(e,t)=>{for(let r of t.meshTopologyTypes)e.meshTopologyTypes.add(r);for(let r of t.metadataClasses)e.metadataClasses.add(r)};var q3e=kt(require("process"),1);var bOt=.2,W1=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||q3e.default.hrtime.bigint,this.threshold=t.threshold||bOt}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?U1(t.timeRemaining):""}isVelocityTrust(t,r){return r?Math.abs((t-r)/r)<this.threshold:!1}getCurrentTimeInMilliSeconds(){return Number(this.getTime()/BigInt(1e6))}};var r8e=require("util");var Pp=require("path"),n8e=kt(require("process"),1),i8e=kt(e8e(),1);var t8e={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 Gh=class{restored=!1;options;tilesConverted;textureSetDefinitions;attributeMetadataInfo;materialDefinitions;constructor(){this.tilesConverted={}}async createDump(t){let{tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p=!0,metadataClass:d,analyze:h=!1}=t;this.options={tilesetName:r,slpk:n,egmFilePath:i,inputUrl:a,outputPath:o,draco:s,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,mergeMaterials:p,metadataClass:d,analyze:h};let g=(0,Pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Sp}`);if(await S2(g))try{let m=await N1((0,Pp.join)(this.options.outputPath,this.options.tilesetName),`${this.options.tilesetName}${Sp}`),{options:v,tilesConverted:b,textureSetDefinitions:_,attributeMetadataInfo:A,materialDefinitions:w}=m;if(new i8e.default().compile(t8e)(m)&&(0,r8e.isDeepStrictEqual)(v,JSON.parse(JSON.stringify(this.options)))){this.tilesConverted=b,this.textureSetDefinitions=_,this.attributeMetadataInfo=A,this.materialDefinitions=w,this.restored=!0;return}}catch(m){console.log("Can't open dump file",m)}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=n8e.default.hrtime();await ja((0,Pp.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}${Sp}.${r[0]}.${r[1]}`),await YTe((0,Pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Sp}.${r[0]}.${r[1]}`),(0,Pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Sp}`))}catch(r){console.log("Can't update dump file",r)}}async deleteDumpFile(){var t;(t=this.options)!=null&&t.outputPath&&this.options.tilesetName&&await S2((0,Pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Sp}`))&&await D2((0,Pp.join)(this.options.outputPath,this.options.tilesetName,`${this.options.tilesetName}${Sp}`))}getRecord(t){return this.tilesConverted[t]}setRecord(t,r){this.tilesConverted[t]=r}async addNode(t,r,n){let{nodes:i}=this.getRecord(t)||{nodes:[]};i.push({nodeId:r,done:!1,dumpMetadata:n}),i.length===1&&this.setRecord(t,{nodes:i}),await this.updateDumpFile()}clearDumpRecord(t){this.setRecord(t,{nodes:[]})}addTexturesDefinitions(t){this.textureSetDefinitions=t}updateDoneStatus(t,r,n,i){var o;let a=(o=this.tilesConverted[t])==null?void 0:o.nodes.find(s=>s.nodeId===r);a&&(a.progress||(a.progress={}),a.progress[n]=i,i||(a.done=!1))}async updateConvertedTilesDump(t,r){for(let n=0;n<t.length;n++)if(t[n]&&"value"in r[n]){let{sourceId:i,resourceType:a,outputId:o}=t[n];this.updateNodes(i,o,a)}await this.updateDumpFile()}updateNodes(t,r,n){if(!(!t||!n||!r)){for(let i of this.tilesConverted[t].nodes)if(i.nodeId===r&&i.progress){i.progress[n]=!0;let a=!1;for(let o in i.progress)if(a=i.progress[o],!a)break;i.done=a,i.done&&delete i.progress;break}}}async updateConvertedNodesDumpFile(t,r,n){var a;let i=(a=this.tilesConverted[t])==null?void 0:a.nodes.find(o=>o.nodeId===r);i&&(i.done=n,await this.updateDumpFile())}isFileConversionComplete(t){var n,i,a;let r=!0;for(let o of((n=this.tilesConverted[t])==null?void 0:n.nodes)||[])if(!o.done){r=!1;break}return r&&((a=(i=this.tilesConverted[t])==null?void 0:i.nodes)==null?void 0:a.length)>0}setMaterialsDefinitions(t){this.materialDefinitions=t}};var o8e,m9t=(o8e=zh.default.env)==null?void 0:o8e.IonToken,a8e=64,g9t="3DTILES",x9t="3DObject",v9t=1800,y9t="https://",Rp="phase1-count",ox=class{attributeMetadataInfo;nodePages;options;layers0Path;materialMap;materialDefinitions;geometryMap;geometryConfigs;vertexCounter;layers0;featuresHashArray;refinementCounter;validate;boundingVolumeWarnings=[];conversionStartTime=[0,0];refreshTokenTime=[0,0];sourceTileset=null;loadOptions={_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"},fetch:{},modules:{}};geoidHeightModel=null;Loader=ec;generateTextures;generateBoundingVolumes;layersHasTexture;workerSource={};writeQueue=new V1(new Gh);compressList=null;preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};progresses={};conversionDump;constructor(){this.attributeMetadataInfo=new K6,this.nodePages=new Ri(ja,a8e,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 Gh}async convert(t){if(Er)return console.log($1),$1;this.conversionStartTime=zh.default.hrtime();let{tilesetName:r,egmFilePath:n,inputUrl:i,validate:a,outputPath:o,draco:s=!0,maxDepth:u,token:c,generateTextures:l,generateBoundingVolumes:f,instantNodeWriting:p=!1,mergeMaterials:d=!0,inquirer:h,metadataClass:g,analyze:m=!1}=t;this.options={outputPath:o,tilesetName:r,maxDepth:u,egmFilePath:n,draco:s,token:c,inputUrl:i,instantNodeWriting:p,mergeMaterials:d,inquirer:h,metadataClass:g},this.progresses[Rp]=new W1,this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(a),this.Loader=i.indexOf(y9t)!==-1?EC:ec,this.generateTextures=Boolean(l),this.generateBoundingVolumes=Boolean(f),this.writeQueue=new V1(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 Jr(n,C4),console.log("Loading egm file completed!")),this.nodePages.useWriteFunction(lc);try{let v=await this._fetchPreloadOptions(),b=i;v.url&&(b=v.url),v.headers&&(this.loadOptions.fetch={headers:v.headers}),this.sourceTileset=await F4(b,this.Loader,this.loadOptions),(this.Loader===ec||m?await this.preprocessConversion():!0)&&!m&&await this.selectMetadataClass()&&(await this._createAndSaveTileset(o,r),await this._finishConversion({outputPath:o,tilesetName:r}))}catch(v){throw v}finally{await this.writeQueue.finalize(),Ki.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){console.log("Analyze source tileset");let t=this.sourceTileset.root;await k4({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[Rp].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(I2(t))return await RU(this.sourceTileset,t,this.loadOptions),null;t.id&&(this.progresses[Rp].stepsTotal+=1,console.log(`[analyze]: ${t.id}`));let i=null;try{i=await MU(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 a=await j3e(i);return L3e(this.preprocessData,a),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 c,l,f;let n=(0,ts.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,ts.join)(n,"SceneServer","layers","0");let i=this.conversionDump.restored?(0,ts.join)(this.layers0Path,"nodepages"):n;try{await C2(i)}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,cD.default)(JSON.stringify(this.conversionDump.materialDefinitions[p]));this.materialMap.set(d,p)}this.materialDefinitions=this.conversionDump.materialDefinitions}let a=this.sourceTileset.root,o=hb(a.boundingVolume,new kr(a.transform),null);this._formLayers0(r,o,(f=(l=(c=this.sourceTileset)==null?void 0:c.root)==null?void 0:l.boundingVolume)==null?void 0:f.region);let s=A4(o,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:s.obb,children:[]}),this.progresses[Rp].startMonitoring();let u=await Vs.createRootNode(s,this);await k4({tile:a,traversalProps:{transform:new kr(a.transform),parentNodes:[u]},processTile:this.convertTile.bind(this),postprocessTile:this.finalizeTile.bind(this),maxDepth:this.options.maxDepth}),this.progresses[Rp].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=x9t),this.conversionDump.restored&&this.conversionDump.textureSetDefinitions&&(this.layers0.textureSetDefinitions=this.conversionDump.textureSetDefinitions),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,uD.default)(this.geometryConfigs.map(p=>({geometryConfig:{...p,draco:this.options.draco}})),k3e()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(p=>p!=="uv0")),await this._writeLayers0(),A3e(r,this.layers0,n);for(let p of this.compressList||[])await b4(p),await D2(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 i=a3e(r);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${cc().toUpperCase()}}`,id:0,name:t,href:"./layers/0",store:{id:`{${cc().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:a8e},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,uD.default)(o,F3e())}async _writeLayers0(){await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>lc(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")})}async _createSlpk(t){await this.conversionDump.deleteDumpFile();let r=(0,ts.join)(t,"SceneServer","layers","0"),n=`${t}.slpk`;await mU(r,n,async i=>({path:"@specialIndexFileHASH128@",file:await E2(i)}));try{await C2(t)}catch{}}async convertTile(t,r){let n=I2(t);if(n||t.type==="empty")return n&&(t.id&&console.log(`[load]: ${t.id}`),await RU(this.sourceTileset,t,this.loadOptions)),r;t.id&&console.log(`[convert]: ${t.id}`);let{parentNodes:i,transform:a}=r,o=a.clone();t.transform&&(o=o.multiplyRight(t.transform));let s=i[0],u=await this._restoreNode(s,t,o),c;u===null?c=await this._createNode(s,t,o):c=u,await s.addChildren(c);let l={transform:o,parentNodes:c};if(t.id){this.progresses[Rp].stepsDone+=1;let f="Calculating time left...",p=this.progresses[Rp].getTimeRemainingString();p&&(f=`${p} left`);let d=this.progresses[Rp].getPercentString(),h=d?` ${d}%, ${f}`:"";console.log(`[converted${h}]: ${t.id}`)}return l}async finalizeTile(t,r){for(let n of t)for(let i of n.parentNodes)await i.addNeighbors();for(let n of r.parentNodes)await n.save()}async _generateNodeIndexDocument(t,r,n,i,a){this.layersHasTexture=this.layersHasTexture||Boolean("texture"in r&&r.texture||"texelCountHint"in r&&r.texelCountHint),this.generateBoundingVolumes&&r.boundingVolumes&&(t=r.boundingVolumes);let o=T3e(i,t),s=o.find(f=>f.metricType==="maxScreenThresholdSQ")||{maxError:0};if(a){let f={center:[],halfSize:[],quaternion:[]};await this.nodePages.push({index:0,obb:f},n.inPageId)}let u=await this._updateNodeInNodePages(s,t,i,n.inPageId,r),c=await Vs.createNodeIndexDocument(n,t,o,u,r);return{node:await new Vs(u.index,this).addData(c),nodeInPage:u,nodeData:c}}async _restoreNode(t,r,n){if(this._checkAddRefinementTypeForTile(r),await this._updateTilesetOptions(),this.conversionDump.restored&&r.id&&this.conversionDump.isFileConversionComplete(r.id)){let i=hb(r.boundingVolume,n,null),a=A4(i,this.geoidHeightModel),o=[];for(let s of this.conversionDump.tilesConverted[r.id].nodes){let{node:u}=await this._generateNodeIndexDocument(a,{...s.dumpMetadata,nodeId:s.nodeId},t,r,!0);o.push(u)}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 i=null;try{i=await MU(this.sourceTileset,r,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${r.contentUrl}`)}let a=hb(r.boundingVolume,n,null),o=A4(a,this.geoidHeightModel),s=b3e(i,this.options.metadataClass);this.createAttributeStorageInfo(i,s),this.conversionDump.attributeMetadataInfo={attributeStorageInfo:this.attributeMetadataInfo.attributeStorageInfo,fields:this.attributeMetadataInfo.fields,popupInfo:this.attributeMetadataInfo.popupInfo};let u=await this._convertResources({sourceTile:r,transformationMatrix:n,boundingVolume:a,tileContent:i,parentId:t.inPageId,propertyTable:s}),c=[],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 u||[p]){let{node:g,nodeInPage:m,nodeData:v}=await this._generateNodeIndexDocument(o,h,t,r,!1);if(c.push(g),m.mesh){if(r.id){let b={boundingVolumes:h.boundingVolumes,attributesCount:(d=h.attributes)==null?void 0:d.length,featureCount:h.featureCount,geometry:Boolean(h.geometry),hasUvRegions:h.hasUvRegions,materialId:m.mesh.material.definition,texelCountHint:m.mesh.material.texelCountHint,vertexCount:h.vertexCount};this.conversionDump.setMaterialsDefinitions(this.materialDefinitions),await this.conversionDump.addNode(r.id,m.index,b)}await this._writeResources(h,g.id,r)}this.validate&&(this.boundingVolumeWarnings=I3e(v),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),l.push(m.index),f.push(m)}return c}async _convertResources({sourceTile:t,transformationMatrix:r,boundingVolume:n,tileContent:i,parentId:a,propertyTable:o}){if(!this.isContentSupported(t)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await SU({tileContent:i,tileTransform:r,tileBoundingVolume:n,addNodeToNodePage:async()=>(await this.nodePages.push({index:0,obb:s},a)).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,i,a){let{vertexCount:o,featureCount:s,geometry:u,hasUvRegions:c}=a,l={index:0,lodThreshold:t.maxError,obb:r.obb,children:[]};u&&this.isContentSupported(n)&&(l.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean("texture"in a&&a.texture||"texelCountHint"in a&&a.texelCountHint),c),resource:0},attribute:{resource:0},material:{definition:0}});let f="nodeId"in a?a.nodeId:void 0,p;if(f?p=await this.nodePages.getNodeById(f):p=await this.nodePages.push(l,i),l.mesh||console.log(`[warning]: node ${p.index} is created with empty content`),Ri.updateAll(p,l),"meshMaterial"in a&&a.meshMaterial?Ri.updateMaterialByNodeId(p,this._findOrCreateMaterial(a.meshMaterial)):"materialId"in a&&a.materialId!==null&&Ri.updateMaterialByNodeId(p,a.materialId),"texture"in a&&a.texture){let d=a.texture.image.height*a.texture.image.width;Ri.updateTexelCountHintByNodeId(p,d)}else"texelCountHint"in a&&a.texelCountHint&&Ri.updateTexelCountHintByNodeId(p,a.texelCountHint);return o&&(this.vertexCounter+=o,Ri.updateVertexCountByNodeId(p,o)),Ri.updateNodeAttributeByNodeId(p),s&&Ri.updateFeatureCountByNodeId(p,s),this.nodePages.saveNode(p),p}async _writeResources(t,r,n){let{geometry:i,compressedGeometry:a,texture:o,sharedResources:s,attributes:u}=t,c=(0,ts.join)(this.layers0Path,"nodes",r),l=(0,ts.join)("nodes",r);await this._writeGeometries({geometryBuffer:i,compressedGeometry:a,childPath:c,slpkChildPath:l,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeShared({sharedResources:s,childPath:c,slpkChildPath:l,nodePath:r,sourceId:n.id||"",nodeId:parseInt(r)}),await this._writeTexture(o,c,l,n.id||"",parseInt(r)),await this._writeAttributes(u,c,l,n.id||"",parseInt(r))}async _writeGeometries({geometryBuffer:t,compressedGeometry:r,childPath:n,slpkChildPath:i,sourceId:a,nodeId:o}){if(!t)return;this.conversionDump.updateDoneStatus(a,o,"GEOMETRY",!1);let s=(0,ts.join)(n,"geometries");if(await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,sourceId:a,outputId:o,resourceType:"GEOMETRY",writePromise:()=>lc(s,t,"0.bin")}),this.options.draco&&r){this.conversionDump.updateDoneStatus(a,o,"DRACO_GEOMETRY",!1);let u=(0,ts.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,sourceId:a,outputId:o,resourceType:"DRACO_GEOMETRY",writePromise:()=>lc(u,r,"1.bin")})}}async _writeShared({sharedResources:t,childPath:r,slpkChildPath:n,nodePath:i,sourceId:a,nodeId:o}){if(!t)return;t.nodePath=i;let s=(0,uD.default)(t,B3e()),u=JSON.stringify(s);this.conversionDump.updateDoneStatus(a,o,"SHARED",!1);let c=(0,ts.join)(r,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,sourceId:a,outputId:o,resourceType:"SHARED",writePromise:()=>lc(c,u,"sharedResource.json")})}async _writeTexture(t,r,n,i,a){if(t){let o=this._getFormatByMimeType(t==null?void 0:t.mimeType),s=[],u=t.bufferView.data;switch(o){case"jpg":case"png":{if(s.push({name:"0",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"0",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"1",format:"ktx2"});let c=t.image.data.subarray(),l=new Uint8Array(c),f=Dg({...t.image,data:l},B7,{...B7.options,["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0});this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/ktx2`,!1),await this.writeTextureFile({textureData:f,name:"1",format:"ktx2",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}break}case"ktx2":{if(s.push({name:"1",format:o}),this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/${o}`,!1),await this.writeTextureFile({textureData:u,name:"1",format:o,childPath:r,slpkChildPath:n,sourceId:i,nodeId:a}),this.generateTextures){s.push({name:"0",format:"jpg"});let c=Dg(t.image.data[0],v7);this.conversionDump.updateDoneStatus(i,a,`${"TEXTURE"}/jpg`,!1),await this.writeTextureFile({textureData:c,name:"0",format:"jpg",childPath:r,slpkChildPath:n,sourceId:i,nodeId:a})}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:i,slpkChildPath:a,sourceId:o,nodeId:s}){let u=(0,ts.join)(i,"textures"),c=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${r}.${n}`,sourceId:o,outputId:s,resourceType:`${"TEXTURE"}/${n}`,writePromise:()=>lc(u,t,`${r}.${n}`,c)})}async _writeAttributes(t=[],r,n,i,a){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 u=this.attributeMetadataInfo.attributeStorageInfo[s].key,c=new Uint8Array(t[s]);this.conversionDump.updateDoneStatus(i,a,`${"ATTRIBUTES"}/${u}`,!1);let l=(0,ts.join)(r,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,sourceId:i,outputId:a,resourceType:`${"ATTRIBUTES"}/${u}`,writePromise:()=>lc(l,c,"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,cD.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},i=(0,cD.default)(JSON.stringify(n));if(this.geometryMap.has(i))return this.geometryMap.get(i)||0;let a=this.geometryConfigs.push(n)-1;return this.geometryMap.set(i,a),a}createAttributeStorageInfo(t,r){let n=null;this.options.metadataClass?!this.attributeMetadataInfo.attributeStorageInfo.length&&(t!=null&&t.gltf)&&(n=d3e(t.gltf,this.options.metadataClass)):r&&(n=p3e(r)),n&&this.attributeMetadataInfo.addMetadataInfo(n)}async _finishConversion(t){let{tilesCount:r,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/r*100:0,a=await E4({outputPath:t.outputPath,tilesetName:t.tilesetName,slpk:!0}),o=zh.default.hrtime(this.conversionStartTime),s=U1(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${g9t}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",a," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',i,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let t={"cesium-ion":{accessToken:this.options.token||m9t}},r=await this.Loader.preload(this.options.inputUrl??"",t);return this.refreshTokenTime=zh.default.hrtime(),{...t,...r}}async _updateTilesetOptions(){if(zh.default.hrtime(this.refreshTokenTime)[0]<v9t)return;this.refreshTokenTime=zh.default.hrtime();let r=await this._fetchPreloadOptions();r.headers&&(this.loadOptions.fetch={...this.loadOptions.fetch,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 O8e=require("path"),yz=kt(require("process"),1),I8e=kt(zs(),1);function hz(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 s8e={UInt8:xt.UNSIGNED_BYTE,UInt16:xt.UNSIGNED_SHORT,Float32:xt.FLOAT,UInt32:xt.UNSIGNED_INT,UInt64:xt.DOUBLE};function sx(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 u8e="String",c8e="Oid32",l8e="Float64",f8e="Int16";function lD(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 ux(e,t=null){return t?`${e}?token=${t}`:e}function p8e(e,t){let{attributeData:r=[]}=t,n=[];for(let i=0;i<r.length;i++){let a=r[i].href.replace("./","");n.push(`${e}/${a}`)}return n}function d8e(e,t,r){let n=[],{attributeStorageInfo:i=[]}=e;for(let a=0;a<i.length;a++){let o=i[a].key;n.push(`${t}/nodes/${r}/attributes/${o}/0`)}return n}var fD=new ne([0,0,0]);function _9t(e){switch(e){case"ktx-etc2":case"dds":return Q8;case"ktx2":return oh;case"jpg":case"png":default:return Kg}}var w9t="i3s-attribute-type";async function x8e(e,t,r,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new kr,coordinateSystem:0,byteLength:0,texture:null};if(t.textureUrl){let s=ux(t.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=_9t(t.textureFormat),f=await(await((i==null?void 0:i.fetch)||fetch)(s)).arrayBuffer();if(n!=null&&n.i3s.decodeTextures){if(u===Kg){let p={...t.textureLoaderOptions,image:{type:"data"}};try{let d=await Ka(f,[],p,i);a.texture=d}catch{let h=await Za(f,u,p,i);a.texture=h}}else if(u===Q8||u===oh){let p=await Jr(f,u,t.textureLoaderOptions);u===oh&&(p=p[0]),a.texture={compressed:!0,mipmaps:!1,width:p[0].width,height:p[0].height,data:p}}}else a.texture=f}return a.material=B9t(t.materialDefinition,a.texture),a.material&&(a.texture=null),await E9t(e,a,t,r,n)}async function E9t(e,t,r,n,i){var f,p;let a=e.byteLength,o,s,u=0,c=0,l;if(r.isDracoGeometry){let d=await Za(e,Mg,{draco:{attributeNameEntry:w9t}});s=d.header.vertexCount,l=(f=d.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:g,COLOR_0:m,TEXCOORD_0:v,["feature-index"]:b,["uv-region"]:_}=d.attributes;o={position:h,normal:g,color:m,uv0:v,uvRegion:_,id:b},A9t(o,d);let A=R9t(b);A&&P9t(o,A)}else{let{vertexAttributes:d,ordering:h,featureAttributes:g,featureAttributeOrder:m}=n.store.defaultGeometrySchema,v=S9t(e,n);u=v.byteOffset,s=v.vertexCount,c=v.featureCount;let{attributes:b,byteOffset:_}=m8e(e,u,d,s,h),{attributes:A}=m8e(e,_,g,c,m);I9t(A),o=T9t(b,A)}if(!((p=i==null?void 0:i.i3s)!=null&&p.coordinateSystem)||i.i3s.coordinateSystem===2){let d=D9t(o.position,r);t.modelMatrix=d.invert(),t.coordinateSystem=2}else t.modelMatrix=k9t(o.position),t.coordinateSystem=3;t.attributes={positions:o.position,normals:o.normal,colors:h8e(o.color),texCoords:o.uv0,uvRegions:h8e(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=a,t}function A9t(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 T9t(e,t){return{...e,...t}}function h8e(e){return e&&(e.normalized=!0,e)}function S9t(e,t){let r=0,n=0,i=0;for(let{property:a,type:o}of t.store.defaultGeometrySchema.header){let s=hz(o);switch(a){case"vertexCount".toString():n=new s(e,0,4)[0],r+=sx(o);break;case"featureCount".toString():i=new s(e,4,4)[0],r+=sx(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:r}}function m8e(e,t,r,n,i){let a={};for(let o of i)if(r[o]){let{valueType:s,valuesPerElement:u}=r[o];if(t+n*u*sx(s)<=e.byteLength){let c=e.slice(t),l;if(s==="UInt64")l=C9t(c,n*u,sx(s));else{let f=hz(s);l=new f(c,0,n*u)}switch(a[o]={value:l,type:s8e[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}t=t+n*u*sx(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:t}}function C9t(e,t,r){let n=[],i=new DataView(e),a=0;for(let o=0;o<t;o++){let s=i.getUint32(a,!0),u=i.getUint32(a+4,!0),c=s+2**32*u;n.push(c),a+=r}return new Uint32Array(n)}function D9t(e,t){let r=t.mbs,n=e.value,i=e.metadata,a=new kr,o=new ne(r[0],r[1],r[2]),s=new ne;return Nt.WGS84.cartographicToCartesian(o,s),Nt.WGS84.eastNorthUpToFixedFrame(s,a),e.value=F9t(n,i,o),a}function F9t(e,t={},r){let n=new Float64Array(e.length),i=t["i3s-scale_x"]&&t["i3s-scale_x"].double||1,a=t["i3s-scale_y"]&&t["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*i+r.x,n[o+1]=e[o+1]*a+r.y,n[o+2]=e[o+2]+r.z;for(let o=0;o<n.length;o+=3)Nt.WGS84.cartographicToCartesian(n.subarray(o,o+3),fD),n[o]=fD.x,n[o+1]=fD.y,n[o+2]=fD.z;return n}function k9t(e){var a,o;let t=e.metadata,r=((a=t==null?void 0:t["i3s-scale_x"])==null?void 0:a.double)||1,n=((o=t==null?void 0:t["i3s-scale_y"])==null?void 0:o.double)||1,i=new kr;return i[0]=r,i[5]=n,i}function B9t(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=g8e(r.emissiveFactor)),r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorFactor&&(r.pbrMetallicRoughness.baseColorFactor=g8e(r.pbrMetallicRoughness.baseColorFactor)),t&&O9t(r,t),r}function g8e(e){let t=[...e];for(let r=0;r<e.length;r++)t[r]=e[r]/255;return t}function O9t(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 I9t(e){let{id:t,faceRange:r}=e;if(!t||!r)return;let n=t.value,i=r.value,a=i[i.length-1]+1,o=new Uint32Array(a*3),s=0,u=0;for(let c=1;c<i.length;c+=2){let l=Number(n[s]),f=i[c],p=i[c-1],d=f-p+1,h=u+d*3;o.fill(l,u,h),s++,u=h}e.id.value=o}function P9t(e,t){let r=e.id.value,n=new Float32Array(r.length);for(let i=0;i<r.length;i++)n[i]=t[r[i]];e.id.value=n}function R9t(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 M9t="4.3.0-alpha.6",v8e={dataType:null,batchType:null,name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:M9t,mimeTypes:["application/octet-stream"],parse:j9t,extensions:["bin"],options:{"i3s-content":{}}};async function j9t(e,t,r){let{tile:n,_tileOptions:i,tileset:a,_tilesetOptions:o}=(t==null?void 0:t.i3s)||{},s=i||n,u=o||a;return!s||!u?null:await x8e(e,s,u,t,r)}var L9t="4.3.0-alpha.6",y8e={dataType:null,batchType:null,name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:L9t,mimeTypes:["application/json"],parse:q9t,extensions:["json"],options:{i3s:{}}};async function q9t(e,t){return JSON.parse(new TextDecoder().decode(e))}var u_=class{tileset;nodePages=[];pendingNodePages=[];nodesPerPage;options;lodSelectionMetricType;textureDefinitionsSelectedFormats=[];nodesInNodePages;url;textureLoaderOptions={};constructor(t,r="",n){var i,a;this.tileset={...t},this.url=r,this.nodesPerPage=((i=t.nodePages)==null?void 0:i.nodesPerPage)||64,this.lodSelectionMetricType=(a=t.nodePages)==null?void 0:a.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(t)}async getNodeById(t){var i;let r=Math.floor(t/this.nodesPerPage);if(!this.nodePages[r]&&!this.pendingNodePages[r]){let a=ux(`${this.url}/nodepages/${r}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[r]={status:"Pending",promise:Jr(a,y8e,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=[],i=[];for(let d of r.children||[])i.push(this.getNodeById(d));let a=await Promise.all(i);for(let d of a)n.push({id:d.index.toString(),obb:d.obb});let o,s,u,c="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:g,materialDefinition:m}=this.getInformationFromMaterial(r.mesh.material);u=m,c=g.format||c,g.name&&(s=`${this.url}/nodes/${r.mesh.material.resource}/textures/${g.name}`),this.tileset.attributeStorageInfo&&(l=d8e(this.tileset,this.url,r.mesh.attribute.resource))}let p=this.getLodSelection(r);return mz({id:t.toString(),lodSelection:p,obb:r.obb,contentUrl:o,textureUrl:s,attributeUrls:l,materialDefinition:u,textureFormat:c,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(t){let r=null,n=this.tileset.geometryDefinitions[t.definition],i=-1;if(this.options.i3s&&this.options.i3s.useDracoGeometry&&(i=n.geometryBuffers.findIndex(a=>a.compressedAttributes&&a.compressedAttributes.encoding==="draco")),i===-1&&(i=n.geometryBuffers.findIndex(a=>!a.compressedAttributes)),i!==-1){let a=Boolean(n.geometryBuffers[i].compressedAttributes);r={url:`${this.url}/nodes/${t.resource}/geometries/${i}`,isDracoGeometry:a}}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,i,a;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=(a=(i=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:i.baseColorTexture)==null?void 0:a.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 i of n){let a=i&&i.formats||[],o=null;for(let s of r){let u=a.find(c=>c.format===s);if(u){o=u;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={format:r1(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let t=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let r=Sb();r.has("etc2")&&t.push("ktx-etc2"),r.has("dxt")&&t.push("dds"),t.push("ktx2")}return t.push("jpg"),t.push("png"),t}};function b8e(e,t){let r=t.url||"",n;e.geometryData&&(n=`${r}/${e.geometryData[0].href}`);let i;e.textureData&&(i=`${r}/${e.textureData[0].href}`);let a;e.attributeData&&(a=p8e(r,e));let o=e.children||[];return mz({...e,children:o,url:r,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1})}function mz(e){var s,u;let t={},r=[0,0,0,1];if(e.mbs)r=e.mbs,t.sphere=[...Nt.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){t.box=[...Nt.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let l=new gi().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,i=(u=e.lodSelection)==null?void 0:u[0].maxError,a="mesh",o=2;return{...e,mbs:r,boundingVolume:t,lodMetricType:n,lodMetricValue:i,type:a,refine:o}}async function _8e(e,t,r){let n=lD(r.url||""),i,a;if(e.nodePages)i=new u_(e,n,t),a=await i.formTileFromNodePages(0);else{let o=t.i3s,s=ux(`${n}/nodes/root`,o.token);a=await Jr(s,jl,{...t,i3s:{...t.i3s,loadContent:!1,isTileHeader:!0,isTileset:!1}})}return{...e,loader:jl,url:n,basePath:n,type:"I3S",nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue}}var N9t="4.3.0-alpha.6",U9t=/layers\/[0-9]+$/,G9t=/\.slpk$/,z9t=/nodes\/([0-9-]+|root)$/,H9t="504b0304",V9t="PointCloud",jl={dataType:null,batchType:null,name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:N9t,mimeTypes:["application/octet-stream"],parse:$9t,extensions:["bin"],options:{i3s:{token:null,isTileset:"auto",isTileHeader:"auto",tile:null,tileset:null,_tileOptions:null,_tilesetOptions:null,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:2}}};async function $9t(e,t={},r){let n=r.url;if(t.i3s=t.i3s||{},J9t(e)===H9t)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a=lD(n),o;t.i3s.isTileset==="auto"?o=U9t.test(a)||G9t.test(a):o=t.i3s.isTileset;let s;return t.isTileHeader==="auto"?s=z9t.test(a):s=t.i3s.isTileHeader,o?e=await K9t(e,t,r):s?e=await X9t(e,r):e=await W9t(e,t),e}async function W9t(e,t){return await Za(e,v8e,t)}async function K9t(e,t,r){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===V9t)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await _8e(n,t,r)}async function X9t(e,t){return e=JSON.parse(new TextDecoder().decode(e)),b8e(e,t)}function J9t(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(t=>t.toString(16).padStart(2,"0")).join(""):null}var Y9t=[{test:/^$/,extensions:["3dSceneLayer.json.gz"]},{test:/^nodepages\/\d+$/,extensions:[".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+$/,extensions:[".json.gz"]},{test:/^nodes\/\d+\/shared$/,extensions:["/sharedResource.json.gz"]}],pD=class extends Ol{hashTable;_textEncoder=new TextEncoder;_textDecoder=new TextDecoder;_md5Hash=new Au;constructor(t,r,n){super(t,r,n),this.hashTable=r}async getFile(t,r="raw"){var n;if(r==="http"){let i=(n=Y9t.find(a=>a.test.test(t)))==null?void 0:n.extensions;if(i){let a;for(let o of i)if(a=await this.getDataByPath(`${t}${o}`),a)break;if(a)return a}}if(r==="raw"){let i=await this.getDataByPath(`${t}.gz`);if(i)return i;let a=await this.getFileBytes(t);if(a)return a}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 _2().decompress(r):r}async getFileBytes(t){let r;if(this.hashTable){let n=this._textEncoder.encode(t),i=await this._md5Hash.hash(n.buffer,"hex"),a=this.hashTable[i];if(a===void 0)return;let o=await Gs(a,this.fileProvider);if(!o)return;r=await this.fileProvider.slice(o.fileDataOffset,o.fileDataOffset+o.compressedSize)}else try{r=await this.getFileWithoutHash(t)}catch{r=void 0}return r}};async function gz(e,t,r){let n=await Ch(e,Fh),i=await Dh(n,e),a;if((i==null?void 0:i.fileName)!=="@specialIndexFileHASH128@")a=await gU(e),t==null||t("SLPK doesnt contain hash file, hash info has been composed according to zip archive headers");else{let o=await Gs(i.localHeaderOffset,e);if(!o)throw new Error("corrupted SLPK");let s=o.fileDataOffset,u=await e.slice(s,s+o.compressedSize);a=w2(u)}return new pD(e,a,r)}function E8e(e,t){let{attributeName:r,attributeType:n}=t;return r?{[r]:n?Q9t(n,e):null}:{}}function Q9t(e,t){switch(e){case u8e:return tjt(t);case c8e:return w8e(t);case l8e:return ejt(t);case f8e:return Z9t(t);default:return w8e(t)}}function w8e(e){return new Uint32Array(e,4)}function Z9t(e){return new Int16Array(e,4)}function ejt(e){return new Float64Array(e,8)}function tjt(e){let i=[];try{let a=new DataView(e,0,4).getUint32(0,!0),o=new Uint32Array(e,8,a),s=8+a*4;for(let u of o){let c=new TextDecoder("utf-8"),l=new Uint8Array(e,s,u);i.push(c.decode(l)),s+=u}}catch(a){console.error("Parse string attribute error: ",a.message)}return i}var rjt="4.3.0-alpha.6";var xz={dataType:null,batchType:null,name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:rjt,mimeTypes:["application/binary"],parse:async(e,t)=>E8e(e,t),extensions:["bin"],options:{},binary:!0};function vz(e,t){let r=[e.center[0],e.center[1],e.center[2]+t.getHeight(e.center[1],e.center[0])],n=Nt.WGS84.cartographicToCartesian(r,new ne),i=new gi().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var dD=kt(zs(),1),njt=()=>({version:{path:"version",default:"1.0"}}),A8e=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},refine:{path:"refine"},content:{path:"content"},children:{path:"children",transform:e=>e.map(t=>(0,dD.default)(t,A8e()))}}),T8e=()=>({asset:{path:"asset",transform:e=>(0,dD.default)(e,njt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,dD.default)(e,A8e())}});function S8e(e,t){let r=new Float32Array(e.length),n=ajt(t);for(let i=0;i<e.length;i+=2){let a=e.subarray(i,i+2),o=n.slice(i*2,i*2+4),s=ijt([a[0],a[1]]),u=[o[2]-o[0],o[3]-o[1]],c=[s[0]*u[0],s[1]*u[1]],l=[c[0]+o[0],c[1]+o[1]];r[i]=l[0],r[i+1]=l[1]}return r}function ijt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function ajt(e){let r=[];for(let n=0;n<e.length;n++)r[n]=e[n]/65535;return r}var ojt=new kr([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),C8e=new ne,D8e="KHR_materials_unlit",sjt=1,ujt=1,c_=class{rtcCenter;i3sTile;async convert(t,r=null){let n=await this.buildGLTF(t,r);return t8({gltfEncoded:new Uint8Array(n),type:"b3dm",featuresLength:this._getFeaturesLength(r),batchTable:r},yU)}async buildGLTF(t,r){let{tileContent:n,textureFormat:i,box:a}=t,{material:o,attributes:s,indices:u,modelMatrix:c}=n,l=new sr,f=await this._addI3sTextureToGLTF(n,i,l),p=o==null?void 0:o.pbrMetallicRoughness;p&&(p.metallicFactor===void 0||p.metallicFactor===sjt)&&(p.roughnessFactor===void 0||p.roughnessFactor===ujt)&&(l.addObjectExtension(o,D8e,{}),l.addExtension(D8e));let d=this._convertI3sMaterialToGLTFMaterial(o,f),h=l.addMaterial(d),g=s.positions,m=g.value;s.uvRegions&&s.texCoords&&(s.texCoords.value=S8e(s.texCoords.value,s.uvRegions.value));let v=new ne(a),b=Nt.WGS84.cartesianToCartographic(v,new ne);s.positions.value=this._normalizePositions(m,v,b,c),this._createBatchIds(n,r),s.normals&&!this._checkNormals(s.normals.value)&&delete s.normals;let _=u||T4(m.length/g.size),A=l.addMesh({attributes:s,indices:_,material:h,mode:4}),w=this._generateTransformMatrix(v),C=l.addNode({meshIndex:A,matrix:w}),k=l.addScene({nodeIndices:[C]});return l.setDefaultScene(k),l.createBinaryChunk(),t8(l.gltf,X7)}async _addI3sTextureToGLTF(t,r,n){let{texture:i,material:a,attributes:o}=t,s=null,u=i;if(!i&&a&&(u=a.pbrMetallicRoughness&&a.pbrMetallicRoughness.baseColorTexture&&a.pbrMetallicRoughness.baseColorTexture.texture.source.image),u){let c=this._deduceMimeTypeFromFormat(r),l=n.addImage(u,c);s=n.addTexture({imageIndex:l}),delete o.colors}return s}_normalizePositions(t,r,n,i){let a=new Float32Array(t.length);for(let o=0;o<t.length;o+=3){let s=t.subarray(o,o+3),u=new ne(r),c=new ne(Array.from(s)).transform(i).add(n);Nt.WGS84.cartographicToCartesian(c,C8e),c=C8e.subtract(u),a.set(c,o)}return a}_generateTransformMatrix(t){return new kr().translate(t).multiplyLeft(ojt)}_createBatchIds(t,r){let{featureIds:n}=t,{OBJECTID:i}=r||{};if(!(!n||!i)){for(let a=0;a<n.length;a++){let o=n[a],s=i.indexOf(o);n[a]=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 F8e=async(e,t,r,n)=>{if(!e||!t.contentUrl)return null;let i={...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 l_(t.contentUrl,jl,i,n)};async function k8e(e){let t=e.split(".slpk");if(t.length===2){let r=`${t[0]}.slpk`,n=new Ya(r),i=await gz(n,void 0,r);return new Bl(i)}return null}async function l_(e,t,r,n){return n!==null?await Jr(e,t,{...r,fetch:n.fetch.bind(n)}):await Jr(e,t,r)}async function B8e(e){if(!(e!=null&&e.fileProvider))return 0;let t=new Set,r=uc(e.fileProvider);for await(let n of r){let i=n.fileName,a=/^nodes\/(\d+)\//.exec(i);a&&t.add(a[1])}return t.size}var cjt="I3S",cx=class{options;tilesetPath;vertexCounter;conversionStartTime;geoidHeightModel;sourceTileset;attributeStorageInfo;workerSource={};slpkFilesystem=null;loaderOptions={_nodeWorkers:!0,reuseWorkers:!0,worker:!1,i3s:{coordinateSystem:3,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};conversionDump;progress;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 Gh,this.progress=new W1}async convert(t){var h;if(Er)return console.log($1),$1;let{inputUrl:r,outputPath:n,tilesetName:i,maxDepth:a,egmFilePath:o,inquirer:s,analyze:u}=t;this.conversionStartTime=yz.default.hrtime(),this.options={maxDepth:a,inquirer:s},console.log("Loading egm file..."),this.geoidHeightModel=await Jr(o,C4),console.log("Loading egm file completed!"),this.slpkFilesystem=await k8e(r);let c=!0;if((u||this.slpkFilesystem)&&(c=await this.preprocessConversion(),!c||u)||(this.progress.startMonitoring(),this.sourceTileset=await l_(r,jl,{...this.loaderOptions,i3s:{...this.loaderOptions.i3s,isTileset:!0}},this.slpkFilesystem),!this.sourceTileset))return;let l=(h=this.sourceTileset)==null?void 0:h.root;if(l.obb||(l.obb=TU(l.mbs)),this.tilesetPath=(0,O8e.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 C2(this.tilesetPath)}catch{}let f={boundingVolume:{box:vz(l.obb,this.geoidHeightModel)},geometricError:DU(l),children:[],refine:"REPLACE"};await this._addChildren(l,f,1);let p=(0,I8e.default)({root:f},T8e());await ja(this.tilesetPath,JSON.stringify(p),"tileset.json"),await this.conversionDump.deleteDumpFile(),this.progress.stopMonitoring(),await this._finishConversion({slpk:!1,outputPath:n,tilesetName:i}),this.slpkFilesystem&&this.slpkFilesystem.destroy(),Ki.getWorkerFarm({}).destroy()}async preprocessConversion(){console.log("Analyze source layer");let t=await B8e(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,i){let a=r,o=await this._loadChildNode(t,i);if(o.contentUrl){if(this.conversionDump.restored&&this.conversionDump.isFileConversionComplete(`${o.id}.b3dm`)&&(o.obb||o.mbs)){let{child:b}=this._createChildAndBoundingVolume(o);r.children.push(b),await this._addChildren(o,b,n+1);return}let f=await F8e(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),g={tileContent:f,box:h.box||[],textureFormat:o.textureFormat},v=await new c_().convert(g,p);await this.conversionDump.addNode(`${o.id}.b3dm`,o.id),await ja(this.tilesetPath,new Uint8Array(v),`${o.id}.b3dm`),await this.conversionDump.updateConvertedNodesDumpFile(`${o.id}.b3dm`,o.id,!0),r.children.push(d),a=d}this.progress.stepsDone+=1;let s="Calculating time left...",u=this.progress.getTimeRemainingString();u&&(s=`${u} left`);let c=this.progress.getPercentString(),l=c?` ${c}%, ${s}`:"";console.log(`[converted${l}]: ${i.id}`),await this._addChildren(o,a,n+1)}async _addChildren(t,r,n){if(!(this.options.maxDepth&&n>this.options.maxDepth))for(let i of t.children||[])await this.convertChildNode(t,r,n,i)}async _loadChildNode(t,r){var i;let n;if((i=this.sourceTileset)!=null&&i.nodePagesTile)console.log(`Node conversion: ${r.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(r.id));else{let a=this._relativeUrlToFullUrl(t.url,r.href),o={i3s:{...this.loaderOptions,isTileHeader:!0,loadContent:!1}};console.log(`Node conversion: ${a}`),n=await l_(a,jl,o,this.slpkFilesystem)}return n}_createChildAndBoundingVolume(t){t.obb||(t.obb=TU(t.mbs));let r={box:vz(t.obb,this.geoidHeightModel)},n={boundingVolume:r,geometricError:DU(t),children:[],content:{uri:`${t.id}.b3dm`,boundingVolume:r}};return{boundingVolume:r,child:n}}_relativeUrlToFullUrl(t="",r){let n=t.split("/"),i=r.split("/");for(let a of i)switch(a){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(a)}return n.join("/")}async _loadChildAttributes(t,r){let n=[],{attributeUrls:i=[]}=t;for(let o=0;o<i.length;o++){let s=i[o],u=r[o],c={attributeName:u.name,attributeType:this._getAttributeType(u)};n.push(l_(s,xz,c,this.slpkFilesystem))}let a=await Promise.all(n);return this._replaceNestedArrays(a),Object.assign({},...a)}_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 i in n)n[i]=Array.from(n[i])}}async _finishConversion(t){let r=await E4(t),n=yz.default.hrtime(this.conversionStartTime),i=U1(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${cjt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",r," bytes"),console.log("------------------------------------------------")}};var lx=require("path");var ljt="4.3.0-alpha.6",fjt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",hD=class{async install(t=""){console.log('Installing "EGM2008-5" model...');let r=await Jr(fjt,lU,{}),n=process.cwd();t&&(n=(0,lx.join)(n,t)),await ja(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(ip[An.DECODER],"draco",An.DECODER),await this.installFromUrl(ip[An.DECODER_WASM],"draco",An.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(ip[An.ENCODER],"draco",An.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",Yu.TRANSCODER,"libs"),await this.installFromNpm("textures",Yu.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",Yu.ENCODER,"libs"),await this.installFromNpm("textures",Yu.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package');let i=new q0,a=(0,lx.dirname)(process.execPath);await i.start({command:`"${a}/${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 i=await ca(`https://unpkg.com/@loaders.gl/${t}@${ljt}/dist/${n}/${r}`);if(i.status<200||i.status>=300)throw new Error(`Failed to load resource ${r}`);let a=await i.arrayBuffer();if(!a)return;let o=(0,lx.join)(process.cwd(),"modules",t,"dist",n);await ja(o,a,r)}async installFromUrl(t,r,n){let a=await(await ca(t)).arrayBuffer();if(!a)return;let o=(0,lx.join)(process.cwd(),"modules",r,"dist","libs");await ja(o,a,n)}};function hc(e,t){if(e+1>=t.length)return"";let r=t[e+1];return r.indexOf("--")===0?"":r}function P8e(e,t){let r=hc(e,t);return console.log(`Input tileset value: ${r}`),console.log(`Modified tileset value: ${r.replace(/\\/g,"/")}`),r.replace(/\\/g,"/")}function R8e(e){return e.reduce((t,r)=>{let n=r.indexOf("="),i=r.slice(0,n),a=r.slice(n+1,r.length);return r.includes("=")&&r.startsWith("--")&&a?t.concat(i,a):t.concat(r)},[])}function M8e(e,t){let r=hc(e,t),n=Number.parseInt(r);return isFinite(n)?n:NaN}function Ys(e,t){let r=hc(e,t).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(t[e])&&!r?!1:!r||r==="true"}var q8e=require("fs/promises"),bz={I3S:"I3S",_3DTILES:"3DTILES"};async function pjt(){let[,,...e]=process.argv;e.length===0&&_z();let t=R8e(e),r=hjt(t);if(r.installDependencies){new hD().install("deps");return}if(r.addHash){let i=j8e(r,!0),a=i.tileset;if(!r.quiet)if(i.output==="data"){let s=i.tileset.substring(0,i.tileset.length-5);(await mD.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&&(a=`${s}-hash.slpk`)}else a=i.output;a!==i.tileset&&await(0,q8e.copyFile)(i.tileset,a);let o=await E2(uc(new Ya(a)));await hU(a,o,"@specialIndexFileHASH128@");return}let n=j8e(r);await djt(n)}pjt().catch(e=>{console.log(e),process.exit(1)});function _z(){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 reduce memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent to merge similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),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('--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 djt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case bz.I3S:await new cx().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm,analyze:e.analyze,inquirer:e.quiet?void 0:mD.default});break;case bz._3DTILES:await new ox().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:mD.default});break;default:_z()}}function j8e(e,t){let r={name:{getMessage:()=>console.log("Missed: --name [Tileset name]"),condition:i=>t||Boolean(i)||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:i=>t||Boolean(i)&&Object.values(bz).includes(i.toUpperCase())}},n=[];for(let i in r){let a=e[i],o=r[i].condition;(o?o(a):a)||n.push(r[i].getMessage)}return n.length&&(n.forEach(i=>i()),process.exit(1)),e}function hjt(e){let t={output:"data",instantNodeWriting:!1,mergeMaterials:!0,egm:(0,L8e.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=hc(n,e);break;case"--tileset":t.tileset=P8e(n,e);break;case"--name":t.name=hc(n,e);break;case"--output":t.output=hc(n,e);break;case"--instant-node-writing":t.instantNodeWriting=Ys(n,e);break;case"--split-nodes":t.mergeMaterials=Ys(n,e);break;case"--max-depth":t.maxDepth=M8e(n,e);break;case"--add-hash":t.addHash=Ys(n,e);break;case"--egm":t.egm=hc(n,e);break;case"--token":t.token=hc(n,e);break;case"--no-draco":t.draco=Ys(n,e);break;case"--validate":t.validate=Ys(n,e);break;case"--install-dependencies":t.installDependencies=Ys(n,e);break;case"--generate-textures":t.generateTextures=Ys(n,e);break;case"--generate-bounding-volumes":t.generateBoundingVolumes=Ys(n,e);break;case"--analyze":t.analyze=Ys(n,e);break;case"--quiet":t.quiet=Ys(n,e);break;case"--metadata-class":t.metadataClass=hc(n,e);break;case"--help":_z();break;default:console.warn(`Unknown option ${r}`),process.exit(0)}}),t}
|
|
161
161
|
/*! Bundled license information:
|
|
162
162
|
|
|
163
163
|
is-buffer/index.js:
|