@flyfish-group/file-viewer3 1.0.19 → 1.0.21

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.
Files changed (268) hide show
  1. package/README.md +57 -24
  2. package/dist/components/3MFLoader.js +1 -1
  3. package/dist/components/AMFLoader.js +1 -1
  4. package/dist/components/AudioViewer.js +1 -1
  5. package/dist/components/CadViewer.js +1 -1
  6. package/dist/components/CodeViewer.js +1 -1
  7. package/dist/components/ColladaLoader.js +1 -1
  8. package/dist/components/DrawingViewer.js +1 -1
  9. package/dist/components/EdaViewer.js +1 -1
  10. package/dist/components/EmailViewer.js +1 -1
  11. package/dist/components/EpubViewer.js +1 -1
  12. package/dist/components/FBXLoader.js +1 -1
  13. package/dist/components/GLTFLoader.js +1 -1
  14. package/dist/components/ImageViewer.js +1 -1
  15. package/dist/components/KMZLoader.js +1 -1
  16. package/dist/components/MarkdownViewer.js +1 -1
  17. package/dist/components/ModelViewer.js +1 -1
  18. package/dist/components/OBJLoader.js +1 -1
  19. package/dist/components/OfdViewer.js +1 -1
  20. package/dist/components/PCDLoader.js +1 -1
  21. package/dist/components/PLYLoader.js +1 -1
  22. package/dist/components/PdfView.js +206 -207
  23. package/dist/components/PptxRender.js +1 -1
  24. package/dist/components/STLLoader.js +1 -1
  25. package/dist/components/TDSLoader.js +1 -1
  26. package/dist/components/TypstViewer.js +1671 -0
  27. package/dist/components/USDLoader.js +1 -1
  28. package/dist/components/UmdViewer.js +1 -1
  29. package/dist/components/VRMLLoader.js +1 -1
  30. package/dist/components/VTKLoader.js +1 -1
  31. package/dist/components/XYZLoader.js +1 -1
  32. package/dist/components/XlsxTable.js +1 -1
  33. package/dist/components/__vite-browser-external.js +1 -1
  34. package/dist/components/_plugin-vue_export-helper.js +1 -1
  35. package/dist/components/ar-SA-G6X2FPQ2.js +1 -1
  36. package/dist/components/arc.js +1 -1
  37. package/dist/components/architecture-7EHR7CIX.js +1 -1
  38. package/dist/components/architectureDiagram-3BPJPVTR.js +1 -1
  39. package/dist/components/archive.js +1 -1
  40. package/dist/components/asyncToGenerator.js +1 -1
  41. package/dist/components/audio.js +1 -1
  42. package/dist/components/az-AZ-76LH7QW2.js +1 -1
  43. package/dist/components/bash.js +1 -1
  44. package/dist/components/bg-BG-XCXSNQG7.js +1 -1
  45. package/dist/components/blockDiagram-GPEHLZMM.js +1 -1
  46. package/dist/components/bn-BD-2XOGV67Q.js +1 -1
  47. package/dist/components/c4Diagram-AAUBKEIU.js +1 -1
  48. package/dist/components/ca-ES-6MX7JW3Y.js +1 -1
  49. package/dist/components/cad.js +1 -1
  50. package/dist/components/cfb.js +1 -1
  51. package/dist/components/channel.js +1 -1
  52. package/dist/components/chunk-2J33WTMH.js +1 -1
  53. package/dist/components/chunk-3OPIFGDE.js +1 -1
  54. package/dist/components/chunk-4BX2VUAB.js +1 -1
  55. package/dist/components/chunk-55IACEB6.js +1 -1
  56. package/dist/components/chunk-5ZQYHXKU.js +1 -1
  57. package/dist/components/chunk-6U3AYISY.js +1 -1
  58. package/dist/components/chunk-727SXJPM.js +1 -1
  59. package/dist/components/chunk-AGHRB4JF.js +1 -1
  60. package/dist/components/chunk-AQP2D5EJ.js +1 -1
  61. package/dist/components/chunk-BSJP7CBP.js +1 -1
  62. package/dist/components/chunk-CSCIHK7Q.js +1 -1
  63. package/dist/components/chunk-FMBD7UC4.js +1 -1
  64. package/dist/components/chunk-K2UTITRG.js +1 -1
  65. package/dist/components/chunk-KSCS5N6A.js +1 -1
  66. package/dist/components/chunk-L5ZTLDWV.js +1 -1
  67. package/dist/components/chunk-LZXEDZCA.js +1 -1
  68. package/dist/components/chunk-ND2GUHAM.js +1 -1
  69. package/dist/components/chunk-NZK2D7GU.js +1 -1
  70. package/dist/components/chunk-O5CBEL6O.js +1 -1
  71. package/dist/components/chunk-QZHKN3VN.js +1 -1
  72. package/dist/components/chunk-SRAX5OIU.js +1 -1
  73. package/dist/components/chunk-WU5MYG2G.js +1 -1
  74. package/dist/components/chunk-XPW4576I.js +1 -1
  75. package/dist/components/chunk-Z3N5DIM6.js +1 -1
  76. package/dist/components/chunk-ZUYEQ4TG.js +1 -1
  77. package/dist/components/chunk.js +1 -1
  78. package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
  79. package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
  80. package/dist/components/compiler.js +1 -0
  81. package/dist/components/core.js +1 -1
  82. package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
  83. package/dist/components/cpp.js +1 -1
  84. package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
  85. package/dist/components/csharp.js +1 -1
  86. package/dist/components/css.js +1 -1
  87. package/dist/components/cytoscape.esm.js +1 -1
  88. package/dist/components/da-DK-5WZEPLOC.js +1 -1
  89. package/dist/components/dagre-BM42HDAG.js +1 -1
  90. package/dist/components/dagre.js +1 -1
  91. package/dist/components/de-DE-XR44H4JA.js +1 -1
  92. package/dist/components/defaultLocale.js +1 -1
  93. package/dist/components/defineProperty.js +1 -1
  94. package/dist/components/diagram-2AECGRRQ.js +1 -1
  95. package/dist/components/diagram-5GNKFQAL.js +1 -1
  96. package/dist/components/diagram-KO2AKTUF.js +1 -1
  97. package/dist/components/diagram-LMA3HP47.js +1 -1
  98. package/dist/components/diagram-OG6HWLK6.js +1 -1
  99. package/dist/components/diff.js +1 -1
  100. package/dist/components/directory-open-01563666.js +1 -1
  101. package/dist/components/directory-open-4ed118d0.js +1 -1
  102. package/dist/components/dist.js +1 -1
  103. package/dist/components/dist2.js +1 -1
  104. package/dist/components/dist3.js +1 -1
  105. package/dist/components/docx-preview.js +1 -1
  106. package/dist/components/drawing.js +1 -1
  107. package/dist/components/ebook.js +1 -1
  108. package/dist/components/eda.js +1 -1
  109. package/dist/components/el-GR-BZB4AONW.js +1 -1
  110. package/dist/components/email.js +1 -1
  111. package/dist/components/en-B4ZKOASM.js +1 -1
  112. package/dist/components/erDiagram-TEJ5UH35.js +1 -1
  113. package/dist/components/es-ES-U4NZUMDT.js +1 -1
  114. package/dist/components/eu-ES-A7QVB2H4.js +1 -1
  115. package/dist/components/eventmodeling-FCH6USID.js +1 -1
  116. package/dist/components/fa-IR-HGAKTJCU.js +1 -1
  117. package/dist/components/fflate.module.js +1 -1
  118. package/dist/components/fi-FI-Z5N7JZ37.js +1 -1
  119. package/dist/components/file-open-002ab408.js +1 -1
  120. package/dist/components/file-open-7c801643.js +1 -1
  121. package/dist/components/file-save-3189631c.js +1 -1
  122. package/dist/components/file-save-745eba88.js +1 -1
  123. package/dist/components/flowDiagram-I6XJVG4X.js +1 -1
  124. package/dist/components/fr-FR-RHASNOE6.js +1 -1
  125. package/dist/components/ganttDiagram-6RSMTGT7.js +1 -1
  126. package/dist/components/gitGraph-WXDBUCRP.js +1 -1
  127. package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -1
  128. package/dist/components/gl-ES-HMX3MZ6V.js +1 -1
  129. package/dist/components/global-compiler.js +1 -0
  130. package/dist/components/global-renderer.js +1 -0
  131. package/dist/components/go.js +1 -1
  132. package/dist/components/graphlib.js +1 -1
  133. package/dist/components/he-IL-6SHJWFNN.js +1 -1
  134. package/dist/components/hi-IN-IWLTKZ5I.js +1 -1
  135. package/dist/components/hu-HU-A5ZG7DT2.js +1 -1
  136. package/dist/components/id-ID-SAP4L64H.js +1 -1
  137. package/dist/components/image-GAAHSSAO.js +1 -1
  138. package/dist/components/image-blob-reduce.esm.js +1 -1
  139. package/dist/components/image.js +1 -1
  140. package/dist/components/info-J43DQDTF.js +1 -1
  141. package/dist/components/infoDiagram-5YYISTIA.js +1 -1
  142. package/dist/components/ini.js +1 -1
  143. package/dist/components/init.js +1 -1
  144. package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -1
  145. package/dist/components/it-IT-JPQ66NNP.js +1 -1
  146. package/dist/components/ja-JP-DBVTYXUO.js +1 -1
  147. package/dist/components/java.js +1 -1
  148. package/dist/components/javascript.js +1 -1
  149. package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
  150. package/dist/components/json.js +1 -1
  151. package/dist/components/jszip.min.js +1 -1
  152. package/dist/components/kaa-6HZHGXH3.js +1 -1
  153. package/dist/components/kab-KAB-ZGHBKWFO.js +1 -1
  154. package/dist/components/kanban-definition-UN3LZRKU.js +1 -1
  155. package/dist/components/katex.js +1 -1
  156. package/dist/components/kk-KZ-P5N5QNE5.js +1 -1
  157. package/dist/components/km-KH-HSX4SM5Z.js +1 -1
  158. package/dist/components/ko-KR-MTYHY66A.js +1 -1
  159. package/dist/components/ku-TR-6OUDTVRD.js +1 -1
  160. package/dist/components/lib.js +1 -1
  161. package/dist/components/libarchive.js +1 -1
  162. package/dist/components/linear.js +1 -1
  163. package/dist/components/lt-LT-XHIRWOB4.js +1 -1
  164. package/dist/components/lv-LV-5QDEKY6T.js +1 -1
  165. package/dist/components/markdown.js +1 -1
  166. package/dist/components/md.js +1 -1
  167. package/dist/components/mermaid-parser.core.js +1 -1
  168. package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
  169. package/dist/components/model.js +1 -1
  170. package/dist/components/mp4.js +1 -1
  171. package/dist/components/mr-IN-CRQNXWMA.js +1 -1
  172. package/dist/components/my-MM-5M5IBNSE.js +1 -1
  173. package/dist/components/nb-NO-T6EIAALU.js +1 -1
  174. package/dist/components/nestedRender.js +1 -1
  175. package/dist/components/nl-NL-IS3SIHDZ.js +1 -1
  176. package/dist/components/nn-NO-6E72VCQL.js +1 -1
  177. package/dist/components/objectSpread2.js +1 -1
  178. package/dist/components/objectWithoutProperties.js +1 -1
  179. package/dist/components/oc-FR-POXYY2M6.js +1 -1
  180. package/dist/components/ofd.js +1 -1
  181. package/dist/components/ofd2.js +1 -1
  182. package/dist/components/ordinal.js +1 -1
  183. package/dist/components/pa-IN-N4M65BXN.js +1 -1
  184. package/dist/components/packet-YPE3B663.js +1 -1
  185. package/dist/components/pdf.js +1 -1
  186. package/dist/components/percentages-BXMCSKIN.js +1 -1
  187. package/dist/components/php.js +1 -1
  188. package/dist/components/pica.js +1 -1
  189. package/dist/components/pie-LRSECV5Y.js +1 -1
  190. package/dist/components/pie.js +1 -1
  191. package/dist/components/pieDiagram-4H26LBE5.js +1 -1
  192. package/dist/components/pl-PL-T2D74RX3.js +1 -1
  193. package/dist/components/postal-mime.js +1 -1
  194. package/dist/components/pptx.js +1 -1
  195. package/dist/components/printLayout.js +1 -1
  196. package/dist/components/prod.js +1 -1
  197. package/dist/components/pt-BR-5N22H2LF.js +1 -1
  198. package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
  199. package/dist/components/python.js +1 -1
  200. package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
  201. package/dist/components/radar-GUYGQ44K.js +1 -1
  202. package/dist/components/renderer.js +1 -0
  203. package/dist/components/requirementDiagram-4Y6WPE33.js +1 -1
  204. package/dist/components/ro-RO-JPDTUUEW.js +1 -1
  205. package/dist/components/rough.esm.js +1 -1
  206. package/dist/components/roundRect.js +1 -1
  207. package/dist/components/ru-RU-B4JR7IUQ.js +1 -1
  208. package/dist/components/rust.js +1 -1
  209. package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
  210. package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
  211. package/dist/components/shared.js +1 -1
  212. package/dist/components/shared2.js +1 -1
  213. package/dist/components/si-LK-N5RQ5JYF.js +1 -1
  214. package/dist/components/sk-SK-C5VTKIMK.js +1 -1
  215. package/dist/components/sl-SI-NN7IZMDC.js +1 -1
  216. package/dist/components/sourceLoading.js +1 -0
  217. package/dist/components/sql.js +1 -1
  218. package/dist/components/src.js +1 -1
  219. package/dist/components/src2.js +1 -1
  220. package/dist/components/stateDiagram-AJRCARHV.js +1 -1
  221. package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -1
  222. package/dist/components/subset-shared.chunk.js +1 -1
  223. package/dist/components/subset-worker.chunk.js +1 -1
  224. package/dist/components/sv-SE-XGPEYMSR.js +1 -1
  225. package/dist/components/ta-IN-2NMHFXQM.js +1 -1
  226. package/dist/components/text.js +1 -1
  227. package/dist/components/th-TH-HPSO5L25.js +1 -1
  228. package/dist/components/three.module.js +1 -1
  229. package/dist/components/time.js +1 -1
  230. package/dist/components/timeline-definition-PNZ67QCA.js +1 -1
  231. package/dist/components/tr-TR-DEFEU3FU.js +1 -1
  232. package/dist/components/treeView-BLDUP644.js +1 -1
  233. package/dist/components/treemap-LRROVOQU.js +1 -1
  234. package/dist/components/typescript.js +1 -1
  235. package/dist/components/typst.js +1 -0
  236. package/dist/components/uk-UA-QMV73CPH.js +1 -1
  237. package/dist/components/umd.js +1 -1
  238. package/dist/components/use.js +1 -1
  239. package/dist/components/util.js +1 -1
  240. package/dist/components/vennDiagram-CIIHVFJN.js +1 -1
  241. package/dist/components/vi-VN-M7AON7JQ.js +1 -1
  242. package/dist/components/wardley-L42UT6IY.js +1 -1
  243. package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -1
  244. package/dist/components/wasm-pack-shim.js +1 -0
  245. package/dist/components/wasm-pack-shim2.js +1 -0
  246. package/dist/components/wasm.js +1 -0
  247. package/dist/components/word.js +1 -1
  248. package/dist/components/worker-ref.js +1 -1
  249. package/dist/components/xlsx.js +1 -1
  250. package/dist/components/xml.js +1 -1
  251. package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
  252. package/dist/components/yaml.js +1 -1
  253. package/dist/components/zh-CN-LNUGB5OW.js +1 -1
  254. package/dist/components/zh-HK-E62DVLB3.js +1 -1
  255. package/dist/components/zh-TW-RAJ6MFWO.js +1 -1
  256. package/dist/file-viewer3.css +1 -1
  257. package/dist/index.mjs +1 -1
  258. package/dist/src/compare/main.d.ts +0 -0
  259. package/dist/src/package/common/sourceLoading.d.ts +10 -0
  260. package/dist/src/package/common/type.d.ts +33 -1
  261. package/dist/src/package/components/FileViewer/useViewerExport.d.ts +2 -1
  262. package/dist/src/package/vendors/pdf/PdfView.vue.d.ts +2 -1
  263. package/dist/src/package/vendors/pptx/index.d.ts +1 -1
  264. package/dist/src/package/vendors/typst/TypstViewer.vue.d.ts +15 -0
  265. package/dist/src/package/vendors/typst/index.d.ts +8 -0
  266. package/dist/src/package/vendors/xlsx/index.d.ts +1 -1
  267. package/package.json +8 -1
  268. package/dist/components/wrapAsyncGenerator.js +0 -1
@@ -1 +1 @@
1
- const bu=a1;(function(aL,aM){const bm=a1,aN=aL();while(!![]){try{const aO=parseInt(bm(0x1f1))/0x1+parseInt(bm(0x156))/0x2+-parseInt(bm(0x157))/0x3*(parseInt(bm(0x16b))/0x4)+parseInt(bm(0x1b3))/0x5+-parseInt(bm(0x186))/0x6*(parseInt(bm(0x15e))/0x7)+parseInt(bm(0x1d6))/0x8*(-parseInt(bm(0x194))/0x9)+parseInt(bm(0x1b6))/0xa*(parseInt(bm(0x140))/0xb);if(aO===aM)break;else aN['push'](aN['shift']());}catch(aP){aN['push'](aN['shift']());}}}(a0,0xed777));import{$ as a2,Bt as a3,C as a4,Ct as a5,Dt as a6,E as a7,Et as a8,Ft as a9,Ht as aa,K as ab,Mt as ac,Ot as ad,Pt as af,Q as ag,R as ah,Rt as ai,S as aj,Vt as ak,Z as al,_ as am,bt as an,dt as ao,et as ap,f as aq,ht as ar,m as as,n as at,nt as au,o as av,p as aw,pt as ax,q as ay,r as az,rt as aA,u as aB,ut as aC,vt as aD,w as aE,wt as aF,x as aG,yt as aH,z as aI,zt as aJ}from'./three.module.js';import{n as aK}from'./fflate.module.js';function R(aL,aM,aN){let aO=aN['length']-aL-0x1;if(aM>=aN[aO])return aO-0x1;if(aM<=aN[aL])return aL;let aP=aL,aQ=aO,aR=Math['floor']((aP+aQ)/0x2);for(;aM<aN[aR]||aM>=aN[aR+0x1];)aM<aN[aR]?aQ=aR:aP=aR,aR=Math['floor']((aP+aQ)/0x2);return aR;}function oe(aL,aM,aN,aO){let aP=[],aQ=[],aR=[];aP[0x0]=0x1;for(let aS=0x1;aS<=aN;++aS){aQ[aS]=aM-aO[aL+0x1-aS],aR[aS]=aO[aL+aS]-aM;let aT=0x0;for(let aU=0x0;aU<aS;++aU){let aV=aR[aU+0x1],aW=aQ[aS-aU],aX=aP[aU]/(aV+aW);aP[aU]=aT+aV*aX,aT=aW*aX;}aP[aS]=aT;}return aP;}function se(aL,aM,aN,aO){let aP=R(aL,aO,aM),aQ=oe(aP,aO,aL,aM),aR=new ak(0x0,0x0,0x0,0x0);for(let aS=0x0;aS<=aL;++aS){let aT=aN[aP-aL+aS],aU=aQ[aS],aV=aT['w']*aU;aR['x']+=aT['x']*aV,aR['y']+=aT['y']*aV,aR['z']+=aT['z']*aV,aR['w']+=aT['w']*aU;}return aR;}function ce(aL,aM,aN,aO,aP){const bn=a1;let aQ=[];for(let aW=0x0;aW<=aN;++aW)aQ[aW]=0x0;let aR=[];for(let aX=0x0;aX<=aO;++aX)aR[aX]=aQ['slice'](0x0);let aS=[];for(let aY=0x0;aY<=aN;++aY)aS[aY]=aQ['slice'](0x0);aS[0x0][0x0]=0x1;let aT=aQ['slice'](0x0),aU=aQ[bn(0x21b)](0x0);for(let aZ=0x1;aZ<=aN;++aZ){aT[aZ]=aM-aP[aL+0x1-aZ],aU[aZ]=aP[aL+aZ]-aM;let b0=0x0;for(let b1=0x0;b1<aZ;++b1){let b2=aU[b1+0x1],b3=aT[aZ-b1];aS[aZ][b1]=b2+b3;let b4=aS[b1][aZ-0x1]/aS[aZ][b1];aS[b1][aZ]=b0+b2*b4,b0=b3*b4;}aS[aZ][aZ]=b0;}for(let b5=0x0;b5<=aN;++b5)aR[0x0][b5]=aS[b5][aN];for(let b6=0x0;b6<=aN;++b6){let b7=0x0,b8=0x1,b9=[];for(let ba=0x0;ba<=aN;++ba)b9[ba]=aQ[bn(0x21b)](0x0);b9[0x0][0x0]=0x1;for(let bb=0x1;bb<=aO;++bb){let bc=0x0,bd=b6-bb,bf=aN-bb;b6>=bb&&(b9[b8][0x0]=b9[b7][0x0]/aS[bf+0x1][bd],bc=b9[b8][0x0]*aS[bd][bf]);let bg=bd>=-0x1?0x1:-bd,bh=b6-0x1<=bf?bb-0x1:aN-b6;for(let bj=bg;bj<=bh;++bj)b9[b8][bj]=(b9[b7][bj]-b9[b7][bj-0x1])/aS[bf+0x1][bd+bj],bc+=b9[b8][bj]*aS[bd+bj][bf];b6<=bf&&(b9[b8][bb]=-b9[b7][bb-0x1]/aS[bf+0x1][b6],bc+=b9[b8][bb]*aS[b6][bf]),aR[bb][b6]=bc;let bi=b7;b7=b8,b8=bi;}}let aV=aN;for(let bk=0x1;bk<=aO;++bk){for(let bl=0x0;bl<=aN;++bl)aR[bk][bl]*=aV;aV*=aN-bk;}return aR;}function le(aL,aM,aN,aO,aP){const bo=a1;let aQ=aP<aL?aP:aL,aR=[],aS=R(aL,aO,aM),aT=ce(aS,aO,aL,aQ,aM),aU=[];for(let aV=0x0;aV<aN['length'];++aV){let aW=aN[aV][bo(0x195)](),aX=aW['w'];aW['x']*=aX,aW['y']*=aX,aW['z']*=aX,aU[aV]=aW;}for(let aY=0x0;aY<=aQ;++aY){let aZ=aU[aS-aL][bo(0x195)]()['multiplyScalar'](aT[aY][0x0]);for(let b0=0x1;b0<=aL;++b0)aZ['add'](aU[aS-aL+b0]['clone']()['multiplyScalar'](aT[aY][b0]));aR[aY]=aZ;}for(let b1=aQ+0x1;b1<=aP+0x1;++b1)aR[b1]=new ak(0x0,0x0,0x0);return aR;}function ue(aL,aM){let aN=0x1;for(let aP=0x2;aP<=aL;++aP)aN*=aP;let aO=0x1;for(let aQ=0x2;aQ<=aM;++aQ)aO*=aQ;for(let aR=0x2;aR<=aL-aM;++aR)aO*=aR;return aN/aO;}function de(aL){const bp=a1;let aM=aL['length'],aN=[],aO=[];for(let aQ=0x0;aQ<aM;++aQ){let aR=aL[aQ];aN[aQ]=new a3(aR['x'],aR['y'],aR['z']),aO[aQ]=aR['w'];}let aP=[];for(let aS=0x0;aS<aM;++aS){let aT=aN[aS]['clone']();for(let aU=0x1;aU<=aS;++aU)aT['sub'](aP[aS-aU]['clone']()['multiplyScalar'](ue(aS,aU)*aO[aU]));aP[aS]=aT[bp(0x20c)](aO[0x0]);}return aP;}function z(aL,aM,aN,aO,aP){return de(le(aL,aM,aN,aO,aP));}var B=class extends am{constructor(aL,aM,aN,aO,aP){const bq=a1;super();let aQ=aM?aM['length']-0x1:0x0,aR=aN?aN['length']:0x0;this['degree']=aL,this[bq(0x1ef)]=aM,this['controlPoints']=[],this['startKnot']=aO||0x0,this[bq(0x1dc)]=aP||aQ;for(let aS=0x0;aS<aR;++aS){let aT=aN[aS];this['controlPoints'][aS]=new ak(aT['x'],aT['y'],aT['z'],aT['w']);}}['getPoint'](aL,aM=new a3()){const br=a1;let aN=aM,aO=this['knots'][this['startKnot']]+aL*(this[br(0x1ef)][this['endKnot']]-this['knots'][this['startKnot']]),aP=se(this['degree'],this['knots'],this['controlPoints'],aO);return aP['w']!==0x1&&aP['divideScalar'](aP['w']),aN['set'](aP['x'],aP['y'],aP['z']);}['getTangent'](aL,aM=new a3()){const bs=a1;let aN=aM,aO=this[bs(0x1ef)][0x0]+aL*(this[bs(0x1ef)][this['knots']['length']-0x1]-this['knots'][0x0]),aP=z(this['degree'],this[bs(0x1ef)],this['controlPoints'],aO,0x1);return aN['copy'](aP[0x1])['normalize'](),aN;}['toJSON'](){const bt=a1;let aL=super['toJSON']();return aL['degree']=this['degree'],aL['knots']=[...this['knots']],aL['controlPoints']=this['controlPoints']['map'](aM=>aM[bt(0x1a6)]()),aL['startKnot']=this['startKnot'],aL['endKnot']=this[bt(0x1dc)],aL;}[bu(0x185)](aL){const bv=bu;return super['fromJSON'](aL),this['degree']=aL['degree'],this['knots']=[...aL['knots']],this['controlPoints']=aL[bv(0x155)]['map'](aM=>new ak(aM[0x0],aM[0x1],aM[0x2],aM[0x3])),this['startKnot']=aL[bv(0x14b)],this['endKnot']=aL[bv(0x1dc)],this;}},V,H,U,fe=class extends ab{constructor(aL){super(aL);}['load'](aL,aM,aN,aO){const bw=bu;let aP=this,aQ=aP['path']===''?ay[bw(0x1fd)](aL):aP['path'],aR=new a4(this[bw(0x1f5)]);aR['setPath'](aP['path']),aR[bw(0x1b4)](bw(0x205)),aR['setRequestHeader'](aP['requestHeader']),aR['setWithCredentials'](aP[bw(0x1d9)]),aR['load'](aL,function(aS){const bx=bw;try{aM(aP['parse'](aS,aQ));}catch(aT){aO?aO(aT):console[bx(0x208)](aT),aP['manager']['itemError'](aL);}},aN,aO);}['parse'](aL,aM){const by=bu;if(ve(aL))V=new _e()['parse'](aL);else{let aN=$(aL);if(!ye(aN))throw Error('THREE.FBXLoader:\x20Unknown\x20format.');if(K(aN)<0x1b58)throw Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+K(aN));V=new ge()[by(0x19e)](aN);}return new pe(new a9(this['manager'])['setPath'](this['resourcePath']||aM)['setCrossOrigin'](this[by(0x1a0)]),this['manager'])['parse'](V);}},pe=class{constructor(aL,aM){const bz=bu;this['textureLoader']=aL,this[bz(0x1f5)]=aM;}['parse'](){const bA=bu;H=this[bA(0x1ba)]();let aL=this['parseImages'](),aM=this[bA(0x172)](aL),aN=this[bA(0x1c5)](aM),aO=this['parseDeformers'](),aP=new me()['parse'](aO);return this[bA(0x20e)](aO,aP,aN),U;}['parseConnections'](){let aL=new Map();return'Connections'in V&&V['Connections']['connections']['forEach'](function(aM){const bB=a1;let aN=aM[0x0],aO=aM[0x1],aP=aM[0x2];aL[bB(0x144)](aN)||aL['set'](aN,{'parents':[],'children':[]});let aQ={'ID':aO,'relationship':aP};aL['get'](aN)[bB(0x1bd)][bB(0x1b9)](aQ),aL['has'](aO)||aL[bB(0x142)](aO,{'parents':[],'children':[]});let aR={'ID':aN,'relationship':aP};aL['get'](aO)['children']['push'](aR);}),aL;}['parseImages'](){const bC=bu;let aL={},aM={};if('Video'in V['Objects']){let aN=V['Objects']['Video'];for(let aO in aN){let aP=aN[aO],aQ=parseInt(aO);if(aL[aQ]=aP[bC(0x17a)]||aP['Filename'],'Content'in aP){let aR=aP['Content']instanceof ArrayBuffer&&aP['Content'][bC(0x1cc)]>0x0,aS=typeof aP['Content']=='string'&&aP['Content']!=='';if(aR||aS){let aT=this['parseImage'](aN[aO]);aM[aP['RelativeFilename']||aP['Filename']]=aT;}}}}for(let aU in aL){let aV=aL[aU];aM[aV]===void 0x0?aL[aU]=aL[aU][bC(0x1f4)]('\x5c')['pop']():aL[aU]=aM[aV];}return aL;}['parseImage'](aL){const bD=bu;let aM=aL[bD(0x1b1)],aN=aL[bD(0x17a)]||aL['Filename'],aO=aN['slice'](aN['lastIndexOf']('.')+0x1)[bD(0x1e5)](),aP;switch(aO){case'bmp':aP=bD(0x193);break;case'jpg':case'jpeg':aP='image/jpeg';break;case'png':aP='image/png';break;case'tif':aP=bD(0x1fa);break;case'tga':this['manager']['getHandler']('.tga')===null&&console['warn']('FBXLoader:\x20TGA\x20loader\x20not\x20found,\x20skipping\x20',aN),aP='image/tga';break;case'webp':aP='image/webp';break;default:console['warn']('FBXLoader:\x20Image\x20type\x20\x22'+aO+'\x22\x20is\x20not\x20supported.');return;}if(typeof aM=='string')return'data:'+aP+';base64,'+aM;{let aQ=new Uint8Array(aM);return window['URL']['createObjectURL'](new Blob([aQ],{'type':aP}));}}['parseTextures'](aL){const bE=bu;let aM=new Map();if('Texture'in V['Objects']){let aN=V['Objects'][bE(0x1c0)];for(let aO in aN){let aP=this['parseTexture'](aN[aO],aL);aM['set'](parseInt(aO),aP);}}return aM;}[bu(0x143)](aL,aM){const bF=bu;let aN=this['loadTexture'](aL,aM);aN['ID']=aL['id'],aN['name']=aL['attrName'];let aO=aL['WrapModeU'],aP=aL['WrapModeV'],aQ=aO===void 0x0?0x0:aO['value'],aR=aP===void 0x0?0x0:aP['value'];if(aN['wrapS']=aQ===0x0?a5:aq,aN['wrapT']=aR===0x0?a5:aq,'Scaling'in aL){let aS=aL[bF(0x1ff)]['value'];aN['repeat']['x']=aS[0x0],aN['repeat']['y']=aS[0x1];}if('Translation'in aL){let aT=aL[bF(0x174)]['value'];aN['offset']['x']=aT[0x0],aN['offset']['y']=aT[0x1];}return aN;}['loadTexture'](aL,aM){const bG=bu;let aN=aL['FileName']['split']('.')['pop']()['toLowerCase'](),aO=this['manager'][bG(0x169)]('.'+aN);aO===null&&(aO=this['textureLoader']);let aP=aO['path'];aP||aO['setPath'](this['textureLoader']['path']);let aQ=H['get'](aL['id'])['children'],aR;if(aQ!==void 0x0&&aQ['length']>0x0&&aM[aQ[0x0]['ID']]!==void 0x0&&(aR=aM[aQ[0x0]['ID']],(aR['indexOf'](bG(0x175))===0x0||aR['indexOf']('data:')===0x0)&&aO['setPath'](void 0x0)),aR===void 0x0)return console['warn']('FBXLoader:\x20Undefined\x20filename,\x20creating\x20placeholder\x20texture.'),new af();let aS=aO[bG(0x1e1)](aR);return aO[bG(0x1f2)](aP),aS;}[bu(0x1c5)](aL){let aM=new Map();if('Material'in V['Objects']){let aN=V['Objects']['Material'];for(let aO in aN){let aP=this['parseMaterial'](aN[aO],aL);aP!==null&&aM['set'](parseInt(aO),aP);}}return aM;}[bu(0x179)](aL,aM){const bH=bu;let aN=aL['id'],aO=aL['attrName'],aP=aL['ShadingModel'];if(typeof aP=='object'&&(aP=aP['value']),!H['has'](aN))return null;let aQ=this['parseParameters'](aL,aM,aN),aR;switch(aP['toLowerCase']()){case'phong':aR=new aA();break;case'lambert':aR=new au();break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20material\x20type\x20\x22%s\x22.\x20Defaulting\x20to\x20MeshPhongMaterial.',aP),aR=new aA();break;}return aR['setValues'](aQ),aR[bH(0x166)]=aO,aR;}['parseParameters'](aL,aM,aN){const bI=bu;let aO={};aL['BumpFactor']&&(aO[bI(0x192)]=aL['BumpFactor']['value']),aL['Diffuse']?aO[bI(0x181)]=as[bI(0x14e)](new aw()['fromArray'](aL['Diffuse']['value']),aF):aL['DiffuseColor']&&(aL[bI(0x160)]['type']==='Color'||aL[bI(0x160)]['type']==='ColorRGB')&&(aO['color']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['DiffuseColor']['value']),aF)),aL['DisplacementFactor']&&(aO['displacementScale']=aL['DisplacementFactor'][bI(0x177)]),aL['Emissive']?aO['emissive']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['Emissive']['value']),aF):aL[bI(0x1d0)]&&(aL['EmissiveColor']['type']==='Color'||aL['EmissiveColor']['type']===bI(0x19d))&&(aO['emissive']=as[bI(0x14e)](new aw()['fromArray'](aL['EmissiveColor']['value']),aF)),aL['EmissiveFactor']&&(aO['emissiveIntensity']=parseFloat(aL['EmissiveFactor']['value'])),aO['opacity']=0x1-(aL['TransparencyFactor']?parseFloat(aL['TransparencyFactor']['value']):0x0),(aO['opacity']===0x1||aO[bI(0x16e)]===0x0)&&(aO['opacity']=aL['Opacity']?parseFloat(aL['Opacity']['value']):null,aO['opacity']===null&&(aO['opacity']=0x1)),aO['opacity']<0x1&&(aO['transparent']=!0x0),aL['ReflectionFactor']&&(aO['reflectivity']=aL['ReflectionFactor']['value']),aL['Shininess']&&(aO['shininess']=aL['Shininess']['value']),aL[bI(0x1c4)]?aO[bI(0x219)]=as['colorSpaceToWorking'](new aw()[bI(0x197)](aL['Specular']['value']),aF):aL['SpecularColor']&&aL['SpecularColor']['type']==='Color'&&(aO['specular']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['SpecularColor']['value']),aF));let aP=this;return H['get'](aN)['children']['forEach'](function(aQ){const bJ=bI;let aR=aQ['relationship'];switch(aR){case bJ(0x211):aO['bumpMap']=aP['getTexture'](aM,aQ['ID']);break;case'Maya|TEX_ao_map':aO['aoMap']=aP['getTexture'](aM,aQ['ID']);break;case'DiffuseColor':case bJ(0x1c6):aO['map']=aP['getTexture'](aM,aQ['ID']),aO[bJ(0x168)]!==void 0x0&&(aO['map']['colorSpace']=aF);break;case bJ(0x1c1):aO['displacementMap']=aP[bJ(0x1fb)](aM,aQ['ID']);break;case'EmissiveColor':aO['emissiveMap']=aP['getTexture'](aM,aQ['ID']),aO[bJ(0x152)]!==void 0x0&&(aO['emissiveMap']['colorSpace']=aF);break;case'NormalMap':case'Maya|TEX_normal_map':aO['normalMap']=aP['getTexture'](aM,aQ['ID']);break;case'ReflectionColor':aO['envMap']=aP['getTexture'](aM,aQ['ID']),aO[bJ(0x191)]!==void 0x0&&(aO['envMap'][bJ(0x1e9)]=0x12f,aO['envMap']['colorSpace']=aF);break;case'SpecularColor':aO['specularMap']=aP[bJ(0x1fb)](aM,aQ['ID']),aO['specularMap']!==void 0x0&&(aO['specularMap']['colorSpace']=aF);break;case'TransparentColor':case'TransparencyFactor':aO[bJ(0x176)]=aP['getTexture'](aM,aQ['ID']),aO['transparent']=!0x0;break;default:console['warn']('THREE.FBXLoader:\x20%s\x20map\x20is\x20not\x20supported\x20in\x20three.js,\x20skipping\x20texture.',aR);break;}}),aO;}['getTexture'](aL,aM){const bK=bu;return bK(0x203)in V['Objects']&&aM in V['Objects']['LayeredTexture']&&(console[bK(0x151)]('THREE.FBXLoader:\x20layered\x20textures\x20are\x20not\x20supported\x20in\x20three.js.\x20Discarding\x20all\x20but\x20first\x20layer.'),aM=H['get'](aM)['children'][0x0]['ID']),aL[bK(0x13c)](aM);}['parseDeformers'](){const bL=bu;let aL={},aM={};if('Deformer'in V['Objects']){let aN=V[bL(0x1c2)]['Deformer'];for(let aO in aN){let aP=aN[aO],aQ=H['get'](parseInt(aO));if(aP[bL(0x19b)]==='Skin'){let aR=this['parseSkeleton'](aQ,aN);aR['ID']=aO,aQ['parents']['length']>0x1&&console['warn']('THREE.FBXLoader:\x20skeleton\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),aR['geometryID']=aQ['parents'][0x0]['ID'],aL[aO]=aR;}else{if(aP[bL(0x19b)]==='BlendShape'){let aS={'id':aO};aS['rawTargets']=this['parseMorphTargets'](aQ,aN),aS['id']=aO,aQ['parents']['length']>0x1&&console['warn']('THREE.FBXLoader:\x20morph\x20target\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.'),aM[aO]=aS;}}}}return{'skeletons':aL,'morphTargets':aM};}['parseSkeleton'](aL,aM){let aN=[];return aL['children']['forEach'](function(aO){const bM=a1;let aP=aM[aO['ID']];if(aP['attrType']!=='Cluster')return;let aQ={'ID':aO['ID'],'indices':[],'weights':[],'transformLink':new a2()['fromArray'](aP['TransformLink']['a'])};bM(0x164)in aP&&(aQ[bM(0x1fc)]=aP['Indexes']['a'],aQ['weights']=aP[bM(0x1ac)]['a']),aN[bM(0x1b9)](aQ);}),{'rawBones':aN,'bones':[]};}['parseMorphTargets'](aL,aM){const bN=bu;let aN=[];for(let aO=0x0;aO<aL['children'][bN(0x17d)];aO++){let aP=aL['children'][aO],aQ=aM[aP['ID']],aR={'name':aQ['attrName'],'initialWeight':aQ['DeformPercent'],'id':aQ['id'],'fullWeights':aQ[bN(0x1c3)]['a']};if(aQ['attrType']!=='BlendShapeChannel')return;aR['geoID']=H[bN(0x13c)](parseInt(aP['ID']))[bN(0x204)]['filter'](function(aS){return aS['relationship']===void 0x0;})[0x0]['ID'],aN['push'](aR);}return aN;}['parseScene'](aL,aM,aN){const bO=bu;U=new a7();let aO=this[bO(0x20f)](aL['skeletons'],aM,aN),aP=V['Objects']['Model'],aQ=this;aO['forEach'](function(aV){const bP=bO;let aW=aP[aV['ID']];aQ[bP(0x202)](aV,aW),H[bP(0x13c)](aV['ID'])['parents'][bP(0x173)](function(aX){let aY=aO['get'](aX['ID']);aY!==void 0x0&&aY['add'](aV);}),aV['parent']===null&&U[bP(0x1b0)](aV);}),this['addGlobalSceneSettings'](),U['traverse'](function(aV){const bQ=bO;if(aV['userData']['transformData']){aV['parent']&&(aV['userData'][bQ(0x1ab)]['parentMatrix']=aV[bQ(0x18a)]['matrix'],aV['userData']['transformData']['parentMatrixWorld']=aV[bQ(0x18a)][bQ(0x159)]);let aW=X(aV['userData']['transformData']);aV['applyMatrix4'](aW),aV[bQ(0x17c)]();}});let aR=this['parsePoseNodes'](),aS=new Set();for(let aV in aL['skeletons'])aL['skeletons'][aV]['rawBones'][bO(0x173)](function(aW,aX){let aY=aL['skeletons'][aV]['bones'][aX];aY&&aS['add'](aY['ID']);});let aT=new a2();U['traverse'](function(aW){const bR=bO;if(aW[bR(0x20b)]&&aW['ID']!==void 0x0&&!aS['has'](aW['ID'])){let aX=aR[aW['ID']];aX!==void 0x0&&(aW['parent']?(aT['copy'](aW['parent']['matrixWorld'])['invert'](),aT['multiply'](aX)):aT['copy'](aX),aT['decompose'](aW['position'],aW[bR(0x1d4)],aW[bR(0x171)]),aW['updateMatrix'](),aW['matrixWorld'][bR(0x218)](aX));}}),this['bindSkeleton'](aL['skeletons'],aM,aO);let aU=new he()['parse']();U['children']['length']===0x1&&U['children'][0x0]['isGroup']&&(U[bO(0x204)][0x0]['animations']=aU,U=U['children'][0x0]),U[bO(0x1a4)]=aU,'GlobalSettings'in V&&bO(0x1cd)in V['GlobalSettings']&&V['GlobalSettings']['UpAxis'][bO(0x177)]===0x2&&(console['warn']('THREE.FBXLoader:\x20You\x20are\x20loading\x20an\x20asset\x20with\x20a\x20Z-UP\x20coordinate\x20system.\x20The\x20loader\x20just\x20rotates\x20the\x20asset\x20to\x20transform\x20it\x20into\x20Y-UP.\x20The\x20vertex\x20data\x20are\x20not\x20converted.'),U['rotation']['set'](-Math['PI']/0x2,0x0,0x0));}['parseModels'](aL,aM,aN){const bS=bu;let aO=new Map(),aP=V['Objects']['Model'];for(let aQ in aP){let aR=parseInt(aQ),aS=aP[aQ],aT=H['get'](aR),aU=this['buildSkeleton'](aT,aL,aR,aS[bS(0x16f)]);if(!aU){switch(aS['attrType']){case'Camera':aU=this['createCamera'](aT);break;case'Light':aU=this['createLight'](aT);break;case'Mesh':aU=this['createMesh'](aT,aM,aN);break;case'NurbsCurve':aU=this['createCurve'](aT,aM);break;case'LimbNode':case bS(0x150):aU=new av();break;default:aU=new a7();break;}aU['name']=aS['attrName']?aD[bS(0x1a9)](aS[bS(0x16f)]):'',aU['userData']['originalName']=aS['attrName'],aU['ID']=aR;}this['getTransformData'](aU,aS),aO['set'](aR,aU);}return aO;}[bu(0x1f0)](aL,aM,aN,aO){let aP=null;return aL['parents']['forEach'](function(aQ){const bT=a1;for(let aR in aM){let aS=aM[aR];aS[bT(0x1e7)][bT(0x173)](function(aT,aU){const bU=bT;if(aT['ID']===aQ['ID']){let aV=aP;aP=new av(),aP['matrixWorld']['copy'](aT[bU(0x190)]),aP['name']=aO?aD['sanitizeNodeName'](aO):'',aP['userData']['originalName']=aO,aP['ID']=aN,aS['bones'][aU]=aP,aV!==null&&aP['add'](aV);}});}}),aP;}['createCamera'](aL){const bW=bu;let aM,aN;if(aL['children']['forEach'](function(aO){const bV=a1;let aP=V[bV(0x1c2)]['NodeAttribute'][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO=0x0;aN['CameraProjectionType']!==void 0x0&&aN['CameraProjectionType'][bW(0x177)]===0x1&&(aO=0x1);let aP=0x1;aN['NearPlane']!==void 0x0&&(aP=aN['NearPlane']['value']/0x3e8);let aQ=0x3e8;aN['FarPlane']!==void 0x0&&(aQ=aN['FarPlane'][bW(0x177)]/0x3e8);let aR=window['innerWidth'],aS=window['innerHeight'];aN['AspectWidth']!==void 0x0&&aN['AspectHeight']!==void 0x0&&(aR=aN[bW(0x1ec)]['value'],aS=aN[bW(0x187)]['value']);let aT=aR/aS,aU=0x2d;aN['FieldOfView']!==void 0x0&&(aU=aN[bW(0x170)]['value']);let aV=aN['FocalLength']?aN['FocalLength']['value']:null;switch(aO){case 0x0:aM=new ax(aU,aT,aP,aQ),aV!==null&&aM['setFocalLength'](aV);break;case 0x1:console['warn'](bW(0x154)),aM=new ao();break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20camera\x20type\x20'+aO+'.'),aM=new ao();break;}}return aM;}['createLight'](aL){const bY=bu;let aM,aN;if(aL['children']['forEach'](function(aO){const bX=a1;let aP=V[bX(0x1c2)]['NodeAttribute'][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO;aO=aN['LightType']===void 0x0?0x0:aN['LightType']['value'];let aP=0xffffff;aN['Color']!==void 0x0&&(aP=as['colorSpaceToWorking'](new aw()['fromArray'](aN['Color'][bY(0x177)]),aF));let aQ=aN[bY(0x196)]===void 0x0?0x1:aN[bY(0x196)]['value']/0x64;aN['CastLightOnObject']!==void 0x0&&aN['CastLightOnObject']['value']===0x0&&(aQ=0x0);let aR=0x0;switch(aN['FarAttenuationEnd']!==void 0x0&&(aR=aN['EnableFarAttenuation']!==void 0x0&&aN['EnableFarAttenuation'][bY(0x177)]===0x0?0x0:aN['FarAttenuationEnd']['value']),aO){case 0x0:aM=new ar(aP,aQ,aR,0x1);break;case 0x1:aM=new aG(aP,aQ);break;case 0x2:let aS=Math['PI']/0x3,aT=0x0;aN['OuterAngle']===void 0x0?aN['InnerAngle']!==void 0x0&&(aS=al[bY(0x19c)](aN['InnerAngle']['value'])):(aS=al['degToRad'](aN[bY(0x213)][bY(0x177)]),aN['InnerAngle']!==void 0x0&&(aT=0x1-aN['InnerAngle']['value']/aN[bY(0x213)][bY(0x177)],aT=Math['max'](0x0,aT))),aM=new ac(aP,aQ,aR,aS,aT,0x1);break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20light\x20type\x20'+aN['LightType']['value']+',\x20defaulting\x20to\x20a\x20PointLight.'),aM=new ar(aP,aQ);break;}aN['CastShadows']!==void 0x0&&aN['CastShadows']['value']===0x1&&(aM['castShadow']=!0x0);}return aM;}[bu(0x145)](aL,aM,aN){const bZ=bu;let aO,aP=null,aQ=null,aR=[];if(aL['children'][bZ(0x173)](function(aS){const c0=bZ;aM['has'](aS['ID'])&&(aP=aM['get'](aS['ID'])),aN['has'](aS['ID'])&&aR[c0(0x1b9)](aN['get'](aS['ID']));}),aR['length']>0x1?aQ=aR:aR[bZ(0x17d)]>0x0?aQ=aR[0x0]:(aQ=new aA({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0xcccccc}),aR['push'](aQ)),bZ(0x181)in aP['attributes']&&aR['forEach'](function(aS){aS['vertexColors']=!0x0;}),aP['groups']['length']>0x0){let aS=!0x1;for(let aT=0x0,aU=aP['groups']['length'];aT<aU;aT++){let aV=aP['groups'][aT];(aV['materialIndex']<0x0||aV[bZ(0x1da)]>=aR['length'])&&(aV[bZ(0x1da)]=aR['length'],aS=!0x0);}if(aS){let aW=new aA();aR['push'](aW);}}return aP['FBX_Deformer']?(aO=new ad(aP,aQ),aO['normalizeSkinWeights']()):aO=new ap(aP,aQ),aO;}['createCurve'](aL,aM){const c1=bu;return new ah(aL['children'][c1(0x20d)](function(aN,aO){const c2=c1;return aM[c2(0x144)](aO['ID'])&&(aN=aM['get'](aO['ID'])),aN;},null),new aI({'name':ab[c1(0x1f9)],'color':0x3300ff,'linewidth':0x1}));}['getTransformData'](aL,aM){const c3=bu;let aN={};'InheritType'in aM&&(aN[c3(0x1e0)]=parseInt(aM['InheritType']['value'])),'RotationOrder'in aM?aN['eulerOrder']=Z(aM['RotationOrder']['value']):aN['eulerOrder']=Z(0x0),c3(0x132)in aM&&(aN['translation']=aM['Lcl_Translation']['value']),'PreRotation'in aM&&(aN['preRotation']=aM['PreRotation']['value']),'Lcl_Rotation'in aM&&(aN[c3(0x1d5)]=aM[c3(0x199)]['value']),'PostRotation'in aM&&(aN['postRotation']=aM[c3(0x1de)]['value']),c3(0x206)in aM&&(aN['scale']=aM['Lcl_Scaling']['value']),'ScalingOffset'in aM&&(aN['scalingOffset']=aM['ScalingOffset']['value']),'ScalingPivot'in aM&&(aN[c3(0x1ad)]=aM['ScalingPivot']['value']),c3(0x137)in aM&&(aN['rotationOffset']=aM['RotationOffset']['value']),'RotationPivot'in aM&&(aN['rotationPivot']=aM['RotationPivot'][c3(0x177)]),aL['userData']['transformData']=aN;}['setLookAtProperties'](aL,aM){const c4=bu;c4(0x1a5)in aM&&H['get'](aL['ID'])['children']['forEach'](function(aN){const c5=c4;if(aN['relationship']==='LookAtProperty'){let aO=V['Objects']['Model'][aN['ID']];if(c5(0x132)in aO){let aP=aO[c5(0x132)]['value'];aL['target']===void 0x0?aL['lookAt'](new a3()['fromArray'](aP)):(aL['target']['position'][c5(0x197)](aP),U['add'](aL['target']));}}});}['bindSkeleton'](aL,aM,aN){const c6=bu;for(let aO in aL){let aP=aL[aO],aQ=[];for(let aR=0x0,aS=aP['bones']['length'];aR<aS;aR++){let aT=new a2();aP['bones'][aR]&&aP[c6(0x1e7)][aR]&&aT['copy'](aP['rawBones'][aR][c6(0x190)])['invert'](),aQ['push'](aT);}H['get'](parseInt(aP['ID']))[c6(0x1bd)][c6(0x173)](function(aU){if(aM['has'](aU['ID'])){let aV=aU['ID'];H['get'](aV)['parents']['forEach'](function(aW){const c7=a1;if(aN['has'](aW['ID'])){let aX=aN['get'](aW['ID']);aX[c7(0x1a3)](!0x0),aX[c7(0x1a8)](new a6(aP['bones'],aQ),aX[c7(0x159)]);}});}});}}[bu(0x1d1)](){const c8=bu;let aL={};if(c8(0x1f7)in V['Objects']){let aM=V['Objects']['Pose'];for(let aN in aM)if(aM[aN]['attrType']==='BindPose'&&aM[aN]['NbPoseNodes']>0x0){let aO=aM[aN]['PoseNode'];Array['isArray'](aO)?aO['forEach'](function(aP){aL[aP['Node']]=new a2()['fromArray'](aP['Matrix']['a']);}):aL[aO['Node']]=new a2()['fromArray'](aO['Matrix']['a']);}}return aL;}['addGlobalSceneSettings'](){const c9=bu;if(c9(0x1d7)in V){if(c9(0x216)in V[c9(0x1d7)]){let aL=V['GlobalSettings']['AmbientColor']['value'],aM=aL[0x0],aN=aL[0x1],aO=aL[0x2];if(aM!==0x0||aN!==0x0||aO!==0x0){let aP=new aw()['setRGB'](aM,aN,aO,aF);U['add'](new at(aP,0x1));}}'UnitScaleFactor'in V['GlobalSettings']&&(U[c9(0x1e8)]['unitScaleFactor']=V['GlobalSettings']['UnitScaleFactor']['value']);}}},me=class{constructor(){const ca=bu;this[ca(0x133)]=!0x1;}['parse'](aL){const cb=bu;let aM=new Map();if('Geometry'in V[cb(0x1c2)]){let aN=V['Objects'][cb(0x1ed)];for(let aO in aN){let aP=H['get'](parseInt(aO)),aQ=this['parseGeometry'](aP,aN[aO],aL);aM['set'](parseInt(aO),aQ);}}return this['negativeMaterialIndices']===!0x0&&console['warn']('THREE.FBXLoader:\x20The\x20FBX\x20file\x20contains\x20invalid\x20(negative)\x20material\x20indices.\x20The\x20asset\x20might\x20not\x20render\x20as\x20expected.'),aM;}['parseGeometry'](aL,aM,aN){const cc=bu;switch(aM['attrType']){case cc(0x1a2):return this['parseMeshGeometry'](aL,aM,aN);case cc(0x14c):return this['parseNurbsGeometry'](aM);}}['parseMeshGeometry'](aL,aM,aN){const cd=bu;let aO=aN[cd(0x13a)],aP=[],aQ=aL['parents']['map'](function(aV){return V['Objects']['Model'][aV['ID']];});if(aQ['length']===0x0)return;let aR=aL['children']['reduce'](function(aV,aW){return aO[aW['ID']]!==void 0x0&&(aV=aO[aW['ID']]),aV;},null);aL[cd(0x204)]['forEach'](function(aV){aN['morphTargets'][aV['ID']]!==void 0x0&&aP['push'](aN['morphTargets'][aV['ID']]);});let aS=aQ[0x0],aT={};cd(0x158)in aS&&(aT['eulerOrder']=Z(aS[cd(0x158)]['value'])),cd(0x1cf)in aS&&(aT['inheritType']=parseInt(aS[cd(0x1cf)][cd(0x177)])),'GeometricTranslation'in aS&&(aT[cd(0x189)]=aS['GeometricTranslation']['value']),'GeometricRotation'in aS&&(aT[cd(0x1d5)]=aS['GeometricRotation']['value']),'GeometricScaling'in aS&&(aT[cd(0x171)]=aS['GeometricScaling']['value']);let aU=X(aT);return this['genGeometry'](aM,aR,aP,aU);}['genGeometry'](aL,aM,aN,aO){const cf=bu;let aP=new aB();aL['attrName']&&(aP['name']=aL['attrName']);let aQ=this['parseGeoNode'](aL,aM),aR=this['genBuffers'](aQ),aS=new aE(aR['vertex'],0x3);if(aS['applyMatrix4'](aO),aP[cf(0x15f)]('position',aS),aR['colors']['length']>0x0&&aP['setAttribute']('color',new aE(aR['colors'],0x3)),aM&&(aP['setAttribute']('skinIndex',new ai(aR['weightsIndices'],0x4)),aP['setAttribute']('skinWeight',new aE(aR['vertexWeights'],0x4)),aP['FBX_Deformer']=aM),aR[cf(0x19a)]['length']>0x0){let aT=new ag()[cf(0x17e)](aO),aU=new aE(aR['normal'],0x3);aU['applyNormalMatrix'](aT),aP['setAttribute']('normal',aU);}if(aR[cf(0x1d2)]['forEach'](function(aV,aW){let aX=aW===0x0?'uv':'uv'+aW;aP['setAttribute'](aX,new aE(aR['uvs'][aW],0x2));}),aQ['material']&&aQ[cf(0x1b2)]['mappingType']!=='AllSame'){let aV=aR[cf(0x1da)][0x0],aW=0x0;if(aR['materialIndex']['forEach'](function(aX,aY){const cg=cf;aX!==aV&&(aP[cg(0x1d8)](aW,aY-aW,aV),aV=aX,aW=aY);}),aP['groups']['length']>0x0){let aX=aP['groups'][aP['groups']['length']-0x1],aY=aX['start']+aX['count'];aY!==aR['materialIndex']['length']&&aP['addGroup'](aY,aR['materialIndex']['length']-aY,aV);}aP['groups']['length']===0x0&&aP['addGroup'](0x0,aR[cf(0x1da)]['length'],aR['materialIndex'][0x0]);}return this[cf(0x14f)](aP,aL,aN,aO),aP;}[bu(0x162)](aL,aM){const ch=bu;let aN={};if(aN['vertexPositions']=aL[ch(0x1df)]===void 0x0?[]:aL['Vertices']['a'],aN['vertexIndices']=aL['PolygonVertexIndex']===void 0x0?[]:aL['PolygonVertexIndex']['a'],aL['LayerElementColor']&&aL['LayerElementColor'][0x0]['Colors']&&(aN['color']=this['parseVertexColors'](aL['LayerElementColor'][0x0])),aL['LayerElementMaterial']&&(aN['material']=this['parseMaterialIndices'](aL['LayerElementMaterial'][0x0])),aL['LayerElementNormal']&&(aN['normal']=this['parseNormals'](aL['LayerElementNormal'][0x0])),aL['LayerElementUV']){aN['uv']=[];let aO=0x0;for(;aL['LayerElementUV'][aO];)aL['LayerElementUV'][aO]['UV']&&aN['uv']['push'](this[ch(0x200)](aL['LayerElementUV'][aO])),aO++;}return aN['weightTable']={},aM!==null&&(aN['skeleton']=aM,aM['rawBones']['forEach'](function(aP,aQ){aP['indices']['forEach'](function(aR,aS){aN['weightTable'][aR]===void 0x0&&(aN['weightTable'][aR]=[]),aN['weightTable'][aR]['push']({'id':aQ,'weight':aP['weights'][aS]});});})),aN;}['genBuffers'](aL){let aM={'vertex':[],'normal':[],'colors':[],'uvs':[],'materialIndex':[],'vertexWeights':[],'weightsIndices':[]},aN=0x0,aO=0x0,aP=!0x1,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[],aW=this;return aL['vertexIndices']['forEach'](function(aX,aY){const ci=a1;let aZ,b0=!0x1;aX<0x0&&(aX^=-0x1,b0=!0x0);let b1=[],b2=[];if(aQ[ci(0x1b9)](aX*0x3,aX*0x3+0x1,aX*0x3+0x2),aL['color']){let b3=q(aY,aN,aX,aL['color']);aS['push'](b3[0x0],b3[0x1],b3[0x2]);}if(aL['skeleton']){if(aL['weightTable'][aX]!==void 0x0&&aL['weightTable'][aX]['forEach'](function(b4){b2['push'](b4['weight']),b1['push'](b4['id']);}),b2[ci(0x17d)]>0x4){aP||(console['warn'](ci(0x16c)),aP=!0x0);let b4=[0x0,0x0,0x0,0x0],b5=[0x0,0x0,0x0,0x0];b2['forEach'](function(b6,b7){let b8=b6,b9=b1[b7];b5['forEach'](function(ba,bb,bc){if(b8>ba){bc[bb]=b8,b8=ba;let bd=b4[bb];b4[bb]=b9,b9=bd;}});}),b1=b4,b2=b5;}for(;b2[ci(0x17d)]<0x4;)b2['push'](0x0),b1['push'](0x0);for(let b6=0x0;b6<0x4;++b6)aU['push'](b2[b6]),aV['push'](b1[b6]);}if(aL['normal']){let b7=q(aY,aN,aX,aL['normal']);aR['push'](b7[0x0],b7[0x1],b7[0x2]);}aL['material']&&aL['material']['mappingType']!==ci(0x180)&&(aZ=q(aY,aN,aX,aL['material'])[0x0],aZ<0x0&&(aW['negativeMaterialIndices']=!0x0,aZ=0x0)),aL['uv']&&aL['uv']['forEach'](function(b8,b9){let ba=q(aY,aN,aX,b8);aT[b9]===void 0x0&&(aT[b9]=[]),aT[b9]['push'](ba[0x0]),aT[b9]['push'](ba[0x1]);}),aO++,b0&&(aW['genFace'](aM,aL,aQ,aZ,aR,aS,aT,aU,aV,aO),aN++,aO=0x0,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[]);}),aM;}['getNormalNewell'](aL){const cj=bu;let aM=new a3(0x0,0x0,0x0);for(let aN=0x0;aN<aL['length'];aN++){let aO=aL[aN],aP=aL[(aN+0x1)%aL['length']];aM['x']+=(aO['y']-aP['y'])*(aO['z']+aP['z']),aM['y']+=(aO['z']-aP['z'])*(aO['x']+aP['x']),aM['z']+=(aO['x']-aP['x'])*(aO['y']+aP['y']);}return aM[cj(0x1cb)](),aM;}['getNormalTangentAndBitangent'](aL){const ck=bu;let aM=this['getNormalNewell'](aL),aN=(Math[ck(0x13f)](aM['z'])>0.5?new a3(0x0,0x1,0x0):new a3(0x0,0x0,0x1))['cross'](aM)['normalize']();return{'normal':aM,'tangent':aN,'bitangent':aM['clone']()['cross'](aN)[ck(0x1cb)]()};}['flattenVertex'](aL,aM,aN){return new aJ(aL['dot'](aM),aL['dot'](aN));}['genFace'](aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU){const cl=bu;let aV;if(aU>0x3){let aW=[],aX=aM['baseVertexPositions']||aM['vertexPositions'];for(let b1=0x0;b1<aN['length'];b1+=0x3)aW['push'](new a3(aX[aN[b1]],aX[aN[b1+0x1]],aX[aN[b1+0x2]]));let {tangent:aY,bitangent:aZ}=this['getNormalTangentAndBitangent'](aW),b0=[];for(let b2 of aW)b0['push'](this['flattenVertex'](b2,aY,aZ));aV=a8[cl(0x207)](b0,[]);}else aV=[[0x0,0x1,0x2]];for(let [b3,b4,b5]of aV)aL['vertex']['push'](aM['vertexPositions'][aN[b3*0x3]]),aL['vertex']['push'](aM['vertexPositions'][aN[b3*0x3+0x1]]),aL['vertex'][cl(0x1b9)](aM['vertexPositions'][aN[b3*0x3+0x2]]),aL[cl(0x1b8)]['push'](aM['vertexPositions'][aN[b4*0x3]]),aL['vertex']['push'](aM['vertexPositions'][aN[b4*0x3+0x1]]),aL[cl(0x1b8)][cl(0x1b9)](aM['vertexPositions'][aN[b4*0x3+0x2]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3+0x1]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3+0x2]]),aM['skeleton']&&(aL['vertexWeights']['push'](aS[b3*0x4]),aL['vertexWeights']['push'](aS[b3*0x4+0x1]),aL['vertexWeights']['push'](aS[b3*0x4+0x2]),aL[cl(0x138)]['push'](aS[b3*0x4+0x3]),aL[cl(0x138)]['push'](aS[b4*0x4]),aL['vertexWeights'][cl(0x1b9)](aS[b4*0x4+0x1]),aL[cl(0x138)]['push'](aS[b4*0x4+0x2]),aL['vertexWeights'][cl(0x1b9)](aS[b4*0x4+0x3]),aL['vertexWeights'][cl(0x1b9)](aS[b5*0x4]),aL['vertexWeights']['push'](aS[b5*0x4+0x1]),aL['vertexWeights']['push'](aS[b5*0x4+0x2]),aL['vertexWeights']['push'](aS[b5*0x4+0x3]),aL['weightsIndices']['push'](aT[b3*0x4]),aL['weightsIndices']['push'](aT[b3*0x4+0x1]),aL[cl(0x14a)]['push'](aT[b3*0x4+0x2]),aL['weightsIndices']['push'](aT[b3*0x4+0x3]),aL['weightsIndices']['push'](aT[b4*0x4]),aL[cl(0x14a)][cl(0x1b9)](aT[b4*0x4+0x1]),aL['weightsIndices']['push'](aT[b4*0x4+0x2]),aL['weightsIndices']['push'](aT[b4*0x4+0x3]),aL['weightsIndices']['push'](aT[b5*0x4]),aL['weightsIndices']['push'](aT[b5*0x4+0x1]),aL['weightsIndices'][cl(0x1b9)](aT[b5*0x4+0x2]),aL[cl(0x14a)][cl(0x1b9)](aT[b5*0x4+0x3])),aM['color']&&(aL[cl(0x13d)][cl(0x1b9)](aQ[b3*0x3]),aL['colors']['push'](aQ[b3*0x3+0x1]),aL['colors'][cl(0x1b9)](aQ[b3*0x3+0x2]),aL['colors']['push'](aQ[b4*0x3]),aL['colors']['push'](aQ[b4*0x3+0x1]),aL[cl(0x13d)]['push'](aQ[b4*0x3+0x2]),aL[cl(0x13d)][cl(0x1b9)](aQ[b5*0x3]),aL['colors'][cl(0x1b9)](aQ[b5*0x3+0x1]),aL['colors']['push'](aQ[b5*0x3+0x2])),aM[cl(0x1b2)]&&aM['material']['mappingType']!==cl(0x180)&&(aL['materialIndex']['push'](aO),aL['materialIndex']['push'](aO),aL['materialIndex']['push'](aO)),aM['normal']&&(aL[cl(0x19a)]['push'](aP[b3*0x3]),aL['normal']['push'](aP[b3*0x3+0x1]),aL['normal'][cl(0x1b9)](aP[b3*0x3+0x2]),aL['normal']['push'](aP[b4*0x3]),aL['normal']['push'](aP[b4*0x3+0x1]),aL['normal'][cl(0x1b9)](aP[b4*0x3+0x2]),aL['normal']['push'](aP[b5*0x3]),aL['normal'][cl(0x1b9)](aP[b5*0x3+0x1]),aL[cl(0x19a)]['push'](aP[b5*0x3+0x2])),aM['uv']&&aM['uv']['forEach'](function(b6,b7){const cm=cl;aL['uvs'][b7]===void 0x0&&(aL['uvs'][b7]=[]),aL[cm(0x1d2)][b7][cm(0x1b9)](aR[b7][b3*0x2]),aL['uvs'][b7]['push'](aR[b7][b3*0x2+0x1]),aL['uvs'][b7]['push'](aR[b7][b4*0x2]),aL['uvs'][b7]['push'](aR[b7][b4*0x2+0x1]),aL[cm(0x1d2)][b7]['push'](aR[b7][b5*0x2]),aL[cm(0x1d2)][b7]['push'](aR[b7][b5*0x2+0x1]);});}[bu(0x14f)](aL,aM,aN,aO){const cn=bu;if(aN['length']===0x0)return;aL[cn(0x18b)]=!0x0,aL['morphAttributes'][cn(0x149)]=[];let aP=aO[cn(0x195)]()['setPosition'](0x0,0x0,0x0),aQ=this;aN[cn(0x173)](function(aR){aR['rawTargets']['forEach'](function(aS){const co=a1;let aT=V['Objects']['Geometry'][aS[co(0x1e3)]];aT!==void 0x0&&aQ['genMorphGeometry'](aL,aM,aT,aP,aS[co(0x166)]);});});}['genMorphGeometry'](aL,aM,aN,aO,aP){const cp=bu;let aQ=aM['Vertices']===void 0x0?[]:aM[cp(0x1df)]['a'],aR=aM['PolygonVertexIndex']===void 0x0?[]:aM['PolygonVertexIndex']['a'],aS=aN[cp(0x1df)]===void 0x0?[]:aN['Vertices']['a'],aT=aN['Indexes']===void 0x0?[]:aN['Indexes']['a'],aU=aL[cp(0x1bc)]['position']['count']*0x3,aV=new Float32Array(aU);for(let aY=0x0;aY<aT['length'];aY++){let aZ=aT[aY]*0x3;aV[aZ]=aS[aY*0x3],aV[aZ+0x1]=aS[aY*0x3+0x1],aV[aZ+0x2]=aS[aY*0x3+0x2];}let aW={'vertexIndices':aR,'vertexPositions':aV,'baseVertexPositions':aQ},aX=new aE(this['genBuffers'](aW)['vertex'],0x3);aX[cp(0x166)]=aP||aN[cp(0x16f)],aX['applyMatrix4'](aO),aL['morphAttributes']['position']['push'](aX);}[bu(0x1b5)](aL){const cq=bu;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL[cq(0x1be)]['a'],aP=[];return aN==='IndexToDirect'&&(cq(0x13e)in aL?aP=aL['NormalIndex']['a']:cq(0x1af)in aL&&(aP=aL['NormalsIndex']['a'])),{'dataSize':0x3,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}[bu(0x200)](aL){const cr=bu;let aM=aL[cr(0x18f)],aN=aL['ReferenceInformationType'],aO=aL['UV']['a'],aP=[];return aN===cr(0x1f6)&&(aP=aL['UVIndex']['a']),{'dataSize':0x2,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}[bu(0x184)](aL){const cs=bu;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL[cs(0x17b)]['a'],aP=[];aN==='IndexToDirect'&&(aP=aL[cs(0x217)]['a']);for(let aQ=0x0,aR=new aw();aQ<aO['length'];aQ+=0x4)aR['fromArray'](aO,aQ),as[cs(0x14e)](aR,aF),aR['toArray'](aO,aQ);return{'dataSize':0x4,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseMaterialIndices'](aL){const ct=bu;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'];if(aM===ct(0x1f8))return{'dataSize':0x1,'buffer':[0x0],'indices':[0x0],'mappingType':ct(0x180),'referenceType':aN};let aO=aL['Materials']['a'],aP=[];for(let aQ=0x0;aQ<aO['length'];++aQ)aP['push'](aQ);return{'dataSize':0x1,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseNurbsGeometry'](aL){const cu=bu;let aM=parseInt(aL['Order']);if(isNaN(aM))return console['error']('THREE.FBXLoader:\x20Invalid\x20Order\x20%s\x20given\x20for\x20geometry\x20ID:\x20%s',aL['Order'],aL['id']),new aB();let aN=aM-0x1,aO=aL['KnotVector']['a'],aP=[],aQ=aL['Points']['a'];for(let aU=0x0,aV=aQ['length'];aU<aV;aU+=0x4)aP['push'](new ak()['fromArray'](aQ,aU));let aR,aS;if(aL[cu(0x165)]==='Closed')aP['push'](aP[0x0]);else{if(aL['Form']==='Periodic'){aR=aN,aS=aO[cu(0x17d)]-0x1-aR;for(let aW=0x0;aW<aN;++aW)aP['push'](aP[aW]);}}let aT=new B(aN,aO,aP,aR,aS)['getPoints'](aP['length']*0xc);return new aB()['setFromPoints'](aT);}},he=class{['parse'](){let aL=[],aM=this['parseClips']();if(aM!==void 0x0)for(let aN in aM){let aO=aM[aN],aP=this['addClip'](aO);aL['push'](aP);}return aL;}['parseClips'](){const cv=bu;if(V['Objects']['AnimationCurve']===void 0x0)return;let aL=this['parseAnimationCurveNodes']();this['parseAnimationCurves'](aL);let aM=this[cv(0x1ee)](aL);return this['parseAnimStacks'](aM);}['parseAnimationCurveNodes'](){const cw=bu;let aL=V[cw(0x1c2)]['AnimationCurveNode'],aM=new Map();for(let aN in aL){let aO=aL[aN];if(aO['attrName']['match'](/S|R|T|DeformPercent/)!==null){let aP={'id':aO['id'],'attr':aO['attrName'],'curves':{}};aM['set'](aP['id'],aP);}}return aM;}[bu(0x15d)](aL){const cx=bu;let aM=V['Objects']['AnimationCurve'];for(let aN in aM){let aO={'id':aM[aN]['id'],'times':aM[aN][cx(0x16a)]['a']['map'](be),'values':aM[aN]['KeyValueFloat']['a']},aP=H['get'](aO['id']);if(aP!==void 0x0){let aQ=aP['parents'][0x0]['ID'],aR=aP[cx(0x1bd)][0x0]['relationship'];aR[cx(0x209)](/X/)?aL[cx(0x13c)](aQ)['curves']['x']=aO:aR[cx(0x209)](/Y/)?aL['get'](aQ)['curves']['y']=aO:aR['match'](/Z/)?aL['get'](aQ)['curves']['z']=aO:aR['match'](/DeformPercent/)&&aL['has'](aQ)&&(aL['get'](aQ)['curves']['morph']=aO);}}}['parseAnimationLayers'](aL){const cy=bu;let aM=V[cy(0x1c2)][cy(0x1bb)],aN=new Map();for(let aO in aM){let aP=[],aQ=H['get'](parseInt(aO));aQ!==void 0x0&&(aQ['children']['forEach'](function(aR,aS){const cz=cy;if(aL[cz(0x144)](aR['ID'])){let aT=aL[cz(0x13c)](aR['ID']);if(aT[cz(0x1e4)]['x']!==void 0x0||aT['curves']['y']!==void 0x0||aT['curves']['z']!==void 0x0){if(aP[aS]===void 0x0){let aU=H[cz(0x13c)](aR['ID'])['parents']['filter'](function(aW){return aW['relationship']!==void 0x0;});if(aU['length']===0x0)return;let aV=aU[0x0]['ID'];if(aV!==void 0x0){let aW=V[cz(0x1c2)]['Model'][aV['toString']()];if(aW===void 0x0){console['warn']('THREE.FBXLoader:\x20Encountered\x20a\x20unused\x20curve.',aR);return;}let aX={'modelName':aW['attrName']?aD['sanitizeNodeName'](aW['attrName']):'','ID':aW['id'],'initialPosition':[0x0,0x0,0x0],'initialRotation':[0x0,0x0,0x0],'initialScale':[0x1,0x1,0x1]};U['traverse'](function(aY){const cA=cz;aY['ID']===aW['id']&&(aX['transform']=aY['matrix'],aY['userData']['transformData']&&(aX['eulerOrder']=aY['userData']['transformData'][cA(0x136)],aY['userData'][cA(0x1ab)]['rotation']&&(aX['initialRotation']=aY['userData']['transformData'][cA(0x1d5)])));}),aX['transform']||(aX['transform']=new a2()),'PreRotation'in aW&&(aX['preRotation']=aW['PreRotation']['value']),'PostRotation'in aW&&(aX['postRotation']=aW['PostRotation']['value']),aP[aS]=aX;}}aP[aS]&&(aP[aS][aT[cz(0x1b7)]]=aT);}else{if(aT[cz(0x1e4)]['morph']!==void 0x0){if(aP[aS]===void 0x0){let aY=H['get'](aR['ID'])[cz(0x1bd)][cz(0x182)](function(b4){const cB=cz;return b4[cB(0x18d)]!==void 0x0;});if(aY['length']===0x0)return;let aZ=aY[0x0]['ID'],b0=H['get'](aZ)['parents'][0x0]['ID'],b1=H[cz(0x13c)](b0)['parents'][0x0]['ID'],b2=H['get'](b1)['parents'][0x0]['ID'],b3=V['Objects']['Model'][b2];aP[aS]={'modelName':b3['attrName']?aD[cz(0x1a9)](b3['attrName']):'','morphName':V['Objects']['Deformer'][aZ]['attrName']};}aP[aS][aT['attr']]=aT;}}}}),aN['set'](parseInt(aO),aP));}return aN;}['parseAnimStacks'](aL){const cC=bu;let aM=V['Objects']['AnimationStack'],aN={};for(let aO in aM){let aP=H['get'](parseInt(aO))['children'];aP[cC(0x17d)]>0x1&&console[cC(0x151)]('THREE.FBXLoader:\x20Encountered\x20an\x20animation\x20stack\x20with\x20multiple\x20layers,\x20this\x20is\x20currently\x20not\x20supported.\x20Ignoring\x20subsequent\x20layers.');let aQ=aL['get'](aP[0x0]['ID']);aN[aO]={'name':aM[aO]['attrName'],'layer':aQ};}return aN;}['addClip'](aL){let aM=[],aN=this;return aL['layer']['forEach'](function(aO){aM=aM['concat'](aN['generateTracks'](aO));}),new az(aL['name'],-0x1,aM);}['generateTracks'](aL){const cD=bu;let aM=[],aN=new a3(),aO=new a3();if(aL[cD(0x1fe)]&&aL['transform']['decompose'](aN,new aH(),aO),aN=aN['toArray'](),aO=aO['toArray'](),aL['T']!==void 0x0&&Object['keys'](aL['T']['curves'])['length']>0x0){let aP=this['generateVectorTrack'](aL['modelName'],aL['T']['curves'],aN,cD(0x149));aP!==void 0x0&&aM['push'](aP);}if(aL['R']!==void 0x0&&Object['keys'](aL['R']['curves'])['length']>0x0){let aQ=this['generateRotationTrack'](aL['modelName'],aL['R']['curves'],aL['preRotation'],aL['postRotation'],aL[cD(0x136)],aL['initialRotation']);aQ!==void 0x0&&aM['push'](aQ);}if(aL['S']!==void 0x0&&Object['keys'](aL['S']['curves'])['length']>0x0){let aR=this['generateVectorTrack'](aL['modelName'],aL['S']['curves'],aO,'scale');aR!==void 0x0&&aM[cD(0x1b9)](aR);}if(aL['DeformPercent']!==void 0x0){let aS=this[cD(0x1db)](aL);aS!==void 0x0&&aM['push'](aS);}return aM;}[bu(0x1eb)](aL,aM,aN,aO){let aP=this['getTimesForAllAxes'](aM),aQ=this['getKeyframeTrackValues'](aP,aM,aN);return new aa(aL+'.'+aO,aP,aQ);}['generateRotationTrack'](aL,aM,aN,aO,aP,aQ){const cE=bu;let aR,aS;if(aM['x']!==void 0x0||aM['y']!==void 0x0||aM['z']!==void 0x0){let aX=this['getTimesForAllAxes'](aM);if(aX['length']>0x0){let aY=aQ||[0x0,0x0,0x0],aZ=this[cE(0x1ae)](aM['x'],aX,aY[0x0]),b0=this['synchronizeCurve'](aM['y'],aX,aY[0x1]),b1=this['synchronizeCurve'](aM['z'],aX,aY[0x2]),b2=this['interpolateRotations'](aZ,b0,b1,aP);aR=b2[0x0],aS=b2[0x1];}}let aT=Z(0x0);aN!==void 0x0&&(aN=aN['map'](al['degToRad']),aN['push'](aT),aN=new aj()['fromArray'](aN),aN=new aH()['setFromEuler'](aN)),aO!==void 0x0&&(aO=aO['map'](al[cE(0x19c)]),aO['push'](aT),aO=new aj()['fromArray'](aO),aO=new aH()['setFromEuler'](aO)['invert']());let aU=new aH(),aV=new aj(),aW=[];if(!(!aS||!aR)){for(let b3=0x0;b3<aS['length'];b3+=0x3)aV['set'](aS[b3],aS[b3+0x1],aS[b3+0x2],aP),aU['setFromEuler'](aV),aN!==void 0x0&&aU['premultiply'](aN),aO!==void 0x0&&aU['multiply'](aO),b3>0x2&&new aH()['fromArray'](aW,(b3-0x3)/0x3*0x4)['dot'](aU)<0x0&&aU[cE(0x142)](-aU['x'],-aU['y'],-aU['z'],-aU['w']),aU['toArray'](aW,b3/0x3*0x4);return new an(aL+'.quaternion',aR,aW);}}['generateMorphTrack'](aL){const cF=bu;let aM=aL['DeformPercent']['curves']['morph'],aN=aM[cF(0x167)][cF(0x168)](function(aP){return aP/0x64;}),aO=U[cF(0x1c8)](aL['modelName'])['morphTargetDictionary'][aL['morphName']];return new aC(aL['modelName']+'.morphTargetInfluences['+aO+']',aM['times'],aN);}[bu(0x1aa)](aL){const cG=bu;let aM=[];if(aL['x']!==void 0x0&&(aM=aM[cG(0x1c9)](aL['x']['times'])),aL['y']!==void 0x0&&(aM=aM['concat'](aL['y']['times'])),aL['z']!==void 0x0&&(aM=aM['concat'](aL['z']['times'])),aM=aM['sort'](function(aN,aO){return aN-aO;}),aM['length']>0x1){let aN=0x1,aO=aM[0x0];for(let aP=0x1;aP<aM['length'];aP++){let aQ=aM[aP];aQ!==aO&&(aM[aN]=aQ,aO=aQ,aN++);}aM=aM['slice'](0x0,aN);}return aM;}['getKeyframeTrackValues'](aL,aM,aN){let aO=aN,aP=[],aQ=-0x1,aR=-0x1,aS=-0x1;return aL['forEach'](function(aT){const cH=a1;if(aM['x']&&(aQ=aM['x']['times'][cH(0x1d3)](aT)),aM['y']&&(aR=aM['y']['times']['indexOf'](aT)),aM['z']&&(aS=aM['z']['times'][cH(0x1d3)](aT)),aQ!==-0x1){let aU=aM['x']['values'][aQ];aP['push'](aU),aO[0x0]=aU;}else aP['push'](aO[0x0]);if(aR!==-0x1){let aV=aM['y']['values'][aR];aP['push'](aV),aO[0x1]=aV;}else aP['push'](aO[0x1]);if(aS!==-0x1){let aW=aM['z']['values'][aS];aP['push'](aW),aO[0x2]=aW;}else aP['push'](aO[0x2]);}),aP;}['synchronizeCurve'](aL,aM,aN){const cI=bu;if(aL===void 0x0)return{'times':aM,'values':aM['map'](()=>aN)};if(aL[cI(0x134)]['length']===aM['length'])return aL;let aO=[];for(let aP=0x0;aP<aM['length'];aP++)aO[cI(0x1b9)](this['sampleCurveValue'](aL,aM[aP],aN));return{'times':aM,'values':aO};}['sampleCurveValue'](aL,aM,aN){const cJ=bu;let aO=aL['times'],aP=aL[cJ(0x167)];if(aM<=aO[0x0])return aP[0x0];if(aM>=aO[aO['length']-0x1])return aP[aP['length']-0x1];for(let aQ=0x0;aQ<aO['length']-0x1;aQ++)if(aM>=aO[aQ]&&aM<=aO[aQ+0x1]){if(aO[aQ]===aM)return aP[aQ];let aR=(aM-aO[aQ])/(aO[aQ+0x1]-aO[aQ]);return aP[aQ]*(0x1-aR)+aP[aQ+0x1]*aR;}return aN;}['interpolateRotations'](aL,aM,aN,aO){const cK=bu;let aP=[],aQ=[];aP['push'](aL[cK(0x134)][0x0]),aQ['push'](al[cK(0x19c)](aL['values'][0x0])),aQ['push'](al[cK(0x19c)](aM[cK(0x167)][0x0])),aQ['push'](al['degToRad'](aN[cK(0x167)][0x0]));for(let aR=0x1;aR<aL['values']['length'];aR++){let aS=[aL['values'][aR-0x1],aM['values'][aR-0x1],aN['values'][aR-0x1]];if(isNaN(aS[0x0])||isNaN(aS[0x1])||isNaN(aS[0x2]))continue;let aT=aS[cK(0x168)](al['degToRad']),aU=[aL['values'][aR],aM['values'][aR],aN['values'][aR]];if(isNaN(aU[0x0])||isNaN(aU[0x1])||isNaN(aU[0x2]))continue;let aV=aU['map'](al['degToRad']),aW=[aU[0x0]-aS[0x0],aU[0x1]-aS[0x1],aU[0x2]-aS[0x2]],aX=[Math['abs'](aW[0x0]),Math['abs'](aW[0x1]),Math['abs'](aW[0x2])];if(aX[0x0]>=0xb4||aX[0x1]>=0xb4||aX[0x2]>=0xb4){let aY=Math[cK(0x1a1)](...aX)/0xb4,aZ=new aj(...aT,aO),b0=new aj(...aV,aO),b1=new aH()['setFromEuler'](aZ),b2=new aH()[cK(0x188)](b0);b1['dot'](b2)<0x0&&b2['set'](-b2['x'],-b2['y'],-b2['z'],-b2['w']);let b3=aL[cK(0x134)][aR-0x1],b4=aL[cK(0x134)][aR]-b3,b5=new aH(),b6=new aj();for(let b7=0x0;b7<0x1;b7+=0x1/aY)b5['copy'](b1['clone']()[cK(0x15c)](b2['clone'](),b7)),aP['push'](b3+b7*b4),b6[cK(0x146)](b5,aO),aQ['push'](b6['x']),aQ[cK(0x1b9)](b6['y']),aQ[cK(0x1b9)](b6['z']);}else aP['push'](aL[cK(0x134)][aR]),aQ[cK(0x1b9)](al['degToRad'](aL['values'][aR])),aQ['push'](al['degToRad'](aM['values'][aR])),aQ[cK(0x1b9)](al['degToRad'](aN['values'][aR]));}return[aP,aQ];}},ge=class{['getPrevNode'](){return this['nodeStack'][this['currentIndent']-0x2];}['getCurrentNode'](){return this['nodeStack'][this['currentIndent']-0x1];}['getCurrentProp'](){return this['currentProp'];}['pushStack'](aL){this['nodeStack']['push'](aL),this['currentIndent']+=0x1;}['popStack'](){const cL=bu;this['nodeStack'][cL(0x1e6)](),--this['currentIndent'];}['setCurrentProp'](aL,aM){const cM=bu;this['currentProp']=aL,this[cM(0x141)]=aM;}['parse'](aL){const cN=bu;this['currentIndent']=0x0,this['allNodes']=new G(),this['nodeStack']=[],this[cN(0x214)]=[],this['currentPropName']='';let aM=this,aN=aL['split'](/[\r\n]+/);return aN['forEach'](function(aO,aP){const cO=cN;let aQ=aO[cO(0x209)](/^[\s\t]*;/),aR=aO[cO(0x209)](/^[\s\t]*$/);if(aQ||aR)return;let aS=aO['match']('^\x5ct{'+aM[cO(0x210)]+'}(\x5cw+):(.*){',''),aT=aO['match']('^\x5ct{'+aM['currentIndent']+cO(0x183)),aU=aO['match']('^\x5ct{'+(aM['currentIndent']-0x1)+'}}');aS?aM[cO(0x19f)](aO,aS):aT?aM['parseNodeProperty'](aO,aT,aN[++aP]):aU?aM['popStack']():aO['match'](/^[^\s\t}]/)&&aM['parseNodePropertyContinued'](aO);}),this['allNodes'];}['parseNodeBegin'](aL,aM){const cP=bu;let aN=aM[0x1]['trim']()['replace'](/^"/,'')['replace'](/"$/,''),aO=aM[0x2]['split'](',')['map'](function(aS){return aS['trim']()['replace'](/^"/,'')['replace'](/"$/,'');}),aP={'name':aN},aQ=this['parseNodeAttr'](aO),aR=this['getCurrentNode']();this[cP(0x210)]===0x0?this['allNodes']['add'](aN,aP):aN in aR?(aN==='PoseNode'?aR['PoseNode']['push'](aP):aR[aN]['id']!==void 0x0&&(aR[aN]={},aR[aN][aR[aN]['id']]=aR[aN]),aQ['id']!==''&&(aR[aN][aQ['id']]=aP)):typeof aQ['id']=='number'?(aR[aN]={},aR[aN][aQ['id']]=aP):aN!=='Properties70'&&(aN==='PoseNode'?aR[aN]=[aP]:aR[aN]=aP),typeof aQ['id']=='number'&&(aP['id']=aQ['id']),aQ['name']!==''&&(aP['attrName']=aQ['name']),aQ['type']!==''&&(aP[cP(0x19b)]=aQ['type']),this['pushStack'](aP);}[bu(0x147)](aL){let aM=aL[0x0];aL[0x0]!==''&&(aM=parseInt(aL[0x0]),isNaN(aM)&&(aM=aL[0x0]));let aN='',aO='';return aL['length']>0x1&&(aN=aL[0x1]['replace'](/^(\w+)::/,''),aO=aL[0x2]),{'id':aM,'name':aN,'type':aO};}['parseNodeProperty'](aL,aM,aN){const cQ=bu;let aO=aM[0x1]['replace'](/^"/,'')['replace'](/"$/,'')['trim'](),aP=aM[0x2]['replace'](/^"/,'')['replace'](/"$/,'')['trim']();aO===cQ(0x1b1)&&aP===','&&(aP=aN['replace'](/"/g,'')['replace'](/,$/,'')[cQ(0x1a7)]());let aQ=this['getCurrentNode']();if(aQ['name']==='Properties70'){this['parseNodeSpecialProperty'](aL,aO,aP);return;}if(aO==='C'){let aR=aP[cQ(0x1f4)](',')[cQ(0x21b)](0x1),aS=parseInt(aR[0x0]),aT=parseInt(aR[0x1]),aU=aP['split'](',')[cQ(0x21b)](0x3);aU=aU['map'](function(aV){return aV['trim']()['replace'](/^"/,'');}),aO='connections',aP=[aS,aT],Se(aP,aU),aQ[aO]===void 0x0&&(aQ[aO]=[]);}aO==='Node'&&(aQ['id']=aP),aO in aQ&&Array['isArray'](aQ[aO])?aQ[aO][cQ(0x1b9)](aP):aO==='a'?aQ['a']=aP:aQ[aO]=aP,this['setCurrentProp'](aQ,aO),aO==='a'&&aP['slice'](-0x1)!==','&&(aQ['a']=Q(aP));}[bu(0x1dd)](aL){let aM=this['getCurrentNode']();aM['a']+=aL,aL['slice'](-0x1)!==','&&(aM['a']=Q(aM['a']));}['parseNodeSpecialProperty'](aL,aM,aN){const cR=bu;let aO=aN['split']('\x22,')['map'](function(aU){return aU['trim']()['replace'](/^\"/,'')['replace'](/\s/,'_');}),aP=aO[0x0],aQ=aO[0x1],aR=aO[0x2],aS=aO[0x3],aT=aO[0x4];switch(aQ){case'int':case'enum':case'bool':case'ULongLong':case'double':case'Number':case'FieldOfView':aT=parseFloat(aT);break;case'Color':case'ColorRGB':case'Vector3D':case'Lcl_Translation':case cR(0x199):case cR(0x206):aT=Q(aT);break;}this['getPrevNode']()[aP]={'type':aQ,'type2':aR,'flag':aS,'value':aT},this[cR(0x21a)](this[cR(0x20a)](),aP);}},_e=class{[bu(0x19e)](aL){const cS=bu;let aM=new W(aL);aM['skip'](0x17);let aN=aM['getUint32']();if(aN<0x1900)throw Error(cS(0x161)+aN);let aO=new G();for(;!this['endOfContent'](aM);){let aP=this['parseNode'](aM,aN);aP!==null&&aO['add'](aP['name'],aP);}return aO;}['endOfContent'](aL){const cT=bu;return aL['size']()%0x10==0x0?(aL['getOffset']()+0xa0+0x10&-0x10)>=aL['size']():aL[cT(0x139)]()+0xa0+0x10>=aL['size']();}['parseNode'](aL,aM){const cU=bu;let aN={},aO=aM>=0x1d4c?aL['getUint64']():aL['getUint32'](),aP=aM>=0x1d4c?aL['getUint64']():aL['getUint32']();aM>=0x1d4c?aL['getUint64']():aL['getUint32']();let aQ=aL['getUint8'](),aR=aL['getString'](aQ);if(aO===0x0)return null;let aS=[];for(let aW=0x0;aW<aP;aW++)aS['push'](this['parseProperty'](aL));let aT=aS[cU(0x17d)]>0x0?aS[0x0]:'',aU=aS[cU(0x17d)]>0x1?aS[0x1]:'',aV=aS['length']>0x2?aS[0x2]:'';for(aN['singleProperty']=aP===0x1&&aL[cU(0x139)]()===aO;aO>aL[cU(0x139)]();){let aX=this['parseNode'](aL,aM);aX!==null&&this['parseSubNode'](aR,aN,aX);}return aN['propertyList']=aS,typeof aT=='number'&&(aN['id']=aT),aU!==''&&(aN['attrName']=aU),aV!==''&&(aN['attrType']=aV),aR!==''&&(aN[cU(0x166)]=aR),aN;}['parseSubNode'](aL,aM,aN){const cV=bu;if(aN[cV(0x153)]===!0x0){let aO=aN['propertyList'][0x0];Array['isArray'](aO)?(aM[aN['name']]=aN,aN['a']=aO):aM[aN['name']]=aO;}else{if(aL==='Connections'&&aN['name']==='C'){let aP=[];aN['propertyList']['forEach'](function(aQ,aR){aR!==0x0&&aP['push'](aQ);}),aM['connections']===void 0x0&&(aM['connections']=[]),aM['connections']['push'](aP);}else{if(aN['name']==='Properties70')Object['keys'](aN)['forEach'](function(aQ){aM[aQ]=aN[aQ];});else{if(aL===cV(0x1ea)&&aN['name']==='P'){let aQ=aN['propertyList'][0x0],aR=aN['propertyList'][0x1],aS=aN['propertyList'][0x2],aT=aN['propertyList'][0x3],aU;aQ[cV(0x1d3)]('Lcl\x20')===0x0&&(aQ=aQ['replace']('Lcl\x20','Lcl_')),aR['indexOf']('Lcl\x20')===0x0&&(aR=aR['replace']('Lcl\x20','Lcl_')),aU=aR==='Color'||aR==='ColorRGB'||aR===cV(0x215)||aR===cV(0x15b)||aR['indexOf']('Lcl_')===0x0?[aN['propertyList'][0x4],aN['propertyList'][0x5],aN['propertyList'][0x6]]:aN['propertyList'][0x4],aM[aQ]={'type':aR,'type2':aS,'flag':aT,'value':aU};}else aM[aN['name']]===void 0x0?typeof aN['id']=='number'?(aM[aN['name']]={},aM[aN['name']][aN['id']]=aN):aM[aN['name']]=aN:aN[cV(0x166)]==='PoseNode'?(Array['isArray'](aM[aN['name']])||(aM[aN['name']]=[aM[aN['name']]]),aM[aN['name']]['push'](aN)):aM[aN['name']][aN['id']]===void 0x0&&(aM[aN[cV(0x166)]][aN['id']]=aN);}}}}['parseProperty'](aL){const cW=bu;let aM=aL['getString'](0x1),aN;switch(aM){case'C':return aL['getBoolean']();case'D':return aL['getFloat64']();case'F':return aL['getFloat32']();case'I':return aL[cW(0x14d)]();case'L':return aL[cW(0x178)]();case'R':return aN=aL[cW(0x1e2)](),aL['getArrayBuffer'](aN);case'S':return aN=aL['getUint32'](),aL['getString'](aN);case'Y':return aL['getInt16']();case'b':case'c':case'd':case'f':case'i':case'l':let aO=aL['getUint32'](),aP=aL[cW(0x1e2)](),aQ=aL[cW(0x1e2)]();if(aP===0x0)switch(aM){case'b':case'c':return aL[cW(0x163)](aO);case'd':return aL['getFloat64Array'](aO);case'f':return aL['getFloat32Array'](aO);case'i':return aL['getInt32Array'](aO);case'l':return aL['getInt64Array'](aO);}let aR=new W(aK(new Uint8Array(aL[cW(0x13b)](aQ)))['buffer']);switch(aM){case'b':case'c':return aR['getBooleanArray'](aO);case'd':return aR['getFloat64Array'](aO);case'f':return aR['getFloat32Array'](aO);case'i':return aR['getInt32Array'](aO);case'l':return aR['getInt64Array'](aO);}break;default:throw Error('THREE.FBXLoader:\x20Unknown\x20property\x20type\x20'+aM);}}},W=class{constructor(aL,aM){const cX=bu;this['dv']=new DataView(aL),this['offset']=0x0,this['littleEndian']=aM===void 0x0?!0x0:aM,this[cX(0x1ca)]=new TextDecoder();}['getOffset'](){return this['offset'];}['size'](){return this['dv']['buffer']['byteLength'];}[bu(0x15a)](aL){this['offset']+=aL;}[bu(0x1c7)](){return(this['getUint8']()&0x1)==0x1;}[bu(0x163)](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getBoolean']());return aM;}['getUint8'](){let aL=this['dv']['getUint8'](this['offset']);return this['offset']+=0x1,aL;}['getInt16'](){let aL=this['dv']['getInt16'](this['offset'],this['littleEndian']);return this['offset']+=0x2,aL;}['getInt32'](){let aL=this['dv']['getInt32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aL;}['getInt32Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getInt32']());return aM;}['getUint32'](){const cY=bu;let aL=this['dv']['getUint32'](this[cY(0x18e)],this[cY(0x201)]);return this['offset']+=0x4,aL;}[bu(0x178)](){const cZ=bu;let aL,aM;return this['littleEndian']?(aL=this['getUint32'](),aM=this['getUint32']()):(aM=this[cZ(0x1e2)](),aL=this['getUint32']()),aM&0x80000000?(aM=~aM&0xffffffff,aL=~aL&0xffffffff,aL===0xffffffff&&(aM=aM+0x1&0xffffffff),aL=aL+0x1&0xffffffff,-(aM*0x100000000+aL)):aM*0x100000000+aL;}['getInt64Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getInt64']());return aM;}['getUint64'](){const d0=bu;let aL,aM;return this['littleEndian']?(aL=this['getUint32'](),aM=this[d0(0x1e2)]()):(aM=this['getUint32'](),aL=this['getUint32']()),aM*0x100000000+aL;}[bu(0x16d)](){let aL=this['dv']['getFloat32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aL;}['getFloat32Array'](aL){const d1=bu;let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this[d1(0x16d)]());return aM;}['getFloat64'](){const d2=bu;let aL=this['dv']['getFloat64'](this[d2(0x18e)],this['littleEndian']);return this['offset']+=0x8,aL;}['getFloat64Array'](aL){const d3=bu;let aM=[];for(let aN=0x0;aN<aL;aN++)aM[d3(0x1b9)](this['getFloat64']());return aM;}['getArrayBuffer'](aL){let aM=this['dv']['buffer']['slice'](this['offset'],this['offset']+aL);return this['offset']+=aL,aM;}['getString'](aL){const d4=bu;let aM=this['offset'],aN=new Uint8Array(this['dv']['buffer'],aM,aL);this['skip'](aL);let aO=aN['indexOf'](0x0);return aO>=0x0&&(aN=new Uint8Array(this['dv']['buffer'],aM,aO)),this['_textDecoder'][d4(0x198)](aN);}},G=class{['add'](aL,aM){this[aL]=aM;}};function a0(){const d9=['Intensity','fromArray','decode','Lcl_Rotation','normal','attrType','degToRad','ColorRGB','parse','parseNodeBegin','crossOrigin','max','Mesh','updateMatrixWorld','animations','LookAtProperty','toArray','trim','bind','sanitizeNodeName','getTimesForAllAxes','transformData','Weights','scalingPivot','synchronizeCurve','NormalsIndex','add','Content','material','803590yMGnHa','setResponseType','parseNormals','429310STWMaV','attr','vertex','push','parseConnections','AnimationLayer','attributes','parents','Normals','buffer','Texture','DisplacementColor','Objects','FullWeights','Specular','parseMaterials','Maya|TEX_color_map','getBoolean','getObjectByName','concat','_textDecoder','normalize','byteLength','UpAxis','XZY','InheritType','EmissiveColor','parsePoseNodes','uvs','indexOf','quaternion','rotation','32pNqxHZ','GlobalSettings','addGroup','withCredentials','materialIndex','generateMorphTrack','endKnot','parseNodePropertyContinued','PostRotation','Vertices','inheritType','load','getUint32','geoID','curves','toLowerCase','pop','rawBones','userData','mapping','Properties70','generateVectorTrack','AspectWidth','Geometry','parseAnimationLayers','knots','buildSkeleton','500876hkVwkV','setPath','rotationOffset','split','manager','IndexToDirect','Pose','NoMappingInformation','DEFAULT_MATERIAL_NAME','image/tiff','getTexture','indices','extractUrlBase','transform','Scaling','parseUVs','littleEndian','setLookAtProperties','LayeredTexture','children','arraybuffer','Lcl_Scaling','triangulateShape','error','match','getPrevNode','isBone','divideScalar','reduce','parseScene','parseModels','currentIndent','Bump','postRotation','OuterAngle','currentProp','Vector','AmbientColor','ColorIndex','copy','specular','setCurrentProp','slice','Lcl_Translation','negativeMaterialIndices','times','makeRotationFromEuler','eulerOrder','RotationOffset','vertexWeights','getOffset','skeletons','getArrayBuffer','get','colors','NormalIndex','abs','869gVzqbu','currentPropName','set','parseTexture','has','createMesh','setFromQuaternion','parseNodeAttr','multiply','position','weightsIndices','startKnot','NurbsCurve','getInt32','colorSpaceToWorking','addMorphTargets','Root','warn','emissiveMap','singleProperty','THREE.FBXLoader:\x20Orthographic\x20cameras\x20not\x20supported\x20yet.','controlPoints','958802SIvuFD','5298099xGgKOL','RotationOrder','matrixWorld','skip','Vector3D','slerp','parseAnimationCurves','42SkjPoN','setAttribute','DiffuseColor','THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20','parseGeoNode','getBooleanArray','Indexes','Form','name','values','map','getHandler','KeyTime','4EvsgiD','THREE.FBXLoader:\x20Vertex\x20has\x20more\x20than\x204\x20skinning\x20weights\x20assigned\x20to\x20vertex.\x20Deleting\x20additional\x20weights.','getFloat32','opacity','attrName','FieldOfView','scale','parseTextures','forEach','Translation','blob:','alphaMap','value','getInt64','parseMaterial','RelativeFilename','Colors','updateWorldMatrix','length','getNormalMatrix','invert','AllSame','color','filter','}(\x5cw+):[\x5cs\x5ct\x5cr\x5cn](.*)','parseVertexColors','fromJSON','52140NCEBdd','AspectHeight','setFromEuler','translation','parent','morphTargetsRelative','parentMatrixWorld','relationship','offset','MappingInformationType','transformLink','envMap','bumpScale','image/bmp','3918843ivLdfu','clone'];a0=function(){return d9;};return a0();}function ve(aL){return aL['byteLength']>=0x15&&$(aL,0x0,0x15)==='Kaydara\x20FBX\x20Binary\x20\x20\x00';}function ye(aL){let aM=['K','a','y','d','a','r','a','\x5c','F','B','X','\x5c','B','i','n','a','r','y','\x5c','\x5c'],aN=0x0;function aO(aP){let aQ=aL[aP-0x1];return aL=aL['slice'](aN+aP),aN++,aQ;}for(let aP=0x0;aP<aM['length'];++aP)if(aO(0x1)===aM[aP])return!0x1;return!0x0;}function K(aL){let aM=aL['match'](/FBXVersion: (\d+)/);if(aM)return parseInt(aM[0x1]);throw Error('THREE.FBXLoader:\x20Cannot\x20find\x20the\x20version\x20number\x20for\x20the\x20file\x20given.');}function a1(a,b){a=a-0x132;const c=a0();let d=c[a];return d;}function be(aL){return aL/0xac0e8d7b0;}var xe=[];function q(aL,aM,aN,aO){const d5=bu;let aP;switch(aO['mappingType']){case'ByPolygonVertex':aP=aL;break;case'ByPolygon':aP=aM;break;case'ByVertice':aP=aN;break;case'AllSame':aP=aO['indices'][0x0];break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20attribute\x20mapping\x20type\x20'+aO['mappingType']);}aO['referenceType']===d5(0x1f6)&&(aP=aO[d5(0x1fc)][aP]);let aQ=aP*aO['dataSize'],aR=aQ+aO['dataSize'];return Ce(xe,aO[d5(0x1bf)],aQ,aR);}var J=new aj(),Y=new a3();function X(aL){const d6=bu;let aM=new a2(),aN=new a2(),aO=new a2(),aP=new a2(),aQ=new a2(),aR=new a2(),aS=new a2(),aT=new a2(),aU=new a2(),aV=new a2(),aW=new a2(),aX=new a2(),aY=aL['inheritType']?aL['inheritType']:0x0;aL['translation']&&aM['setPosition'](Y['fromArray'](aL['translation']));let aZ=Z(0x0);if(aL['preRotation']){let bc=aL['preRotation']['map'](al['degToRad']);bc['push'](aZ),aN[d6(0x135)](J['fromArray'](bc));}if(aL['rotation']){let bd=aL['rotation'][d6(0x168)](al['degToRad']);bd['push'](aL['eulerOrder']||aZ),aO['makeRotationFromEuler'](J[d6(0x197)](bd));}if(aL['postRotation']){let bf=aL[d6(0x212)]['map'](al['degToRad']);bf['push'](aZ),aP['makeRotationFromEuler'](J[d6(0x197)](bf)),aP[d6(0x17f)]();}aL['scale']&&aQ['scale'](Y['fromArray'](aL['scale'])),aL['scalingOffset']&&aS['setPosition'](Y['fromArray'](aL['scalingOffset'])),aL['scalingPivot']&&aR['setPosition'](Y['fromArray'](aL[d6(0x1ad)])),aL['rotationOffset']&&aT['setPosition'](Y['fromArray'](aL[d6(0x1f3)])),aL['rotationPivot']&&aU['setPosition'](Y['fromArray'](aL['rotationPivot'])),aL[d6(0x18c)]&&(aW[d6(0x218)](aL['parentMatrix']),aV['copy'](aL[d6(0x18c)]));let b0=aN[d6(0x195)]()['multiply'](aO)['multiply'](aP),b1=new a2();b1['extractRotation'](aV);let b2=new a2();b2['copyPosition'](aV);let b3=b2['clone']()[d6(0x17f)]()[d6(0x148)](aV),b4=b1['clone']()['invert']()['multiply'](b3),b5=aQ,b6=new a2();if(aY===0x0)b6['copy'](b1)['multiply'](b0)['multiply'](b4)['multiply'](b5);else{if(aY===0x1)b6['copy'](b1)['multiply'](b4)['multiply'](b0)['multiply'](b5);else{let bg=new a2()['scale'](new a3()['setFromMatrixScale'](aW))[d6(0x195)]()['invert'](),bh=b4['clone']()['multiply'](bg);b6['copy'](b1)['multiply'](b0)['multiply'](bh)[d6(0x148)](b5);}}let b7=aU['clone']()['invert'](),b8=aR['clone']()['invert'](),b9=aM['clone']()[d6(0x148)](aT)[d6(0x148)](aU)[d6(0x148)](aN)['multiply'](aO)['multiply'](aP)['multiply'](b7)['multiply'](aS)['multiply'](aR)['multiply'](aQ)['multiply'](b8),ba=new a2()['copyPosition'](b9),bb=aV[d6(0x195)]()['multiply'](ba);return aX['copyPosition'](bb),b9=aX['clone']()['multiply'](b6),b9['premultiply'](aV['invert']()),b9;}function Z(aL){const d7=bu;aL=aL||0x0;let aM=['ZYX','YZX',d7(0x1ce),'ZXY','YXZ','XYZ'];return aL===0x6?(console['warn']('THREE.FBXLoader:\x20unsupported\x20Euler\x20Order:\x20Spherical\x20XYZ.\x20Animations\x20and\x20rotations\x20may\x20be\x20incorrect.'),aM[0x0]):aM[aL];}function Q(aL){return aL['split'](',')['map'](function(aM){return parseFloat(aM);});}function $(aL,aM,aN){const d8=bu;return aM===void 0x0&&(aM=0x0),aN===void 0x0&&(aN=aL[d8(0x1cc)]),new TextDecoder()['decode'](new Uint8Array(aL,aM,aN));}function Se(aL,aM){for(let aN=0x0,aO=aL['length'],aP=aM['length'];aN<aP;aN++,aO++)aL[aO]=aM[aN];}function Ce(aL,aM,aN,aO){for(let aP=aN,aQ=0x0;aP<aO;aP++,aQ++)aL[aQ]=aM[aP];return aL;}export{fe as FBXLoader};
1
+ const br=a1;(function(aL,aM){const bm=a1,aN=aL();while(!![]){try{const aO=parseInt(bm(0x1cf))/0x1+parseInt(bm(0x20c))/0x2+parseInt(bm(0x23e))/0x3*(parseInt(bm(0x18e))/0x4)+parseInt(bm(0x1df))/0x5*(parseInt(bm(0x1c2))/0x6)+parseInt(bm(0x1a7))/0x7*(-parseInt(bm(0x190))/0x8)+-parseInt(bm(0x1fd))/0x9+parseInt(bm(0x1e0))/0xa;if(aO===aM)break;else aN['push'](aN['shift']());}catch(aP){aN['push'](aN['shift']());}}}(a0,0xae2bf));import{$ as a2,Bt as a3,C as a4,Ct as a5,Dt as a6,E as a7,Et as a8,Ft as a9,Ht as aa,K as ab,Mt as ac,Ot as ad,Pt as af,Q as ag,R as ah,Rt as ai,S as aj,Vt as ak,Z as al,_ as am,bt as an,dt as ao,et as ap,f as aq,ht as ar,m as as,n as at,nt as au,o as av,p as aw,pt as ax,q as ay,r as az,rt as aA,u as aB,ut as aC,vt as aD,w as aE,wt as aF,x as aG,yt as aH,z as aI,zt as aJ}from'./three.module.js';import{n as aK}from'./fflate.module.js';function R(aL,aM,aN){let aO=aN['length']-aL-0x1;if(aM>=aN[aO])return aO-0x1;if(aM<=aN[aL])return aL;let aP=aL,aQ=aO,aR=Math['floor']((aP+aQ)/0x2);for(;aM<aN[aR]||aM>=aN[aR+0x1];)aM<aN[aR]?aQ=aR:aP=aR,aR=Math['floor']((aP+aQ)/0x2);return aR;}function oe(aL,aM,aN,aO){let aP=[],aQ=[],aR=[];aP[0x0]=0x1;for(let aS=0x1;aS<=aN;++aS){aQ[aS]=aM-aO[aL+0x1-aS],aR[aS]=aO[aL+aS]-aM;let aT=0x0;for(let aU=0x0;aU<aS;++aU){let aV=aR[aU+0x1],aW=aQ[aS-aU],aX=aP[aU]/(aV+aW);aP[aU]=aT+aV*aX,aT=aW*aX;}aP[aS]=aT;}return aP;}function se(aL,aM,aN,aO){let aP=R(aL,aO,aM),aQ=oe(aP,aO,aL,aM),aR=new ak(0x0,0x0,0x0,0x0);for(let aS=0x0;aS<=aL;++aS){let aT=aN[aP-aL+aS],aU=aQ[aS],aV=aT['w']*aU;aR['x']+=aT['x']*aV,aR['y']+=aT['y']*aV,aR['z']+=aT['z']*aV,aR['w']+=aT['w']*aU;}return aR;}function ce(aL,aM,aN,aO,aP){let aQ=[];for(let aW=0x0;aW<=aN;++aW)aQ[aW]=0x0;let aR=[];for(let aX=0x0;aX<=aO;++aX)aR[aX]=aQ['slice'](0x0);let aS=[];for(let aY=0x0;aY<=aN;++aY)aS[aY]=aQ['slice'](0x0);aS[0x0][0x0]=0x1;let aT=aQ['slice'](0x0),aU=aQ['slice'](0x0);for(let aZ=0x1;aZ<=aN;++aZ){aT[aZ]=aM-aP[aL+0x1-aZ],aU[aZ]=aP[aL+aZ]-aM;let b0=0x0;for(let b1=0x0;b1<aZ;++b1){let b2=aU[b1+0x1],b3=aT[aZ-b1];aS[aZ][b1]=b2+b3;let b4=aS[b1][aZ-0x1]/aS[aZ][b1];aS[b1][aZ]=b0+b2*b4,b0=b3*b4;}aS[aZ][aZ]=b0;}for(let b5=0x0;b5<=aN;++b5)aR[0x0][b5]=aS[b5][aN];for(let b6=0x0;b6<=aN;++b6){let b7=0x0,b8=0x1,b9=[];for(let ba=0x0;ba<=aN;++ba)b9[ba]=aQ['slice'](0x0);b9[0x0][0x0]=0x1;for(let bb=0x1;bb<=aO;++bb){let bc=0x0,bd=b6-bb,bf=aN-bb;b6>=bb&&(b9[b8][0x0]=b9[b7][0x0]/aS[bf+0x1][bd],bc=b9[b8][0x0]*aS[bd][bf]);let bg=bd>=-0x1?0x1:-bd,bh=b6-0x1<=bf?bb-0x1:aN-b6;for(let bj=bg;bj<=bh;++bj)b9[b8][bj]=(b9[b7][bj]-b9[b7][bj-0x1])/aS[bf+0x1][bd+bj],bc+=b9[b8][bj]*aS[bd+bj][bf];b6<=bf&&(b9[b8][bb]=-b9[b7][bb-0x1]/aS[bf+0x1][b6],bc+=b9[b8][bb]*aS[b6][bf]),aR[bb][b6]=bc;let bi=b7;b7=b8,b8=bi;}}let aV=aN;for(let bk=0x1;bk<=aO;++bk){for(let bl=0x0;bl<=aN;++bl)aR[bk][bl]*=aV;aV*=aN-bk;}return aR;}function le(aL,aM,aN,aO,aP){const bn=a1;let aQ=aP<aL?aP:aL,aR=[],aS=R(aL,aO,aM),aT=ce(aS,aO,aL,aQ,aM),aU=[];for(let aV=0x0;aV<aN['length'];++aV){let aW=aN[aV]['clone'](),aX=aW['w'];aW['x']*=aX,aW['y']*=aX,aW['z']*=aX,aU[aV]=aW;}for(let aY=0x0;aY<=aQ;++aY){let aZ=aU[aS-aL][bn(0x216)]()[bn(0x180)](aT[aY][0x0]);for(let b0=0x1;b0<=aL;++b0)aZ['add'](aU[aS-aL+b0]['clone']()['multiplyScalar'](aT[aY][b0]));aR[aY]=aZ;}for(let b1=aQ+0x1;b1<=aP+0x1;++b1)aR[b1]=new ak(0x0,0x0,0x0);return aR;}function a0(){const d3=['parents','.quaternion','Filename','parseModels','parseImages','clone','Shininess','forEach','knots','LayerElementUV','AnimationCurve','setFromQuaternion','skeletons','toLowerCase','scale','littleEndian','skeleton','Diffuse','offset','addGlobalSceneSettings','getInt16','PreRotation','setFromEuler','times','toArray','THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20','indexOf','parseSubNode','Specular','Deformer','userData','colorSpace','negativeMaterialIndices','itemError','setLookAtProperties','bool','Objects','map','degree','material','values','pushStack','Indexes','inheritType','parseGeometry','3Qrlfli','getFloat32Array','morphTargets','UnitScaleFactor','parseNodeProperty','startKnot','LayerElementColor','YZX','parseAnimationCurveNodes','string','envMap','split','Geometry','ByPolygon','currentIndent','textureLoader','THREE.FBXLoader:\x20skeleton\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.','getCurrentNode',';base64,','weightTable','sanitizeNodeName','replace','animations','relationship','createMesh','invert','PolygonVertexIndex','KnotVector','setPath','Material','multiplyScalar','getInt32Array','type','unitScaleFactor','jpg','get','parseGeoNode','Lcl_Scaling','castShadow','createCamera','getInt32','controlPoints','toJSON','children','2640796TXpAEJ','uvs','8EsttKr','colors','parseUVs','THREE.FBXLoader:\x20Cannot\x20find\x20the\x20version\x20number\x20for\x20the\x20file\x20given.','sampleCurveValue','rawBones','normal','ReferenceInformationType','ZYX','CameraProjectionType','length','ULongLong','blob:','transformData','parseNurbsGeometry','Vertices','parseNodeBegin','concat','withCredentials','name','THREE.FBXLoader:\x20You\x20are\x20loading\x20an\x20asset\x20with\x20a\x20Z-UP\x20coordinate\x20system.\x20The\x20loader\x20just\x20rotates\x20the\x20asset\x20to\x20transform\x20it\x20into\x20Y-UP.\x20The\x20vertex\x20data\x20are\x20not\x20converted.','parse','Emissive','5862514RPcAwa','copyPosition','getTimesForAllAxes','attrName','Periodic','applyMatrix4','wrapT','vertexPositions','LightType','value','translation','push','copy','Color','opacity','number','createLight','setValues','image/png','referenceType','parseNode','position','PostRotation','multiply','Video','Matrix','fromJSON','6ALsiKQ','reduce','Model','getTexture','curves','load','preRotation','transform','originalName','GlobalSettings','vertexWeights','materialIndex','getString','15646zfpJyv','geoID','nodeStack','byteLength','OuterAngle','getFloat64Array','set','Normals','Content','synchronizeCurve','parseConnections','FieldOfView','GeometricTranslation','addGroup','Properties70','CastLightOnObject','2726410QvFVGZ','9868380DOmMPD','Lcl_Rotation','IndexToDirect','propertyList','manager','groups','matrixWorld','bones','dataSize','endOfContent','trim','normalize','eulerOrder','has','parseNodePropertyContinued','slice','degToRad','sort','modelName','getNormalNewell','warn','postRotation','Translation','CastShadows','fromArray','DiffuseColor','generateVectorTrack','allNodes','getUint32','11309985yCPdtq','match','Opacity','abs','add','initialRotation','THREE.FBXLoader:\x20morph\x20target\x20attached\x20to\x20more\x20than\x20one\x20geometry\x20is\x20not\x20supported.','colorSpaceToWorking','ColorRGB','EnableFarAttenuation','LayerElementMaterial','buffer','weightsIndices','THREE.FBXLoader:\x20%s\x20map\x20is\x20not\x20supported\x20in\x20three.js,\x20skipping\x20texture.','AspectWidth','1199218dvZikE','RotationOrder','connections','parseSkeleton','PoseNode'];a0=function(){return d3;};return a0();}function ue(aL,aM){let aN=0x1;for(let aP=0x2;aP<=aL;++aP)aN*=aP;let aO=0x1;for(let aQ=0x2;aQ<=aM;++aQ)aO*=aQ;for(let aR=0x2;aR<=aL-aM;++aR)aO*=aR;return aN/aO;}function de(aL){const bo=a1;let aM=aL['length'],aN=[],aO=[];for(let aQ=0x0;aQ<aM;++aQ){let aR=aL[aQ];aN[aQ]=new a3(aR['x'],aR['y'],aR['z']),aO[aQ]=aR['w'];}let aP=[];for(let aS=0x0;aS<aM;++aS){let aT=aN[aS]['clone']();for(let aU=0x1;aU<=aS;++aU)aT['sub'](aP[aS-aU]['clone']()[bo(0x180)](ue(aS,aU)*aO[aU]));aP[aS]=aT['divideScalar'](aO[0x0]);}return aP;}function z(aL,aM,aN,aO,aP){return de(le(aL,aM,aN,aO,aP));}var B=class extends am{constructor(aL,aM,aN,aO,aP){const bp=a1;super();let aQ=aM?aM['length']-0x1:0x0,aR=aN?aN['length']:0x0;this[bp(0x237)]=aL,this[bp(0x219)]=aM,this['controlPoints']=[],this[bp(0x243)]=aO||0x0,this['endKnot']=aP||aQ;for(let aS=0x0;aS<aR;++aS){let aT=aN[aS];this[bp(0x18b)][aS]=new ak(aT['x'],aT['y'],aT['z'],aT['w']);}}['getPoint'](aL,aM=new a3()){const bq=a1;let aN=aM,aO=this['knots'][this[bq(0x243)]]+aL*(this['knots'][this['endKnot']]-this['knots'][this['startKnot']]),aP=se(this[bq(0x237)],this['knots'],this['controlPoints'],aO);return aP['w']!==0x1&&aP['divideScalar'](aP['w']),aN['set'](aP['x'],aP['y'],aP['z']);}['getTangent'](aL,aM=new a3()){let aN=aM,aO=this['knots'][0x0]+aL*(this['knots'][this['knots']['length']-0x1]-this['knots'][0x0]),aP=z(this['degree'],this['knots'],this['controlPoints'],aO,0x1);return aN['copy'](aP[0x1])['normalize'](),aN;}[br(0x18c)](){const bs=br;let aL=super['toJSON']();return aL[bs(0x237)]=this['degree'],aL['knots']=[...this['knots']],aL[bs(0x18b)]=this['controlPoints']['map'](aM=>aM['toArray']()),aL['startKnot']=this['startKnot'],aL['endKnot']=this['endKnot'],aL;}[br(0x1c1)](aL){const bt=br;return super['fromJSON'](aL),this['degree']=aL[bt(0x237)],this['knots']=[...aL['knots']],this['controlPoints']=aL['controlPoints']['map'](aM=>new ak(aM[0x0],aM[0x1],aM[0x2],aM[0x3])),this['startKnot']=aL['startKnot'],this['endKnot']=aL['endKnot'],this;}},V,H,U,fe=class extends ab{constructor(aL){super(aL);}['load'](aL,aM,aN,aO){const bu=br;let aP=this,aQ=aP['path']===''?ay['extractUrlBase'](aL):aP['path'],aR=new a4(this['manager']);aR[bu(0x17e)](aP['path']),aR['setResponseType']('arraybuffer'),aR['setRequestHeader'](aP['requestHeader']),aR['setWithCredentials'](aP[bu(0x1a2)]),aR[bu(0x1c7)](aL,function(aS){const bv=bu;try{aM(aP['parse'](aS,aQ));}catch(aT){aO?aO(aT):console['error'](aT),aP['manager'][bv(0x232)](aL);}},aN,aO);}['parse'](aL,aM){const bw=br;if(ve(aL))V=new _e()['parse'](aL);else{let aN=$(aL);if(!ye(aN))throw Error('THREE.FBXLoader:\x20Unknown\x20format.');if(K(aN)<0x1b58)throw Error(bw(0x22a)+K(aN));V=new ge()['parse'](aN);}return new pe(new a9(this['manager'])['setPath'](this['resourcePath']||aM)['setCrossOrigin'](this['crossOrigin']),this[bw(0x1e4)])['parse'](V);}},pe=class{constructor(aL,aM){const bx=br;this['textureLoader']=aL,this[bx(0x1e4)]=aM;}['parse'](){const by=br;H=this[by(0x1d9)]();let aL=this[by(0x215)](),aM=this['parseTextures'](aL),aN=this['parseMaterials'](aM),aO=this['parseDeformers'](),aP=new me()['parse'](aO);return this['parseScene'](aO,aP,aN),U;}['parseConnections'](){const bz=br;let aL=new Map();return'Connections'in V&&V['Connections'][bz(0x20e)]['forEach'](function(aM){const bA=bz;let aN=aM[0x0],aO=aM[0x1],aP=aM[0x2];aL['has'](aN)||aL['set'](aN,{'parents':[],'children':[]});let aQ={'ID':aO,'relationship':aP};aL['get'](aN)['parents']['push'](aQ),aL['has'](aO)||aL['set'](aO,{'parents':[],'children':[]});let aR={'ID':aN,'relationship':aP};aL[bA(0x185)](aO)[bA(0x18d)]['push'](aR);}),aL;}['parseImages'](){const bB=br;let aL={},aM={};if('Video'in V[bB(0x235)]){let aN=V['Objects'][bB(0x1bf)];for(let aO in aN){let aP=aN[aO],aQ=parseInt(aO);if(aL[aQ]=aP['RelativeFilename']||aP[bB(0x213)],bB(0x1d7)in aP){let aR=aP[bB(0x1d7)]instanceof ArrayBuffer&&aP['Content'][bB(0x1d2)]>0x0,aS=typeof aP['Content']=='string'&&aP['Content']!=='';if(aR||aS){let aT=this['parseImage'](aN[aO]);aM[aP['RelativeFilename']||aP['Filename']]=aT;}}}}for(let aU in aL){let aV=aL[aU];aM[aV]===void 0x0?aL[aU]=aL[aU]['split']('\x5c')['pop']():aL[aU]=aM[aV];}return aL;}['parseImage'](aL){const bC=br;let aM=aL['Content'],aN=aL['RelativeFilename']||aL['Filename'],aO=aN[bC(0x1ef)](aN['lastIndexOf']('.')+0x1)[bC(0x21e)](),aP;switch(aO){case'bmp':aP='image/bmp';break;case bC(0x184):case'jpeg':aP='image/jpeg';break;case'png':aP=bC(0x1b9);break;case'tif':aP='image/tiff';break;case'tga':this['manager']['getHandler']('.tga')===null&&console[bC(0x1f4)]('FBXLoader:\x20TGA\x20loader\x20not\x20found,\x20skipping\x20',aN),aP='image/tga';break;case'webp':aP='image/webp';break;default:console['warn']('FBXLoader:\x20Image\x20type\x20\x22'+aO+'\x22\x20is\x20not\x20supported.');return;}if(typeof aM==bC(0x16b))return'data:'+aP+bC(0x174)+aM;{let aQ=new Uint8Array(aM);return window['URL']['createObjectURL'](new Blob([aQ],{'type':aP}));}}['parseTextures'](aL){let aM=new Map();if('Texture'in V['Objects']){let aN=V['Objects']['Texture'];for(let aO in aN){let aP=this['parseTexture'](aN[aO],aL);aM['set'](parseInt(aO),aP);}}return aM;}['parseTexture'](aL,aM){const bD=br;let aN=this['loadTexture'](aL,aM);aN['ID']=aL['id'],aN['name']=aL[bD(0x1aa)];let aO=aL['WrapModeU'],aP=aL['WrapModeV'],aQ=aO===void 0x0?0x0:aO['value'],aR=aP===void 0x0?0x0:aP[bD(0x1b0)];if(aN['wrapS']=aQ===0x0?a5:aq,aN[bD(0x1ad)]=aR===0x0?a5:aq,'Scaling'in aL){let aS=aL['Scaling']['value'];aN['repeat']['x']=aS[0x0],aN['repeat']['y']=aS[0x1];}if('Translation'in aL){let aT=aL[bD(0x1f6)]['value'];aN['offset']['x']=aT[0x0],aN[bD(0x223)]['y']=aT[0x1];}return aN;}['loadTexture'](aL,aM){const bE=br;let aN=aL['FileName']['split']('.')['pop']()['toLowerCase'](),aO=this['manager']['getHandler']('.'+aN);aO===null&&(aO=this[bE(0x171)]);let aP=aO['path'];aP||aO['setPath'](this['textureLoader']['path']);let aQ=H['get'](aL['id'])['children'],aR;if(aQ!==void 0x0&&aQ['length']>0x0&&aM[aQ[0x0]['ID']]!==void 0x0&&(aR=aM[aQ[0x0]['ID']],(aR['indexOf'](bE(0x19c))===0x0||aR['indexOf']('data:')===0x0)&&aO['setPath'](void 0x0)),aR===void 0x0)return console['warn']('FBXLoader:\x20Undefined\x20filename,\x20creating\x20placeholder\x20texture.'),new af();let aS=aO['load'](aR);return aO['setPath'](aP),aS;}['parseMaterials'](aL){const bF=br;let aM=new Map();if('Material'in V[bF(0x235)]){let aN=V[bF(0x235)][bF(0x17f)];for(let aO in aN){let aP=this['parseMaterial'](aN[aO],aL);aP!==null&&aM['set'](parseInt(aO),aP);}}return aM;}['parseMaterial'](aL,aM){const bG=br;let aN=aL['id'],aO=aL['attrName'],aP=aL['ShadingModel'];if(typeof aP=='object'&&(aP=aP['value']),!H['has'](aN))return null;let aQ=this['parseParameters'](aL,aM,aN),aR;switch(aP['toLowerCase']()){case'phong':aR=new aA();break;case'lambert':aR=new au();break;default:console[bG(0x1f4)]('THREE.FBXLoader:\x20unknown\x20material\x20type\x20\x22%s\x22.\x20Defaulting\x20to\x20MeshPhongMaterial.',aP),aR=new aA();break;}return aR[bG(0x1b8)](aQ),aR['name']=aO,aR;}['parseParameters'](aL,aM,aN){const bH=br;let aO={};aL['BumpFactor']&&(aO['bumpScale']=aL['BumpFactor']['value']),aL['Diffuse']?aO['color']=as['colorSpaceToWorking'](new aw()['fromArray'](aL[bH(0x222)]['value']),aF):aL[bH(0x1f9)]&&(aL['DiffuseColor']['type']==='Color'||aL['DiffuseColor']['type']==='ColorRGB')&&(aO['color']=as[bH(0x204)](new aw()[bH(0x1f8)](aL[bH(0x1f9)]['value']),aF)),aL['DisplacementFactor']&&(aO['displacementScale']=aL['DisplacementFactor']['value']),aL['Emissive']?aO['emissive']=as[bH(0x204)](new aw()['fromArray'](aL[bH(0x1a6)]['value']),aF):aL['EmissiveColor']&&(aL['EmissiveColor']['type']===bH(0x1b4)||aL['EmissiveColor']['type']==='ColorRGB')&&(aO['emissive']=as[bH(0x204)](new aw()['fromArray'](aL['EmissiveColor']['value']),aF)),aL['EmissiveFactor']&&(aO['emissiveIntensity']=parseFloat(aL['EmissiveFactor']['value'])),aO['opacity']=0x1-(aL['TransparencyFactor']?parseFloat(aL['TransparencyFactor']['value']):0x0),(aO['opacity']===0x1||aO['opacity']===0x0)&&(aO[bH(0x1b5)]=aL[bH(0x1ff)]?parseFloat(aL['Opacity'][bH(0x1b0)]):null,aO['opacity']===null&&(aO[bH(0x1b5)]=0x1)),aO['opacity']<0x1&&(aO['transparent']=!0x0),aL['ReflectionFactor']&&(aO['reflectivity']=aL['ReflectionFactor'][bH(0x1b0)]),aL[bH(0x217)]&&(aO['shininess']=aL[bH(0x217)]['value']),aL[bH(0x22d)]?aO['specular']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['Specular']['value']),aF):aL['SpecularColor']&&aL['SpecularColor']['type']==='Color'&&(aO['specular']=as['colorSpaceToWorking'](new aw()['fromArray'](aL['SpecularColor']['value']),aF));let aP=this;return H['get'](aN)['children']['forEach'](function(aQ){const bI=bH;let aR=aQ['relationship'];switch(aR){case'Bump':aO['bumpMap']=aP['getTexture'](aM,aQ['ID']);break;case'Maya|TEX_ao_map':aO['aoMap']=aP['getTexture'](aM,aQ['ID']);break;case'DiffuseColor':case'Maya|TEX_color_map':aO['map']=aP['getTexture'](aM,aQ['ID']),aO['map']!==void 0x0&&(aO['map']['colorSpace']=aF);break;case'DisplacementColor':aO['displacementMap']=aP['getTexture'](aM,aQ['ID']);break;case'EmissiveColor':aO['emissiveMap']=aP['getTexture'](aM,aQ['ID']),aO['emissiveMap']!==void 0x0&&(aO['emissiveMap']['colorSpace']=aF);break;case'NormalMap':case'Maya|TEX_normal_map':aO['normalMap']=aP['getTexture'](aM,aQ['ID']);break;case'ReflectionColor':aO['envMap']=aP[bI(0x1c5)](aM,aQ['ID']),aO[bI(0x16c)]!==void 0x0&&(aO['envMap']['mapping']=0x12f,aO['envMap'][bI(0x230)]=aF);break;case'SpecularColor':aO['specularMap']=aP['getTexture'](aM,aQ['ID']),aO['specularMap']!==void 0x0&&(aO['specularMap']['colorSpace']=aF);break;case'TransparentColor':case'TransparencyFactor':aO['alphaMap']=aP['getTexture'](aM,aQ['ID']),aO['transparent']=!0x0;break;default:console['warn'](bI(0x20a),aR);break;}}),aO;}['getTexture'](aL,aM){return'LayeredTexture'in V['Objects']&&aM in V['Objects']['LayeredTexture']&&(console['warn']('THREE.FBXLoader:\x20layered\x20textures\x20are\x20not\x20supported\x20in\x20three.js.\x20Discarding\x20all\x20but\x20first\x20layer.'),aM=H['get'](aM)['children'][0x0]['ID']),aL['get'](aM);}['parseDeformers'](){const bJ=br;let aL={},aM={};if(bJ(0x22e)in V['Objects']){let aN=V['Objects']['Deformer'];for(let aO in aN){let aP=aN[aO],aQ=H['get'](parseInt(aO));if(aP['attrType']==='Skin'){let aR=this[bJ(0x20f)](aQ,aN);aR['ID']=aO,aQ[bJ(0x211)]['length']>0x1&&console['warn'](bJ(0x172)),aR['geometryID']=aQ['parents'][0x0]['ID'],aL[aO]=aR;}else{if(aP['attrType']==='BlendShape'){let aS={'id':aO};aS['rawTargets']=this['parseMorphTargets'](aQ,aN),aS['id']=aO,aQ['parents']['length']>0x1&&console[bJ(0x1f4)](bJ(0x203)),aM[aO]=aS;}}}}return{'skeletons':aL,'morphTargets':aM};}['parseSkeleton'](aL,aM){let aN=[];return aL['children']['forEach'](function(aO){const bK=a1;let aP=aM[aO['ID']];if(aP['attrType']!=='Cluster')return;let aQ={'ID':aO['ID'],'indices':[],'weights':[],'transformLink':new a2()['fromArray'](aP['TransformLink']['a'])};bK(0x23b)in aP&&(aQ['indices']=aP['Indexes']['a'],aQ['weights']=aP['Weights']['a']),aN[bK(0x1b2)](aQ);}),{'rawBones':aN,'bones':[]};}['parseMorphTargets'](aL,aM){let aN=[];for(let aO=0x0;aO<aL['children']['length'];aO++){let aP=aL['children'][aO],aQ=aM[aP['ID']],aR={'name':aQ['attrName'],'initialWeight':aQ['DeformPercent'],'id':aQ['id'],'fullWeights':aQ['FullWeights']['a']};if(aQ['attrType']!=='BlendShapeChannel')return;aR['geoID']=H['get'](parseInt(aP['ID']))['children']['filter'](function(aS){return aS['relationship']===void 0x0;})[0x0]['ID'],aN['push'](aR);}return aN;}['parseScene'](aL,aM,aN){const bO=br;U=new a7();let aO=this['parseModels'](aL['skeletons'],aM,aN),aP=V['Objects']['Model'],aQ=this;aO['forEach'](function(aV){const bL=a1;let aW=aP[aV['ID']];aQ[bL(0x233)](aV,aW),H['get'](aV['ID'])[bL(0x211)]['forEach'](function(aX){const bM=bL;let aY=aO[bM(0x185)](aX['ID']);aY!==void 0x0&&aY['add'](aV);}),aV['parent']===null&&U[bL(0x201)](aV);}),this['addGlobalSceneSettings'](),U['traverse'](function(aV){const bN=a1;if(aV['userData']['transformData']){aV['parent']&&(aV['userData']['transformData']['parentMatrix']=aV['parent']['matrix'],aV['userData'][bN(0x19d)]['parentMatrixWorld']=aV['parent']['matrixWorld']);let aW=X(aV['userData'][bN(0x19d)]);aV['applyMatrix4'](aW),aV['updateWorldMatrix']();}});let aR=this['parsePoseNodes'](),aS=new Set();for(let aV in aL['skeletons'])aL['skeletons'][aV]['rawBones'][bO(0x218)](function(aW,aX){const bP=bO;let aY=aL['skeletons'][aV][bP(0x1e7)][aX];aY&&aS['add'](aY['ID']);});let aT=new a2();U['traverse'](function(aW){if(aW['isBone']&&aW['ID']!==void 0x0&&!aS['has'](aW['ID'])){let aX=aR[aW['ID']];aX!==void 0x0&&(aW['parent']?(aT['copy'](aW['parent']['matrixWorld'])['invert'](),aT['multiply'](aX)):aT['copy'](aX),aT['decompose'](aW['position'],aW['quaternion'],aW['scale']),aW['updateMatrix'](),aW['matrixWorld']['copy'](aX));}}),this['bindSkeleton'](aL['skeletons'],aM,aO);let aU=new he()['parse']();U['children']['length']===0x1&&U[bO(0x18d)][0x0]['isGroup']&&(U['children'][0x0][bO(0x178)]=aU,U=U['children'][0x0]),U['animations']=aU,'GlobalSettings'in V&&'UpAxis'in V[bO(0x1cb)]&&V['GlobalSettings']['UpAxis']['value']===0x2&&(console[bO(0x1f4)](bO(0x1a4)),U['rotation'][bO(0x1d5)](-Math['PI']/0x2,0x0,0x0));}[br(0x214)](aL,aM,aN){const bQ=br;let aO=new Map(),aP=V['Objects']['Model'];for(let aQ in aP){let aR=parseInt(aQ),aS=aP[aQ],aT=H['get'](aR),aU=this['buildSkeleton'](aT,aL,aR,aS['attrName']);if(!aU){switch(aS['attrType']){case'Camera':aU=this[bQ(0x189)](aT);break;case'Light':aU=this['createLight'](aT);break;case'Mesh':aU=this[bQ(0x17a)](aT,aM,aN);break;case'NurbsCurve':aU=this['createCurve'](aT,aM);break;case'LimbNode':case'Root':aU=new av();break;default:aU=new a7();break;}aU['name']=aS[bQ(0x1aa)]?aD['sanitizeNodeName'](aS['attrName']):'',aU['userData']['originalName']=aS[bQ(0x1aa)],aU['ID']=aR;}this['getTransformData'](aU,aS),aO['set'](aR,aU);}return aO;}['buildSkeleton'](aL,aM,aN,aO){let aP=null;return aL['parents']['forEach'](function(aQ){for(let aR in aM){let aS=aM[aR];aS['rawBones']['forEach'](function(aT,aU){const bR=a1;if(aT['ID']===aQ['ID']){let aV=aP;aP=new av(),aP[bR(0x1e6)][bR(0x1b3)](aT['transformLink']),aP['name']=aO?aD['sanitizeNodeName'](aO):'',aP['userData'][bR(0x1ca)]=aO,aP['ID']=aN,aS['bones'][aU]=aP,aV!==null&&aP['add'](aV);}});}}),aP;}[br(0x189)](aL){const bT=br;let aM,aN;if(aL['children']['forEach'](function(aO){const bS=a1;let aP=V[bS(0x235)]['NodeAttribute'][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO=0x0;aN['CameraProjectionType']!==void 0x0&&aN[bT(0x199)]['value']===0x1&&(aO=0x1);let aP=0x1;aN['NearPlane']!==void 0x0&&(aP=aN['NearPlane'][bT(0x1b0)]/0x3e8);let aQ=0x3e8;aN['FarPlane']!==void 0x0&&(aQ=aN['FarPlane']['value']/0x3e8);let aR=window['innerWidth'],aS=window['innerHeight'];aN['AspectWidth']!==void 0x0&&aN['AspectHeight']!==void 0x0&&(aR=aN[bT(0x20b)][bT(0x1b0)],aS=aN['AspectHeight']['value']);let aT=aR/aS,aU=0x2d;aN['FieldOfView']!==void 0x0&&(aU=aN[bT(0x1da)]['value']);let aV=aN['FocalLength']?aN['FocalLength']['value']:null;switch(aO){case 0x0:aM=new ax(aU,aT,aP,aQ),aV!==null&&aM['setFocalLength'](aV);break;case 0x1:console[bT(0x1f4)]('THREE.FBXLoader:\x20Orthographic\x20cameras\x20not\x20supported\x20yet.'),aM=new ao();break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20camera\x20type\x20'+aO+'.'),aM=new ao();break;}}return aM;}[br(0x1b7)](aL){const bU=br;let aM,aN;if(aL['children'][bU(0x218)](function(aO){let aP=V['Objects']['NodeAttribute'][aO['ID']];aP!==void 0x0&&(aN=aP);}),aN===void 0x0)aM=new ao();else{let aO;aO=aN['LightType']===void 0x0?0x0:aN['LightType']['value'];let aP=0xffffff;aN['Color']!==void 0x0&&(aP=as['colorSpaceToWorking'](new aw()['fromArray'](aN['Color']['value']),aF));let aQ=aN['Intensity']===void 0x0?0x1:aN['Intensity']['value']/0x64;aN['CastLightOnObject']!==void 0x0&&aN[bU(0x1de)][bU(0x1b0)]===0x0&&(aQ=0x0);let aR=0x0;switch(aN['FarAttenuationEnd']!==void 0x0&&(aR=aN['EnableFarAttenuation']!==void 0x0&&aN[bU(0x206)]['value']===0x0?0x0:aN['FarAttenuationEnd']['value']),aO){case 0x0:aM=new ar(aP,aQ,aR,0x1);break;case 0x1:aM=new aG(aP,aQ);break;case 0x2:let aS=Math['PI']/0x3,aT=0x0;aN['OuterAngle']===void 0x0?aN['InnerAngle']!==void 0x0&&(aS=al['degToRad'](aN['InnerAngle'][bU(0x1b0)])):(aS=al['degToRad'](aN['OuterAngle']['value']),aN['InnerAngle']!==void 0x0&&(aT=0x1-aN['InnerAngle']['value']/aN[bU(0x1d3)]['value'],aT=Math['max'](0x0,aT))),aM=new ac(aP,aQ,aR,aS,aT,0x1);break;default:console['warn']('THREE.FBXLoader:\x20Unknown\x20light\x20type\x20'+aN[bU(0x1af)][bU(0x1b0)]+',\x20defaulting\x20to\x20a\x20PointLight.'),aM=new ar(aP,aQ);break;}aN[bU(0x1f7)]!==void 0x0&&aN['CastShadows']['value']===0x1&&(aM[bU(0x188)]=!0x0);}return aM;}['createMesh'](aL,aM,aN){const bV=br;let aO,aP=null,aQ=null,aR=[];if(aL['children'][bV(0x218)](function(aS){const bW=bV;aM['has'](aS['ID'])&&(aP=aM['get'](aS['ID'])),aN['has'](aS['ID'])&&aR['push'](aN[bW(0x185)](aS['ID']));}),aR['length']>0x1?aQ=aR:aR['length']>0x0?aQ=aR[0x0]:(aQ=new aA({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0xcccccc}),aR['push'](aQ)),'color'in aP['attributes']&&aR[bV(0x218)](function(aS){aS['vertexColors']=!0x0;}),aP['groups']['length']>0x0){let aS=!0x1;for(let aT=0x0,aU=aP[bV(0x1e5)]['length'];aT<aU;aT++){let aV=aP['groups'][aT];(aV['materialIndex']<0x0||aV['materialIndex']>=aR['length'])&&(aV['materialIndex']=aR[bV(0x19a)],aS=!0x0);}if(aS){let aW=new aA();aR['push'](aW);}}return aP['FBX_Deformer']?(aO=new ad(aP,aQ),aO['normalizeSkinWeights']()):aO=new ap(aP,aQ),aO;}['createCurve'](aL,aM){const bX=br;return new ah(aL[bX(0x18d)][bX(0x1c3)](function(aN,aO){const bY=bX;return aM['has'](aO['ID'])&&(aN=aM[bY(0x185)](aO['ID'])),aN;},null),new aI({'name':ab['DEFAULT_MATERIAL_NAME'],'color':0x3300ff,'linewidth':0x1}));}['getTransformData'](aL,aM){const bZ=br;let aN={};'InheritType'in aM&&(aN['inheritType']=parseInt(aM['InheritType']['value'])),bZ(0x20d)in aM?aN[bZ(0x1ec)]=Z(aM['RotationOrder']['value']):aN['eulerOrder']=Z(0x0),'Lcl_Translation'in aM&&(aN['translation']=aM['Lcl_Translation']['value']),'PreRotation'in aM&&(aN['preRotation']=aM['PreRotation']['value']),bZ(0x1e1)in aM&&(aN['rotation']=aM['Lcl_Rotation']['value']),'PostRotation'in aM&&(aN['postRotation']=aM[bZ(0x1bd)]['value']),'Lcl_Scaling'in aM&&(aN['scale']=aM[bZ(0x187)]['value']),'ScalingOffset'in aM&&(aN['scalingOffset']=aM['ScalingOffset']['value']),'ScalingPivot'in aM&&(aN['scalingPivot']=aM['ScalingPivot']['value']),'RotationOffset'in aM&&(aN['rotationOffset']=aM['RotationOffset']['value']),'RotationPivot'in aM&&(aN['rotationPivot']=aM['RotationPivot']['value']),aL['userData']['transformData']=aN;}['setLookAtProperties'](aL,aM){'LookAtProperty'in aM&&H['get'](aL['ID'])['children']['forEach'](function(aN){const c0=a1;if(aN['relationship']==='LookAtProperty'){let aO=V['Objects']['Model'][aN['ID']];if('Lcl_Translation'in aO){let aP=aO['Lcl_Translation']['value'];aL['target']===void 0x0?aL['lookAt'](new a3()['fromArray'](aP)):(aL['target']['position']['fromArray'](aP),U[c0(0x201)](aL['target']));}}});}['bindSkeleton'](aL,aM,aN){const c1=br;for(let aO in aL){let aP=aL[aO],aQ=[];for(let aR=0x0,aS=aP['bones']['length'];aR<aS;aR++){let aT=new a2();aP['bones'][aR]&&aP[c1(0x195)][aR]&&aT['copy'](aP[c1(0x195)][aR]['transformLink'])['invert'](),aQ['push'](aT);}H['get'](parseInt(aP['ID']))['parents'][c1(0x218)](function(aU){const c2=c1;if(aM['has'](aU['ID'])){let aV=aU['ID'];H[c2(0x185)](aV)['parents']['forEach'](function(aW){const c3=c2;if(aN[c3(0x1ed)](aW['ID'])){let aX=aN['get'](aW['ID']);aX['updateMatrixWorld'](!0x0),aX['bind'](new a6(aP['bones'],aQ),aX[c3(0x1e6)]);}});}});}}['parsePoseNodes'](){const c4=br;let aL={};if('Pose'in V['Objects']){let aM=V['Objects']['Pose'];for(let aN in aM)if(aM[aN]['attrType']==='BindPose'&&aM[aN]['NbPoseNodes']>0x0){let aO=aM[aN][c4(0x210)];Array['isArray'](aO)?aO['forEach'](function(aP){aL[aP['Node']]=new a2()['fromArray'](aP['Matrix']['a']);}):aL[aO['Node']]=new a2()['fromArray'](aO[c4(0x1c0)]['a']);}}return aL;}[br(0x224)](){const c5=br;if('GlobalSettings'in V){if('AmbientColor'in V['GlobalSettings']){let aL=V['GlobalSettings']['AmbientColor'][c5(0x1b0)],aM=aL[0x0],aN=aL[0x1],aO=aL[0x2];if(aM!==0x0||aN!==0x0||aO!==0x0){let aP=new aw()['setRGB'](aM,aN,aO,aF);U['add'](new at(aP,0x1));}}'UnitScaleFactor'in V['GlobalSettings']&&(U['userData'][c5(0x183)]=V['GlobalSettings'][c5(0x241)][c5(0x1b0)]);}}},me=class{constructor(){const c6=br;this[c6(0x231)]=!0x1;}[br(0x1a5)](aL){const c7=br;let aM=new Map();if('Geometry'in V['Objects']){let aN=V['Objects']['Geometry'];for(let aO in aN){let aP=H['get'](parseInt(aO)),aQ=this['parseGeometry'](aP,aN[aO],aL);aM[c7(0x1d5)](parseInt(aO),aQ);}}return this['negativeMaterialIndices']===!0x0&&console['warn']('THREE.FBXLoader:\x20The\x20FBX\x20file\x20contains\x20invalid\x20(negative)\x20material\x20indices.\x20The\x20asset\x20might\x20not\x20render\x20as\x20expected.'),aM;}[br(0x23d)](aL,aM,aN){const c8=br;switch(aM['attrType']){case'Mesh':return this['parseMeshGeometry'](aL,aM,aN);case'NurbsCurve':return this[c8(0x19e)](aM);}}['parseMeshGeometry'](aL,aM,aN){const c9=br;let aO=aN[c9(0x21d)],aP=[],aQ=aL[c9(0x211)]['map'](function(aV){return V['Objects']['Model'][aV['ID']];});if(aQ['length']===0x0)return;let aR=aL['children']['reduce'](function(aV,aW){return aO[aW['ID']]!==void 0x0&&(aV=aO[aW['ID']]),aV;},null);aL['children']['forEach'](function(aV){const ca=c9;aN[ca(0x240)][aV['ID']]!==void 0x0&&aP['push'](aN['morphTargets'][aV['ID']]);});let aS=aQ[0x0],aT={};'RotationOrder'in aS&&(aT['eulerOrder']=Z(aS['RotationOrder']['value'])),'InheritType'in aS&&(aT['inheritType']=parseInt(aS['InheritType']['value'])),c9(0x1db)in aS&&(aT['translation']=aS['GeometricTranslation']['value']),'GeometricRotation'in aS&&(aT['rotation']=aS['GeometricRotation']['value']),'GeometricScaling'in aS&&(aT['scale']=aS['GeometricScaling']['value']);let aU=X(aT);return this['genGeometry'](aM,aR,aP,aU);}['genGeometry'](aL,aM,aN,aO){const cb=br;let aP=new aB();aL['attrName']&&(aP['name']=aL['attrName']);let aQ=this['parseGeoNode'](aL,aM),aR=this['genBuffers'](aQ),aS=new aE(aR['vertex'],0x3);if(aS[cb(0x1ac)](aO),aP['setAttribute'](cb(0x1bc),aS),aR['colors']['length']>0x0&&aP['setAttribute']('color',new aE(aR[cb(0x191)],0x3)),aM&&(aP['setAttribute']('skinIndex',new ai(aR['weightsIndices'],0x4)),aP['setAttribute']('skinWeight',new aE(aR['vertexWeights'],0x4)),aP['FBX_Deformer']=aM),aR['normal']['length']>0x0){let aT=new ag()['getNormalMatrix'](aO),aU=new aE(aR['normal'],0x3);aU['applyNormalMatrix'](aT),aP['setAttribute'](cb(0x196),aU);}if(aR[cb(0x18f)]['forEach'](function(aV,aW){let aX=aW===0x0?'uv':'uv'+aW;aP['setAttribute'](aX,new aE(aR['uvs'][aW],0x2));}),aQ['material']&&aQ['material']['mappingType']!=='AllSame'){let aV=aR[cb(0x1cd)][0x0],aW=0x0;if(aR['materialIndex']['forEach'](function(aX,aY){const cc=cb;aX!==aV&&(aP[cc(0x1dc)](aW,aY-aW,aV),aV=aX,aW=aY);}),aP['groups']['length']>0x0){let aX=aP[cb(0x1e5)][aP['groups']['length']-0x1],aY=aX['start']+aX['count'];aY!==aR['materialIndex']['length']&&aP[cb(0x1dc)](aY,aR['materialIndex']['length']-aY,aV);}aP['groups']['length']===0x0&&aP['addGroup'](0x0,aR['materialIndex'][cb(0x19a)],aR['materialIndex'][0x0]);}return this['addMorphTargets'](aP,aL,aN,aO),aP;}[br(0x186)](aL,aM){const cd=br;let aN={};if(aN['vertexPositions']=aL[cd(0x19f)]===void 0x0?[]:aL['Vertices']['a'],aN['vertexIndices']=aL['PolygonVertexIndex']===void 0x0?[]:aL[cd(0x17c)]['a'],aL[cd(0x244)]&&aL['LayerElementColor'][0x0]['Colors']&&(aN['color']=this['parseVertexColors'](aL['LayerElementColor'][0x0])),aL[cd(0x207)]&&(aN['material']=this['parseMaterialIndices'](aL['LayerElementMaterial'][0x0])),aL['LayerElementNormal']&&(aN[cd(0x196)]=this['parseNormals'](aL['LayerElementNormal'][0x0])),aL[cd(0x21a)]){aN['uv']=[];let aO=0x0;for(;aL['LayerElementUV'][aO];)aL['LayerElementUV'][aO]['UV']&&aN['uv']['push'](this[cd(0x192)](aL[cd(0x21a)][aO])),aO++;}return aN[cd(0x175)]={},aM!==null&&(aN[cd(0x221)]=aM,aM[cd(0x195)]['forEach'](function(aP,aQ){aP['indices']['forEach'](function(aR,aS){const cf=a1;aN['weightTable'][aR]===void 0x0&&(aN['weightTable'][aR]=[]),aN[cf(0x175)][aR]['push']({'id':aQ,'weight':aP['weights'][aS]});});})),aN;}['genBuffers'](aL){let aM={'vertex':[],'normal':[],'colors':[],'uvs':[],'materialIndex':[],'vertexWeights':[],'weightsIndices':[]},aN=0x0,aO=0x0,aP=!0x1,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[],aW=this;return aL['vertexIndices']['forEach'](function(aX,aY){const cg=a1;let aZ,b0=!0x1;aX<0x0&&(aX^=-0x1,b0=!0x0);let b1=[],b2=[];if(aQ['push'](aX*0x3,aX*0x3+0x1,aX*0x3+0x2),aL['color']){let b3=q(aY,aN,aX,aL['color']);aS['push'](b3[0x0],b3[0x1],b3[0x2]);}if(aL[cg(0x221)]){if(aL['weightTable'][aX]!==void 0x0&&aL['weightTable'][aX]['forEach'](function(b4){b2['push'](b4['weight']),b1['push'](b4['id']);}),b2['length']>0x4){aP||(console[cg(0x1f4)]('THREE.FBXLoader:\x20Vertex\x20has\x20more\x20than\x204\x20skinning\x20weights\x20assigned\x20to\x20vertex.\x20Deleting\x20additional\x20weights.'),aP=!0x0);let b4=[0x0,0x0,0x0,0x0],b5=[0x0,0x0,0x0,0x0];b2['forEach'](function(b6,b7){let b8=b6,b9=b1[b7];b5['forEach'](function(ba,bb,bc){if(b8>ba){bc[bb]=b8,b8=ba;let bd=b4[bb];b4[bb]=b9,b9=bd;}});}),b1=b4,b2=b5;}for(;b2['length']<0x4;)b2['push'](0x0),b1['push'](0x0);for(let b6=0x0;b6<0x4;++b6)aU['push'](b2[b6]),aV['push'](b1[b6]);}if(aL['normal']){let b7=q(aY,aN,aX,aL['normal']);aR['push'](b7[0x0],b7[0x1],b7[0x2]);}aL[cg(0x238)]&&aL['material']['mappingType']!=='AllSame'&&(aZ=q(aY,aN,aX,aL['material'])[0x0],aZ<0x0&&(aW[cg(0x231)]=!0x0,aZ=0x0)),aL['uv']&&aL['uv']['forEach'](function(b8,b9){let ba=q(aY,aN,aX,b8);aT[b9]===void 0x0&&(aT[b9]=[]),aT[b9]['push'](ba[0x0]),aT[b9]['push'](ba[0x1]);}),aO++,b0&&(aW['genFace'](aM,aL,aQ,aZ,aR,aS,aT,aU,aV,aO),aN++,aO=0x0,aQ=[],aR=[],aS=[],aT=[],aU=[],aV=[]);}),aM;}[br(0x1f3)](aL){const ch=br;let aM=new a3(0x0,0x0,0x0);for(let aN=0x0;aN<aL['length'];aN++){let aO=aL[aN],aP=aL[(aN+0x1)%aL[ch(0x19a)]];aM['x']+=(aO['y']-aP['y'])*(aO['z']+aP['z']),aM['y']+=(aO['z']-aP['z'])*(aO['x']+aP['x']),aM['z']+=(aO['x']-aP['x'])*(aO['y']+aP['y']);}return aM['normalize'](),aM;}['getNormalTangentAndBitangent'](aL){const ci=br;let aM=this['getNormalNewell'](aL),aN=(Math['abs'](aM['z'])>0.5?new a3(0x0,0x1,0x0):new a3(0x0,0x0,0x1))['cross'](aM)[ci(0x1eb)]();return{'normal':aM,'tangent':aN,'bitangent':aM[ci(0x216)]()['cross'](aN)['normalize']()};}['flattenVertex'](aL,aM,aN){return new aJ(aL['dot'](aM),aL['dot'](aN));}['genFace'](aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU){const cj=br;let aV;if(aU>0x3){let aW=[],aX=aM['baseVertexPositions']||aM['vertexPositions'];for(let b1=0x0;b1<aN['length'];b1+=0x3)aW['push'](new a3(aX[aN[b1]],aX[aN[b1+0x1]],aX[aN[b1+0x2]]));let {tangent:aY,bitangent:aZ}=this['getNormalTangentAndBitangent'](aW),b0=[];for(let b2 of aW)b0['push'](this['flattenVertex'](b2,aY,aZ));aV=a8['triangulateShape'](b0,[]);}else aV=[[0x0,0x1,0x2]];for(let [b3,b4,b5]of aV)aL['vertex']['push'](aM['vertexPositions'][aN[b3*0x3]]),aL['vertex'][cj(0x1b2)](aM['vertexPositions'][aN[b3*0x3+0x1]]),aL['vertex']['push'](aM['vertexPositions'][aN[b3*0x3+0x2]]),aL['vertex'][cj(0x1b2)](aM['vertexPositions'][aN[b4*0x3]]),aL['vertex'][cj(0x1b2)](aM['vertexPositions'][aN[b4*0x3+0x1]]),aL['vertex']['push'](aM[cj(0x1ae)][aN[b4*0x3+0x2]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3]]),aL['vertex']['push'](aM['vertexPositions'][aN[b5*0x3+0x1]]),aL['vertex']['push'](aM[cj(0x1ae)][aN[b5*0x3+0x2]]),aM['skeleton']&&(aL['vertexWeights']['push'](aS[b3*0x4]),aL['vertexWeights']['push'](aS[b3*0x4+0x1]),aL[cj(0x1cc)]['push'](aS[b3*0x4+0x2]),aL['vertexWeights']['push'](aS[b3*0x4+0x3]),aL['vertexWeights'][cj(0x1b2)](aS[b4*0x4]),aL[cj(0x1cc)]['push'](aS[b4*0x4+0x1]),aL['vertexWeights']['push'](aS[b4*0x4+0x2]),aL['vertexWeights']['push'](aS[b4*0x4+0x3]),aL['vertexWeights']['push'](aS[b5*0x4]),aL['vertexWeights']['push'](aS[b5*0x4+0x1]),aL[cj(0x1cc)]['push'](aS[b5*0x4+0x2]),aL['vertexWeights']['push'](aS[b5*0x4+0x3]),aL['weightsIndices']['push'](aT[b3*0x4]),aL['weightsIndices'][cj(0x1b2)](aT[b3*0x4+0x1]),aL['weightsIndices']['push'](aT[b3*0x4+0x2]),aL[cj(0x209)]['push'](aT[b3*0x4+0x3]),aL[cj(0x209)]['push'](aT[b4*0x4]),aL['weightsIndices']['push'](aT[b4*0x4+0x1]),aL['weightsIndices'][cj(0x1b2)](aT[b4*0x4+0x2]),aL[cj(0x209)]['push'](aT[b4*0x4+0x3]),aL[cj(0x209)]['push'](aT[b5*0x4]),aL['weightsIndices']['push'](aT[b5*0x4+0x1]),aL['weightsIndices']['push'](aT[b5*0x4+0x2]),aL['weightsIndices']['push'](aT[b5*0x4+0x3])),aM['color']&&(aL['colors']['push'](aQ[b3*0x3]),aL['colors'][cj(0x1b2)](aQ[b3*0x3+0x1]),aL['colors'][cj(0x1b2)](aQ[b3*0x3+0x2]),aL['colors'][cj(0x1b2)](aQ[b4*0x3]),aL['colors'][cj(0x1b2)](aQ[b4*0x3+0x1]),aL[cj(0x191)]['push'](aQ[b4*0x3+0x2]),aL['colors'][cj(0x1b2)](aQ[b5*0x3]),aL['colors']['push'](aQ[b5*0x3+0x1]),aL['colors']['push'](aQ[b5*0x3+0x2])),aM[cj(0x238)]&&aM['material']['mappingType']!=='AllSame'&&(aL['materialIndex']['push'](aO),aL['materialIndex']['push'](aO),aL['materialIndex']['push'](aO)),aM['normal']&&(aL['normal']['push'](aP[b3*0x3]),aL['normal'][cj(0x1b2)](aP[b3*0x3+0x1]),aL['normal']['push'](aP[b3*0x3+0x2]),aL['normal']['push'](aP[b4*0x3]),aL['normal'][cj(0x1b2)](aP[b4*0x3+0x1]),aL['normal']['push'](aP[b4*0x3+0x2]),aL['normal']['push'](aP[b5*0x3]),aL['normal'][cj(0x1b2)](aP[b5*0x3+0x1]),aL['normal']['push'](aP[b5*0x3+0x2])),aM['uv']&&aM['uv']['forEach'](function(b6,b7){const ck=cj;aL[ck(0x18f)][b7]===void 0x0&&(aL[ck(0x18f)][b7]=[]),aL['uvs'][b7]['push'](aR[b7][b3*0x2]),aL['uvs'][b7][ck(0x1b2)](aR[b7][b3*0x2+0x1]),aL['uvs'][b7]['push'](aR[b7][b4*0x2]),aL['uvs'][b7][ck(0x1b2)](aR[b7][b4*0x2+0x1]),aL['uvs'][b7]['push'](aR[b7][b5*0x2]),aL[ck(0x18f)][b7][ck(0x1b2)](aR[b7][b5*0x2+0x1]);});}['addMorphTargets'](aL,aM,aN,aO){const cl=br;if(aN['length']===0x0)return;aL['morphTargetsRelative']=!0x0,aL['morphAttributes']['position']=[];let aP=aO['clone']()['setPosition'](0x0,0x0,0x0),aQ=this;aN[cl(0x218)](function(aR){aR['rawTargets']['forEach'](function(aS){const cm=a1;let aT=V['Objects'][cm(0x16e)][aS[cm(0x1d0)]];aT!==void 0x0&&aQ['genMorphGeometry'](aL,aM,aT,aP,aS['name']);});});}['genMorphGeometry'](aL,aM,aN,aO,aP){const cn=br;let aQ=aM['Vertices']===void 0x0?[]:aM['Vertices']['a'],aR=aM['PolygonVertexIndex']===void 0x0?[]:aM['PolygonVertexIndex']['a'],aS=aN['Vertices']===void 0x0?[]:aN['Vertices']['a'],aT=aN['Indexes']===void 0x0?[]:aN['Indexes']['a'],aU=aL['attributes'][cn(0x1bc)]['count']*0x3,aV=new Float32Array(aU);for(let aY=0x0;aY<aT['length'];aY++){let aZ=aT[aY]*0x3;aV[aZ]=aS[aY*0x3],aV[aZ+0x1]=aS[aY*0x3+0x1],aV[aZ+0x2]=aS[aY*0x3+0x2];}let aW={'vertexIndices':aR,'vertexPositions':aV,'baseVertexPositions':aQ},aX=new aE(this['genBuffers'](aW)['vertex'],0x3);aX[cn(0x1a3)]=aP||aN['attrName'],aX['applyMatrix4'](aO),aL['morphAttributes']['position']['push'](aX);}['parseNormals'](aL){const co=br;let aM=aL['MappingInformationType'],aN=aL[co(0x197)],aO=aL[co(0x1d6)]['a'],aP=[];return aN==='IndexToDirect'&&('NormalIndex'in aL?aP=aL['NormalIndex']['a']:'NormalsIndex'in aL&&(aP=aL['NormalsIndex']['a'])),{'dataSize':0x3,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}[br(0x192)](aL){let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'],aO=aL['UV']['a'],aP=[];return aN==='IndexToDirect'&&(aP=aL['UVIndex']['a']),{'dataSize':0x2,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseVertexColors'](aL){const cp=br;let aM=aL['MappingInformationType'],aN=aL[cp(0x197)],aO=aL['Colors']['a'],aP=[];aN===cp(0x1e2)&&(aP=aL['ColorIndex']['a']);for(let aQ=0x0,aR=new aw();aQ<aO['length'];aQ+=0x4)aR['fromArray'](aO,aQ),as['colorSpaceToWorking'](aR,aF),aR['toArray'](aO,aQ);return{'dataSize':0x4,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseMaterialIndices'](aL){const cq=br;let aM=aL['MappingInformationType'],aN=aL['ReferenceInformationType'];if(aM==='NoMappingInformation')return{'dataSize':0x1,'buffer':[0x0],'indices':[0x0],'mappingType':'AllSame','referenceType':aN};let aO=aL['Materials']['a'],aP=[];for(let aQ=0x0;aQ<aO[cq(0x19a)];++aQ)aP[cq(0x1b2)](aQ);return{'dataSize':0x1,'buffer':aO,'indices':aP,'mappingType':aM,'referenceType':aN};}['parseNurbsGeometry'](aL){const cr=br;let aM=parseInt(aL['Order']);if(isNaN(aM))return console['error']('THREE.FBXLoader:\x20Invalid\x20Order\x20%s\x20given\x20for\x20geometry\x20ID:\x20%s',aL['Order'],aL['id']),new aB();let aN=aM-0x1,aO=aL[cr(0x17d)]['a'],aP=[],aQ=aL['Points']['a'];for(let aU=0x0,aV=aQ[cr(0x19a)];aU<aV;aU+=0x4)aP['push'](new ak()['fromArray'](aQ,aU));let aR,aS;if(aL['Form']==='Closed')aP[cr(0x1b2)](aP[0x0]);else{if(aL['Form']===cr(0x1ab)){aR=aN,aS=aO['length']-0x1-aR;for(let aW=0x0;aW<aN;++aW)aP[cr(0x1b2)](aP[aW]);}}let aT=new B(aN,aO,aP,aR,aS)['getPoints'](aP['length']*0xc);return new aB()['setFromPoints'](aT);}},he=class{['parse'](){let aL=[],aM=this['parseClips']();if(aM!==void 0x0)for(let aN in aM){let aO=aM[aN],aP=this['addClip'](aO);aL['push'](aP);}return aL;}['parseClips'](){if(V['Objects']['AnimationCurve']===void 0x0)return;let aL=this['parseAnimationCurveNodes']();this['parseAnimationCurves'](aL);let aM=this['parseAnimationLayers'](aL);return this['parseAnimStacks'](aM);}[br(0x16a)](){const cs=br;let aL=V['Objects']['AnimationCurveNode'],aM=new Map();for(let aN in aL){let aO=aL[aN];if(aO['attrName']['match'](/S|R|T|DeformPercent/)!==null){let aP={'id':aO['id'],'attr':aO['attrName'],'curves':{}};aM[cs(0x1d5)](aP['id'],aP);}}return aM;}['parseAnimationCurves'](aL){const ct=br;let aM=V['Objects'][ct(0x21b)];for(let aN in aM){let aO={'id':aM[aN]['id'],'times':aM[aN]['KeyTime']['a'][ct(0x236)](be),'values':aM[aN]['KeyValueFloat']['a']},aP=H['get'](aO['id']);if(aP!==void 0x0){let aQ=aP['parents'][0x0]['ID'],aR=aP['parents'][0x0]['relationship'];aR[ct(0x1fe)](/X/)?aL['get'](aQ)['curves']['x']=aO:aR['match'](/Y/)?aL['get'](aQ)['curves']['y']=aO:aR['match'](/Z/)?aL['get'](aQ)['curves']['z']=aO:aR['match'](/DeformPercent/)&&aL['has'](aQ)&&(aL['get'](aQ)['curves']['morph']=aO);}}}['parseAnimationLayers'](aL){let aM=V['Objects']['AnimationLayer'],aN=new Map();for(let aO in aM){let aP=[],aQ=H['get'](parseInt(aO));aQ!==void 0x0&&(aQ['children']['forEach'](function(aR,aS){const cu=a1;if(aL['has'](aR['ID'])){let aT=aL['get'](aR['ID']);if(aT['curves']['x']!==void 0x0||aT['curves']['y']!==void 0x0||aT[cu(0x1c6)]['z']!==void 0x0){if(aP[aS]===void 0x0){let aU=H['get'](aR['ID'])[cu(0x211)]['filter'](function(aW){const cv=cu;return aW[cv(0x179)]!==void 0x0;});if(aU['length']===0x0)return;let aV=aU[0x0]['ID'];if(aV!==void 0x0){let aW=V[cu(0x235)]['Model'][aV['toString']()];if(aW===void 0x0){console['warn']('THREE.FBXLoader:\x20Encountered\x20a\x20unused\x20curve.',aR);return;}let aX={'modelName':aW[cu(0x1aa)]?aD[cu(0x176)](aW['attrName']):'','ID':aW['id'],'initialPosition':[0x0,0x0,0x0],'initialRotation':[0x0,0x0,0x0],'initialScale':[0x1,0x1,0x1]};U['traverse'](function(aY){const cw=cu;aY['ID']===aW['id']&&(aX['transform']=aY['matrix'],aY['userData'][cw(0x19d)]&&(aX['eulerOrder']=aY['userData'][cw(0x19d)]['eulerOrder'],aY[cw(0x22f)]['transformData']['rotation']&&(aX[cw(0x202)]=aY[cw(0x22f)]['transformData']['rotation'])));}),aX[cu(0x1c9)]||(aX[cu(0x1c9)]=new a2()),cu(0x226)in aW&&(aX[cu(0x1c8)]=aW['PreRotation']['value']),'PostRotation'in aW&&(aX['postRotation']=aW['PostRotation']['value']),aP[aS]=aX;}}aP[aS]&&(aP[aS][aT['attr']]=aT);}else{if(aT['curves']['morph']!==void 0x0){if(aP[aS]===void 0x0){let aY=H['get'](aR['ID'])['parents']['filter'](function(b4){return b4['relationship']!==void 0x0;});if(aY['length']===0x0)return;let aZ=aY[0x0]['ID'],b0=H['get'](aZ)['parents'][0x0]['ID'],b1=H['get'](b0)['parents'][0x0]['ID'],b2=H['get'](b1)['parents'][0x0]['ID'],b3=V['Objects'][cu(0x1c4)][b2];aP[aS]={'modelName':b3['attrName']?aD['sanitizeNodeName'](b3['attrName']):'','morphName':V['Objects']['Deformer'][aZ]['attrName']};}aP[aS][aT['attr']]=aT;}}}}),aN['set'](parseInt(aO),aP));}return aN;}['parseAnimStacks'](aL){const cx=br;let aM=V['Objects']['AnimationStack'],aN={};for(let aO in aM){let aP=H['get'](parseInt(aO))[cx(0x18d)];aP[cx(0x19a)]>0x1&&console['warn']('THREE.FBXLoader:\x20Encountered\x20an\x20animation\x20stack\x20with\x20multiple\x20layers,\x20this\x20is\x20currently\x20not\x20supported.\x20Ignoring\x20subsequent\x20layers.');let aQ=aL[cx(0x185)](aP[0x0]['ID']);aN[aO]={'name':aM[aO]['attrName'],'layer':aQ};}return aN;}['addClip'](aL){let aM=[],aN=this;return aL['layer']['forEach'](function(aO){aM=aM['concat'](aN['generateTracks'](aO));}),new az(aL['name'],-0x1,aM);}['generateTracks'](aL){const cy=br;let aM=[],aN=new a3(),aO=new a3();if(aL['transform']&&aL['transform']['decompose'](aN,new aH(),aO),aN=aN[cy(0x229)](),aO=aO['toArray'](),aL['T']!==void 0x0&&Object['keys'](aL['T']['curves'])['length']>0x0){let aP=this['generateVectorTrack'](aL[cy(0x1f2)],aL['T']['curves'],aN,'position');aP!==void 0x0&&aM['push'](aP);}if(aL['R']!==void 0x0&&Object['keys'](aL['R']['curves'])[cy(0x19a)]>0x0){let aQ=this['generateRotationTrack'](aL['modelName'],aL['R']['curves'],aL['preRotation'],aL['postRotation'],aL['eulerOrder'],aL[cy(0x202)]);aQ!==void 0x0&&aM[cy(0x1b2)](aQ);}if(aL['S']!==void 0x0&&Object['keys'](aL['S']['curves'])['length']>0x0){let aR=this[cy(0x1fa)](aL['modelName'],aL['S']['curves'],aO,'scale');aR!==void 0x0&&aM[cy(0x1b2)](aR);}if(aL['DeformPercent']!==void 0x0){let aS=this['generateMorphTrack'](aL);aS!==void 0x0&&aM[cy(0x1b2)](aS);}return aM;}['generateVectorTrack'](aL,aM,aN,aO){const cz=br;let aP=this[cz(0x1a9)](aM),aQ=this['getKeyframeTrackValues'](aP,aM,aN);return new aa(aL+'.'+aO,aP,aQ);}['generateRotationTrack'](aL,aM,aN,aO,aP,aQ){const cA=br;let aR,aS;if(aM['x']!==void 0x0||aM['y']!==void 0x0||aM['z']!==void 0x0){let aX=this['getTimesForAllAxes'](aM);if(aX['length']>0x0){let aY=aQ||[0x0,0x0,0x0],aZ=this['synchronizeCurve'](aM['x'],aX,aY[0x0]),b0=this[cA(0x1d8)](aM['y'],aX,aY[0x1]),b1=this['synchronizeCurve'](aM['z'],aX,aY[0x2]),b2=this['interpolateRotations'](aZ,b0,b1,aP);aR=b2[0x0],aS=b2[0x1];}}let aT=Z(0x0);aN!==void 0x0&&(aN=aN['map'](al['degToRad']),aN[cA(0x1b2)](aT),aN=new aj()['fromArray'](aN),aN=new aH()[cA(0x227)](aN)),aO!==void 0x0&&(aO=aO['map'](al['degToRad']),aO[cA(0x1b2)](aT),aO=new aj()['fromArray'](aO),aO=new aH()[cA(0x227)](aO)['invert']());let aU=new aH(),aV=new aj(),aW=[];if(!(!aS||!aR)){for(let b3=0x0;b3<aS['length'];b3+=0x3)aV['set'](aS[b3],aS[b3+0x1],aS[b3+0x2],aP),aU['setFromEuler'](aV),aN!==void 0x0&&aU['premultiply'](aN),aO!==void 0x0&&aU[cA(0x1be)](aO),b3>0x2&&new aH()['fromArray'](aW,(b3-0x3)/0x3*0x4)['dot'](aU)<0x0&&aU['set'](-aU['x'],-aU['y'],-aU['z'],-aU['w']),aU['toArray'](aW,b3/0x3*0x4);return new an(aL+cA(0x212),aR,aW);}}['generateMorphTrack'](aL){const cB=br;let aM=aL['DeformPercent'][cB(0x1c6)]['morph'],aN=aM[cB(0x239)]['map'](function(aP){return aP/0x64;}),aO=U['getObjectByName'](aL['modelName'])['morphTargetDictionary'][aL['morphName']];return new aC(aL['modelName']+'.morphTargetInfluences['+aO+']',aM[cB(0x228)],aN);}['getTimesForAllAxes'](aL){const cC=br;let aM=[];if(aL['x']!==void 0x0&&(aM=aM[cC(0x1a1)](aL['x']['times'])),aL['y']!==void 0x0&&(aM=aM[cC(0x1a1)](aL['y']['times'])),aL['z']!==void 0x0&&(aM=aM['concat'](aL['z']['times'])),aM=aM[cC(0x1f1)](function(aN,aO){return aN-aO;}),aM['length']>0x1){let aN=0x1,aO=aM[0x0];for(let aP=0x1;aP<aM['length'];aP++){let aQ=aM[aP];aQ!==aO&&(aM[aN]=aQ,aO=aQ,aN++);}aM=aM['slice'](0x0,aN);}return aM;}['getKeyframeTrackValues'](aL,aM,aN){let aO=aN,aP=[],aQ=-0x1,aR=-0x1,aS=-0x1;return aL['forEach'](function(aT){const cD=a1;if(aM['x']&&(aQ=aM['x']['times']['indexOf'](aT)),aM['y']&&(aR=aM['y']['times']['indexOf'](aT)),aM['z']&&(aS=aM['z']['times']['indexOf'](aT)),aQ!==-0x1){let aU=aM['x']['values'][aQ];aP['push'](aU),aO[0x0]=aU;}else aP['push'](aO[0x0]);if(aR!==-0x1){let aV=aM['y']['values'][aR];aP['push'](aV),aO[0x1]=aV;}else aP['push'](aO[0x1]);if(aS!==-0x1){let aW=aM['z'][cD(0x239)][aS];aP['push'](aW),aO[0x2]=aW;}else aP['push'](aO[0x2]);}),aP;}['synchronizeCurve'](aL,aM,aN){if(aL===void 0x0)return{'times':aM,'values':aM['map'](()=>aN)};if(aL['times']['length']===aM['length'])return aL;let aO=[];for(let aP=0x0;aP<aM['length'];aP++)aO['push'](this['sampleCurveValue'](aL,aM[aP],aN));return{'times':aM,'values':aO};}[br(0x194)](aL,aM,aN){let aO=aL['times'],aP=aL['values'];if(aM<=aO[0x0])return aP[0x0];if(aM>=aO[aO['length']-0x1])return aP[aP['length']-0x1];for(let aQ=0x0;aQ<aO['length']-0x1;aQ++)if(aM>=aO[aQ]&&aM<=aO[aQ+0x1]){if(aO[aQ]===aM)return aP[aQ];let aR=(aM-aO[aQ])/(aO[aQ+0x1]-aO[aQ]);return aP[aQ]*(0x1-aR)+aP[aQ+0x1]*aR;}return aN;}['interpolateRotations'](aL,aM,aN,aO){const cE=br;let aP=[],aQ=[];aP['push'](aL['times'][0x0]),aQ['push'](al['degToRad'](aL['values'][0x0])),aQ['push'](al[cE(0x1f0)](aM['values'][0x0])),aQ[cE(0x1b2)](al['degToRad'](aN['values'][0x0]));for(let aR=0x1;aR<aL['values']['length'];aR++){let aS=[aL['values'][aR-0x1],aM['values'][aR-0x1],aN[cE(0x239)][aR-0x1]];if(isNaN(aS[0x0])||isNaN(aS[0x1])||isNaN(aS[0x2]))continue;let aT=aS[cE(0x236)](al['degToRad']),aU=[aL['values'][aR],aM['values'][aR],aN[cE(0x239)][aR]];if(isNaN(aU[0x0])||isNaN(aU[0x1])||isNaN(aU[0x2]))continue;let aV=aU['map'](al['degToRad']),aW=[aU[0x0]-aS[0x0],aU[0x1]-aS[0x1],aU[0x2]-aS[0x2]],aX=[Math[cE(0x200)](aW[0x0]),Math['abs'](aW[0x1]),Math['abs'](aW[0x2])];if(aX[0x0]>=0xb4||aX[0x1]>=0xb4||aX[0x2]>=0xb4){let aY=Math['max'](...aX)/0xb4,aZ=new aj(...aT,aO),b0=new aj(...aV,aO),b1=new aH()['setFromEuler'](aZ),b2=new aH()['setFromEuler'](b0);b1['dot'](b2)<0x0&&b2['set'](-b2['x'],-b2['y'],-b2['z'],-b2['w']);let b3=aL['times'][aR-0x1],b4=aL['times'][aR]-b3,b5=new aH(),b6=new aj();for(let b7=0x0;b7<0x1;b7+=0x1/aY)b5[cE(0x1b3)](b1['clone']()['slerp'](b2['clone'](),b7)),aP['push'](b3+b7*b4),b6[cE(0x21c)](b5,aO),aQ['push'](b6['x']),aQ['push'](b6['y']),aQ['push'](b6['z']);}else aP['push'](aL['times'][aR]),aQ['push'](al['degToRad'](aL['values'][aR])),aQ[cE(0x1b2)](al['degToRad'](aM['values'][aR])),aQ[cE(0x1b2)](al['degToRad'](aN[cE(0x239)][aR]));}return[aP,aQ];}},ge=class{['getPrevNode'](){return this['nodeStack'][this['currentIndent']-0x2];}['getCurrentNode'](){return this['nodeStack'][this['currentIndent']-0x1];}['getCurrentProp'](){return this['currentProp'];}[br(0x23a)](aL){this['nodeStack']['push'](aL),this['currentIndent']+=0x1;}['popStack'](){this['nodeStack']['pop'](),--this['currentIndent'];}['setCurrentProp'](aL,aM){this['currentProp']=aL,this['currentPropName']=aM;}[br(0x1a5)](aL){const cF=br;this['currentIndent']=0x0,this['allNodes']=new G(),this[cF(0x1d1)]=[],this['currentProp']=[],this['currentPropName']='';let aM=this,aN=aL['split'](/[\r\n]+/);return aN[cF(0x218)](function(aO,aP){const cG=cF;let aQ=aO['match'](/^[\s\t]*;/),aR=aO[cG(0x1fe)](/^[\s\t]*$/);if(aQ||aR)return;let aS=aO['match']('^\x5ct{'+aM[cG(0x170)]+'}(\x5cw+):(.*){',''),aT=aO['match']('^\x5ct{'+aM['currentIndent']+'}(\x5cw+):[\x5cs\x5ct\x5cr\x5cn](.*)'),aU=aO['match']('^\x5ct{'+(aM['currentIndent']-0x1)+'}}');aS?aM[cG(0x1a0)](aO,aS):aT?aM['parseNodeProperty'](aO,aT,aN[++aP]):aU?aM['popStack']():aO['match'](/^[^\s\t}]/)&&aM[cG(0x1ee)](aO);}),this['allNodes'];}['parseNodeBegin'](aL,aM){const cH=br;let aN=aM[0x1][cH(0x1ea)]()['replace'](/^"/,'')['replace'](/"$/,''),aO=aM[0x2]['split'](',')[cH(0x236)](function(aS){const cI=cH;return aS[cI(0x1ea)]()['replace'](/^"/,'')['replace'](/"$/,'');}),aP={'name':aN},aQ=this['parseNodeAttr'](aO),aR=this[cH(0x173)]();this[cH(0x170)]===0x0?this[cH(0x1fb)]['add'](aN,aP):aN in aR?(aN==='PoseNode'?aR[cH(0x210)]['push'](aP):aR[aN]['id']!==void 0x0&&(aR[aN]={},aR[aN][aR[aN]['id']]=aR[aN]),aQ['id']!==''&&(aR[aN][aQ['id']]=aP)):typeof aQ['id']==cH(0x1b6)?(aR[aN]={},aR[aN][aQ['id']]=aP):aN!=='Properties70'&&(aN==='PoseNode'?aR[aN]=[aP]:aR[aN]=aP),typeof aQ['id']=='number'&&(aP['id']=aQ['id']),aQ['name']!==''&&(aP['attrName']=aQ['name']),aQ[cH(0x182)]!==''&&(aP['attrType']=aQ['type']),this['pushStack'](aP);}['parseNodeAttr'](aL){let aM=aL[0x0];aL[0x0]!==''&&(aM=parseInt(aL[0x0]),isNaN(aM)&&(aM=aL[0x0]));let aN='',aO='';return aL['length']>0x1&&(aN=aL[0x1]['replace'](/^(\w+)::/,''),aO=aL[0x2]),{'id':aM,'name':aN,'type':aO};}[br(0x242)](aL,aM,aN){const cJ=br;let aO=aM[0x1]['replace'](/^"/,'')['replace'](/"$/,'')['trim'](),aP=aM[0x2]['replace'](/^"/,'')['replace'](/"$/,'')[cJ(0x1ea)]();aO==='Content'&&aP===','&&(aP=aN['replace'](/"/g,'')['replace'](/,$/,'')['trim']());let aQ=this['getCurrentNode']();if(aQ['name']===cJ(0x1dd)){this['parseNodeSpecialProperty'](aL,aO,aP);return;}if(aO==='C'){let aR=aP['split'](',')[cJ(0x1ef)](0x1),aS=parseInt(aR[0x0]),aT=parseInt(aR[0x1]),aU=aP[cJ(0x16d)](',')['slice'](0x3);aU=aU['map'](function(aV){return aV['trim']()['replace'](/^"/,'');}),aO='connections',aP=[aS,aT],Se(aP,aU),aQ[aO]===void 0x0&&(aQ[aO]=[]);}aO==='Node'&&(aQ['id']=aP),aO in aQ&&Array['isArray'](aQ[aO])?aQ[aO]['push'](aP):aO==='a'?aQ['a']=aP:aQ[aO]=aP,this['setCurrentProp'](aQ,aO),aO==='a'&&aP['slice'](-0x1)!==','&&(aQ['a']=Q(aP));}['parseNodePropertyContinued'](aL){const cK=br;let aM=this[cK(0x173)]();aM['a']+=aL,aL['slice'](-0x1)!==','&&(aM['a']=Q(aM['a']));}['parseNodeSpecialProperty'](aL,aM,aN){const cL=br;let aO=aN['split']('\x22,')[cL(0x236)](function(aU){return aU['trim']()['replace'](/^\"/,'')['replace'](/\s/,'_');}),aP=aO[0x0],aQ=aO[0x1],aR=aO[0x2],aS=aO[0x3],aT=aO[0x4];switch(aQ){case'int':case'enum':case cL(0x234):case cL(0x19b):case'double':case'Number':case'FieldOfView':aT=parseFloat(aT);break;case'Color':case cL(0x205):case'Vector3D':case'Lcl_Translation':case'Lcl_Rotation':case cL(0x187):aT=Q(aT);break;}this['getPrevNode']()[aP]={'type':aQ,'type2':aR,'flag':aS,'value':aT},this['setCurrentProp'](this['getPrevNode'](),aP);}},_e=class{[br(0x1a5)](aL){const cM=br;let aM=new W(aL);aM['skip'](0x17);let aN=aM[cM(0x1fc)]();if(aN<0x1900)throw Error('THREE.FBXLoader:\x20FBX\x20version\x20not\x20supported,\x20FileVersion:\x20'+aN);let aO=new G();for(;!this['endOfContent'](aM);){let aP=this['parseNode'](aM,aN);aP!==null&&aO[cM(0x201)](aP['name'],aP);}return aO;}[br(0x1e9)](aL){return aL['size']()%0x10==0x0?(aL['getOffset']()+0xa0+0x10&-0x10)>=aL['size']():aL['getOffset']()+0xa0+0x10>=aL['size']();}['parseNode'](aL,aM){const cN=br;let aN={},aO=aM>=0x1d4c?aL['getUint64']():aL['getUint32'](),aP=aM>=0x1d4c?aL['getUint64']():aL['getUint32']();aM>=0x1d4c?aL['getUint64']():aL['getUint32']();let aQ=aL['getUint8'](),aR=aL['getString'](aQ);if(aO===0x0)return null;let aS=[];for(let aW=0x0;aW<aP;aW++)aS['push'](this['parseProperty'](aL));let aT=aS[cN(0x19a)]>0x0?aS[0x0]:'',aU=aS['length']>0x1?aS[0x1]:'',aV=aS['length']>0x2?aS[0x2]:'';for(aN['singleProperty']=aP===0x1&&aL['getOffset']()===aO;aO>aL['getOffset']();){let aX=this[cN(0x1bb)](aL,aM);aX!==null&&this['parseSubNode'](aR,aN,aX);}return aN['propertyList']=aS,typeof aT=='number'&&(aN['id']=aT),aU!==''&&(aN['attrName']=aU),aV!==''&&(aN['attrType']=aV),aR!==''&&(aN[cN(0x1a3)]=aR),aN;}[br(0x22c)](aL,aM,aN){const cO=br;if(aN['singleProperty']===!0x0){let aO=aN['propertyList'][0x0];Array['isArray'](aO)?(aM[aN['name']]=aN,aN['a']=aO):aM[aN['name']]=aO;}else{if(aL==='Connections'&&aN[cO(0x1a3)]==='C'){let aP=[];aN['propertyList']['forEach'](function(aQ,aR){aR!==0x0&&aP['push'](aQ);}),aM['connections']===void 0x0&&(aM['connections']=[]),aM['connections']['push'](aP);}else{if(aN['name']==='Properties70')Object['keys'](aN)['forEach'](function(aQ){aM[aQ]=aN[aQ];});else{if(aL==='Properties70'&&aN['name']==='P'){let aQ=aN['propertyList'][0x0],aR=aN['propertyList'][0x1],aS=aN['propertyList'][0x2],aT=aN['propertyList'][0x3],aU;aQ['indexOf']('Lcl\x20')===0x0&&(aQ=aQ['replace']('Lcl\x20','Lcl_')),aR[cO(0x22b)]('Lcl\x20')===0x0&&(aR=aR[cO(0x177)]('Lcl\x20','Lcl_')),aU=aR===cO(0x1b4)||aR==='ColorRGB'||aR==='Vector'||aR==='Vector3D'||aR['indexOf']('Lcl_')===0x0?[aN[cO(0x1e3)][0x4],aN['propertyList'][0x5],aN['propertyList'][0x6]]:aN['propertyList'][0x4],aM[aQ]={'type':aR,'type2':aS,'flag':aT,'value':aU};}else aM[aN[cO(0x1a3)]]===void 0x0?typeof aN['id']=='number'?(aM[aN['name']]={},aM[aN['name']][aN['id']]=aN):aM[aN[cO(0x1a3)]]=aN:aN['name']==='PoseNode'?(Array['isArray'](aM[aN['name']])||(aM[aN[cO(0x1a3)]]=[aM[aN['name']]]),aM[aN['name']]['push'](aN)):aM[aN['name']][aN['id']]===void 0x0&&(aM[aN['name']][aN['id']]=aN);}}}}['parseProperty'](aL){const cP=br;let aM=aL['getString'](0x1),aN;switch(aM){case'C':return aL['getBoolean']();case'D':return aL['getFloat64']();case'F':return aL['getFloat32']();case'I':return aL[cP(0x18a)]();case'L':return aL['getInt64']();case'R':return aN=aL[cP(0x1fc)](),aL['getArrayBuffer'](aN);case'S':return aN=aL['getUint32'](),aL['getString'](aN);case'Y':return aL['getInt16']();case'b':case'c':case'd':case'f':case'i':case'l':let aO=aL['getUint32'](),aP=aL['getUint32'](),aQ=aL[cP(0x1fc)]();if(aP===0x0)switch(aM){case'b':case'c':return aL['getBooleanArray'](aO);case'd':return aL['getFloat64Array'](aO);case'f':return aL['getFloat32Array'](aO);case'i':return aL[cP(0x181)](aO);case'l':return aL['getInt64Array'](aO);}let aR=new W(aK(new Uint8Array(aL['getArrayBuffer'](aQ)))['buffer']);switch(aM){case'b':case'c':return aR['getBooleanArray'](aO);case'd':return aR[cP(0x1d4)](aO);case'f':return aR['getFloat32Array'](aO);case'i':return aR['getInt32Array'](aO);case'l':return aR['getInt64Array'](aO);}break;default:throw Error('THREE.FBXLoader:\x20Unknown\x20property\x20type\x20'+aM);}}},W=class{constructor(aL,aM){this['dv']=new DataView(aL),this['offset']=0x0,this['littleEndian']=aM===void 0x0?!0x0:aM,this['_textDecoder']=new TextDecoder();}['getOffset'](){return this['offset'];}['size'](){return this['dv']['buffer']['byteLength'];}['skip'](aL){const cQ=br;this[cQ(0x223)]+=aL;}['getBoolean'](){return(this['getUint8']()&0x1)==0x1;}['getBooleanArray'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getBoolean']());return aM;}['getUint8'](){let aL=this['dv']['getUint8'](this['offset']);return this['offset']+=0x1,aL;}['getInt16'](){const cR=br;let aL=this['dv'][cR(0x225)](this['offset'],this['littleEndian']);return this['offset']+=0x2,aL;}[br(0x18a)](){const cS=br;let aL=this['dv']['getInt32'](this['offset'],this[cS(0x220)]);return this['offset']+=0x4,aL;}['getInt32Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getInt32']());return aM;}['getUint32'](){let aL=this['dv']['getUint32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aL;}['getInt64'](){const cT=br;let aL,aM;return this['littleEndian']?(aL=this['getUint32'](),aM=this[cT(0x1fc)]()):(aM=this['getUint32'](),aL=this['getUint32']()),aM&0x80000000?(aM=~aM&0xffffffff,aL=~aL&0xffffffff,aL===0xffffffff&&(aM=aM+0x1&0xffffffff),aL=aL+0x1&0xffffffff,-(aM*0x100000000+aL)):aM*0x100000000+aL;}['getInt64Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getInt64']());return aM;}['getUint64'](){const cU=br;let aL,aM;return this['littleEndian']?(aL=this['getUint32'](),aM=this['getUint32']()):(aM=this[cU(0x1fc)](),aL=this['getUint32']()),aM*0x100000000+aL;}['getFloat32'](){let aL=this['dv']['getFloat32'](this['offset'],this['littleEndian']);return this['offset']+=0x4,aL;}[br(0x23f)](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getFloat32']());return aM;}['getFloat64'](){const cV=br;let aL=this['dv']['getFloat64'](this['offset'],this['littleEndian']);return this[cV(0x223)]+=0x8,aL;}['getFloat64Array'](aL){let aM=[];for(let aN=0x0;aN<aL;aN++)aM['push'](this['getFloat64']());return aM;}['getArrayBuffer'](aL){const cW=br;let aM=this['dv'][cW(0x208)]['slice'](this['offset'],this['offset']+aL);return this['offset']+=aL,aM;}[br(0x1ce)](aL){const cX=br;let aM=this['offset'],aN=new Uint8Array(this['dv']['buffer'],aM,aL);this['skip'](aL);let aO=aN['indexOf'](0x0);return aO>=0x0&&(aN=new Uint8Array(this['dv'][cX(0x208)],aM,aO)),this['_textDecoder']['decode'](aN);}},G=class{['add'](aL,aM){this[aL]=aM;}};function ve(aL){return aL['byteLength']>=0x15&&$(aL,0x0,0x15)==='Kaydara\x20FBX\x20Binary\x20\x20\x00';}function ye(aL){const cY=br;let aM=['K','a','y','d','a','r','a','\x5c','F','B','X','\x5c','B','i','n','a','r','y','\x5c','\x5c'],aN=0x0;function aO(aP){let aQ=aL[aP-0x1];return aL=aL['slice'](aN+aP),aN++,aQ;}for(let aP=0x0;aP<aM[cY(0x19a)];++aP)if(aO(0x1)===aM[aP])return!0x1;return!0x0;}function K(aL){const cZ=br;let aM=aL['match'](/FBXVersion: (\d+)/);if(aM)return parseInt(aM[0x1]);throw Error(cZ(0x193));}function be(aL){return aL/0xac0e8d7b0;}var xe=[];function q(aL,aM,aN,aO){const d0=br;let aP;switch(aO['mappingType']){case'ByPolygonVertex':aP=aL;break;case d0(0x16f):aP=aM;break;case'ByVertice':aP=aN;break;case'AllSame':aP=aO['indices'][0x0];break;default:console['warn']('THREE.FBXLoader:\x20unknown\x20attribute\x20mapping\x20type\x20'+aO['mappingType']);}aO[d0(0x1ba)]==='IndexToDirect'&&(aP=aO['indices'][aP]);let aQ=aP*aO['dataSize'],aR=aQ+aO[d0(0x1e8)];return Ce(xe,aO[d0(0x208)],aQ,aR);}var J=new aj(),Y=new a3();function X(aL){const d1=br;let aM=new a2(),aN=new a2(),aO=new a2(),aP=new a2(),aQ=new a2(),aR=new a2(),aS=new a2(),aT=new a2(),aU=new a2(),aV=new a2(),aW=new a2(),aX=new a2(),aY=aL['inheritType']?aL[d1(0x23c)]:0x0;aL[d1(0x1b1)]&&aM['setPosition'](Y['fromArray'](aL[d1(0x1b1)]));let aZ=Z(0x0);if(aL['preRotation']){let bc=aL[d1(0x1c8)]['map'](al['degToRad']);bc['push'](aZ),aN['makeRotationFromEuler'](J['fromArray'](bc));}if(aL['rotation']){let bd=aL['rotation']['map'](al['degToRad']);bd['push'](aL['eulerOrder']||aZ),aO['makeRotationFromEuler'](J['fromArray'](bd));}if(aL[d1(0x1f5)]){let bf=aL['postRotation']['map'](al['degToRad']);bf['push'](aZ),aP['makeRotationFromEuler'](J['fromArray'](bf)),aP['invert']();}aL['scale']&&aQ[d1(0x21f)](Y[d1(0x1f8)](aL['scale'])),aL['scalingOffset']&&aS['setPosition'](Y['fromArray'](aL['scalingOffset'])),aL['scalingPivot']&&aR['setPosition'](Y['fromArray'](aL['scalingPivot'])),aL['rotationOffset']&&aT['setPosition'](Y['fromArray'](aL['rotationOffset'])),aL['rotationPivot']&&aU['setPosition'](Y['fromArray'](aL['rotationPivot'])),aL['parentMatrixWorld']&&(aW['copy'](aL['parentMatrix']),aV[d1(0x1b3)](aL['parentMatrixWorld']));let b0=aN[d1(0x216)]()['multiply'](aO)[d1(0x1be)](aP),b1=new a2();b1['extractRotation'](aV);let b2=new a2();b2['copyPosition'](aV);let b3=b2[d1(0x216)]()[d1(0x17b)]()[d1(0x1be)](aV),b4=b1[d1(0x216)]()['invert']()[d1(0x1be)](b3),b5=aQ,b6=new a2();if(aY===0x0)b6['copy'](b1)['multiply'](b0)['multiply'](b4)['multiply'](b5);else{if(aY===0x1)b6['copy'](b1)['multiply'](b4)['multiply'](b0)['multiply'](b5);else{let bg=new a2()['scale'](new a3()['setFromMatrixScale'](aW))['clone']()['invert'](),bh=b4['clone']()['multiply'](bg);b6['copy'](b1)[d1(0x1be)](b0)['multiply'](bh)['multiply'](b5);}}let b7=aU[d1(0x216)]()['invert'](),b8=aR['clone']()['invert'](),b9=aM['clone']()['multiply'](aT)['multiply'](aU)['multiply'](aN)['multiply'](aO)[d1(0x1be)](aP)['multiply'](b7)['multiply'](aS)['multiply'](aR)['multiply'](aQ)['multiply'](b8),ba=new a2()[d1(0x1a8)](b9),bb=aV[d1(0x216)]()['multiply'](ba);return aX['copyPosition'](bb),b9=aX['clone']()['multiply'](b6),b9['premultiply'](aV[d1(0x17b)]()),b9;}function a1(a,b){a=a-0x169;const c=a0();let d=c[a];return d;}function Z(aL){const d2=br;aL=aL||0x0;let aM=[d2(0x198),d2(0x169),'XZY','ZXY','YXZ','XYZ'];return aL===0x6?(console['warn']('THREE.FBXLoader:\x20unsupported\x20Euler\x20Order:\x20Spherical\x20XYZ.\x20Animations\x20and\x20rotations\x20may\x20be\x20incorrect.'),aM[0x0]):aM[aL];}function Q(aL){return aL['split'](',')['map'](function(aM){return parseFloat(aM);});}function $(aL,aM,aN){return aM===void 0x0&&(aM=0x0),aN===void 0x0&&(aN=aL['byteLength']),new TextDecoder()['decode'](new Uint8Array(aL,aM,aN));}function Se(aL,aM){for(let aN=0x0,aO=aL['length'],aP=aM['length'];aN<aP;aN++,aO++)aL[aO]=aM[aN];}function Ce(aL,aM,aN,aO){for(let aP=aN,aQ=0x0;aP<aO;aP++,aQ++)aL[aQ]=aM[aP];return aL;}export{fe as FBXLoader};