three-virtual-geometry 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ /**
2
+ * three-virtual-geometry 0.1.1 | MIT License | https://github.com/elad12390/three-virtual-geometry
3
+ * Independent open-source implementation of virtual geometry; not affiliated with or endorsed by Epic Games.
4
+ * Includes meshoptimizer (MIT, Arseny Kapoulkine). Parts derived from nanite-webgpu (MIT, Marcin Matuszczyk).
5
+ */
6
+ var Jb=(function(){var c="b9H79Tebbbe9ok9Geueu9Geub9Gbb9Gruuuuuuueu9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiE8AdilveoveovrrwrrrDDoDrbqqbelve9Weiiviebeoweuecj:Gdkr:PlCo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9mW4W2be8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbd8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbiE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UblY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbv8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbo8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UbrE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbwa9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbDL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbqK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbkL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbxY9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVJ9V29VVbmE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbza9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9WbHa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbOK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbAl79IV9RbXDwebcekdKYq:Nf8Adbk;wadhud9:8Jjjjjbc;qw9Rgr8KjjjjbcbhwdnaeTmbabcbyd;i:I:cjbaoaocb9iEgDc:GeV86bbarc;adfcbcjdz:xjjjb8AdnaiTmbarc;adfadalz:wjjjb8Akarc;abfalfcbcbcjdal9RalcFe0Ez:xjjjb8Aarc;abfarc;adfalz:wjjjb8Aar9cb83iUar9cb83i8War9cb83iyar9cb83iaar9cb83iKar9cb83izar9cb83iwar9cb83ibcj;abal9Uc;WFbGcjdalca0Ehqdnaicd6mbavcd9imbaDTmbadcefhkaqci2gxal2hmarc;alfclfhParc;qlfceVhsarc;qofclVhzcbhHincdhOcbhAdnavci6mbar9cb83i;Ooar9cb83i;Goar9cb83i;yoar9cb83i;qoadaHfgoybbhCcbhXincbhwcbhQdninaoalfhLaoybbgKaC7aQVhQawcP0meaLhoaKhCawcefgwaXfai6mbkkcbhCarc;qofhwincwhYcwh8AdnaQaC93gocFeGgEcs0mbclh8AaEci0mbcdcbaEEh8Akdnaocw4cFeGgEcs0mbclhYaEci0mbcdcbaEEhYkaYa8AfhEawydbh3cwhYcwh8Adnaocz4cFeGg5cs0mbclh8Aa5ci0mbcdcba5Eh8AkaEa3fhEdnaocFFFFb0mbclhYaocFFF8F0mbcbcdaocjjjw6EhYkawaEa8AfaYfBdbawclfhwaCcefgCcw9hmbkaLhoaKhCaXczfgXai6mbkcbhocehwazhQinawaoaQydbarc;qofaocdtfydb6EhoaQclfhQawcefgwcw9hmbkaoclthAcihOkcbhEarc;qlfcbcjdz:xjjjb8AarcbBd;ilar9cb83i;aladh8Eaqh8Fakh3inarc;qlfadaEaEcb9h9Ral2falz:wjjjb8Aaia8Faia8F6EhadnaqaiaE9RaEaqfai6EgKcsfc9WGgoaK9nmbarc;qofaKfcbaoaK9Rz:xjjjb8AkadaEal2fhhcbhginagaAVcl4hXarc;alfagcdtfh8JaHh8Kcbh8Lina8LaHfhwdndndndndndndnagPlbedibkaKTmvahawfhoarc;qlfawfRbbhQarc;qofhwaahCinawaoRbbgYaQ9RgQcetaQcKtc8F91786bbawcefhwaoalfhoaYhQaEaCcufgC9hmbxvkkaKTmla8Kc9:Ghoa8LcitcwGh8Aarc;qlfawceVfRbbcwtarc;qlfawc9:GfRbbVhQarc;qofhwaahCinawa3aofRbbcwta8EaofRbbVgYaQ9RgQcetaQcztc8F917cFFiGa8A486bbaoalfhoawcefhwaYhQaEaCcufgC9hmbxlkkasa8Kc98GgQfhoa3aQfhYarc;qlfawc98GgQfRbbhCcwhwinaoRbbawtaCVhCaocefhoawcwfgwca9hmbxdkkaKTmdxekaKTmea8Lcith5ahaQfh8AcbhLina8ARbbhQcwhoaYhwinawRbbaotaQVhQawcefhwaocwfgoca9hmbkarc;qofaLfaQaC7aX93a5486bbaYalfhYa8Aalfh8AaQhCaLcefgLaK9hmbkka8Jydbh8AcbhLarc;qofhoincdhQcbhwinaQaoawfRbbcb9hfhQawcefgwcz9hmbkclhCcbhwinaCaoawfRbbcd0fhCawcefgwcz9hmbkcwhYcbhwinaYaoawfRbbcP0fhYawcefgwcz9hmbkaQaCaQaC6EgwaYawaY6Egwczawcz6Ea8Afh8AaoczfhoaLczfgLaK6mbka8Ja8ABdbka8Kcefh8Ka8Lcefg8Lcl9hmbkagcefggaO9hmbka8Eamfh8Ea8Faxfh8Fa3amfh3aEaxfgEai6mbkcbhocehwaPhQinawaoaQydbarc;alfaocdtfydb6EhoaQclfhQaOawcefgw9hmbkaraHcd4faAcdVaoaocdSE86bbaHclfgHal6mbkkabaefhgabcefhoalcd4g8McbaDEhkadcefh8Narc;abfceVhecbhmdndninaiam9nmearc;qofcbcjdz:xjjjb8Aagao9Rak6mdadamal2gwfhxcbhHa8Nawfhzaocbakz:xjjjbg8Fakfh3aqaiam9Ramaqfai6Egscsfgocl4cifcd4hOaoc9WGg8JThPindndndndndndndndndndnaDTmbaraHcd4fRbbgQciGPlbedlbkasTmdaxaHfhoarc;abfaHfRbbhQarc;qofhwashCinawaoRbbgYaQ9RgQcetaQcKtc8F91786bbawcefhwaoalfhoaYhQaCcufgCmbxikkasTmiaHcitcwGh8Aarc;abfaHceVfRbbcwtarc;abfaHc9:GgofRbbVhQaxaofhoarc;qofhwashCinawao8VbbgYaQ9RgQcetaQcztc8F917cFFiGa8A486bbawcefhwaoalfhoaYhQaCcufgCmbxikkaeaHc98Gg8Afhoaza8AfhYarc;abfa8AfRbbhCcwhwinaoRbbawtaCVhCaocefhoawcwfgwca9hmbkasTmdaQcl4hKaHcitcKGhEaxa8Afh8AcbhLina8ARbbhQcwhoaYhwinawRbbaotaQVhQawcefhwaocwfgoca9hmbkarc;qofaLfaQaC7aK93aE486bbaYalfhYa8Aalfh8AaQhCaLcefgLas9hmbkkaDmbcbhoxlka8JTmbcbhodninarc;qofaofgwcwf8Pibaw8Pib:e9qTmeaoczfgoa8J9pmdxbkkdnavmbcehoxikcbh8AaOhLaOhKinarc;qofa8Afgocwf8Pibhyao8Pibh8PcdhQcbhwinaQaoawfRbbcb9hfhQawcefgwcz9hmbkclhCcbhwinaCaoawfRbbcd0fhCawcefgwcz9hmbkcwhYcbhwinaYaoawfRbbcP0fhYawcefgwcz9hmbkaQaCaQaC6EgoaYaoaY6Egoczaocz6EaKfhKaocucbaya8P:e9cb9sEgwaoaw6EaLfhLa8Aczfg8Aa8J9pmdxbkka8FaHcd4fgoaoRbbcdaHcetcoGtV86bbxikdnaLas6mbaKas6mba8FaHcd4fgoaoRbbciaHcetcoGtV86bbaga39Ras6mra3arc;qofasz:wjjjbasfh3xikaLaK9phoka8FaHcd4fgwawRbbaoaHcetcoGtV86bbkaga39RaO6mla3cbaOz:xjjjbgaaOfhKdndna8JmbaPhoxekdnagaK9RcK9pmbaPhoxekaocdtc:q:G:cjbfcj:G:cjbaDEg3ydxghcetc;:FFFeGhAcuhEcuahtcu7cFeGh8Ecbh8Karc;qofhQinarc;qofa8KfhXczh8AdndndnahPDbeeeeeeedekcucbaXcwf8PibaX8Pib:e9cb9sEh8AxekcbhoaAh8Aina8Aa8EaQaofRbb9nfh8Aaocefgocz9hmbkkcih5cbhYinczhwdndndna3aYcdtfydbgLPDbeeeeeeedekcucbaXcwf8PibaX8Pib:e9cb9sEhwxekaLcetc;:FFFeGhwcuaLtcu7cFeGhCcbhoinawaCaQaofRbb9nfhwaocefgocz9hmbkkdndnawa8A6mbaLaE9hmeawa8A9hmea3a5cdtfydbcwSmekaYh5awh8AkaYcefgYci9hmbkaaa8Kco4fgoaoRbba5a8Kci4coGtV86bbdndndna3a5cdtfydbgEPDdbbbbbbbebkdncwaE9Tg5TmbcuaEtcu7hwdndnaEceSmbcbh8LaQhXinaXhoa5hYcbhCinaoRbbg8AawcFeGgLa8AaL6EaCaEtVhCaocefhoaYcufgYmbkaKaC86bbaXa5fhXaKcefhKa8La5fg8Lcz6mbxdkkcbh8LaQhXinaXhoa5hYcbhCinaoRbbg8AawcFeGgLa8AaL6EaCcetVhCaocefhoaYcufgYmbkaKaC:T9cFe:d9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:9ca188bbaXa5fhXaKcefhKa8La5fg8Lcz6mbkkcbhoinaKaQaofRbbgC86bbaKaCawcFeG9pfhKaocefgocz9hmbxikkdnaEceSmbinaKcb86bbaKcefhKxbkkinaKcb86bbaKcefhKxbkkaKaX8Pbw83bwaKaX8Pbb83bbaKczfhKka8Kczfg8Ka8J9pgomeaQczfhQagaK9RcK9pmbkkaoTmlaKh3aKTmlkaHcefgHal9hmbkarc;abfaxascufal2falz:wjjjb8Aasamfhma3hoa3mbkcbhwxdkdnagao9RakalfgwcKcaaDEgQawaQ0EgC9pmbcbhwxdkdnawaQ9pmbaocbaCaw9Rgwz:xjjjbawfhokaoarc;adfalz:wjjjbalfhodnaDTmbaoara8Mz:wjjjba8Mfhokaoab9Rhwxekcbhwkarc;qwf8Kjjjjbawk5babaeadaialcdcbyd;i:I:cjbz:bjjjbk9reduaecd4gdaefgicaaica0Ecj;abae9Uc;WFbGcjdaeca0Egicl4cifcd4aifae2adfabaifcufai9U2fcefkmbcbabBd;i:I:cjbk;HPeLu8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaeaici9UgocHf6mbabcbyd;m:I:cjbgrc;GeV86bbalc;abfcFecjez:xjjjb8Aal9cu83iUal9cu83i8Wal9cu83iyal9cu83iaal9cu83iKal9cu83izal9cu83iwal9cu83ibabaefc9WfhwabcefgDaofhednaiTmbcmcsarcb9kgqEhkcbhxcbhmcbhPcbhscbhzindnaeaw9nmbcbhvxikazcufhvadaPcdtfgHydbhOaHcwfydbhAaHclfydbhCcbhXdndndninalc;abfavcsGcitfgoydlhQdndndnaoydbgoaO9hmbaQaCSmekdnaoaC9hmbaQaA9hmbaXcefhXxekaoaA9hmeaQaO9hmeaXcdfhXkaXc870mdascufhvaHaXcdtgAcxGgoyd:4:G:cjbcdtfydbhQaHaoyd:0:G:cjbcdtfydbhCaHaoyd:W:G:cjbcdtfydbhOcbhodnindnalavcsGcdtfydbaQ9hmbaohXxdkcuhXavcufhvaocefgocz9hmbkkaxaQaxSgvaXce9iaXak9oVgoGfhxdndndncbcsavEaXaoEgvcs9hmbarce9imbaQaQamaQcefamSgvEgmcefSmecmcsavEhvkaDavaAc;WeGV86bbavcs9hmeaQam9Rgvcetavc8F917hvinaecbcjeavcje6EavcFbGV86bbaecefheavcr4gvmbkaQhmxvkcPhvaDaAcPV86bbaQhmkavTmiavak9omicdhocehXazhAxlkavcufhvaXclfgXc;ab9hmbkkdnaHcecdcbaAaxSEaCaxSEcdtgvyd:W:G:cjbcdtfydbgOTaHavyd:0:G:cjbcdtfydbgCceSGaHavyd:4:G:cjbcdtfydbgQcdSGaxcb9hGaqGgLce9hmbal9cu83iUal9cu83i8Wal9cu83iyal9cu83iaal9cu83iKal9cu83izal9cu83iwal9cu83ibcbhxkcbhXascufgvhodnindnalaocsGcdtfydbaC9hmbaXhAxdkcuhAaocufhoaXcefgXcz9hmbkkcbhodnindnalavcsGcdtfydbaQ9hmbaohXxdkcuhXavcufhvaocefgocz9hmbkkaxaOaxSgKfhHdndnaAcm0mbaAcefhAxekcbcsaCaHSgvEhAaHavfhHkdndnaXcm0mbaXcefhXxekcbcsaQaHSgvEhXaHavfhHkc9:cuaKEhYcbhvaXaAcltVg8AcFeGhodndndninavc;q:G:cjbfRbbaoSmeavcefgvcz9hmbxdkkaLaOax9havcm0VVmbaDavc;WeV86bbxekaDaY86bbaea8A86bbaecefhekdnaKmbaOam9Rgvcetavc8F917hvinaecbcjeavcje6EavcFbGV86bbaecefheavcr4gvmbkaOhmkdnaAcs9hmbaCam9Rgvcetavc8F917hvinaecbcjeavcje6EavcFbGV86bbaecefheavcr4gvmbkaChmkdnaXcs9hmbaQam9Rgvcetavc8F917hvinaecbcjeavcje6EavcFbGV86bbaecefheavcr4gvmbkaQhmkalascdtfaOBdbascefcsGhvdndnaAPzbeeeeeeeeeeeeeebekalavcdtfaCBdbascdfcsGhvkdndnaXPzbeeeeeeeeeeeeeebekalavcdtfaQBdbavcefcsGhvkcihoalc;abfazcitfgXaOBdlaXaCBdbazcefcsGhAcdhXavhsaHhxxekcdhoalascdtfaQBdbcehXascefcsGhsazhAkalc;abfaAcitfgvaCBdlavaQBdbalc;abfazaXfcsGcitfgvaQBdlavaOBdbaDcefhDazaofcsGhzaPcifgPai6mbkkdnaeaw9nmbcbhvxekcbhvinaeavfavc;q:G:cjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meaeceadt0mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd;m:I:cjbk:zderu8Jjjjjbcz9Rhlcbhvdnaeaicvf6mbabcbRb;m:I:cjbc;qeV86bbal9cb83iwabcefhvabaefc98fhodnaiTmbcbhecbhrcbhwindnavao6mbcbskadawcdtfydbgDalcwfaraDae9Rgeaec8F91ge7ae9Rc507grcdtfgqydb9Rgec8E91c9:Gaecdt7arVheinavcbcjeaecje6EaecFbGV86bbavcefhvaecr4gembkaqaDBdbaDheawcefgwai9hmbkkdnavao9nmbcbskavcbBbbavab9RclfhvkavkBeeucbhddninadcefgdc8F0meaeceadt0mbkkabadcwfcFeGcr9U2cvfk:dvli99dui99ludnaeTmbcuadcetcuftcu7:Zhvdndncuaicuftcu7:ZgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhralcxfIdbhqdndnakJbbbb9GTmbaxhkxekJbbjZar:l:tgkak:maxJbbbb9GEhkJbbjZax:l:tgxax:marJbbbb9GEhrkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEavNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohmxekcjjjj94hmkdndnakJbbj:;akJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;akJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaDfgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaifgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkaicwfhiaDclfhDalczfhlaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:ZgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk;uvdDue998Jjjjjbcjd9Rgo8Kjjjjbdndndnadcd4grTmbc:CucbavEhwaohdarhDinadawBdbadclfhdaDcufgDmbkavcd9hmbaeTmbarcdthqcbhkalhxinaohdaxhDarhwinadadydbgmaDydbcL4cFeGc:cufgPamaP9kEBdbaDclfhDadclfhdawcufgwmbkaxaqfhxakcefgkae9hmbxdkkaeTmekarcdthxavce9hhqcbhkindndndnaqmbarTmdc:CuhwalhdarhDinawadydbcL4cFeGc:cufgmawam9kEhwadclfhdaDcufgDmbxdkkdndndndnavPleddbdkarTmlaohdalhDarhwinadcbaDydbcL4cFeGgmc:cufgPaPam0EBdbadclfhdaDclfhDawcufgwmbxikkarTmicbhdarhDindnaladfIdbgsJbbbb9Bmbaoadfas:8cL4cFeGgwc8Aawc8A0Ec:cufBdbkadclfhdaDcufgDmbxdkkarTmdkc:CuhwkcbhdarhminawhDdnavceSmbaoadfydbhDkdndnaladfIdbgscjjj;8iaDai9RcefgPcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:OhDxekcjjjj94hDkabadfaDcFFFiaDcFFFi9iEcFFFrGaPcKtVBdbadclfhdamcufgmmbkkabaxfhbalaxfhlakcefgkae9hmbkkaocjdf8Kjjjjbk:Olveue99iue99iudnaeTmbceaicufthvcuaitcu7:Zhocbhradcl9hhwcbhDindndnalcwfIdbgqJbbbbaqJbbbb9GEgqJbbjZaqJbbjZ9FEaoNJbbbZMgq:lJbbb9p9DTmbaq:Ohixekcjjjj94hikdndnalIdbgqJbbbbaqJbbbb9GEgqJbbjZaqJbbjZ9FEaoNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkadai9Rcd9TgkaifhidndnalclfIdbgqJbbbbaqJbbbb9GEgqJbbjZaqJbbjZ9FEaoNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkadai9Rcd9ThddndnalcxfIdbgqJbbbbaqJbbbb9GEgqJbbjZaqJbbjZ9FEaoNJbbbZMgq:lJbbb9p9DTmbaq:Ohxxekcjjjj94hxkadaifhiaxce91avVhxdndnawmbabaDfgmai86bbamcifax86bbamcdfad86bbamcefak86bbxekabarfgmai87ebamcofax87ebamclfad87ebamcdfak87ebkarcwfhraDclfhDalczfhlaecufgembkkk;mqdQui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;Kbz:xjjjb8AdnadTmbaiTmbdndnabaeSmbaehoxekavcuadcdtgradcFFFFi0Ecbyd;q:I:cjbHjjjjbbgoBd:SeavceBd:mdaoaearz:wjjjb8AkavcbBd:Oeav9cb83i:Geavc:Gefaoadaiavc:Sefz:pjjjbavyd:Gehwadci9UgDcbyd;q:I:cjbHjjjjbbheavc:Sefavyd:mdgqcdtfaeBdbavaqcefgrBd:mdaecbaDz:xjjjbhkavc:SefarcdtfcuaicdtaicFFFFi0Ecbyd;q:I:cjbHjjjjbbgxBdbavaqcdfgmBd:mdalc;ebfhPawheaxhrinaralIdbaPaeydbgscwascw6EcdtfIdbMUdbaeclfhearclfhraicufgimbkavc:SefamcdtfcuaDcdtadcFFFF970Ecbyd;q:I:cjbHjjjjbbgmBdbdnadci6mbaoheamhraDhiinaraxaeydbcdtfIdbaxaeclfydbcdtfIdbMaxaecwfydbcdtfIdbMUdbaecxfhearclfhraicufgimbkkaqcifhzalc;ebfhHavc;qbfhOavheavyd:KehAavyd:OehCcbhscbhrcbhXcehQinaehLaoarcx2fgKydbhPaKclfydbhdabaXcx2fgecwfaKcwfydbgYBdbaeclfadBdbaeaPBdbakarfce86bbaOaYBdwaOadBdlaOaPBdbamarcdtfcbBdbcih8AdnasTmbaLhiinaOa8AcdtfaiydbgeBdba8AaeaY9haeaP9haead9hGGfh8AaiclfhiascufgsmbkkaXcefhXcbhsinaCaAaKascdtfydbcdtgifydbcdtfgYheawaifgdydbgPhidnaPTmbdninaeydbarSmeaeclfheaicufgiTmdxbkkaeaYaPcdtfc98fydbBdbadadydbcufBdbkascefgsci9hmbkdndndna8ATmbcuhrJbbbbhEcbhdavyd:KehYavyd:OehKindnawaOadcdtfydbcdtgsfydbgeTmbaxasfgiIdbh3aialcuadadcs0EcdtfclfIdbaHaecwaecw6EcdtfIdbMg5Udba5a3:th5aecdthiaKaYasfydbcdtfheinamaeydbgscdtfgPa5aPIdbMg3Udba3aEaEa39DgPEhEasaraPEhraeclfheaic98fgimbkkadcefgda8A9hmbkarcu9hmekaQaD9pmeindnakaQfRbbmbaQhrxdkaDaQcefgQ9hmbxdkka8Acza8Acz6EhsaOheaLhOarcu9hmekkazTmbaqcdtavc:Seffcwfheinaeydbcbyd;u:I:cjbH:bjjjbbaec98fheazcufgzmbkkavc:qdf8Kjjjjbk:0leoucuaicdtgvaicFFFFi0Egocbyd;q:I:cjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd;q:I:cjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd;q:I:cjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavz:xjjjb8AabydbhraehladhvinaralydbcdtfgoaoydbcefBdbalclfhlavcufgvmbkcbhvabydlglhoarhwaihDinaoavBdbaoclfhoawydbavfhvawclfhwaDcufgDmbkadci9Uhqdnadcd9nmbabydwhocbhvinaecwfydbhwaeclfydbhDalaeydbcdtfgbabydbgbcefBdbaoabcdtfavBdbalaDcdtfgDaDydbgDcefBdbaoaDcdtfavBdbalawcdtfgwawydbgwcefBdbaoawcdtfavBdbaecxfheaqavcefgv9hmbkkinalalydbarydb9RBdbarclfhralclfhlaicufgimbkkQbabaeadaic;G:G:cjbz:ojjjbkQbabaeadaic;i:H:cjbz:ojjjbk9DeeuabcFeaicdtz:xjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk:3vioud9:du8Jjjjjbc;Wa9Rgl8Kjjjjbcbhvalcxfcbc;Kbz:xjjjb8AalcuadcitgoadcFFFFe0Ecbyd;q:I:cjbHjjjjbbgrBdxalceBd2araeadaicezNjjjbalcuaoadcjjjjoGEcbyd;q:I:cjbHjjjjbbgwBdzadcdthednadTmbabhiinaiavBdbaiclfhiadavcefgv9hmbkkawaefhDalabBdwalawBdl9cbhqindnadTmbaq9cq9:hkarhvaDhiadheinaiav8Pibak1:NcFrG87ebavcwfhvaicdfhiaecufgembkkalclfaq:NceGcdtfydbhxalclfaq9ce98gq:NceGcdtfydbhmalc;Wbfcbcjaz:xjjjb8AaDhvadhidnadTmbinalc;Wbfav8VebcdtfgeaeydbcefBdbavcdfhvaicufgimbkkcbhvcbhiinalc;WbfavfgeydbhoaeaiBdbaoaifhiavclfgvcja9hmbkadhvdndnadTmbinalc;WbfaDamydbgicetf8VebcdtfgeaeydbgecefBdbaxaecdtfaiBdbamclfhmavcufgvmbkaq9cv9smdcbhvinabawydbcdtfavBdbawclfhwadavcefgv9hmbxdkkaq9cv9smekkcwhvcbhiinalcxfavfc98fydbcbyd;u:I:cjbH:bjjjbbaiceGheclhvcehiaeTmbkalc;Waf8Kjjjjbk:Awliuo99iud9:cbhv8Jjjjjbca9Rgocbyd:4:I:cjbBdKaocb8Pd:W:I:cjb83izaocbyd;e:I:cjbBdwaocb8Pd:8:I:cjb83ibaicd4hrdndnadmbJFFuFhwJFFuuhDJFFuuhqJFFuFhkJFFuuhxJFFuFhmxekarcdthPaehsincbhiinaoczfaifgzasaifIdbgwazIdbgDaDaw9EEUdbaoaifgzawazIdbgDaDaw9DEUdbaiclfgicx9hmbkasaPfhsavcefgvad9hmbkaoIdKhDaoIdwhwaoIdChqaoIdlhkaoIdzhxaoIdbhmkdnadTmbJbbbbJbFu9hJbbbbamax:tgmamJbbbb9DEgmakaq:tgkakam9DEgkawaD:tgwawak9DEgw:vawJbbbb9BEhwdnalmbarcdthoindndnaeclfIdbaq:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:S9cC:ghHdndnaeIdbax:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikaHai:S:ehHdndnaecwfIdbaD:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabaHai:T9cy:g:e83ibaeaofheabcwfhbadcufgdmbxdkkarcdthoindndnaeIdbax:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cv9:9c;j:KM;j:KM;j:Kd:dhOdndnaeclfIdbaq:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cq9:9cM;j:KM;j:KM;jl:daO:ehOdndnaecwfIdbaD:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabaOai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cC9:9c:KM;j:KM;j:KMD:d:e83ibaeaofheabcwfhbadcufgdmbkkk9teiucbcbyd;y:I:cjbgeabcifc98GfgbBd;y:I:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;y:I:cjbgeabcrfc94GfgbBd;y:I:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikTeeucbabcbyd;y:I:cjbge9Rcifc98GaefgbBd;y:I:cjbdnabZbcztge9nmbabae9RcFFifcz4nb8Akkk;Sddbcj:Gdk;idbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbbbbbbbbbbbbbbbbebbbdbbbbbbbebbbbbbbbbbbbbbbb4:h9w9N94:P:gW:j9O:ye9Pbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:FFuuFFuuFFuuFFuFFFuFFFuFbc;i:IdkCebbbebbbebbbdbbb9G:rbb",b=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var a,d=WebAssembly.instantiate(t(c),{}).then(function(g){a=g.instance,a.exports.__wasm_call_ctors(),a.exports.meshopt_encodeVertexVersion(1),a.exports.meshopt_encodeIndexVersion(1)});function t(g){for(var u=new Uint8Array(g.length),r=0;r<g.length;++r){var j=g.charCodeAt(r);u[r]=j>96?j-97:j>64?j-39:j+4}for(var y=0,r=0;r<g.length;++r)u[y++]=u[r]<60?b[u[r]]:(u[r]-60)*64+u[++r];return u.buffer.slice(0,y)}function e(g){if(!g)throw new Error("Assertion failed")}function n(g){return new Uint8Array(g.buffer,g.byteOffset,g.byteLength)}function o(g,u,r,j){var y=a.exports.sbrk,w=y(u.length*4),E=y(r*4),f=new Uint8Array(a.exports.memory.buffer),k=n(u);f.set(k,w),j&&j(w,w,u.length,r);var p=g(E,w,u.length,r);f=new Uint8Array(a.exports.memory.buffer);var M=new Uint32Array(r);new Uint8Array(M.buffer).set(f.subarray(E,E+r*4)),k.set(f.subarray(w,w+u.length*4)),y(w-y(0));for(var v=0;v<u.length;++v)u[v]=M[u[v]];return[M,p]}function h(g,u,r,j){var y=a.exports.sbrk,w=y(r*4),E=y(r*j),f=new Uint8Array(a.exports.memory.buffer);f.set(n(u),E),g(w,E,r,j),f=new Uint8Array(a.exports.memory.buffer);var k=new Uint32Array(r);return new Uint8Array(k.buffer).set(f.subarray(w,w+r*4)),y(w-y(0)),k}function m(g,u,r,j,y,w,E){var f=a.exports.sbrk,k=f(u),p=f(j*y),M=new Uint8Array(a.exports.memory.buffer);M.set(n(r),p);var v=g(k,u,p,j,y,w,E),x=new Uint8Array(v);return x.set(M.subarray(k,k+v)),f(k-f(0)),x}function i(g){for(var u=0,r=0;r<g.length;++r){var j=g[r];u=u<j?j:u}return u}function s(g,u){if(e(u==2||u==4),u==4)return new Uint32Array(g.buffer,g.byteOffset,g.byteLength/4);var r=new Uint16Array(g.buffer,g.byteOffset,g.byteLength/2);return new Uint32Array(r)}function l(g,u,r,j,y,w,E){var f=a.exports.sbrk,k=f(r*j),p=f(r*w),M=new Uint8Array(a.exports.memory.buffer);M.set(n(u),p),g(k,r,j,y,p,E);var v=new Uint8Array(r*j);return v.set(M.subarray(k,k+r*j)),f(k-f(0)),v}return{ready:d,supported:!0,reorderMesh:function(g,u,r){e(g instanceof Uint32Array||g instanceof Int32Array),e(!u||g.length%3==0);var j=u?r?a.exports.meshopt_optimizeVertexCacheStrip:a.exports.meshopt_optimizeVertexCache:void 0;return o(a.exports.meshopt_optimizeVertexFetchRemap,g,i(g)+1,j)},reorderPoints:function(g,u){return e(g instanceof Float32Array),e(g.length%u==0),e(u>=3),h(a.exports.meshopt_spatialSortRemap,g,g.length/u,u*4)},encodeVertexBuffer:function(g,u,r){e(r>0&&r<=256),e(r%4==0);var j=a.exports.meshopt_encodeVertexBufferBound(u,r);return m(a.exports.meshopt_encodeVertexBuffer,j,g,u,r)},encodeVertexBufferLevel:function(g,u,r,j,y){e(r>0&&r<=256),e(r%4==0),e(j>=0&&j<=3),e(y===void 0||y==0||y==1);var w=a.exports.meshopt_encodeVertexBufferBound(u,r);return m(a.exports.meshopt_encodeVertexBufferLevel,w,g,u,r,j,y===void 0?-1:y)},encodeIndexBuffer:function(g,u,r){e(r==2||r==4),e(u%3==0);var j=s(g,r),y=a.exports.meshopt_encodeIndexBufferBound(u,i(j)+1);return m(a.exports.meshopt_encodeIndexBuffer,y,j,u,4)},encodeIndexSequence:function(g,u,r){e(r==2||r==4);var j=s(g,r),y=a.exports.meshopt_encodeIndexSequenceBound(u,i(j)+1);return m(a.exports.meshopt_encodeIndexSequence,y,j,u,4)},encodeGltfBuffer:function(g,u,r,j,y){var w={ATTRIBUTES:this.encodeVertexBufferLevel,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return e(w[j]),w[j](g,u,r,2,y===void 0?0:y)},encodeFilterOct:function(g,u,r,j){return e(r==4||r==8),e(j>=2&&j<=16),l(a.exports.meshopt_encodeFilterOct,g,u,r,j,16)},encodeFilterQuat:function(g,u,r,j){return e(r==8),e(j>=4&&j<=16),l(a.exports.meshopt_encodeFilterQuat,g,u,r,j,16)},encodeFilterExp:function(g,u,r,j,y){e(r>0&&r%4==0),e(j>=1&&j<=24);var w={Separate:0,SharedVector:1,SharedComponent:2,Clamped:3};return e(!y||y in w),l(a.exports.meshopt_encodeFilterExp,g,u,r,j,r,y?w[y]:1)},encodeFilterColor:function(g,u,r,j){return e(r==4||r==8),e(j>=2&&j<=16),l(a.exports.meshopt_encodeFilterColor,g,u,r,j,16)}}})();var Eb=(function(){var c="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq;X8:kdbk:kYi5ud9:du8Jjjjjbcjq9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCaAcethXaxaDfhiaOaeaoaeao6E9RhQalcl4cifcd4hLazcjdfaAfhKcbhYabaOad2fg8AhEaHh3incbh5dnawTmbaxaYcd4fRbbh5kcbh8Eazcjdfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcjdfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcjdfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaL6mva8FaLfhidnaCTmbaPai9RcK6mbaocdtc:q:G:cjbfcj:G:cjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bwar9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfcbaicdfa8J9c8N1:NfghRbbag9cjjjjjw:dg8J9qE86bbarcVfcbaha8J9c8M1:NfghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fcbaha8J9c8N1:NfgiRbbag9cjjjjjw:dg8J9qE86bbarc96fcbaia8J9c8M1:NfgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbw83bwarai8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasaYcd4fRbbgociGPlbedrbkaATmdazaYfh8Fazcjdfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeazaYfhaazcjdfhhcbhoceh8EaKh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaQaocefgofmbka8FaXfh8FcdhoaacdfhaahaXfhha8EceGhlcbh8EalmbxdkkaATmbaocl4h8EazaYfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaKhainazcjdfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E94aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3aYclfgYad6mbkaza8AaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcjqf8Kjjjjbaok:bsesu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:kjjjb8Aav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhDaicefgiarfhqdndnaeci9pmbaqhexekcmcsawceSEhkcbhxcbhmaqhecbhlcbhoindndnaiRbbgrc;Ve0mbavc;abfaoarcu7gPcl4fcsGcitfgwydlhsawydbhzdndnarcsGgwak9pmbavalaPfcsGcdtfydbaxawEhraxawTgHfhxxekdnaeaD9nmbc9:hoxokdndnawcsSmbcehHamawcetfcWfhrxekaecefhrae8SbbgwcFeGhPdndnawcu9mmbarhexekaecvfheaPcFbGhPcrhwdninar8SbbgHcFbGawtaPVhPaHcu9kmearcefhrawcrfgwc8J9hmbxdkkarcefhekcehHaPce4cbaPceG9R7amfhrkarhmkavc;abfaocitfgwarBdbawasBdlavalcdtfarBdbavc;abfaocefcsGcitfgwazBdbawarBdlaocdfhoaHalfhldnadcd9hmbabar87elabas87edabaz87ebabcofhbxdkabarBdwabasBdlabazBdbabcxfhbxekdnarcpe0mbavalaDarcsGfRbbgwcl4gP9RcsGcdtfydbaxcefgsaPEhravalaw9RcsGcdtfydbasaPTgzfgsawcsGgPEhwaPThPdndnadcd9hmbabaw87elabar87edabax87ebcohHxekabawBdwabarBdlabaxBdbcxhHkavalcdtfaxBdbavc;abfaocitfgOarBdbaOaxBdlavalcefglcsGcdtfarBdbavc;abfaocefcsGcitfgOawBdbaOarBdlavalazfglcsGcdtfawBdbavc;abfaocdfcsGcitfgraxBdbarawBdlaocifhoabaHfhbalaPfhlasaPfhxxekdnaeaD9nmbc9:hoxlkaxcbaeRbbgwEgHarc;:eSgrfhsawcsGhOdndnawcl4gAmbascefhzxekashzavalaA9RcsGcdtfydbhskdndnaOmbazcefhxxekazhxavalaw9RcsGcdtfydbhzkdndnarTmbaecefhrxekaecdfhrae8SbegPcFeGhwdnaPcu9kmbaecofhHawcFbGhwcrhedninar8SbbgPcFbGaetawVhwaPcu9kmearcefhraecrfgec8J9hmbkaHhrxekarcefhrkawce4cbawceG9R7amfgmhHkdndnaAcsSmbarhwxekarcefhwar8SbbgecFeGhPdnaecu9kmbarcvfhsaPcFbGhPcrhedninaw8SbbgrcFbGaetaPVhParcu9kmeawcefhwaecrfgec8J9hmbkashwxekawcefhwkaPce4cbaPceG9R7amfgmhskdndnaOcsSmbawhexekawcefheaw8SbbgrcFeGhPdnarcu9kmbawcvfhzaPcFbGhPcrhrdninae8SbbgwcFbGartaPVhPawcu9kmeaecefhearcrfgrc8J9hmbkazhexekaecefhekaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabaz87elabas87edabaH87ebcohrxekabazBdwabasBdlabaHBdbcxhrkavc;abfaocitfgwasBdbawaHBdlavalcdtfaHBdbavc;abfaocefcsGcitfgwazBdbawasBdlavalcefglcsGcdtfasBdbavc;abfaocdfcsGcitfgwaHBdbawazBdlavalaATaAcsSVfglcsGcdtfazBdbalaOTaOcsSVfhlaocifhoabarfhbkaocsGhoalcsGhlaicefgiaq6mbkkcbc99aeaDSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk:4ioiue99dud99dud99dnaeTmbcbhiabhlindndnal8Uebgv:YgoJ:ji:1Salcof8UebgrciVgw:Y:vgDNJbbbZJbbb:;avcu9kEMgq:lJbbb9p9DTmbaq:Ohkxekcjjjj94hkkalclf8Uebhvalcdf8UebhxalarcefciGcetfak87ebdndnax:YgqaDNJbbbZJbbb:;axcu9kEMgm:lJbbb9p9DTmbam:Ohxxekcjjjj94hxkabaiarciGgkfcd7cetfax87ebdndnav:YgmaDNJbbbZJbbb:;avcu9kEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkalarcufciGcetfav87ebdndnawaw2:ZgPaPMaoaoN:taqaqN:tamamN:tgoJbbbbaoJbbbb9GE:raDNJbbbZMgD:lJbbb9p9DTmbaD:Ohrxekcjjjj94hrkalakcetfar87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K:G:cjbgeabcifc98GfgbBd:K:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk83dbcj:Gdk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:K:Gdkl8W:qbb",b="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq:I9Dklbzik94evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaeai86b:q:W:cjbaecitab8Piw83i:q:G:cjbaecefgecjd9hmbkk:SBlEud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaialfgxar9RhodnadTgmmbavaoad;8qbbkaicefhPcj;abad9Uc;WFbGcjdadca0EhsdndndnadTmbaoadfhzcbhHinaeaH9nmdaxaP9RaD6miabaHad2fgOavcjdfasaeaH9RaHasfae6EgAaAcsfgoc9WGgCSEhXaPaDfhQaocl4cifcd4hLavcj;cbfaCcetfhKavcj;cbfaCci2fhYavcj;cbfaCfh8AcbhEaoc;ab6h3incbh5dnawTmbaPaEcd4fRbbh5kcbh8Eavcj;cbfh8Findndndndna5a8Ecet4ciGgoc9:fPdebdkaxaQ9RaC6mwdnaCTmbavcj;cbfa8EaC2faQaC;8qbbkaQaAfhQxdkaCTmeavcj;cbfa8EaC2fcbaC;8kbxekaxaQ9RaL6moaoclVcbawEhraQaLfhocbhidna3mbaxao9Rc;Gb6mbcbhlina8FalfhidndndndndndnaQalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaiaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaiczfaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaoclffa8JRb:q:W:cjbfhoxikaicafaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbagaocwffa8JRb:q:W:cjbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbagaocdffa8JRb:q:W:cjbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsaap5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbaiaoclffaqRb:q:W:cjbfhoxikaic8Wfaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsaap5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spklbaiaocwffaqRb:q:W:cjbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitpbi:q:G:cjbaiRb:q:W:cjbgipsaoRbegqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqRb:q:W:cjbfhokalc;abfhialcjefaC0meaihlaxao9Rc;Fb0mbkkdnaiaC9pmbaici4hlinaxao9RcK6mwa8FaifhqdndndndndndnaQaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLgacdp:meaapmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9oghpxiiiiiiiiiiiiiiiip8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spkbbagaoclffa8JRb:q:W:cjbfhoxikaqaopbbwaopbbbgaclp:meaapmbzeHdOiAlCvXoQrLpxssssssssssssssssp9oghpxssssssssssssssssp8Jgap5b9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbagRb:q:W:cjbggpsaap5e9cjF;8;4;W;G;ab9:9cU1:Ng8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPahaap9spkbbagaocwffa8JRb:q:W:cjbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbggcitpbi:q:G:cjbagRb:q:W:cjbggpsaoRbeg8Jcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpkbbagaocdffa8JRb:q:W:cjbfhokalcdfhlaiczfgiaC6mbkkaohQaoTmoka8FaCfh8Fa8Ecefg8Ecl9hmbkdndndndnawTmbazaEcd4fRbbglciGPlbedwbkaCTmdaXaEfhlavaEfpbdbh8Kcbhoinalavcj;cbfaofpblbg8La8Aaofpblbg8MpmbzeHdOiAlCvXoQrLg8NaKaofpblbgyaYaofpblbg8PpmbzeHdOiAlCvXoQrLgIpmbezHdiOAlvCXorQLgacep9Taapxeeeeeeeeeeeeeeeeghp9op9Hp9rgaa8Kp9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8NaIpmwDKYqk8AExm35Ps8E8Fgacep9Taaahp9op9Hp9rgap9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8La8MpmwKDYq8AkEx3m5P8Es8Fg8Laya8PpmwKDYq8AkEx3m5P8Es8Fg8MpmbezHdiOAlvCXorQLgacep9Taaahp9op9Hp9rgap9Ug8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp9Ug8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp9Ug8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9Abbbaladfgla8Ka8La8MpmwDKYqk8AExm35Ps8E8Fgacep9Taaahp9op9Hp9rgap9Ughp9Abbbaladfglahaaaapmlvorlvorlvorlvorp9Ughp9AbbbaladfglahaaaapmwDqkwDqkwDqkwDqkp9Ughp9AbbbaladfglahaaaapmxmPsxmPsxmPsxmPsp9Ug8Kp9AbbbaladfhlaoczfgoaC6mbxikkaCTmeaXaEfhlavaEfpbdbh8Kcbhoinalavcj;cbfaofpblbg8La8Aaofpblbg8MpmbzeHdOiAlCvXoQrLg8NaKaofpblbgyaYaofpblbg8PpmbzeHdOiAlCvXoQrLgIpmbezHdiOAlvCXorQLgacep:neaapxebebebebebebebebghp9op:bep9rgaa8Kp:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8NaIpmwDKYqk8AExm35Ps8E8Fgacep:neaaahp9op:bep9rgap:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8La8MpmwKDYq8AkEx3m5P8Es8Fg8Laya8PpmwKDYq8AkEx3m5P8Es8Fg8MpmbezHdiOAlvCXorQLgacep:neaaahp9op:bep9rgap:oeg8Kp9Abbbaladfgla8Kaaaapmlvorlvorlvorlvorp:oeg8Kp9Abbbaladfgla8KaaaapmwDqkwDqkwDqkwDqkp:oeg8Kp9Abbbaladfgla8KaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9Abbbaladfgla8Ka8La8MpmwDKYqk8AExm35Ps8E8Fgacep:neaaahp9op:bep9rgap:oeghp9Abbbaladfglahaaaapmlvorlvorlvorlvorp:oeghp9AbbbaladfglahaaaapmwDqkwDqkwDqkwDqkp:oeghp9AbbbaladfglahaaaapmxmPsxmPsxmPsxmPsp:oeg8Kp9AbbbaladfhlaoczfgoaC6mbxdkkaCTmbaXaEfhrcbhocbalcl4gl9Rc8FGhiavaEfpbdbhhinaravcj;cbfaofpblbg8Ka8Aaofpblbg8LpmbzeHdOiAlCvXoQrLg8MaKaofpblbg8NaYaofpblbgypmbzeHdOiAlCvXoQrLg8PpmbezHdiOAlvCXorQLgaaip:Reaaalp:Tep9qgaahp9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ma8PpmwDKYqk8AExm35Ps8E8Fgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ka8LpmwKDYq8AkEx3m5P8Es8Fg8Ka8NaypmwKDYq8AkEx3m5P8Es8Fg8LpmbezHdiOAlvCXorQLgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9Abbbaradfgraha8Ka8LpmwDKYqk8AExm35Ps8E8Fgaaip:Reaaalp:Tep9qgap9rghp9Abbbaradfgrahaaaapmlvorlvorlvorlvorp9rghp9AbbbaradfgrahaaaapmwDqkwDqkwDqkwDqkp9rghp9AbbbaradfgrahaaaapmxmPsxmPsxmPsxmPsp9rghp9AbbbaradfhraoczfgoaC6mbkkaEclfgEad6mbkdnaXavcjdf9hmbaAad2goTmbaOavcjdfao;8qbbkdnammbavaXaAcufad2fad;8qbbkaAaHfhHc9:hoaQhPaQmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdasaeao9Raoasfae6Eaofgoae6mbkaial9RhPkcbc99axaP9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbkpPesu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhDaicefgiarfhqdndnaeci9pmbaqhexekcmcsawceSEhkcbhxcbhmaqhecbhlcbhoindndnaiRbbgrc;Ve0mbavc;abfaoarcu7gPcl4fcsGcitfgwydlhsawydbhzdndnarcsGgwak9pmbavalaPfcsGcdtfydbaxawEhraxawTgHfhxxekdnaeaD9nmbc9:hoxokdndnawcsSmbcehHamawcetfcWfhrxekaecefhrae8SbbgwcFeGhPdndnawcu9mmbarhexekaecvfheaPcFbGhPcrhwdninar8SbbgHcFbGawtaPVhPaHcu9kmearcefhrawcrfgwc8J9hmbxdkkarcefhekcehHaPce4cbaPceG9R7amfhrkarhmkavc;abfaocitfgwarBdbawasBdlavalcdtfarBdbavc;abfaocefcsGcitfgwazBdbawarBdlaocdfhoaHalfhldnadcd9hmbabar87elabas87edabaz87ebabcofhbxdkabarBdwabasBdlabazBdbabcxfhbxekdnarcpe0mbavalaDarcsGfRbbgwcl4gP9RcsGcdtfydbaxcefgsaPEhravalaw9RcsGcdtfydbasaPTgzfgsawcsGgPEhwaPThPdndnadcd9hmbabaw87elabar87edabax87ebcohHxekabawBdwabarBdlabaxBdbcxhHkavalcdtfaxBdbavc;abfaocitfgOarBdbaOaxBdlavalcefglcsGcdtfarBdbavc;abfaocefcsGcitfgOawBdbaOarBdlavalazfglcsGcdtfawBdbavc;abfaocdfcsGcitfgraxBdbarawBdlaocifhoabaHfhbalaPfhlasaPfhxxekdnaeaD9nmbc9:hoxlkaxcbaeRbbgwEgHarc;:eSgrfhsawcsGhOdndnawcl4gAmbascefhzxekashzavalaA9RcsGcdtfydbhskdndnaOmbazcefhxxekazhxavalaw9RcsGcdtfydbhzkdndnarTmbaecefhrxekaecdfhrae8SbegPcFeGhwdnaPcu9kmbaecofhHawcFbGhwcrhedninar8SbbgPcFbGaetawVhwaPcu9kmearcefhraecrfgec8J9hmbkaHhrxekarcefhrkawce4cbawceG9R7amfgmhHkdndnaAcsSmbarhwxekarcefhwar8SbbgecFeGhPdnaecu9kmbarcvfhsaPcFbGhPcrhedninaw8SbbgrcFbGaetaPVhParcu9kmeawcefhwaecrfgec8J9hmbkashwxekawcefhwkaPce4cbaPceG9R7amfgmhskdndnaOcsSmbawhexekawcefheaw8SbbgrcFeGhPdnarcu9kmbawcvfhzaPcFbGhPcrhrdninae8SbbgwcFbGartaPVhPawcu9kmeaecefhearcrfgrc8J9hmbkazhexekaecefhekaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabaz87elabas87edabaH87ebcohrxekabazBdwabasBdlabaHBdbcxhrkavc;abfaocitfgwasBdbawaHBdlavalcdtfaHBdbavc;abfaocefcsGcitfgwazBdbawasBdlavalcefglcsGcdtfasBdbavc;abfaocdfcsGcitfgwaHBdbawazBdlavalaATaAcsSVfglcsGcdtfazBdbalaOTaOcsSVfhlaocifhoabarfhbkaocsGhoalcsGhlaicefgiaq6mbkkcbc99aeaDSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk;Toio97eue97aec98Ghedndnadcl9hmbaeTmecbhdinababpbbbgicKp:RecKp:Sep;6eglaicwp:RecKp:Sep;6ealp;Geaiczp:RecKp:Sep;6egvp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgwp9op9rp;Keglpxbb;:9cbb;:9cbb;:9cbb;:9calalp;Meaoaop;Meavaravawp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFbbbFbbbFbbbFbbbp9oaipxbbbFbbbFbbbFbbbFp9op9qalavp;Mearp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaoavp;Mearp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgDaDpbbbgipxbbbbbbFFbbbbbbFFgwp9oabpbbbgoaipmbediwDqkzHOAKY8AEgvczp:Reczp:Sep;6eglaoaipmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eavczp:Sep;6egvp;Gealp;Gep;Kep;Legipxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgqp9op9rp;Keglpxb;:FSb;:FSb;:FSb;:FSalalp;Meaiaip;Meavaravaqp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbp9oaiavp;Mearp;Keczp:Rep9qgialavp;Mearp;KepxFFbbFFbbFFbbFFbbp9oglpmwDKYqk8AExm35Ps8E8Fp9qpkbbabaoawp9oaialpmbezHdiOAlvCXorQLp9qpkbbabcafhbadclfgdae6mbkkk;2ileue97euo97dnaec98GgiTmbcbheinabcKfpx:ji:1S:ji:1S:ji:1S:ji:1SabpbbbglabczfgvpbbbgopmlvorxmPsCXQL358E8Fgrczp:Segwpxibbbibbbibbbibbbp9qp;6egDp;NegqaDaDp;MegDaDp;KealaopmbediwDqkzHOAKY8AEgDczp:Reczp:Sep;6eglalp;MeaDczp:Sep;6egoaop;Mearczp:Reczp:Sep;6egrarp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gDp;KepxFFbbFFbbFFbbFFbbgkp9oaqaop;MeaDp;Keczp:Rep9qgoaqalp;MeaDp;Keakp9oaqarp;MeaDp;Keczp:Rep9qgDpmwDKYqk8AExm35Ps8E8Fglp5eawclp:RegqpEi:T:j83ibavalp5baqpEd:T:j83ibabcwfaoaDpmbezHdiOAlvCXorQLgDp5eaqpEe:T:j83ibabaDp5baqpEb:T:j83ibabcafhbaeclfgeai6mbkkkuee97dnadcd4ae2c98GgeTmbcbhdinababpbbbgicwp:Recwp:Sep;6eaicep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbabczfhbadclfgdae6mbkkk:Sodw97euaec98Ghedndnadcl9hmbaeTmecbhdinabpxbbuJbbuJbbuJbbuJabpbbbgicKp:TeglaicYp:Tep9qgvcdp:Teavp9qgvclp:Teavp9qgop;6ep;Negvaicwp:RecKp:SegraipxFbbbFbbbFbbbFbbbgwp9ogDp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oavaDarp:Xeaiczp:RecKp:Segip:Uep;6ep;Meaqp;Keawp9op9qavaDaraip:Uep:Xep;6ep;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qavaoalcep:Rep9oalpxebbbebbbebbbebbbp9op9qp;6ep;Meaqp;KecKp:Rep9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgkpxbFu9hbFu9hbFu9hbFu9habpbbbglakpbbbgrpmlvorxmPsCXQL358E8Fgvczp:TegqavcHp:Tep9qgicdp:Teaip9qgiclp:Teaip9qgicwp:Teaip9qgop;6ep;NegialarpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbglp9ograDczp:Segwp:Ueavczp:Reczp:SegDp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gvp;Kealp9oaiarawaDp:Uep:Xep;6ep;Meavp;Keczp:Rep9qgwaiaoaqcep:Rep9oaqpxebbbebbbebbbebbbp9op9qp;6ep;Meavp;Keczp:ReaiaDarp:Uep;6ep;Meavp;Kealp9op9qgipmwDKYqk8AExm35Ps8E8FpkbbabawaipmbezHdiOAlvCXorQLpkbbabcafhbadclfgdae6mbkkk9teiucbcbydj:G:cjbgeabcifc98GfgbBdj:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkxebcj:Gdklz:zbb",a=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),d=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var t=WebAssembly.validate(a)?o(b):o(c),e,n=WebAssembly.instantiate(t,{}).then(function(y){e=y.instance,e.exports.__wasm_call_ctors()});function o(y){for(var w=new Uint8Array(y.length),E=0;E<y.length;++E){var f=y.charCodeAt(E);w[E]=f>96?f-97:f>64?f-39:f+4}for(var k=0,E=0;E<y.length;++E)w[k++]=w[E]<60?d[w[E]]:(w[E]-60)*64+w[++E];return w.buffer.slice(0,k)}function h(y,w,E,f,k,p,M){var v=y.exports.sbrk,x=f+3&-4,I=v(x*k),A=v(p.length),z=new Uint8Array(y.exports.memory.buffer);z.set(p,A);var N=w(I,f,k,A,p.length);if(N==0&&M&&M(I,x,k),E.set(z.subarray(I,I+f*k)),v(I-v(0)),N!=0)throw new Error("Malformed buffer data: "+N)}var m={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp",COLOR:"meshopt_decodeFilterColor"},i={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},s=[],l=0;function g(y){var w={object:new Worker(y),pending:0,requests:{}};return w.object.onmessage=function(E){var f=E.data;w.pending-=f.count,w.requests[f.id][f.action](f.value),delete w.requests[f.id]},w}function u(y){for(var w="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(t)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+j.name+";"+h.toString()+j.toString(),E=new Blob([w],{type:"text/javascript"}),f=URL.createObjectURL(E),k=s.length;k<y;++k)s[k]=g(f);for(var k=y;k<s.length;++k)s[k].object.postMessage({});s.length=y,URL.revokeObjectURL(f)}function r(y,w,E,f,k){for(var p=s[0],M=1;M<s.length;++M)s[M].pending<p.pending&&(p=s[M]);return new Promise(function(v,x){var I=new Uint8Array(E),A=++l;p.pending+=y,p.requests[A]={resolve:v,reject:x},p.object.postMessage({id:A,count:y,size:w,source:I,mode:f,filter:k},[I.buffer])})}function j(y){var w=y.data;self.ready.then(function(E){if(!w.id)return self.close();try{var f=new Uint8Array(w.count*w.size);h(E,E.exports[w.mode],f,w.count,w.size,w.source,E.exports[w.filter]),self.postMessage({id:w.id,count:w.count,action:"resolve",value:f},[f.buffer])}catch(k){self.postMessage({id:w.id,count:w.count,action:"reject",value:k})}})}return{ready:n,supported:!0,useWorkers:function(y){u(y)},decodeVertexBuffer:function(y,w,E,f,k){h(e,e.exports.meshopt_decodeVertexBuffer,y,w,E,f,e.exports[m[k]])},decodeIndexBuffer:function(y,w,E,f){h(e,e.exports.meshopt_decodeIndexBuffer,y,w,E,f)},decodeIndexSequence:function(y,w,E,f){h(e,e.exports.meshopt_decodeIndexSequence,y,w,E,f)},decodeGltfBuffer:function(y,w,E,f,k,p){h(e,e.exports[i[k]],y,w,E,f,e.exports[m[p]])},decodeGltfBufferAsync:function(y,w,E,f,k){return s.length>0?r(y,w,E,i[f],m[k]):n.then(function(){var p=new Uint8Array(y*w);return h(e,e.exports[i[f]],p,y,w,E,e.exports[m[k]]),p})}}})();var tb=(function(){var c="b9H79Tebbbe;veC9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gruuuuuuub9Gouuuuuue999Gvuuuuueu9Gzuuuuuuuuuuu99uuuub9Gquuuuuuu99uueu9GPuuuuuuuuuuu99uueu9Gquuuuuuuu99ueu9Gruuuuuu99eu9Gwuuuuuu99ueu9Giuuue999GDuuuuuuuuueu9Gkuuuuuuuu99uub9Gluuuueu9Gluuuub9Giuuueui3EdilvorlwDiqkrxmPszdHObAAbeAlve9Weiiviebeoweuecj:Gdkr:Sdmo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bw8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bD8A9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9O9v9W9K9HtWbqQ9TW79O9V9Wt9F79P9T9W29P9M959t29V9W9W95bkX9TW79O9V9Wt9F79P9T9W29P9M959qV919UWbmQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7bPX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2WbsP9TW79O9V9Wt9FVW9TW79Obza9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbA59TW79O9V9Wt9F9NW9UWV9HtW9q9V79Pt9P9V9U9sW9T9H9WbCl79IV9RbXDwebcekdKYq:p:1dElbzOk:Q:tekYue99iuQ99eui99Due99xue9:w998Jjjjjbcj;sb9Rgs8Kjjjjbcbhzasc:Cefcbc;Kbz:xjjjb8AdnabaeSmbabaeadcdtz:wjjjb8AkdnamcdGTmbalcrfci4cbyd;y:L:cjbHjjjjbbhHasc:Cefasyd;8egecdtfaHBdbasaecefBd;8ecbhlcbhednadTmbabheadhOinaHaeydbci4fcb86bbaeclfheaOcufgOmbkcbhlabheadhOinaHaeydbgAci4fgCaCRbbgCceaAcrGgAtV86bbaCcu7aA4ceGalfhlaeclfheaOcufgOmbkcualcdtalcFFFFi0Ehekaecbyd;y:L:cjbHjjjjbbhzasc:Cefasyd;8egecdtfazBdbasaecefBd;8ealcd4alfhOcehHinaHgecethHaeaO6mbkcbhXcuaecdtgOaecFFFFi0Ecbyd;y:L:cjbHjjjjbbhHasc:Cefasyd;8egAcdtfaHBdbasaAcefBd;8eaHcFeaOz:xjjjbhQdnadTmbaecufhLcbhKindndnaQabaKcdtfgYydbgAc:v;t;h;Ev2aLGgOcdtfgCydbgHcuSmbceheinazaHcdtfydbaASmdaOaefhHaecefheaQaHaLGgOcdtfgCydbgHcu9hmbkkazaXcdtfaABdbaCaXBdbaXhHaXcefhXkaYaHBdbaKcefgKad9hmbkkaQcbyd;C:L:cjbH:bjjjbbasasyd;8ecufBd;8ekcbh8AcualcefgecdtaecFFFFi0Ecbyd;y:L:cjbHjjjjbbhKasc:Cefasyd;8egecdtfaKBdbasaKBdNeasaecefBd;8ecuadcitadcFFFFe0Ecbyd;y:L:cjbHjjjjbbhEasc:Cefasyd;8egecdtfaEBdbasaEBd:yeasaecefBd;8eascNefabadalcbz:cjjjbcualcdtgealcFFFFi0Eg3cbyd;y:L:cjbHjjjjbbhHasc:Cefasyd;8egOcdtfaHBdbasaOcefBd;8ea3cbyd;y:L:cjbHjjjjbbhXasc:Cefasyd;8egOcdtfaXBdbasaOcefBd;8eaHaXaialavazasc:Cefz:djjjbalcbyd;y:L:cjbHjjjjbbh5asc:Cefasyd;8egOcdtfa5BdbasaOcefBd;8ea3cbyd;y:L:cjbHjjjjbbhOasc:Cefasyd;8egAcdtfaOBdbasaAcefBd;8ea3cbyd;y:L:cjbHjjjjbbhAasc:Cefasyd;8egCcdtfaABdbasaCcefBd;8eaOcFeaez:xjjjbh8EaAcFeaez:xjjjbh8FdnalTmbindnaKa8AgAcefg8AcdtfydbgCaKaAcdtgefydbgOSmbaCaO9RhYaEaOcitfhaa8Faefhha8EaefhLcbhCindndnaaaCcitfydbgQaA9hmbaLaABdbahaABdbxekdnaKaQcdtggfgeclfydbgOaeydbgeSmbaOae9RhOaEaecitfheinaeydbaASmdaecwfheaOcufgOmbkka8FagfgeaAaQaeydbcuSEBdbaLaQaAaLydbcuSEBdbkaCcefgCaY9hmbkka8Aal9hmbkaHhOaXhAa8EhQa8FhCcbheindndnaeaOydbgL9hmbdnaeaAydbgL9hmbaQydbhLdnaCydbgYcu9hmbaLcu9hmba5aefcb86bbxikdnaYcuSmbaLcuSmbaeaYSmbaHaYcdtfydbaHaLcdtfydb9hmba5aefcd86bbxika5aefhadnaeaYSmbaeaLSmbaace86bbxikaacv86bbxdkdnaeaXaLcdtgYfydb9hmbdnaCydbgacuSmbaeaaSmbaQydbggcuSmbaeagSmba8FaYfydbghcuSmbahaLSmba8EaYfydbgYcuSmbaYaLSmbaHaacdtfydbgLaHaYcdtfydb9hmbaLaHagcdtfydbgYSmbaYaHahcdtfydb9hmba5aefcd86bbxika5aefcv86bbxdka5aefcv86bbxeka5aefa5aLfRbb86bbkaOclfhOaAclfhAaQclfhQaCclfhCalaecefge9hmbkdnamcaGTmbcbh8Jindndna5a8Jfg8KRbbg8Lc9:fPlbeebekdndndnaHa8Jcdtfydbgea8J9hmbcbhYcbh8MaqTmednazTmbcbh8Ma8JheinaqazaecdtgefydbfRbbce4a8MVceGh8MaXaefydbgea8J9hmbxikkcbh8Ma8JheinaqaefRbbce4a8MVceGh8MaXaecdtfydbgea8J9hmbxdkka5aefRbbhexeka8JheindnaKaecdtg8AfgeclfydbgOaeydbgeSmbaOae9RhgaEaecitfhhaHa8AfhacbhLinahaLcitfydbgQhednindnaKaecdtgCfgeclfydbgOaeydbgeSmbaOae9RhOaEaecitfheaaydbhAdninaHaeydbcdtfydbaASmeaecwfheaOcufgOTmdxbkkcbhexdkaXaCfydbgeaQ9hmbkcehekaYaeVhYaLcefgLag9hmbkkaXa8Afydbgea8J9hmbka8LclciaYceGEa8MEheka8Kae86bbka8Jcefg8Jal9hmbkkdnaqTmbdndnazTmbazheaHhOalhAindnaqaeydbfRbbceGTmba5aOydbfcv86bbkaeclfheaOclfhOaAcufgAmbxdkkaqheaHhOalhAindnaeRbbceGTmba5aOydbfcv86bbkaecefheaOclfhOaAcufgAmbkkaHhealhAa5hOindna5aeydbfRbbcv9hmbaOcv86bbkaeclfheaOcefhOaAcufgAmbkkamceGTmba5healhOindndnaeRbbcufPlbeebekaecv86bbkaecefheaOcufgOmbkkcbh8Ncualcx2alc;v:Q;v:Qe0Ecbyd;y:L:cjbHjjjjbbh8Kasc:Cefasyd;8egecdtfa8KBdbasaecefBd;8eascbBd:qeas9cb83i1ea8Kaialavazasc1efz:ejjjbhydndnaDmbcbh8PcbhaxekcbhaawhecbhOindnaeIdbJbbbb9ETmbasaacdtfaOBdbaacefhakaeclfheaDaOcefgO9hmbkcuaaal2gecdtaecFFFFi0Ecbyd;y:L:cjbHjjjjbbh8Pasc:Cefasyd;8egecdtfa8PBdbasaecefBd;8ealTmbdnaambcbhaxekarcd4hgdnazTmbaacdthhcbhLa8PhYinaoazaLcdtfydbag2cdtfhQasheaYhOaahAinaOaQaeydbcdtgCfIdbawaCfIdbNUdbaeclfheaOclfhOaAcufgAmbkaYahfhYaLcefgLal9hmbxdkkaacdthhcbhLa8PhYinaoaLag2cdtfhQasheaYhOaahAinaOaQaeydbcdtgCfIdbawaCfIdbNUdbaeclfheaOclfhOaAcufgAmbkaYahfhYaLcefgLal9hmbkkcualc8S2gOalc;D;O;f8U0EgCcbyd;y:L:cjbHjjjjbbheasc:Cefasyd;8egAcdtfaeBdbasaAcefBd;8eaecbaOz:xjjjbhIcbh8RcbhgdnaaTmbcbh8NaCcbyd;y:L:cjbHjjjjbbhgasc:Cefasyd;8egecdtfagBdbasaecefBd;8eagcbaOz:xjjjb8Acuaaal2gecltgOaecFFFFb0Ecbyd;y:L:cjbHjjjjbbh8Rasc:Cefasyd;8egecdtfa8RBdbasaecefBd;8ea8RcbaOz:xjjjb8AamcjjjjdGTmbcualcltgealcFFFFb0Ecbyd;y:L:cjbHjjjjbbh8Nasc:Cefasyd;8egOcdtfa8NBdbasaOcefBd;8ea8Ncbaez:xjjjb8AkdnadTmbcbhQabhOina8KaOclfydbgLcx2fgeIdba8KaOydbgYcx2fgAIdbg8S:tgRa8KaOcwfydbghcx2fgCIdlaAIdlg8U:tg8VNaeIdla8U:tg8WaCIdba8S:tg8XN:tg8Ya8YNa8WaCIdwaAIdwg8Z:tg80NaeIdwa8Z:tg8Wa8VN:tg81a81Na8Wa8XNaRa80N:tg80a80NMMg8V:rhBa8Yh8Xa80h8Wa81hRdna8VJbbbb9EgATmba8YaB:vh8Xa80aB:vh8Wa81aB:vhRkaIaHaYcdtfydbgCc8S2fgeaRaB:rg8VaRNNg83aeIdbMUdbaea8Wa8Va8WNgUNg85aeIdlMUdlaea8Xa8Va8XNg86Ng87aeIdwMUdwaeaRaUNgUaeIdxMUdxaea86aRNg88aeIdzMUdzaea8Wa86Ng89aeIdCMUdCaeaRa8Va8Xa8ZNaRa8SNa8Ua8WNMM:mg8:Ng86NgRaeIdKMUdKaea8Wa86Ng8WaeId3MUd3aea8Xa86Ng8XaeIdaMUdaaea86a8:Ng86aeId8KMUd8Kaea8VaeIdyMUdyaIaHaLcdtfydbgLc8S2fgea83aeIdbMUdbaea85aeIdlMUdlaea87aeIdwMUdwaeaUaeIdxMUdxaea88aeIdzMUdzaea89aeIdCMUdCaeaRaeIdKMUdKaea8WaeId3MUd3aea8XaeIdaMUdaaea86aeId8KMUd8Kaea8VaeIdyMUdyaIaHahcdtfydbgYc8S2fgea83aeIdbMUdbaea85aeIdlMUdlaea87aeIdwMUdwaeaUaeIdxMUdxaea88aeIdzMUdzaea89aeIdCMUdCaeaRaeIdKMUdKaea8WaeId3MUd3aea8XaeIdaMUdaaea86aeId8KMUd8Kaea8VaeIdyMUdydna8NTmbdnaATmba8YaB:vh8Ya80aB:vh80a81aB:vh81ka8NaCcltfgeaBJbbbZNgRa80Ng8VaeIdlMUdlaeaRa8YNg8WaeIdwMUdwaeaRa81Ng8XaeIdbMUdbaeaRa8S:ma81Na8Ua80N:ta8Za8YN:tNgRaeIdxMUdxa8NaLcltfgea8VaeIdlMUdlaea8WaeIdwMUdwaea8XaeIdbMUdbaeaRaeIdxMUdxa8NaYcltfgea8VaeIdlMUdlaea8WaeIdwMUdwaea8XaeIdbMUdbaeaRaeIdxMUdxkaOcxfhOaQcifgQad6mbkkdnalTmbJq;x8J88J;n;m;m89J:v:;;w8ZamczGEamc;abGEh80cbhOaHhCazhQaIhea8KhAindnaOaCydb9hmbaOhLdnazTmbaQydbhLka80hRdnaqTmbJbbjZa80aqaLfRbbclGEhRkaecxfgLaLIdbJbbbbMUdbaeczfgLaLIdbJbbbbMUdbaecCfgLaLIdbJbbbbMUdbaeaRaecyfgLIdbg8YNgRaeIdbMUdbaeclfgYaRaYIdbMUdbaecwfgYaRaYIdbMUdbaecKfgYaYIdbaAIdbg8WaRN:tUdbaAcwfIdbh8Vaec3fgYaYIdbaRaAclfIdbg8XN:tUdbaecafgYaYIdbaRa8VN:tUdbaec8KfgYIdbh81aLa8YaRMUdbaYa81aRa8Va8VNa8Wa8WNa8Xa8XNMMNMUdbkaCclfhCaQclfhQaec8SfheaAcxfhAalaOcefgO9hmbkkdnadTmbcbh8AabhLinaba8AcdtfhYcbheindna5aLaefydbgCfRbbgOTmba5aYaec:G:G:cjbfydbcdtfydbgQfRbbcFeGgATmbdnaOclSghmbaOci6mbaAclSmbaAcd0mekdnaOcd0mba8EaCcdtfydbaQ9hmekdnaAcd0mba8FaQcdtfydbaC9hmekdndnahmbaAcl9hmekaOciSmeaAciSmekJbbbZJbbbZJbbacaAcdSEaOcdSEhUdna8KaYaec:K:G:cjbfydbcdtfydbcx2fgOIdwa8KaCcx2fgAIdwg86:tg8Sa8KaQcx2fghIdwa86:tg8Xa8XNahIdbaAIdbg8U:tg80a80NahIdlaAIdlg8Z:tg8Va8VNMMg81Na8Xa8Sa8XNaOIdba8U:tg83a80Na8VaOIdla8Z:tg85NMMg8WN:tg8Ya8YNa83a81Na80a8WN:tgRaRNa85a81Na8Va8WN:tg8Wa8WNMMgBJbbbb9ETmba8YaB:rgB:vh8Ya8WaB:vh8WaRaB:vhRkaUa81:rNgBa8Ya86NaRa8UNa8Za8WNMM:mg81Ng87a81Nh88a80a85Na8Va83N:tg81a81Na8Va8SNa8Xa85N:tg8Va8VNa8Xa83Na80a8SN:tg8Xa8XNMMg83:rh80a8Ya87Nh85a8Wa87Nh89aRa87Nh87a8WaBa8YNg8SNh8:a8SaRNhZaRaBa8WNgnNhca8Ya8SNh8Ya8WanNh8WaRaBaRNNh8Sdna83Jbbbb9ETmba81a80:vh81a8Xa80:vh8Xa8Va80:vh8VkaIaHaCcdtfydbc8S2fgOaOIdba8Sa8VaUa80:rNgRa8VNNMg80MUdbaOa8Wa8XaRa8XNg8SNMg83aOIdlMUdlaOa8Ya81aRa81Ng8WNMg8YaOIdwMUdwaOaca8Va8SNMg8SaOIdxMUdxaOaZa8Wa8VNMgUaOIdzMUdzaOa8:a8Xa8WNMg8WaOIdCMUdCaOa87a8VaRa81a86Na8Va8UNa8Za8XNMMg86:mNgRNMg8VaOIdKMUdKaOa89a8XaRNMg8XaOId3MUd3aOa85a81aRNMg81aOIdaMUdaaOa88a86aRN:tgRaOId8KMUd8KaOaBaOIdyMUdyaIaHaQcdtfydbc8S2fgOa80aOIdbMUdbaOa83aOIdlMUdlaOa8YaOIdwMUdwaOa8SaOIdxMUdxaOaUaOIdzMUdzaOa8WaOIdCMUdCaOa8VaOIdKMUdKaOa8XaOId3MUd3aOa81aOIdaMUdaaOaRaOId8KMUd8KaOaBaOIdyMUdykaeclfgecx9hmbkaLcxfhLa8Acifg8Aad6mbkkdnamcjeGTmbalTmbcbh9cindnaKa9cgecdtgOfydbghaKaecefg9ccdtfydbg8M9pmba8Kaecx2fhDaIaHaOfydbgCc8S2fh8AindnaHaEahcitfgeydbgLcdtfydbg8JaC0mbaeydlh8LcuhAaLheindnaKaecdtgYfgeclfydbgOaeydbgeSmbaOae9RhOaEaecitfheindnaHaeydbcdtfydbaC9hmbaAcu9hhQaLhAaQmbaeclfydbhAkaecwfheaOcufgOmbkkaXaYfydbgeaL9hmbkaAaLSmbaAcuSmba8KaLcx2fgeIdbaDIdbg81:tgRa8Ka8Lcx2fgOIdlaDIdlg80:tg8XNaeIdla80:tg8VaOIdba81:tg8YN:tg86a8KaAcx2fgAIdba81:tg8Za8VNaAIdla80:tg83aRN:tg8SNa8VaOIdwaDIdwgB:tg8UNaeIdwaB:tg8Wa8XN:tg85a83a8WNaAIdwaB:tg87a8VN:tgUNa8Wa8YNaRa8UN:tg88a87aRNa8Za8WN:tg89NMMa86a86Na85a85Na88a88NMM:rJ:A:z9z:;Na8Sa8SNaUaUNa89a89NMM:rN9Gmbdna8Ua8Wa8WNaRaRNa8Va8VNMMg8SNa8Wa8Ua8WNa8YaRNa8Va8XNMMg86N:tg8Ua8UNa8Ya8SNaRa86N:tg8Ya8YNa8Xa8SNa8Va86N:tg86a86NMMg8XJbbbb9ETmba8Ua8X:rg8X:vh8Ua86a8X:vh86a8Ya8X:vh8Yka8S:rg8Xa8UaBNa8Ya81Na80a86NMM:mgUNg85aUNhUa8Ua85Nh88a86a85Nh89a8Ya85Nh8:a86a8Xa8UNg85NhZa85a8YNhna8Ya8Xa86NgcNhJa8Ua85Nh8Ua86acNh86a8Ya8Xa8YNNh85dna87a8SNa8Wa87a8WNa8ZaRNa8Va83NMMg8YN:tg8Wa8WNa8Za8SNaRa8YN:tgRaRNa83a8SNa8Va8YN:tg8Va8VNMMg8YJbbbb9ETmba8Wa8Y:rg8Y:vh8Wa8Va8Y:vh8VaRa8Y:vhRka8Aa8AIdba85aRa8XaRNNMg8SMUdba8Aa86a8Va8Xa8VNg8ZNMg86a8AIdlMUdla8Aa8Ua8Wa8Xa8WNg8YNMg8Ua8AIdwMUdwa8AaJaRa8ZNMg8Za8AIdxMUdxa8Aana8YaRNMg83a8AIdzMUdza8AaZa8Va8YNMg85a8AIdCMUdCa8Aa8:aRa8Xa8WaBNaRa81Na80a8VNMMg81:mNg8YNMgRa8AIdKMUdKa8Aa89a8Va8YNMg8Va8AId3MUd3a8Aa88a8Wa8YNMg8Wa8AIdaMUdaa8AaUa81a8YN:tg8Ya8AId8KMUd8Ka8Aa8Xa8XMg8Xa8AIdyMUdyaIa8Jc8S2fgea8SaeIdbMUdbaea86aeIdlMUdlaea8UaeIdwMUdwaea8ZaeIdxMUdxaea83aeIdzMUdzaea85aeIdCMUdCaeaRaeIdKMUdKaea8VaeId3MUd3aea8WaeIdaMUdaaea8YaeId8KMUd8Kaea8XaeIdyMUdykahcefgha8M9hmbkka9cal9hmbkkdnadTmbaaTmbcbhYinJbbbbh80a8KabaYcdtfgeclfydbgLcx2fgOIdwa8Kaeydbghcx2fgAIdwg8Z:tg8Va8VNaOIdbaAIdbg83:tg8Wa8WNaOIdlaAIdlg85:tg8Xa8XNMMg8Sa8Kaecwfydbg8Acx2fgeIdwa8Z:tg8YNa8Va8YNa8WaeIdba83:tg81Na8XaeIdla85:tgBNMMgRa8VN:tJbbbbJbbjZa8Sa8Ya8YNa81a81NaBaBNMMg8UNaRaRN:tg86:va86Jbbbb9BEg86Nh88a8Ua8VNaRa8YN:ta86Nh89a8SaBNaRa8XN:ta86Nh8:a8Ua8XNaRaBN:ta86NhZa8Sa81NaRa8WN:ta86Nhna8Ua8WNaRa81N:ta86Nhca8WaBNa8Xa81N:tgRaRNa8Xa8YNa8VaBN:tgRaRNa8Va81Na8Wa8YN:tgRaRNMM:rJbbbZNhRa8Pahaa2g8JcdtfhOa8Pa8Aaa2g8McdtfhAa8PaLaa2gDcdtfhCa8Z:mhJa85:mh9ea83:mhTascjdfheaahQJbbbbhBJbbbbh86Jbbbbh8SJbbbbh8UJbbbbh8ZJbbbbh83Jbbbbh85Jbbbbh87JbbbbhUinaecwfaRa89aCIdbaOIdbg8Y:tg8XNa88aAIdba8Y:tg81NMg8VNUdbaeclfaRaZa8XNa8:a81NMg8WNUdbaeaRaca8XNana81NMg8XNUdbaecxfaRaJa8VNa9ea8WNa8YaTa8XNMMMg8YNUdbaRa8Va8WNNa8ZMh8ZaRa8Va8XNNa8UMh8UaRa8Wa8XNNa8SMh8SaRa8Ya8YNNaUMhUaRa8Va8YNNa87Mh87aRa8Wa8YNNa85Mh85aRa8Xa8YNNa83Mh83aRa8Va8VNNa86Mh86aRa8Wa8WNNaBMhBaRa8Xa8XNNa80Mh80aOclfhOaCclfhCaAclfhAaeczfheaQcufgQmbkagahc8S2fgea80aeIdbMUdbaeaBaeIdlMUdlaea86aeIdwMUdwaea8SaeIdxMUdxaea8UaeIdzMUdzaea8ZaeIdCMUdCaea83aeIdKMUdKaea85aeId3MUd3aea87aeIdaMUdaaeaUaeId8KMUd8KaeaRaeIdyMUdyagaLc8S2fgea80aeIdbMUdbaeaBaeIdlMUdlaea86aeIdwMUdwaea8SaeIdxMUdxaea8UaeIdzMUdzaea8ZaeIdCMUdCaea83aeIdKMUdKaea85aeId3MUd3aea87aeIdaMUdaaeaUaeId8KMUd8KaeaRaeIdyMUdyaga8Ac8S2fgea80aeIdbMUdbaeaBaeIdlMUdlaea86aeIdwMUdwaea8SaeIdxMUdxaea8UaeIdzMUdzaea8ZaeIdCMUdCaea83aeIdKMUdKaea85aeId3MUd3aea87aeIdaMUdaaeaUaeId8KMUd8KaeaRaeIdyMUdya8Ra8JcltfhLcbhOaahCinaLaOfgeascjdfaOfgAIdbaeIdbMUdbaeclfgQaAclfIdbaQIdbMUdbaecwfgQaAcwfIdbaQIdbMUdbaecxfgeaAcxfIdbaeIdbMUdbaOczfhOaCcufgCmbka8RaDcltfhLcbhOaahCinaLaOfgeascjdfaOfgAIdbaeIdbMUdbaeclfgQaAclfIdbaQIdbMUdbaecwfgQaAcwfIdbaQIdbMUdbaecxfgeaAcxfIdbaeIdbMUdbaOczfhOaCcufgCmbka8Ra8McltfhLcbhOaahCinaLaOfgeascjdfaOfgAIdbaeIdbMUdbaeclfgQaAclfIdbaQIdbMUdbaecwfgQaAcwfIdbaQIdbMUdbaecxfgeaAcxfIdbaeIdbMUdbaOczfhOaCcufgCmbkaYcifgYad6mbkkcbhAdndnamcwGgSmbJbbbbh86cbh9hcbh9icbh6xekcbh9ha3cbyd;y:L:cjbHjjjjbbh6asc:Cefasyd;8egecdtfa6BdbasaecefBd;8ecua6alabadaHz:fjjjbgCcltaCcjjjjiGEcbyd;y:L:cjbHjjjjbbh9iasc:Cefasyd;8egecdtfa9iBdbasaecefBd;8ea9iaCa6a8Kalz:gjjjbJFFuuh86aCTmba9iheaChOinaeIdbgRa86a86aR9EEh86aeclfheaOcufgOmbkaCh9hkdnalTmbaKclfheaKydbhCa5hOalhQcbhAincbaeydbgLaC9RaORbbcpeGEaAfhAaOcefhOaeclfheaLhCaQcufgQmbkaAce4hAkcuadaA9Rcifg9kcx2a9kc;v:Q;v:Qe0Ecbyd;y:L:cjbHjjjjbbh0asc:Cefasyd;8egecdtfa0BdbasaecefBd;8ecua9kcdta9kcFFFFi0Ecbyd;y:L:cjbHjjjjbbh9masc:Cefasyd;8egecdtfa9mBdbasaecefBd;8ea3cbyd;y:L:cjbHjjjjbbh9nasc:Cefasyd;8egecdtfa9nBdbasaecefBd;8ealcbyd;y:L:cjbHjjjjbbh9oasc:Cefasyd;8egecdtfa9oBdbasaecefBd;8eaxaxNayJbbjZamclGEg9pa9pN:vh87JbbbbhUdnadak9nmbdna9kci6mbamcjdGh9qaaclth9ra0cwfh9sJbbbbh85JbbbbhUinascNefabadalaHz:cjjjbabh8Acbh3cbh9tinaba9tcdtfh8McbheindnaHa8AaefydbgAcdtghfydbgCaHa8Maec:W:G:cjbfydbcdtfydbgOcdtg8JfydbgQSmba5aOfRbbgYco2a5aAfRbbgLfRb;a:G:cjbg8LaLco2aYfgDRb;a:G:cjbg9cVcFeGTmbdnaQaC9nmbaDRb;W:G:cjbcFeGmekdnaLcufcFeGce0mbaYTmba8EahfydbaO9hmekdnaLTmbaYcufcFeGce0mba8Fa8JfydbaA9hmeka0a3cx2fgCaOaAa9ccFeGgQEBdlaCaAaOaQEBdbaCaQa8LGcb9hBdwa3cefh3kaeclfgecx9hmbkdna9tcifg9tad9pmba8Acxfh8Aa3cifa9k9nmekka3TmdcbhDinaIaHa0aDcx2fghydbgLcdtgCfydbg8Jc8S2fgeIdwa8KahydlgYcx2fgOIdwg8WNaeIdzaOIdbg8XNaeIdaMgRaRMMa8WNaeIdlaOIdlg8YNaeIdCa8WNaeId3MgRaRMMa8YNaeIdba8XNaeIdxa8YNaeIdKMgRaRMMa8XNaeId8KMMM:lhRJbbbbJbbjZaeIdyg8V:va8VJbbbb9BEh8Vdndnahydwg8MmbJFFuuhBxekJbbbbJbbjZaIaHaYcdtfydbc8S2fgeIdyg81:va81Jbbbb9BEaeIdwa8KaLcx2fgOIdwg81NaeIdzaOIdbg80NaeIdaMgBaBMMa81NaeIdlaOIdlgBNaeIdCa81NaeId3Mg81a81MMaBNaeIdba80NaeIdxaBNaeIdKMg81a81MMa80NaeId8KMMM:lNhBka8VaRNh80dnaaTmbagaLc8S2fgAIdwa8WNaAIdza8XNaAIdaMgRaRMMa8WNaAIdla8YNaAIdCa8WNaAId3MgRaRMMa8YNaAIdba8XNaAIdxa8YNaAIdKMgRaRMMa8XNaAId8KMMMhRa8PaYaa2gQcdtfhOa8RaLaa2g8AcltfheaAIdyh81aahAinaOIdbg8Va8Va81NaecxfIdba8WaecwfIdbNa8XaeIdbNa8YaeclfIdbNMMMg8Va8VM:tNaRMhRaOclfhOaeczfheaAcufgAmbkaR:lgRa81aRa819DEaRa9qEh8Sdndna8MmbJbbbbhRxekagaYc8S2fgAIdwa8KaLcx2fgeIdwg8WNaAIdzaeIdbg8XNaAIdaMgRaRMMa8WNaAIdlaeIdlg8YNaAIdCa8WNaAId3MgRaRMMa8YNaAIdba8XNaAIdxa8YNaAIdKMgRaRMMa8XNaAId8KMMMhRa8Pa8AcdtfhOa8RaQcltfheaAIdyh81aahAinaOIdbg8Va8Va81NaecxfIdba8WaecwfIdbNa8XaeIdbNa8YaeclfIdbNMMMg8Va8VM:tNaRMhRaOclfhOaeczfheaAcufgAmbkaR:lgRa81aRa819DEaRa9qEhRka80a8SMh80aBaRMhBdndndna5aLfRbbc9:fPibeedkdna8Fa8Ea8EaCfydbaYSEaXaCfydbgQcdtfydbgCcu9hmbaXaYcdtfydbhCkagaQc8S2fgAIdwa8KaCcx2fgeIdwg8WNaAIdzaeIdbg8XNaAIdaMgRaRMMa8WNaAIdlaeIdlg8YNaAIdCa8WNaAId3MgRaRMMa8YNaAIdba8XNaAIdxa8YNaAIdKMgRaRMMa8XNaAId8KMMMhRa8PaCaa2g8AcdtfhOa8RaQaa2g8JcltfheaAIdyh81aahAinaOIdbg8Va8Va81NaecxfIdba8WaecwfIdbNa8XaeIdbNa8YaeclfIdbNMMMg8Va8VM:tNaRMhRaOclfhOaeczfheaAcufgAmbkaR:lgRa81aRa819DEaRa9qEh8Sdndna8MmbJbbbbhRxekagaCc8S2fgAIdwa8KaQcx2fgeIdwg8WNaAIdzaeIdbg8XNaAIdaMgRaRMMa8WNaAIdlaeIdlg8YNaAIdCa8WNaAId3MgRaRMMa8YNaAIdba8XNaAIdxa8YNaAIdKMgRaRMMa8XNaAId8KMMMhRa8Pa8JcdtfhOa8Ra8AcltfheaAIdyh81aahAinaOIdbg8Va8Va81NaecxfIdba8WaecwfIdbNa8XaeIdbNa8YaeclfIdbNMMMg8Va8VM:tNaRMhRaOclfhOaeczfheaAcufgAmbkaR:lgRa81aRa819DEaRa9qEhRka80a8SMh80aBaRMhBxdkaXaCfydbgCaLSmbaHaYcdtfydbh8Aindndna8EaCcdtgQfydbgecuSmbaHaecdtfydba8ASmekdna8FaQfydbgecuSmbaHaecdtfydba8ASmekaYhekagaCc8S2fgAIdwa8Kaecx2fgOIdwg8WNaAIdzaOIdbg8XNaAIdaMgRaRMMa8WNaAIdlaOIdlg8YNaAIdCa8WNaAId3MgRaRMMa8YNaAIdba8XNaAIdxa8YNaAIdKMgRaRMMa8XNaAId8KMMMhRa8Paeaa2cdtfhOa8RaCaa2cltfheaAIdyh81aahAinaOIdbg8Va8Va81NaecxfIdba8WaecwfIdbNa8XaeIdbNa8YaeclfIdbNMMMg8Va8VM:tNaRMhRaOclfhOaeczfheaAcufgAmbka80aR:lgRa81aRa819DEaRa9qEMh80aXaQfydbgCaL9hmbkkdna5aYfRbbgeciSmbaecl9hmeka8MTmbaXaYcdtfydbgCaYSmbindndna8EaCcdtgQfydbgecuSmbaHaecdtfydba8JSmekdna8FaQfydbgecuSmbaHaecdtfydba8JSmekaLhekagaCc8S2fgAIdwa8Kaecx2fgOIdwg8WNaAIdzaOIdbg8XNaAIdaMgRaRMMa8WNaAIdlaOIdlg8YNaAIdCa8WNaAId3MgRaRMMa8YNaAIdba8XNaAIdxa8YNaAIdKMgRaRMMa8XNaAId8KMMMhRa8Paeaa2cdtfhOa8RaCaa2cltfheaAIdyh81aahAinaOIdbg8Va8Va81NaecxfIdba8WaecwfIdbNa8XaeIdbNa8YaeclfIdbNMMMg8Va8VM:tNaRMhRaOclfhOaeczfheaAcufgAmbkaBaR:lgRa81aRa819DEaRa9qEMhBaXaQfydbgCaY9hmbkkahaBa80aBa809DgeEUdwahaLaYaea8Mcb9hGgeEBdlahaYaLaeEBdbaDcefgDa39hmbkascjdfcbcj;qbz:xjjjb8Aa9shea3hOinascjdfaeydbcA4cF8FGgAcFAaAcFA6EcdtfgAaAydbcefBdbaecxfheaOcufgOmbkcbhecbhOinascjdfaefgAydbhCaAaOBdbaCaOfhOaeclfgecj;qb9hmbkcbhea9shOinascjdfaOydbcA4cF8FGgAcFAaAcFA6EcdtfgAaAydbgAcefBdba9maAcdtfaeBdbaOcxfhOa3aecefge9hmbkadak9RgAci9Uh9udnalTmbcbhea9nhOinaOaeBdbaOclfhOalaecefge9hmbkkcbh9va9ocbalz:xjjjbh9caAcO9Uh9wa9uce4h9tcbh8Lcbh8Mdnina0a9ma8Mcdtfydbcx2fg8JIdwgRa879Emea8La9u9pmeJFFuuh8Vdna9ta39pmba0a9ma9tcdtfydbcx2fIdwJbb;aZNh8VkdnaRa8V9ETmbaRaU9ETmba8La9w0mdkdna9caHa8JydlgDcdtg9xfg8AydbgAfg9yRbba9caHa8Jydbghcdtg9zfydbgefg9ARbbVmba5ahfRbbh9BdndnaKaecdtfgOclfydbgCaOydbgOSmbaCaO9RhCa8KaAcx2fhLa8Kaecx2fhYaEaOcitfheindna9naeydbcdtfydbgOaASmba9naeclfydbcdtfydbgQaASmbaOaQSmba8KaQcx2fgQIdba8KaOcx2fgOIdbg8W:tgRaYIdlaOIdlg8X:tg80NaQIdla8X:tg8VaYIdba8W:tgBN:tg8YaRaLIdla8X:tg8SNa8VaLIdba8W:tg8UN:tg8XNa8VaYIdwaOIdwg81:tg8ZNaQIdwa81:tg8Wa80N:tg80a8VaLIdwa81:tg83Na8Wa8SN:tg8VNa8WaBNaRa8ZN:tg81a8Wa8UNaRa83N:tgRNMMa8Ya8YNa80a80Na81a81NMMa8Xa8XNa8Va8VNaRaRNMMN:rJbbj8:N9FmikaecwfheaCcufgCmbkkdndna9Bc99fcFeGce0mba9na9zfaDBdbaXa9zfydbgeahSmeina8AydbhAdndna8EaecdtgOfydbgecuSmbaHaecdtfydbaASmekdna8FaOfydbgecuSmbaHaecdtfydbaASmekaDheka9naOfaeBdbaXaOfydbgeah9hmbxdkkdndna9BcFeGcdSmbaDhexekdna8Fa8Ea8Ea9zfydbaDSEaXa9zfydbghcdtfydbgecu9hmbaXa9xfydbheka9na9zfaDBdbka9nahcdtfaeBdbka9Ace86bba9yce86bba8JIdwgRaUaUaR9DEhUa9vcefh9vcecda9BcFeGceSEa8Lfh8Lxeka9tcefh9tka8Mcefg8Ma39hmbkka9vTmddnalTmbcbhLcbhhindna9nahcdtgefydbgAahSmbaHaAcdtfydbh8AdnahaHaefydb9hg8JmbaIa8Ac8S2fgeaIahc8S2fgOIdbaeIdbMUdbaeaOIdlaeIdlMUdlaeaOIdwaeIdwMUdwaeaOIdxaeIdxMUdxaeaOIdzaeIdzMUdzaeaOIdCaeIdCMUdCaeaOIdKaeIdKMUdKaeaOId3aeId3MUd3aeaOIdaaeIdaMUdaaeaOId8KaeId8KMUd8KaeaOIdyaeIdyMUdya8NTmba8Na8Acltfgea8NahcltfgOIdbaeIdbMUdbaeaOIdlaeIdlMUdlaeaOIdwaeIdwMUdwaeaOIdxaeIdxMUdxkaaTmbagaAc8S2fgeagahc8S2g8MfgOIdbaeIdbMUdbaeaOIdlaeIdlMUdlaeaOIdwaeIdwMUdwaeaOIdxaeIdxMUdxaeaOIdzaeIdzMUdzaeaOIdCaeIdCMUdCaeaOIdKaeIdKMUdKaeaOId3aeId3MUd3aeaOIdaaeIdaMUdaaeaOId8KaeId8KMUd8KaeaOIdyaeIdyMUdya9raA2hYa8RhOaahCinaOaYfgeaOaLfgAIdbaeIdbMUdbaeclfgQaAclfIdbaQIdbMUdbaecwfgQaAcwfIdbaQIdbMUdbaecxfgeaAcxfIdbaeIdbMUdbaOczfhOaCcufgCmbka8JmbJbbbbJbbjZaIa8MfgeIdygR:vaRJbbbb9BEaeIdwa8Ka8Acx2fgOIdwgRNaeIdzaOIdbg8VNaeIdaMg8Wa8WMMaRNaeIdlaOIdlg8WNaeIdCaRNaeId3MgRaRMMa8WNaeIdba8VNaeIdxa8WNaeIdKMgRaRMMa8VNaeId8KMMM:lNgRa85a85aR9DEh85kaLa9rfhLahcefghal9hmbkcbhOa8EheindnaeydbgAcuSmbdnaOa9naAcdtgCfydbgA9hmbcuhAa8EaCfydbgCcuSmba9naCcdtfydbhAkaeaABdbkaeclfhealaOcefgO9hmbkcbhOa8FheindnaeydbgAcuSmbdnaOa9naAcdtgCfydbgA9hmbcuhAa8FaCfydbgCcuSmba9naCcdtfydbhAkaeaABdbkaeclfhealaOcefgO9hmbkka85aUaaEh85cbhOabhecbhAindnaHa9naeydbcdtfydbgLcdtfydbgCaHa9naeclfydbcdtfydbgYcdtfydbgQSmbaCaHa9naecwfydbcdtfydbg8AcdtfydbghSmbaQahSmbabaOcdtfgCaLBdbaCcwfa8ABdbaCclfaYBdbaOcifhOkaecxfheaAcifgAad6mbkdndnaSmbaOhdxekdnaOak0mbaOhdxekdna86a859FmbaOhdxekJFFuuh86cbhdabhecbhAindna9ia6aeydbgCcdtfydbcdtfIdbgRa859ETmbaeclf8Pdbh9CabadcdtfgQaCBdbaQclfa9C83dbaRa86a86aR9EEh86adcifhdkaecxfheaAcifgAaO6mbkkadak0mbxdkkascNefabadalaHz:cjjjbkdndnadak0mbadhYxekdnaSmbadhYxekdna86a879FmbadhYxekcehQina86Jbb;aZNgRa87aRa879DEh8WJbbbbhRdna9hTmba9ihea9hhOinaeIdbg8VaRa8Va8W9FEaRa8VaR9EEhRaeclfheaOcufgOmbkkJFFuuh86cbhYabhecbhOindna9ia6aeydbgAcdtfydbcdtfIdbg8Va8W9ETmbaeclf8Pdbh9CabaYcdtfgCaABdbaCclfa9C83dba8Va86a86a8V9EEh86aYcifhYkaecxfheaOcifgOad6mbkdnaQaYad9hVceGmbadhYxdkaRaUaUaR9DEhUaYak9nmecbhQaYhda86a879FmbkkdnamcjjjjdGTmba9ocbalz:xjjjbh8AdnaYTmbabheaYhOina8AaeydbgAfce86bba8AaHaAcdtfydbfce86bbaeclfheaOcufgOmbkkascNefabaYalaHz:cjjjbdndnalTmbcbhCindna8AaCfRbbTmbdna5aCfRbbPlbeebekdnaHaCcdtgLfydbgeaCSmba8KaCcx2fgOa8Kaecx2fgeydwBdwaOae8Pdb83dbxekaIaCc8S2fgQIdygnanJL:3;rUNgRMh87aQIdwgxaRMh8SaQIdlg9DaRMh8UaQIdbg9EaRMh81aQIdag9FaRa8KaCcx2fg8JIdwg88N:th8ZaQId3g9GaRa8JIdlg89N:th83aQIdKg9Ha8JIdbg8:aRN:th80JbbbbhZaQIdCg9IJbbbbMh85aQIdzg9JJbbbbMhBaQIdxg9KJbbbbMh86dndnaaTmbaChAinJbbbba87agaAc8S2fgOIdygR:vaRJbbbb9BEhRa8RaAaa2cltfheaOIdaa87Na8ZMh8ZaOId3a87Na83Mh83aOIdKa87Na80Mh80aOIdCa87Na85Mh85aOIdza87NaBMhBaOIdxa87Na86Mh86aOIdwa87Na8SMh8SaOIdla87Na8UMh8UaOIdba87Na81Mh81aahOina8ZaecwfIdbg8VaecxfIdbg8YNaRN:th8Za83aeclfIdbg8Wa8YNaRN:th83a85a8Wa8VNaRN:th85a81aeIdbg8Xa8XNaRN:th81a80a8Xa8YNaRN:th80aBa8Xa8VNaRN:thBa86a8Xa8WNaRN:th86a8Sa8Va8VNaRN:th8Sa8Ua8Wa8WNaRN:th8UaeczfheaOcufgOmbkaXaAcdtfydbgAaC9hmbka8NTmba8NaCcltfgeIdxhTaeIdwhcaeIdlhJaeIdbhRxekJbbbbhTJbbbbhcJbbbbhJJbbbbhRkaBa81:vg8Wa80Na8Z:ta85aBa86a81:vg8VN:tg8Za8Ua86a8VN:tg8Y:vg8Xa8Va80Na83:tg8UN:th83acaRa8WN:taJaRa8VN:tg86a8XN:tg85a8SaBa8WN:ta8Za8XN:tgB:vg8S:mh8Za86a8Y:vgc:mhJdnJbbbbaRaRa81:vg9eN:ta86acN:ta85a8SN:tg86:la87J:983:g81NgR9ETmba8Za83NaJa8UNa9ea80NaT:tMMa86:vhZka81:laR9ETmba8Y:laR9ETmbaB:laR9ETmba9e:maZNa8W:ma8ZaZNa83aB:vMgBNa8V:maJaZNa8X:maBNa8Ua8Y:vMMg85Na80:ma81:vMMMh87aKaLfgeclfydbgOaeydbge9RhhaEaecitfhLJbbbbhRdnaOaeSg8MmbJbbbbhRaLheahhAina8Kaeclfydbcx2fgOIdwa88:tg8Va8VNaOIdba8::tg8Va8VNaOIdla89:tg8Va8VNMMg8Va8Kaeydbcx2fgOIdwa88:tg8Wa8WNaOIdba8::tg8Wa8WNaOIdla89:tg8Wa8WNMMg8WaRaRa8W9DEgRaRa8V9DEhRaecwfheaAcufgAmbkaR:rgRaRNhRkaBa88:tg8Va8VNa87a8::tg8Va8VNa85a89:tg8Va8VNMMaR9EmbaQId8KhZdna8Mmbina8KaLclfydbcx2fgeIdba8KaLydbcx2fgOIdbg8W:tgRa89aOIdlg8X:tg80NaeIdla8X:tg8Va8:a8W:tg86N:tg8YaRa85a8X:tg8SNa8Va87a8W:tg8UN:tg8XNa8Va88aOIdwg81:tg8ZNaeIdwa81:tg8Wa80N:tg80a8VaBa81:tg83Na8Wa8SN:tg8VNa8Wa86NaRa8ZN:tg81a8Wa8UNaRa83N:tgRNMMa8Ya8YNa80a80Na81a81NMMa8Xa8XNa8Va8VNaRaRNMMN:rJbbj8:N9FmdaLcwfhLahcufghmbkkJbbbbJbbjZan:vanJbbbb9BEgRaxaBNa9Ja87Na9FMg8Va8VMMaBNa9Da85Na9IaBNa9GMg8Va8VMMa85Na9Ea87Na9Ka85Na9HMg8Va8VMMa87NaZMMM:lNaRaxa88Na9Ja8:Na9FMg8Va8VMMa88Na9Da89Na9Ia88Na9GMg8Va8VMMa89Na9Ea8:Na9Ka89Na9HMg8Va8VMMa8:NaZMMM:lNJbb;aZNJ:983:g81M9Emba8JaBUdwa8Ja85Udla8Ja87UdbkaCcefgCal9hmbkdnaambcbhaxdkcbhQindna8AaQfRbbTmbaHaQcdtgefydbaQ9hmba5aQfhhaXaefh8Ja8KaQcx2fhAa8PaQaa2cdtfh8McbhEincuhCdnahRbbc99fcFeGce0mbaQhCa8JydbgeaQSmba8PaEcdtgOfhLa8MaOfIdbhRaQhCinaChOcuhCdnaLaeaa2cdtfIdbaR9CmbaOcuSmbaOhCagaec8S2fIdyagaOc8S2fIdy9ETmbaehCkaXaecdtfydbgeaQ9hmbkka8PaEcdtfhLa8RaEcltfhKaQheinaLaeaa2cdtfJbbbbJbbjZagaeaCaCcuSEgOc8S2fIdygR:vaRJbbbb9BEaKaOaa2cltfgOIdwaAIdwNaOIdbaAIdbNaOIdlaAIdlNMMaOIdxMNUdbaXaecdtfydbgeaQ9hmbkaEcefgEaa9hmbkkaQcefgQal9hmbxdkkaambcbhakaiavaoarawaaala8Ka8Pazasayasc1efa5a8Aaqz:hjjjbkdnamcjjjjlGTmbazmbaYTmbabhecbhLina5aeydbgAfRbbc3thQaecwfgXydbhHcjjjj94hCdna8EaAcdtgEfydbaeclfgKydbgOSmbcjjjj94cba8FaOcdtfydbaASEhCkaeaQaCVaAVBdba5aOfRbbc3thacjjjj94hCcjjjj94hQdna8EaOcdtfydbaHSmbcjjjj94cba8FaHcdtfydbaOSEhQkaKaaaQVaOVBdba5aHfRbbc3thOdna8EaHcdtfydbaASmbcjjjj94cba8FaEfydbaHSEhCkaXaOaCVaHVBdbaecxfheaLcifgLaY6mbkkdnazTmbaYTmbaYheinabazabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPa9paU:rNUdbkdnasyd;8egHTmbaHcdtasc:Ceffc98fheinaeydbcbyd;C:L:cjbH:bjjjbbaec98fheaHcufgHmbkkascj;sbf8KjjjjbaYk;Yieouabydlhvabydbclfcbaicdtz:xjjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk:todDue99aicd4aifhrcehwinawgDcethwaDar6mbkcuaDcdtgraDcFFFFi0Ecbyd;y:L:cjbHjjjjbbhwaoaoyd9GgqcefBd9GaoaqcdtfawBdbawcFearz:xjjjbhkdnaiTmbalcd4hlaDcufhxcbhminamhDdnavTmbavamcdtfydbhDkcbadaDal2cdtfgDydlgwawcjjjj94SEgwcH4aw7c:F:b:DD2cbaDydbgwawcjjjj94SEgwcH4aw7c;D;O:B8J27cbaDydwgDaDcjjjj94SEgDcH4aD7c:3F;N8N27axGhwamcdthPdndndnavTmbakawcdtfgrydbgDcuSmeadavaPfydbal2cdtfgsIdbhzcehqinaqhrdnadavaDcdtfydbal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmlkarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbxdkkakawcdtfgrydbgDcuSmbadamal2cdtfgsIdbhzcehqinaqhrdnadaDal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmikarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbkkaramBdbamhDkabaPfaDBdbamcefgmai9hmbkkakcbyd;C:L:cjbH:bjjjbbaoaoyd9GcufBd9GdnaeTmbaiTmbcbhDaehwinawaDBdbawclfhwaiaDcefgD9hmbkcbhDaehwindnaDabydbgrSmbawaearcdtfgrydbBdbaraDBdbkabclfhbawclfhwaiaDcefgD9hmbkkk;:odvuv998Jjjjjbca9Rgocbyd1:G:cjbBdKaocb8Pdj:G:cjb83izaocbydN:G:cjbBdwaocb8Pd:m:G:cjb83ibdnadTmbaicd4hrdnabmbdnalTmbcbhwinaealawcdtfydbar2cdtfhDcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxikkarcdthwcbhDincbhiinaoczfaifgqaeaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaeawfheaDcefgDad9hmbxdkkdnalTmbcbhwinabawcx2fgiaealawcdtfydbar2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxdkkarcdthlcbhwaehDinabawcx2fgiaeawar2cdtfgqIdbUdbaiaqIdlUdlaiaqIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaDalfhDawcefgwad9hmbkkJbbbbaoIdbaoIdzgx:tgkakJbbbb9DEgkaoIdlaoIdCgm:tgPaPak9DEgkaoIdwaoIdKgP:tgsasak9DEhsdnabTmbadTmbJbbbbJbbjZas:vasJbbbb9BEhkinabakabIdbax:tNUdbabclfgoakaoIdbam:tNUdbabcwfgoakaoIdbaP:tNUdbabcxfhbadcufgdmbkkdnavTmbavaPUdwavamUdlavaxUdbkask:WlewudnaeTmbcbhvabhoinaoavBdbaoclfhoaeavcefgv9hmbkkdnaiTmbcbhrinadarcdtfhwcbhDinalawaDcdtgvyd:G:G:cjbcdtfydbcdtfydbhodnalawavfydbcdtfydbgqabaqcdtfgkydbgvSmbinakabavgqcdtfgxydbgvBdbaxhkaqav9hmbkkdnaoabaocdtfgkydbgvSmbinakabavgocdtfgxydbgvBdbaxhkaoav9hmbkkdnaqaoSmbabaqaoaqao0Ecdtfaqaoaqao6EBdbkaDcefgDci9hmbkarcifgrai6mbkkdnaembcbskcbhxindnalaxcdtgvfydbax9hmbaxhodnaxabavfgDydbgvSmbaDhqinaqabavgocdtfgkydbgvBdbakhqaoav9hmbkkaDaoBdbkaxcefgxae9hmbkcbhkabhvcbhoindndnaoalydbgq9hmbdnaoavydbgq9hmbavakBdbakcefhkxdkavabaqcdtfydbBdbxekavabaqcdtfydbBdbkalclfhlavclfhvaeaocefgo9hmbkakk;jiilud99euabcbaecltz:xjjjbhvdnalTmbadhoaihralhwinarcwfIdbhDarclfIdbhqavaoydbcltfgkarIdbakIdbMUdbakaqakIdlMUdlakaDakIdwMUdwakakIdxJbbjZMUdxaoclfhoarcxfhrawcufgwmbkkdnaeTmbavhkaehrinakcxfgoIdbhDaocbBdbakakIdbJbbbbJbbjZaD:vaDJbbbb9BEgDNUdbakclfgoaDaoIdbNUdbakcwfgoaDaoIdbNUdbakczfhkarcufgrmbkkdnalTmbinavadydbcltfgkaicwfIdbakIdw:tgDaDNaiIdbakIdb:tgDaDNaiclfIdbakIdl:tgDaDNMMgDakIdxgqaqaD9DEUdxadclfhdaicxfhialcufglmbkkdnaeTmbavcxfhkinabakIdbUdbakczfhkabclfhbaecufgembkkk:moerudnaoTmbaecd4hzdnavTmbaicd4hHavcdthOcbhAindnaPaAfRbbTmbaAhednaDTmbaDaAcdtfydbhekdnasTmbasaefRbbceGmekdnamaAfRbbcvSmbabaeaz2cdtfgiaraAcx2fgCIdbakNaxIdbMUdbaiaCIdlakNaxIdlMUdlaiaCIdwakNaxIdwMUdwkadaeaH2cdtfhXaqheawhiavhCinaXaeydbcdtgQfaiIdbalaQfIdb:vUdbaeclfheaiclfhiaCcufgCmbkkawaOfhwaAcefgAao9hmbxdkkdnasmbcbheaDhiindnaPaefRbbTmbaehCdnaDTmbaiydbhCkamaefRbbcvSmbabaCaz2cdtfgCarIdbakNaxIdbMUdbaCarclfIdbakNaxIdlMUdlaCarcwfIdbakNaxIdwMUdwkaiclfhiarcxfhraoaecefge9hmbxdkkdnaDTmbindnaPRbbTmbasaDydbgefRbbceGmbamRbbcvSmbabaeaz2cdtfgearIdbakNaxIdbMUdbaearclfIdbakNaxIdlMUdlaearcwfIdbakNaxIdwMUdwkaPcefhPaDclfhDamcefhmarcxfhraocufgombxdkkazcdthicbheindnaPaefRbbTmbasaefRbbceGmbamaefRbbcvSmbabarIdbakNaxIdbMUdbabclfarclfIdbakNaxIdlMUdbabcwfarcwfIdbakNaxIdwMUdbkarcxfhrabaifhbaoaecefge9hmbkkk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbkRbababaeadaialavaoarawaDaqakaxcjjjjdVamz:bjjjbk:vgoque99due99duq998Jjjjjbc;Wb9Rgq8Kjjjjbcbhkaqcxfcbc;Kbz:xjjjb8Aaqcualcx2alc;v:Q;v:Qe0Ecbyd;y:L:cjbHjjjjbbgxBdxaqceBd2axaialavcbcbz:ejjjb8AaqcualcdtalcFFFFi0Egmcbyd;y:L:cjbHjjjjbbgiBdzaqcdBd2dndnJFF959eJbbjZawJbbjZawJbbjZ9DE:vawJ9VO:d869DEgw:lJbbb9p9DTmbaw:OhPxekcjjjj94hPkadci9Uhsarco9UhzdndnaombaPcd9imekdnalTmbaPcuf:YhwdnaoTmbcbhvaihHaxhOindndnaoavfRbbceGTmbavcjjjjlVhAxekdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqthAdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXVhAdndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXcCtVhAkaHaABdbaHclfhHaOcxfhOalavcefgv9hmbxdkkaxhvaihOalhHindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcCthAdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcqtaAVhAdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaOaAaXVBdbavcxfhvaOclfhOaHcufgHmbkkadTmbcbhkaehvcbhOinakaiavclfydbcdtfydbgHaiavcwfydbcdtfydbgA9haiavydbcdtfydbgXaH9haXaA9hGGfhkavcxfhvaOcifgOad6mbkkarci9UhQdndnaz:Z:rJbbbZMgw:lJbbb9p9DTmbaw:Ohvxekcjjjj94hvkaQ:ZhLcbhKc:bwhzdninakaQ9pmeazaP9Rcd9imeavazcufgOavaO9iEaPcefavaP9kEhYdnalTmbaYcuf:YhwdnaoTmbcbhOaihHaxhvindndnaoaOfRbbceGTmbaOcjjjjlVhAxekdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqthAdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXVhAdndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXcCtVhAkaHaABdbaHclfhHavcxfhvalaOcefgO9hmbxdkkaxhvaihOalhHindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcCthAdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcqtaAVhAdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaOaAaXVBdbavcxfhvaOclfhOaHcufgHmbkkcbhOdnadTmbaehvcbhHinaOaiavclfydbcdtfydbgAaiavcwfydbcdtfydbgX9haiavydbcdtfydbgraA9haraX9hGGfhOavcxfhvaHcifgHad6mbkkdnas:ZgCaL:taY:Ygwaz:Y:tg8ANak:ZgEaO:Zg3:tNaEaL:tawaP:Y:tg5Na3aC:tNMg8EJbbbb9BmbaCaE:ta5a8Aa3aL:tNNNa8E:vawMhwkdndnaOaQ0mbaOhkaYhPxekaOhsaYhzkdndnaKcl0mbdnawJbbbZMgw:lJbbb9p9DTmbaw:Ohvxdkcjjjj94hvxekaPazfcd9ThvkaKcefgKcs9hmbkkdndndnakmbJbbjZhwcbhOcdhvaDmexdkalcd4alfhHcehOinaOgvcethOavaH6mbkaqcuavcdtavcFFFFi0Ecbyd;y:L:cjbHjjjjbbgYBdCaqciBd2aqamcbyd;y:L:cjbHjjjjbbgzBdKaqclBd2dnalTmbaPcuf:YhwdnaoTmbcbhOaihAaxhHindndnaoaOfRbbceGTmbaOcjjjjlVhXxekdndnaHclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcqthXdndnaHcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohrxekcjjjj94hrkaXarVhXdndnaHIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohrxekcjjjj94hrkaXarcCtVhXkaAaXBdbaAclfhAaHcxfhHalaOcefgO9hmbxdkkaxhOaihHalhAindndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcCthXdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohrxekcjjjj94hrkarcqtaXVhXdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohrxekcjjjj94hrkaHaXarVBdbaOcxfhOaHclfhHaAcufgAmbkkaqcuaYavazaialz:mjjjbgXc8S2gvaXc;D;O;f8U0Ecbyd;y:L:cjbHjjjjbbgiBd3aqcvBd2aicbavz:xjjjbhOdnadTmbcbhraehiinaxaiclfydbgocx2fgvIdbaxaiydbgPcx2fgHIdbg3:tgCaxaicwfydbgYcx2fgAIdlaHIdlg8A:tgwNavIdla8A:tgEaAIdba3:tg8EN:tgLaLNaEaAIdwaHIdwg5:tg8FNavIdwa5:tgEawN:tgwawNaEa8ENaCa8FN:tgCaCNMMg8E:rhEJbbnnJbbjZazaPcdtfydbgvazaocdtfydbgASavazaYcdtfydbgoSGgHEh8Fdna8EJbbbb9ETmbaLaE:vhLaCaE:vhCawaE:vhwkaOavc8S2fgvavIdbawa8FaE:rNgEawNNg8FMUdbavaCaEaCNgaNghavIdlMUdlavaLaEaLNg8ENggavIdwMUdwavawaaNgaavIdxMUdxava8EawNg8JavIdzMUdzavaCa8ENg8EavIdCMUdCavawaEaLa5Nawa3Na8AaCNMM:mg8ANg3NgwavIdKMUdKavaCa3NgCavId3MUd3avaLa3NgLavIdaMUdaava3a8ANg3avId8KMUd8KavaEavIdyMUdydnaHmbaOaAc8S2fgva8FavIdbMUdbavahavIdlMUdlavagavIdwMUdwavaaavIdxMUdxava8JavIdzMUdzava8EavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava3avId8KMUd8KavaEavIdyMUdyaOaoc8S2fgva8FavIdbMUdbavahavIdlMUdlavagavIdwMUdwavaaavIdxMUdxava8JavIdzMUdzava8EavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava3avId8KMUd8KavaEavIdyMUdykaicxfhiarcifgrad6mbkkcbhAaqcuaXcdtgvaXcFFFFi0Egicbyd;y:L:cjbHjjjjbbgHBdaaqcoBd2aqaicbyd;y:L:cjbHjjjjbbgiBd8KaqcrBd2aHcFeavz:xjjjbhPdnalTmbazhHinJbbbbJbbjZaOaHydbgrc8S2fgvIdygw:vawJbbbb9BEavIdwaxcwfIdbgwNavIdzaxIdbgCNavIdaMgLaLMMawNavIdlaxclfIdbgLNavIdCawNavId3MgwawMMaLNavIdbaCNavIdxaLNavIdKMgwawMMaCNavId8KMMM:lNhwdndnaParcdtgvfgrydbcuSmbaiavfIdbaw9ETmekaraABdbaiavfawUdbkaHclfhHaxcxfhxalaAcefgA9hmbkkdndnaXmbJbbbbhwxekJbbbbhwinaiIdbgCawawaC9DEhwaiclfhiaXcufgXmbkaw:rhwkakcd4akfhOcehiinaigvcethiavaO6mbkcbhOaqcuavcdtgiavcFFFFi0Ecbyd;y:L:cjbHjjjjbbgHBdyaHcFeaiz:xjjjbhXdnadTmbavcufhrcbhkcbhxindnazaeaxcdtfgvydbcdtfydbgiazavclfydbcdtfydbgOSmbaiazavcwfydbcdtfydbgvSmbaOavSmbaPavcdtfydbhAdndnaPaOcdtfydbgvaPaicdtfydbgi9pmbavaA9pmbaAhlaihoavhAxekdnaAai9pmbaAav9pmbaihlavhoxekavhlaAhoaihAkabakcx2fgvaABdbavcwfaoBdbavclfalBdbdnaXaoc:3F;N8N2alc:F:b:DD27aAc;D;O:B8J27arGgOcdtfgvydbgicuSmbcehHinaHhvdnabaicx2fgiydbaA9hmbaiydlal9hmbaiydwaoSmikavcefhHaXaOavfarGgOcdtfgvydbgicu9hmbkkavakBdbakcefhkkaxcifgxad6mbkakci2hOkcwhvaDTmekaDawUdbkavcdthvaqcxfc98fhiinaiavfydbcbyd;C:L:cjbH:bjjjbbavc98fgvmbkaqc;Wbf8KjjjjbaOk:0iewuabcFeaecdtz:xjjjbhbdnalmbcbskaecufhvdndnaiTmbcbhocbhrindndndnabaiarcdtgwfydbgDcm4aD7c:v;t;h;Ev2gecs4ae7avGgqcdtfgkydbgxcuSmbceheinaiaxcdtgxfydbaDSmdaqaefhxaecefheabaxavGgqcdtfgkydbgxcu9hmbkkakarBdbaoheaocefhoxekadaxfydbhekadawfaeBdbarcefgral9hmbxdkkcbhocbhDindnabaDcm4aD7c:v;t;h;Ev2gecs4ae7avGgqcdtfgkydbgxcuSmbaxaDSmbceheinabaqaefavGgqcdtfgkydbgxcuSmeaecefheaxaD9hmbkkdndnaxcu9hmbakaDBdbaoheaocefhoxekadaxcdtfydbhekadaDcdtfaeBdbaDcefgDal9hmbkkaok:3ldrue9:8Jjjjjbc;Wb9Rgr8Kjjjjbcbhwarcxfcbc;Kbz:xjjjb8AdnabaeSmbabaeadcdtz:wjjjb8AkarcualcdtalcFFFFi0EgDcbyd;y:L:cjbHjjjjbbgqBdxarceBd2aqcbaialavcbarcxfz:djjjbcualcx2alc;v:Q;v:Qe0Ecbyd;y:L:cjbHjjjjbbhkarcxfaryd2gxcdtfakBdbaraxcefgmBd2akaialavcbcbz:ejjjb8AarcxfamcdtfaDcbyd;y:L:cjbHjjjjbbgiBdbaraxcdfgvBd2arcxfavcdtfcuaialaeadaqz:fjjjbgecltaecjjjjiGEcbyd;y:L:cjbHjjjjbbgqBdbaqaeaiakalz:gjjjbaxcifhkdnadTmbaoaoNhocbhwabhlcbheindnaqaialydbgvcdtfydbcdtfIdbao9ETmbalclf8PdbhPabawcdtfgDavBdbaDclfaP83dbawcifhwkalcxfhlaecifgead6mbkkdnakTmbaxcdtarcxffcwfhlinalydbcbyd;C:L:cjbH:bjjjbbalc98fhlakcufgkmbkkarc;Wbf8Kjjjjbawk;lOoDud99oue99vuv998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:xjjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd;y:L:cjbHjjjjbbgqBdxawceBd2aqaeadaicbcbz:ejjjb8AawcuadcdtadcFFFFi0Egkcbyd;y:L:cjbHjjjjbbgxBdzawcdBd2adcd4adfhecehiinaigmcethiamae6mbkcbhPawcuamcdtgsamcFFFFi0Ecbyd;y:L:cjbHjjjjbbgzBdCawciBd2dndnar:ZgH:rJbbbZMgO:lJbbb9p9DTmbaO:Ohixekcjjjj94hikamcufhAc:bwhCcbhXadhQcbhLinaiaCcufgeaiae9iEaPcefaiaP9kEhDdndnadTmbaDcuf:YhOaqhiaxheadhKindndnaiIdbaONJbbbZMgY:lJbbb9p9DTmbaY:Oh8Axekcjjjj94h8Aka8AcCth8AdndnaiclfIdbaONJbbbZMgY:lJbbb9p9DTmbaY:OhExekcjjjj94hEkaEcqta8AVh8AdndnaicwfIdbaONJbbbZMgY:lJbbb9p9DTmbaY:OhExekcjjjj94hEkaea8AaEVBdbaicxfhiaeclfheaKcufgKmbkazcFeasz:xjjjbh3cbh5cbh8Eindna3axa8Ecdtfydbg8Acm4a8A7c:v;t;h;Ev2gics4ai7aAGgKcdtfgEydbgecuSmbaea8ASmbcehiina3aKaifaAGgKcdtfgEydbgecuSmeaicefhiaea8A9hmbkkaEa8ABdba5aecuSfh5a8Ecefg8Ead9hmbxdkkazcFeasz:xjjjb8Acbh5kdnaQ:ZgYaH:taD:YgOaC:Y:tg8FNaX:Zgaa5:Zgh:tNaaaH:taOaP:Y:tggNahaY:tNMg8JJbbbb9BmbaYaa:taga8FahaH:tNNNa8J:vaOMhOkaPaDa5ar0geEhPaXa5aeEhXdna5arSmbaDaCaeEgCaP9Rcd9imbdndnaLcl0mbdnaOJbbbZMgO:lJbbb9p9DTmbaO:Ohixdkcjjjj94hixekaPaCfcd9Thika5aQaeEhQaLcefgLcs9hmekkdndnaXmbcihicbhDxekawakcbyd;y:L:cjbHjjjjbbg8ABdKawclBd2aPcuf:YhYdnadTmbaqhiaxheadhKindndnaiIdbaYNJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaEcCthEdndnaiclfIdbaYNJbbbZMgO:lJbbb9p9DTmbaO:Oh3xekcjjjj94h3ka3cqtaEVhEdndnaicwfIdbaYNJbbbZMgO:lJbbb9p9DTmbaO:Oh3xekcjjjj94h3kaeaEa3VBdbaicxfhiaeclfheaKcufgKmbkkawcuazama8Aaxadz:mjjjbgDc32giaDc;j:KM;jb0Ecbyd;y:L:cjbHjjjjbbgeBd3awcvBd2aecbaiz:xjjjbh3avcd4hxdnadTmbdnalTmbaxcdth8Ea8AhEaqhealhKadhAina3aEydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaKIdbaiIdxMUdxaiaKclfIdbaiIdzMUdzaiaKcwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaEclfhEaecxfheaKa8EfhKaAcufgAmbxdkka8AhKaqheadhEina3aKydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKaKclfhKaecxfheaEcufgEmbkkdnaDTmba3hiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgO:vaOJbbbb9BEgONUdbaiclfgKaOaKIdbNUdbaicwfgKaOaKIdbNUdbaicxfgKaOaKIdbNUdbaiczfgKaOaKIdbNUdbaicCfgKaOaKIdbNUdbaic3fhiaecufgembkkcbhEawcuaDcdtgCaDcFFFFi0Egicbyd;y:L:cjbHjjjjbbgeBdaawcoBd2awaicbyd;y:L:cjbHjjjjbbg8EBd8KaecFeaCz:xjjjbh5dnadTmbaoJbbjZJbbjZaY:vaPceSENgOaONhYaxcdthxalheinaYaecN:H:cjbalEgKIdwa3a8AydbgAc32fgiIdC:tgOaONaKIdbaiIdx:tgOaONaKIdlaiIdz:tgOaONMMNaqcwfIdbaiIdw:tgOaONaqIdbaiIdb:tgOaONaqclfIdbaiIdl:tgOaONMMMhOdndna5aAcdtgifgKydbcuSmba8EaifIdbaO9ETmekaKaEBdba8EaifaOUdbka8Aclfh8AaqcxfhqaeaxfheadaEcefgE9hmbkkaba5aCz:wjjjb8Acrhikaicdthiawcxfc98fheinaeaifydbcbyd;C:L:cjbH:bjjjbbaic98fgimbkkawc;Wbf8KjjjjbaDk:Pdidui99ducbhi8Jjjjjbca9Rglcbyd1:G:cjbBdKalcb8Pdj:G:cjb83izalcbydN:G:cjbBdwalcb8Pd:m:G:cjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgvaDIdbgoaoav9EEUdbaladfgDavaDIdbgoaoav9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkJbbbbavavJbbbb9DEgvaoaoav9DEgvararav9DEk:H8Modui99lud99Aus998Jjjjjbcji9RgD8KjjjjbcbhqaDcxfcbc;Kbz:xjjjb8AaDcbBdwaD9cb83ibaDcbyd;i:L:cjbBd1eaDcb8Pd;a:L:cjb83ijeaDcbyd;u:L:cjbBd94aDcb8Pd;m:L:cjb83i9WdndnavmbJbbjFhkJbbjFhxJbbjFhmxekaocd4cdthPalhsincbhzinaDcjefazfgHasazfIdbgkaHIdbgxaxak9EEUdbaDc;WbfazfgHakaHIdbgxaxak9DEUdbazclfgzcx9hmbkasaPfhsaqcefgqav9hmbkaDId94aDId1e:thmaDIdtaDId:ee:thxaDId9WaDIdje:thkkJbbbbhOdnar:YgAJq;x8J88MaA:vJbbbbakakJbbbb9DEgkaxaxak9DEgkamamak9DENgxJbbbb9Bmbarc9:f:Yax:vhOkaDcCfhCaDcxfcxfhXcbhzinaDazfaDcjefazfIdbgkaxaDc;WbfazfIdbak:t:tJbbb:;NMUdbazclfgzcx9hmbkcbhQaDarar2gLar2gzcbyd;y:L:cjbHjjjjbbgHBdxaDceBd2aHcbazz:xjjjbgKcbcbadaialaoaraOaDawz:rjjjbcdhYaDcuaLcdtaLcFFFFi0Eg8Acbyd;y:L:cjbHjjjjbbgEBdzaDcdBd2aDcjefcbarz:xjjjb8Acbh3dnaLTmbdnarcb9kmbaKhzaEhHaLhsincbh3aHcbcuazaDcjefarz:AjjjbEBdbazarfhzaHclfhHascufgsmbxdkkaKhPcbh3cbhvindndnaKavar2faDcjefarz:AjjjbTmbcbhHaPhzarhsinazaHazRbbgqfgHcbaqE86bbazcefhzascufgsmbkaEavcdtfa3BdbaHa3fh3xekaEavcdtfcuBdbkaParfhPavcefgvaL9hmbkkdnabTmbaDcua3cotgza3cFFF8F0Ecbyd;y:L:cjbHjjjjbbgQBdCcihYaDciBd2aQcbazz:xjjjb8AaXhCkdnawceGmbaCa8Acbyd;y:L:cjbHjjjjbbg5BdbaDaYcefgzBd2aDcxfazcdtfaLcbyd;y:L:cjbHjjjjbbgzBdbaDaYcdfgYBd2azcbaLz:xjjjbh8EarcufhXdnarci9imbarc9:fhCararcef2aKfcefh8Aceh8Fina8Far2hPa8AhvcehqindnaEaqaPfcdtfydbcuSmbavhzaChHinazazRbbgscuasE86bbazcefhzaHcufgHmbkkavarfhvaqcefgqaX9hmbka8AaLfh8Aa8Fcefg8FaX9hmbkkarce9imbcbh8Acbhqcbhvina8EaqfhscbhzindnasazfgHRbbmbaHce86bba5a8AcdtfaqazfBdba8Acefh8Akarazcefgz9hmbkaqarfhqavcefgvar9hmbka8ATmbaKcefhaaKc9:fhharc9:fhgarci9ih8Jina8Ea5a8Acufg8Acdtfydbgvfcb86bbavar2hPdna8JmbaEavcdtfydbcuSmbaKaPfhHaghqindnaHcefgzRbbgscFe9hmbaHRbbmbcbhskazas86bbazhHaqcufgqmbkaharavcef2fhzaXhsindnazRbbgHcFe9hmbazcefRbbmbcbhHkazaH86bbazcufhzascufgsce9kmbkkaaaPfh8Kavavar9Ug8Lar29Rh8FcbhCindnaCceScuaCEa8Ffgzce9imbazaX9ombcuaCciSaCcdSEa8LfgHce9imbaHaX9ombaEaHar2azfg8McdtfydbcuSmba8Jmbaaa8Mar2fhzcbhqa8KhsaghvinazazRbbgHcbaHaHcFeSEasRbbEgP86bbascefhsazcefhzaPaH7aqVhqavcufgvmbkaqcFeGTmba8Ea8MfgzRbbmbazce86bba5a8Acdtfa8MBdba8Acefh8AkaCcefgCcl9hmbka8AmbkkdnaQTmbaKaEaQadaialaoaraOaDawz:rjjjba3TmbJbbjZaO:vhkawcjjjjlGhPdnawcdGTmbJbbnnaOaON:vh8NakJbbbZNhyaQhzinazczfgsIdbg8PazcCfIdbgx:vhmazcxfgqIdbgIax:vhAazcwfgvIdbg8Rax:vh8SakazydbgHcFrG:ZNhRakaHcq4cFrG:ZNh8UakaHcC4cFrG:ZNh8VdnaxJ:p;c;188Ng8WazcKfIdbMg8X:laxJ:983:g81Ngx9ETmba8Wazc3fIdbMazc8KfIdbg8Ya8Ya8X:vg8YN:tg8Z:lax9ETmba8WazcafIdbMazcyfIdbg8Wa8Wa8X:vg80N:tazc8SfIdba8Wa8YN:tg8Wa8Wa8Z:vg8WN:tg81:lax9ETmba8PJ:p;c;188NazcUfIdb:ta80a8RJ:p;c;188Nazc8WfIdb:tg8PN:ta8WaIJ:p;c;188Nazc80fIdb:ta8Ya8PN:tgIN:ta81:vgxam:tg8Ra8RNa8Pa8X:va8YaIa8Z:va8WaxN:tg8XN:ta80axN:tg8Wa8S:tg8Ya8YNa8XaA:tg8Ya8YNMMa8N9DTmbaxaRaxaR9EEgxakaRMgmaxam9DEhma8Xa8Ua8Xa8U9EEgxaka8UMgAaxaA9DEhAa8Wa8Va8Wa8V9EEgxaka8VMg8Saxa8S9DEh8SkdnaPTmbayaRMhmaya8UMhAaya8VMh8SkasamUdbaqaAUdbava8SUdbazc;abfhza3cufg3mbxdkkdnaPTmbakJbbbZNhxaQhzinazczfaxakazydbgHcFrG:ZNMUdbazcxfaxakaHcq4cFrG:ZNMUdbazcwfaxakaHcC4cFrG:ZNMUdbazc;abfhza3cufg3mbxdkkaQcCfhzinazc98fgHaHIdbazIdbgk:vUdbazc94fgHaHIdbak:vUdbazctfgHaHIdbak:vUdbazc;abfhza3cufg3mbkkcbhsdndnarcd9imbarcufh3aEarcdtfhadnabmbaKcefg8Mararcefgz2fh8JaKazfhba8MaLfh8Ecbhscbh8Kina8Kar2h8La8Mheabh8Aa8Eh8Fa8Jh5cbhXindnaEaXa8LfgqcdtgzfgHclfydbaHydbGaaazfgzydbGazclfydbGcuSmbclcbaKaqar2fgzarfRbbEazRbbcb9hVczcbazaLfgzRbbEVc;abcbazarfRbbEVhPaehza8AhHa8Fhqa5hva3hQindnaPclcbaHRbbEazRbbcb9hVczcbaqRbbEVc;abcbavRbbEVgPcetVgCTmbaCcFeSmbasaCRb;W;p:cjbfhskazcefhzaHcefhHaqcefhqavcefhvaQcufgQmbkkaearfhea8Aarfh8Aa8Farfh8Fa5arfh5aXcefgXa39hmbka8MaLfh8MabaLfhba8EaLfh8Ea8JaLfh8Ja8Kcefg8Ka39hmbxdkkJbbjZaO:vgkakJk;x8J88NNh8RawcdGh8EaDIdwhkaDIdlhxaDIdbhmcbhscbhPinaPar2h8KcbhvindnaEava8KfgqcdtgzfgHclfydbaHydbGaaazfgzydbGazclfydbGcuSmbcbh8AclcbaKaqar2fgYarfRbbEaYRbbcb9hVczcbaYaLfg8JRbbEVc;abcba8JarfRbbEVh8Lindna8LclcbaYa8Ag8Mcefg8AfgzarfRbbEazRbbcb9hVczcba8Ja8AfgzRbbEVc;abcbazarfRbbEVg8LcetVgCTmbaCcFeSmbcbhqdndndnaCRb;W;n:cjbcufPdebdka8ETmeaCcC2gz8Ve;W:L:cjbcltaz8Ve;Y:L:cjbcsGVh8FaKa8Mfh5cxhzaDcjefhHinaHaQaEa8Faz4gqce4ceGavfaqcd4ceGaPfar2fgXcdtfydbcotfa5aqceGfaXar2fRbbcotfcnfBdbaHclfhHazc98fgzc989hmbkaDydjegzIdyaDyd:megHIdyMaDyd:eegqIdyaDyd1egXIdyMMg8XaqIdwaXIdwMJbbbZNgANazIdUaHIdUMaqIdUaXIdUMMg8WMg8Sa8SMazIdaaHIdaMaqIdaaXIdaMMg8YaqIdzaXIdzMJbbbZNg8SNMa8SNazId8SaHId8SMaqId8SaXId8SMMgRa8SNazId80aHId80MaqId80aXId80MMg8UMg8Sa8SMazId3aHId3MaqId3aXId3MMg8VaqIdxaXIdxMJbbbZNg8SNMa8SNazId8KaHId8KMaqId8KaXId8KMMg8Za8SNazId8WaHId8WMaqId8WaXId8WMMg80Mg8Sa8SMazIdKaHIdKMaqIdKaXIdKMMgyaANMaANazId88aHId88MaqId88aXId88MMg8PMMM:lgIa8RazIdCaHIdCMaqIdCaXIdCMMN9Ea8XazIdwaHIdwMJbbbZNgANa8WMg8Sa8SMa8YazIdzaHIdzMJbbbZNg8SNMa8SNaRa8SNa8UMg8Sa8SMa8VazIdxaHIdxMJbbbZNg8SNMa8SNa8Za8SNa80Mg8Sa8SMayaANMaANa8PMMM:laIJ;d;1UZN9DGhqxekaKa8Mfh8FcbhzcrhHindnaCaz4ceGTmba8FazceGfazce4ceGavfazcd4aPfar2fgqar2fRbbgXcFeSmbaQaEaqcdtfydbcotfaXcotfc9efRbbaH4ceGTmbcbhqxdkaHcufhHcehqazcefgzcw9hmbkkaCcC2aqcq2fgH8Ve;W:L:cjbgzTmbaHc;Y:L:cjbfhqaKa8MfhCabasc8K2fhHindnasae9pmbaHaQaEazcD4ceGavfazcq4ceGaPfar2fgXcdtfydbcotfaCazcw4ceGfaXar2fRbbcotfgXc9ifIdbamMUdbaHclfaXc9mfIdbaxMUdbaHcwfaXc9qfIdbakMUdbaHcxfamaQaEazcv4ceGavfazco4ceGaPfar2fgXcdtfydbcotfaCazcl4ceGfaXar2fRbbcotfgXc9ifIdbMUdbaHczfaxaXc9mfIdbMUdbaHcCfakaXc9qfIdbMUdbaHcKfamaQaEazce4ceGavfazcd4ceGaPfar2fgXcdtfydbcotfaCazceGfaXar2fRbbcotfgzc9ifIdbMUdbaHc3faxazc9mfIdbMUdbaHcafakazc9qfIdbMUdbkaHc8KfhHascefhsaq8Vebhzaqcdfhqazmbkka8Aa39hmbkkavcefgva39hmbkaPcefgPa39hmbkaDyd2gYTmekaYcdtaDcxffc98fhzinazydbcbyd;C:L:cjbH:bjjjbbazc98fhzaYcufgYmbkkaDcjif8Kjjjjbask;Kxmiue99due99euz99eui99eud99dud99oudnalTmbaocd4hkaqcdGhxarc99fhqarcethmawawMhPcbhsindndnawavaiascdtfgoclfydbak2cdtfgzIdwgHavaoydbak2cdtfgOIdwgA:tgCaCNazIdbgXaOIdbgQ:tgLaLNazIdlgKaOIdlgY:tg8Aa8ANMMgEavaocwfydbak2cdtfgoIdwg3aA:tg5a5NaoIdbg8EaQ:tg8Fa8FNaoIdlgaaY:tghahNMMggaEag9EEgEa3aH:tgHaHNa8EaX:tgHaHNaaaK:tgHaHNMMgHaEaH9EE:rNgHaHMgH:lJbbb9p9DTmbaH:Ohoxekcjjjj94hokdnaLahNa8Aa8FN:tgHaHNa8Aa5NaCahN:tgXaXNaCa8FNaLa5N:tgKaKNMMg3Jbbbb9BmbJbbjZhEdnaoceaoce9kEgoamaoam9iEg8Jcd9imbJbbjZa8J:Z:vhEkarcb9imbaAaDIdw:th8KaYaDIdl:th8LaQaDIdb:th8Ma8Jcba8Jcb9kEh8NdnadTmbaHJbbjZa3:rgA:vgQNg3aAa8Jcefa8Jcdf2:Y:vgANh8EaKaQNgKaANhyaXaQNgXaXaANNh8PcbhIina8Jcba8Jcb9kEcefh8RaEaI:ZNgQaCNa8KMhgaQa8ANa8LMh8SaQaLNa8MMhRcbhzindndnaPaEaz:ZNgQahNa8SMgYNgH:lJbbb9p9DTmbaH:OhOxekcjjjj94hOkaOce91goaqaoaq6Eh8UdndnaPaQa5NagMgHNga:lJbbb9p9DTmbaa:Oh8Vxekcjjjj94h8Vka8Ua8Vce91goaqaoaq6Eg8Wcefar2fcefgoar2h8XdndnaPaQa8FNaRMgQNga:lJbbb9p9DTmbaa:Oh8Yxekcjjjj94h8Ykadaeaocdtfydbcotfaba8Yce91goaqaoaq6Eg8Zfa8XfcefRbbcotfgocnfa8Ucqta8ZcCtVa8WVBdbaoc9efg8Ua8URbbcea8YceGaOcetcdGVa8VcdtclGVtV86bbaoc9ifgOaQaANaOIdbMUdbaoc9mfgOaYaANaOIdbMUdbaoc9qfgOaHaANaOIdbMUdbaoc9ufgOaAaOIdbMUdbdnaxTmbaoc9yfgOa8PaOIdbMUdbaoc9CfgOaKayNaOIdbMUdbaoc9GfgOa3a8ENaOIdbMUdbaoc9KfgOaXayNaOIdbMUdbaoc9OfgOaXa8ENaOIdbMUdbaoc2fgOaKa8ENaOIdbMUdbaoc9WfgOaXaAa3aHNaXaQNaKaYNMMgY:mNgQNaOIdbMUdbaoctfgOaKaQNaOIdbMUdbaoc94fgOa3aQNaOIdbMUdbaoc98fgoaoIdbaYaQN:tUdbka8Razcefgz9hmbka8Jcufh8JaIa8NShoaIcefhIaoTmbxdkkcbh8Vina8Jcba8Jcb9kEcefh8UaEa8V:ZNgAaCNa8KMhYaAa8ANa8LMhHaAaLNa8MMhXcbhoindndnaPaEao:ZNgAahNaHMNgQ:lJbbb9p9DTmbaQ:Ohzxekcjjjj94hzkazce91gzaqazaq6EhzdndnaPaAa5NaYMNgQ:lJbbb9p9DTmbaQ:OhOxekcjjjj94hOkazaOce91gOaqaOaq6Ecefar2fcefar2hzdndnaPaAa8FNaXMNgA:lJbbb9p9DTmbaA:OhOxekcjjjj94hOkabaOce91gOaqaOaq6Efazfcefce86bba8Uaocefgo9hmbka8Jcufh8Ja8Va8NShoa8Vcefh8VaoTmbkkascifgsal6mbkkk:Nvezu8Jjjjjbcjd9Rgb8Kjjjjbcbheabcbcjdz:xjjjbhdc:W:H:cjbhbinabRbbgicC2glabcqf8Veb87e;4:L:cjbalabcdfgv8Peb83e;W:L:cjbaiabcefRbb86b;W;n:cjbadaifce86bbalavabcxfceaetc:F:d;avGEgi8Peb83e;6:L:cjbalai8Vew87e:c:M:cjbabcQfhbaecefgecK9hmbkcbhoinc;Y:L:cjbhrcbhvindnadavfgwRbbce9hmbavcC2c;W:L:cjbfhDcbhbcehqavc;W;n:cjbfhkinabcitc:G:H:cjbfhlcbhbcbheinaeavab4ceGalabfRbbtVheabcefgbcw9hmbkdnadaecFeGgxfgmRbbmbaxcC2c;W:L:cjbfhPcbhbcehsindnaDabcq2gif8VebgbTmbaraifheaPaifhiinaialabcl4csGfRbbcltalabcw4csGfRbbcwtValabcsGfRbbV87ebaicdfhiae8VebhbaecdfheabmbkkcehbasceGhecbhsaembkamce86bbaxakRbb86b;W;n:cjbkcehbaqceGhlcbhqalmbkawcd86bbkarcCfhravcefgvcjd9hmbkaocefgoci9hmbkcbhic;W:L:cjbhvincuhlavhbinalcefhlab8Vebheabcdfhbaembkaial86b;W;p:cjbavcCfhvaicefgicjd9hmbkadcjdf8Kjjjjbk9DeeuabcFeaicdtz:xjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;Bidqui998Jjjjjbc;Wb9Rgl8Kjjjjbalcxfcbc;Kbz:xjjjb8Aadcd4adfhvcehoinaogrcethoarav6mbkalcuarcdtgoarcFFFFi0Ecbyd;y:L:cjbHjjjjbbgvBdxavcFeaoz:xjjjbhwdnadTmbaicd4hDarcufhqcbhkindndnawcbaeakaD2cdtfgrydlgiaicjjjj94SEgocH4ao7c:F:b:DD2cbarydbgxaxcjjjj94SEgocH4ao7c;D;O:B8J27cbarydwgmamcjjjj94SEgrcH4ar7c:3F;N8N27aqGgvcdtfgrydbgocuSmbam::hPai::hsax::hzcehiinaihrdnaeaoaD2cdtfgiIdbaz9CmbaiIdlas9CmbaiIdwaP9BmikarcefhiawavarfaqGgvcdtfgrydbgocu9hmbkkarakBdbakhokabakcdtfaoBdbakcefgkad9hmbkkalydxcbyd;C:L:cjbH:bjjjbbalc;Wbf8Kjjjjbk9teiucbcbyd;G:L:cjbgeabcifc98GfgbBd;G:L:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;G:L:cjbgeabcrfc94GfgbBd;G:L:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikTeeucbabcbyd;G:L:cjbge9Rcifc98GaefgbBd;G:L:cjbdnabZbcztge9nmbabae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk;0vdbcj:Gdk;yvFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbebbbdbbbbbbbebbbebbbdbbbbbbbbbbbeeeeeebebbeebbebbebbbeeebbbbebbbbbbbbbbbbbbbbbbbeeeeeeebebbbeeebbeebbbbbebbbbbebebbbbbbbbbbbbbbbdiorbelvlbodveribbbbbbbbbbbbbbbbbbbbbbebbbbbbbbbbbbbbbbbbbbbibbbbbbbbbbbbbbbbbbbbbobbbbbbbbbbbbbbbbbbbbbrbaebbbbbbbbbbbbbbbbbbsd8We8YbbbbbbbhiaebbbbbbQe8Ke9cebbbbbbbbbbbbbbbbLb8KebbbbbbbbbbbbbbbbbbKbbbbbbbbbbbbbbbbbbbbbYeJbilbbbbbbbbbbbbbbbbEe80e8WlbbbbbbzlAbbbbbbb5eJdnibbbbbbai8Kbbbbbbb8Ee9ce8Ylcibbbb8Yebbbbbbbb8FdOlAdbbbbbb80e8Ylbbbbbb88eTi8KiJv8Jlbbbbbbbbbbbb89e9td8Kv9qibbbbndlvaibbbbZd8Li8KvbbbbbbJdTibbbbbb9Pe81b9GvoiBvbbbbbbbbbbbb9Re9JbvoWibbbbvibbbbbbbb9VeWi9Gvbbbbbb8WvBbbbbbbb9:b9ceBvbbbbbbbbbbbbbbbbubWibbbbbbbbbbbbbbbbbb;Wd9hvSrbbbbbbWl9NvbbbbbbFbbbbbbbbbbbbbbbbbbbbbFFuuFFuuFFuuFFuFFFuFFFuFbc;y:Ldkxebbbdbbb;W:Obb",b=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var a,d=WebAssembly.instantiate(t(c),{}).then(function(f){a=f.instance,a.exports.__wasm_call_ctors()});function t(f){for(var k=new Uint8Array(f.length),p=0;p<f.length;++p){var M=f.charCodeAt(p);k[p]=M>96?M-97:M>64?M-39:M+4}for(var v=0,p=0;p<f.length;++p)k[v++]=k[p]<60?b[k[p]]:(k[p]-60)*64+k[++p];return k.buffer.slice(0,v)}function e(f){if(!f)throw new Error("Assertion failed")}function n(f){return new Uint8Array(f.buffer,f.byteOffset,f.byteLength)}function o(f,k,p,M){var v=a.exports.sbrk,x=v(p*4),I=v(p*M*4),A=new Uint8Array(a.exports.memory.buffer);A.set(n(k),I),f(x,I,p,M*4),A=new Uint8Array(a.exports.memory.buffer);var z=new Uint32Array(p);return new Uint8Array(z.buffer).set(A.subarray(x,x+p*4)),v(x-v(0)),z}function h(f,k,p){var M=a.exports.sbrk,v=M(k.length*4),x=M(p*4),I=new Uint8Array(a.exports.memory.buffer),A=n(k);I.set(A,v);var z=f(x,v,k.length,p);I=new Uint8Array(a.exports.memory.buffer);var N=new Uint32Array(p);new Uint8Array(N.buffer).set(I.subarray(x,x+p*4)),M(v-M(0));for(var R=0;R<k.length;++R)k[R]=N[k[R]];return[N,z]}function m(f){for(var k=0,p=0;p<f.length;++p){var M=f[p];k=k<M?M:k}return k}function i(f,k,p,M,v,x,I,A,z){var N=a.exports.sbrk,R=N(4),U=N(p*4),G=N(v*x),O=N(p*4),S=new Uint8Array(a.exports.memory.buffer);S.set(n(M),G),S.set(n(k),O);var J=f(U,O,p,G,v,x,I,A,z,R);S=new Uint8Array(a.exports.memory.buffer);var q=new Uint32Array(J);n(q).set(S.subarray(U,U+J*4));var B=new Float32Array(1);return n(B).set(S.subarray(R,R+4)),N(R-N(0)),[q,B[0]]}function s(f,k,p,M,v,x,I,A,z,N,R,U,G){var O=a.exports.sbrk,S=O(4),J=O(p*4),q=O(v*x),B=O(v*A),P=O(z.length*4),D=O(p*4),L=N?O(v):0,_=new Uint8Array(a.exports.memory.buffer);_.set(n(M),q),_.set(n(I),B),_.set(n(z),P),_.set(n(k),D),N&&_.set(n(N),L);var ia=f(J,D,p,q,v,x,B,A,P,z.length,L,R,U,G,S);_=new Uint8Array(a.exports.memory.buffer);var T=new Uint32Array(ia);n(T).set(_.subarray(J,J+ia*4));var C=new Float32Array(1);return n(C).set(_.subarray(S,S+4)),O(S-O(0)),[T,C[0]]}function l(f,k,p,M,v,x,I,A,z,N,R,U,G){var O=a.exports.sbrk,S=O(4),J=O(v*x),q=O(v*A),B=O(z.length*4),P=O(p*4),D=N?O(v):0,L=new Uint8Array(a.exports.memory.buffer);L.set(n(M),J),L.set(n(I),q),L.set(n(z),B),L.set(n(k),P),N&&L.set(n(N),D);var _=f(P,p,J,v,x,q,A,B,z.length,D,R,U,G,S);L=new Uint8Array(a.exports.memory.buffer),n(k).set(L.subarray(P,P+_*4)),n(M).set(L.subarray(J,J+v*x)),n(I).set(L.subarray(q,q+v*A));var ia=new Float32Array(1);return n(ia).set(L.subarray(S,S+4)),O(S-O(0)),[_,ia[0]]}function g(f,k,p,M){var v=a.exports.sbrk,x=v(p*M),I=new Uint8Array(a.exports.memory.buffer);I.set(n(k),x);var A=f(x,p,M);return v(x-v(0)),A}function u(f,k,p,M,v,x,I,A){var z=a.exports.sbrk,N=z(A*4),R=z(p*M),U=v?z(p*x):0,G=new Uint8Array(a.exports.memory.buffer);G.set(n(k),R),v&&G.set(n(v),U);var O=f(N,R,p,M,U,x,I,A);G=new Uint8Array(a.exports.memory.buffer);var S=new Uint32Array(O);return n(S).set(G.subarray(N,N+O*4)),z(N-z(0)),S}function r(f,k,p,M,v,x,I,A,z){var N=a.exports.sbrk,R=N(4),U=N(p*4),G=N(v*x),O=N(p*4),S=I?N(v):0,J=new Uint8Array(a.exports.memory.buffer);J.set(n(M),G),J.set(n(k),O),I&&J.set(n(I),S);var q=f(U,O,p,G,v,x,S,A,z,R);J=new Uint8Array(a.exports.memory.buffer);var B=new Uint32Array(q);n(B).set(J.subarray(U,U+q*4));var P=new Float32Array(1);return n(P).set(J.subarray(R,R+4)),N(R-N(0)),[B,P[0]]}function j(f,k,p,M,v,x,I){var A=a.exports.sbrk,z=A(p*4),N=A(v*x),R=A(p*4),U=new Uint8Array(a.exports.memory.buffer);U.set(n(M),N),U.set(n(k),R);var G=f(z,R,p,N,v,x,I);U=new Uint8Array(a.exports.memory.buffer);var O=new Uint32Array(G);return n(O).set(U.subarray(z,z+G*4)),A(z-A(0)),O}function y(f,k,p,M,v,x){var I=a.exports.sbrk,A=I(p.byteLength),z=I(k.byteLength),N=new Uint8Array(a.exports.memory.buffer);N.set(n(p),A),N.set(n(k),z);var R=p.byteLength/M,U=f(0,0,z,k.length,A,R,M,v,x),G=I(U*9*4),O=f(G,U,z,k.length,A,R,M,v,x);e(O<=U),N=new Uint8Array(a.exports.memory.buffer);var S=new Float32Array(O*9);return n(S).set(N.subarray(G,G+S.byteLength)),I(A-I(0)),S}var w={LockBorder:1,Sparse:2,ErrorAbsolute:4,Prune:8,Regularize:16,Permissive:32,RegularizeLight:64,PreserveFolds:128,ErrorClamped:256,_InternalDebug:1<<30},E={Shell:1,Solve:2,Thicken:0,_InternalDebug:1<<30};return{ready:d,supported:!0,compactMesh:function(f){e(f instanceof Uint32Array||f instanceof Int32Array||f instanceof Uint16Array||f instanceof Int16Array),e(f.length%3==0);var k=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f),p=h(a.exports.meshopt_optimizeVertexFetchRemap,k,m(f)+1);if(f!==k)for(var M=0;M<k.length;++M)f[M]=k[M];return p},generatePositionRemap:function(f,k){return e(f instanceof Float32Array),e(f.length%k==0),e(k>=3),o(a.exports.meshopt_generatePositionRemap,f,f.length/k,k)},simplify:function(f,k,p,M,v,x){e(f instanceof Uint32Array||f instanceof Int32Array||f instanceof Uint16Array||f instanceof Int16Array),e(f.length%3==0),e(k instanceof Float32Array),e(k.length%p==0),e(p>=3),e(M>=0&&M<=f.length),e(M%3==0),e(v>=0);for(var I=0,A=0;A<(x?x.length:0);++A)e(x[A]in w),I|=w[x[A]];var z=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f),N=i(a.exports.meshopt_simplify,z,f.length,k,k.length/p,p*4,M,v,I);return N[0]=f instanceof Uint32Array?N[0]:new f.constructor(N[0]),N},simplifyWithAttributes:function(f,k,p,M,v,x,I,A,z,N){e(f instanceof Uint32Array||f instanceof Int32Array||f instanceof Uint16Array||f instanceof Int16Array),e(f.length%3==0),e(k instanceof Float32Array),e(k.length%p==0),e(p>=3),e(M instanceof Float32Array),e(M.length==v*(k.length/p)),e(v>=0),e(I==null||I instanceof Uint8Array),e(I==null||I.length==k.length/p),e(A>=0&&A<=f.length),e(A%3==0),e(z>=0),e(Array.isArray(x)),e(v>=x.length),e(x.length<=32);for(var R=0;R<x.length;++R)e(x[R]>=0);for(var U=0,R=0;R<(N?N.length:0);++R)e(N[R]in w),U|=w[N[R]];var G=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f),O=s(a.exports.meshopt_simplifyWithAttributes,G,f.length,k,k.length/p,p*4,M,v*4,new Float32Array(x),I,A,z,U);return O[0]=f instanceof Uint32Array?O[0]:new f.constructor(O[0]),O},simplifyWithUpdate:function(f,k,p,M,v,x,I,A,z,N){e(f instanceof Uint32Array||f instanceof Int32Array||f instanceof Uint16Array||f instanceof Int16Array),e(f.length%3==0),e(k instanceof Float32Array),e(k.length%p==0),e(p>=3),e(M instanceof Float32Array),e(M.length==v*(k.length/p)),e(v>=0),e(I==null||I instanceof Uint8Array),e(I==null||I.length==k.length/p),e(A>=0&&A<=f.length),e(A%3==0),e(z>=0),e(Array.isArray(x)),e(v>=x.length),e(x.length<=32);for(var R=0;R<x.length;++R)e(x[R]>=0);for(var U=0,R=0;R<(N?N.length:0);++R)e(N[R]in w),U|=w[N[R]];var G=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f),O=l(a.exports.meshopt_simplifyWithUpdate,G,f.length,k,k.length/p,p*4,M,v*4,new Float32Array(x),I,A,z,U);if(f!==G)for(var R=0;R<O[0];++R)f[R]=G[R];return O},getScale:function(f,k){return e(f instanceof Float32Array),e(f.length%k==0),e(k>=3),g(a.exports.meshopt_simplifyScale,f,f.length/k,k*4)},simplifyPoints:function(f,k,p,M,v,x){return e(f instanceof Float32Array),e(f.length%k==0),e(k>=3),e(p>=0&&p<=f.length/k),M?(e(M instanceof Float32Array),e(M.length%v==0),e(v>=3),e(f.length/k==M.length/v),u(a.exports.meshopt_simplifyPoints,f,f.length/k,k*4,M,v*4,x||0,p)):u(a.exports.meshopt_simplifyPoints,f,f.length/k,k*4,void 0,0,0,p)},simplifySloppy:function(f,k,p,M,v,x){e(f instanceof Uint32Array||f instanceof Int32Array||f instanceof Uint16Array||f instanceof Int16Array),e(f.length%3==0),e(k instanceof Float32Array),e(k.length%p==0),e(p>=3),e(M==null||M instanceof Uint8Array),e(M==null||M.length==k.length/p),e(v>=0&&v<=f.length),e(v%3==0),e(x>=0);var I=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f),A=r(a.exports.meshopt_simplifySloppy,I,f.length,k,k.length/p,p*4,M,v,x);return A[0]=f instanceof Uint32Array?A[0]:new f.constructor(A[0]),A},simplifyPrune:function(f,k,p,M){e(f instanceof Uint32Array||f instanceof Int32Array||f instanceof Uint16Array||f instanceof Int16Array),e(f.length%3==0),e(k instanceof Float32Array),e(k.length%p==0),e(p>=3),e(M>=0);var v=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f),x=j(a.exports.meshopt_simplifyPrune,v,f.length,k,k.length/p,p*4,M);return x=f instanceof Uint32Array?x:new f.constructor(x),x},remesh:function(f,k,p,M,v){e(f instanceof Uint32Array||f instanceof Int32Array||f instanceof Uint16Array||f instanceof Int16Array),e(f.length%3==0),e(k instanceof Float32Array),e(k.length%p==0),e(p>=3),e(M>=4&&M<=256);for(var x=0,I=0;I<(v?v.length:0);++I)e(v[I]in E),x|=E[v[I]];var A=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f);return y(a.exports.meshopt_remesh,A,k,p*4,M,x)}}})();var Kb=(function(){var c="b9H79Tebbbe:neP9Geueu9Geub9Gbb9Giuuueu9Gmuuuuuuuuuuu9999eu9Gouuuuuueu9Gruuuuuuub9Gxuuuuuuuuuuuueu9Gxuuuuuuuuuuu99eu9GPuuuuuuuuuuuuu99b9Gouuuuuub9Gwuuuuuuuub9Gvuuuuub9GluuuubiQXdilvorwDqokoqxmbiibeilve9Weiiviebeoweuecj:Gdkr;Zeqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9I919P29K9nW79O2Wt79c9V919U9KbeY9TW79O9V9Wt9F9I919P29K9nW79O2Wt7S2W94bd39TW79O9V9Wt9F9I919P29K9nW79O2Wt79t9W9Ht9P9H2bo39TW79O9V9Wt9F9J9V9T9W91tWJ2917tWV9c9V919U9K7bw39TW79O9V9Wt9F9J9V9T9W91tW9nW79O2Wt9c9V919U9K7bkE9TW79O9V9Wt9F9J9V9T9W91tW9t9W9OWVW9c9V919U9K7bxL9TW79O9V9Wt9F9V9Wt9P9T9P96W9nW79O2WtbPl79IV9RbsDwebcekdOAq;W:leXdbkIbabaec9:fgefcufae9Ugeabci9Uadfcufad9Ugbaeab0Ek:88JDPue99eux99due99euo99iu8Jjjjjbc:WD9Rgm8KjjjjbdndnalmbcbhPxekamc:Cwfcbc;Kbz:rjjjb8AcuaocdtgsaocFFFFi0Ehzcbyd;0:G:cjbhHdndnalcb9imbaoal9nmbamazaHHjjjjbbgHBd:CwamceBd;8wamazcbyd;0:G:cjbHjjjjbbgOBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;0:G:cjbHjjjjbbgABd:KwamciBd;8waihzalhsinaHazydbcdtfcbBdbazclfhzascufgsmbkaihzalhsinaHazydbcdtfgCaCydbcefBdbazclfhzascufgsmbkaihzalhCcbhXindnaHazydbcdtgQfgsydbcb9imbaOaQfaXBdbasasydbgQcjjjj94VBdbaQaXfhXkazclfhzaCcufgCmbkalci9UhLdnalci6mbcbhzaihsinascwfydbhCasclfydbhXaOasydbcdtfgQaQydbgQcefBdbaAaQcdtfazBdbaOaXcdtfgXaXydbgXcefBdbaAaXcdtfazBdbaOaCcdtfgCaCydbgCcefBdbaAaCcdtfazBdbascxfhsaLazcefgz9hmbkkaihzalhsindnaHazydbcdtgCfgXydbgQcu9kmbaXaQcFFFFrGgQBdbaOaCfgCaCydbaQ9RBdbkazclfhzascufgsmbxdkkamazaHHjjjjbbgHBd:CwamceBd;8wamazcbyd;0:G:cjbHjjjjbbgOBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;0:G:cjbHjjjjbbgABd:KwamciBd;8waHcbasz:rjjjbhXaihzalhsinaXazydbcdtfgCaCydbcefBdbazclfhzascufgsmbkalci9UhLdnaoTmbcbhzaOhsaXhCaohQinasazBdbasclfhsaCydbazfhzaCclfhCaQcufgQmbkkdnalci6mbcbhzaihsinascwfydbhCasclfydbhQaOasydbcdtfgKaKydbgKcefBdbaAaKcdtfazBdbaOaQcdtfgQaQydbgQcefBdbaAaQcdtfazBdbaOaCcdtfgCaCydbgCcefBdbaAaCcdtfazBdbascxfhsaLazcefgz9hmbkkaoTmbcbhzaohsinaOazfgCaCydbaXazfydb9RBdbazclfhzascufgsmbkkamaLcbyd;0:G:cjbHjjjjbbgzBd:OwamclBd;8wazcbaLz:rjjjbhYamcuaLcK2alcjjjjd0Ecbyd;0:G:cjbHjjjjbbg8ABd:SwamcvBd;8wJbbbbhEdnalci6g3mbarcd4hKaihsa8AhzaLhrJbbbbh5inavasclfydbaK2cdtfgCIdlh8EavasydbaK2cdtfgXIdlhEavascwfydbaK2cdtfgQIdlh8FaCIdwhaaXIdwhhaQIdwhgazaCIdbg8JaXIdbg8KMaQIdbg8LMJbbnn:vUdbazclfaXIdlaCIdlMaQIdlMJbbnn:vUdbaQIdwh8MaCIdwh8NaXIdwhyazcxfa8EaE:tg8Eagah:tggNaaah:tgaa8FaE:tghN:tgEJbbbbJbbjZa8Ja8K:tg8FahNa8Ea8La8K:tg8KN:tghahNaEaENaaa8KNa8FagN:tgEaENMMg8K:rg8E:va8KJbbbb9BEg8KNUdbazczfaEa8KNUdbazcCfaha8KNUdbazcwfa8Maya8NMMJbbnn:vUdba5a8EMh5ascxfhsazcKfhzarcufgrmbka5aL:Z:vJbbbZNhEkamcuaLcdtalcFFFF970Ecbyd;0:G:cjbHjjjjbbgCBd:WwamcoBd;8waq:Zhhdna3mbcbhzaChsinasazBdbasclfhsaLazcefgz9hmbkkaEahNhhamcuaLcltalcFFFFd0Ecbyd;0:G:cjbHjjjjbbg8PBd:0wamcrBd;8wcba8Pa8AaCaLcbz:djjjb8AJFFuuh8MJFFuuh8NJFFuuhydnalci6mbJFFuuhya8AhzaLhsJFFuuh8NJFFuuh8MinazcwfIdbgEa8Ma8MaE9EEh8MazclfIdbgEa8Na8NaE9EEh8NazIdbgEayayaE9EEhyazcKfhzascufgsmbkkah:rhEamaocetgzcuaocu9kEcbyd;0:G:cjbHjjjjbbgCBd:4wdndnaoal9nmbaihzalhsinaCazydbcetfcFFi87ebazclfhzascufgsmbxdkkaCcFeazz:rjjjb8AkaEJbbbZNh8JcuhIdnalci6mbcbhsJFFuuhEa8AhzcuhIinazcwfIdba8M:tghahNazIdbay:tghahNazclfIdba8N:tghahNMM:rghaEaIcuSahaE9DVgXEhEasaIaXEhIazcKfhzaLascefgs9hmbkkamczfcbcjwz:rjjjb8Aam9cb83iwam9cb83ibaxa8JNh8RJbbjZak:th8Lcbh8SJbbbbhRJbbbbh8UJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8Ycbh8ZcbhPinJbbbbhEdna8STmbJbbjZa8S:Z:vhEkJbbbbhhdna8Ya8YNa8Wa8WNa8Xa8XNMMg8KJbbbb9BmbJbbjZa8K:r:vhhka8VaENh8Ka8UaENh5aRaENh8EaIhLdndndndndna8SaPVTmbamydwg80Tmea8YahNh8Fa8XahNhaa8WahNhgaeamydbcdtfh81cbh3JFFuuhEcvhQcuhLindnaHa81a3cdtfydbcdtgzfydbgvTmbaAaOazfydbcdtfhsindndnaCaiasydbgKcx2fgzclfydbgrcetf8Vebcs4aCazydbgXcetf8Vebcs4faCazcwfydbglcetf8Vebcs4fgombcbhzxekcehzaHaXcdtfydbgXceSmbcehzaHarcdtfydbgrceSmbcehzaHalcdtfydbglceSmbdnarcdSaXcdSfalcdSfcd6mbaocefhzxekaocdfhzkdnazaQ9kmba8AaKcK2fgXIdwa8K:tghahNaXIdba8E:tghahNaXIdla5:tghahNMM:ra8J:va8LNJbbjZMJ9VO:d86JbbjZaXIdCa8FNaXIdxagNaaaXIdzNMMakN:tghahJ9VO:d869DENghaEazaQ6ahaE9DVgXEhEaKaLaXEhLazaQaXEhQkasclfhsavcufgvmbkka3cefg3a809hmbkkaLcu9hmekama8KUd:ODama5Ud:KDama8EUd:GDamcuBd:qDamcFFF;7rBdjDa8Pcba8AaYamc:GDfamc:qDfamcjDfz:ejjjbamyd:qDhLdndnaxJbbbb9ETmba8SaD6mbaLcuSmeceh3amIdjDa8R9EmixdkaLcu9hmekdna8STmbabaPcltfgHam8Piw83dwaHam8Pib83dbaPcefhPkc3hHinamc:CwfaHfydbcbyd;4:G:cjbH:bjjjbbaHc98fgHc989hmbxvkkcbh3a8Saq9pmbamydwaCaiaLcx2fgzydbcetf8Vebcs4aCazcwfydbcetf8Vebcs4faCazclfydbcetf8Vebcs4ffaw9nmekcbhzcbhsdna8ZTmbcbhsamczfhXinamczfascdtfaXydbgQBdbaXclfhXasaYaQfRbbTfhsa8Zcufg8ZmbkkamydwhlamydbhXam9cu83i:GDam9cu83i:ODam9cu83i:qDam9cu83i:yDinamcjDfazfcFFF;7rBdbazclfgzcz9hmbkasc;8easclfc:bd6Eg8Zcdth80dnalTmbaeaXcdtfhocbhrindnaHaoarcdtfydbcdtgzfydbgvTmbaAaOazfydbcdtfhscuhQcuhzinaHaiasydbgKcx2fgXclfydbcdtfydbaHaXydbcdtfydbfaHaXcwfydbcdtfydbfgXazaXaz6gXEhzaKaQaXEhQasclfhsavcufgvmbkaQcuSmba8AaQcK2fgsIdwa8M:tgEaENasIdbay:tgEaENasIdla8N:tgEaENMM:rhEcbhsindndnazamc:qDfasfgvydbgX6mbazaX9hmeaEamcjDfasfIdb9FTmekavazBdbamc:GDfasfaQBdbamcjDfasfaEUdbxdkasclfgscz9hmbkkarcefgral9hmbkkamczfa80fhQcbhzcbhsindnamc:GDfazfydbgXcuSmbaQascdtfaXBdbascefhskazclfgzcz9hmbkasa8Zfg8ZTmbJFFuuhhcuhKamczfhza8ZhvcuhQina8AazydbgXcK2fgsIdwa8M:tgEaENasIdbay:tgEaENasIdla8N:tgEaENMM:rhEdndnaHaiaXcx2fgsclfydbcdtfydbaHasydbcdtfydbfaHascwfydbcdtfydbfgsaQ6mbasaQ9hmeaEah9DTmekaEhhashQaXhKkazclfhzavcufgvmbkaKcuSmbaKhLkdnamaiaLcx2fgrydbarclfydbarcwfydbaCabaeadaPawaqa3z:fjjjbTmbaPcefhPJbbbbhRJbbbbh8UJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8YkcbhXinaAaOaraXcdtfydbcdtgsfydbcdtfgKhzaHasfgvydbgQhsdnaQTmbdninazydbaLSmeazclfhzascufgsTmdxbkkazaKaQcdtfc98fydbBdbavavydbcufBdbkaXcefgXci9hmbka8AaLcK2fgzIdbhEazIdlhhazIdwh8KazIdxh5azIdzh8EazIdCh8FaYaLfce86bba8Ya8FMh8Ya8Xa8EMh8Xa8Wa5Mh8Wa8Va8KMh8Va8UahMh8UaRaEMhRamydxh8Sxbkkamc:WDf8KjjjjbaPkjoivuv99lu8Jjjjjbca9Rgo8Kjjjjbdndnalcw0mbaiydbhraeabcitfgwalcdtciVBdlawarBdbdnalcd6mbaiclfhralcufhDawcxfhwinarydbhqawcuBdbawc98faqBdbawcwfhwarclfhraDcufgDmbkkalabfhwxekcbhqaocbBdKao9cb83izaocbBdwao9cb83ibJbbjZhkJbbjZhxinadaiaqcdtfydbcK2fhDcbhwinaoczfawfgraDawfIdbgmarIdbgP:tgsaxNaPMgPUdbaoawfgrasamaP:tNarIdbMUdbawclfgwcx9hmbkJbbjZakJbbjZMgk:vhxaqcefgqal9hmbkcbhradcbcecdaoIdlgmaoIdwgP9GEgwaoIdbgsaP9GEawasam9GEgzcdtgwfhHaoczfawfIdbhmaihwalhDinaiarcdtfgqydbhOaqawydbgABdbawaOBdbawclfhwaraHaAcK2fIdbam9DfhraDcufgDmbkdndnarcv6mbavc8X9kmbaralc98f6mekaiydbhraeabcitfgwalcdtciVBdlawarBdbaiclfhralcufhDawcxfhwinarydbhqawcuBdbawc98faqBdbawcwfhwarclfhraDcufgDmbkalabfhwxekaeabcitfgwamUdbawawydlc98GazVBdlabcefaeadaiaravcefgqz:djjjbhDawawydlciGaDabcu7fcdtVBdlaDaeadaiarcdtfalar9Raqz:djjjbhwkaocaf8Kjjjjbawk;Oddvue99dninabaecitfgrydlgwcd4gDTmednawciGgqci9hmbcihqdnawcl6mbabaecitfhbcbheawhqcehkindnaiabydbgDfRbbmbcbhkadaDcK2fgwIdwalIdw:tgxaxNawIdbalIdb:tgxaxNawIdlalIdl:tgxaxNMM:rgxaoIdb9DTmbaoaxUdbavaDBdbarydlhqkabcwfhbaecefgeaqcd46mbkakceGTmikaraqciGBdlskdnabcbaDalaqcdtfIdbarIdb:tgxJbbbb9FEgwaD7aecefgDfgecitfydlabawaDfgDcitfydlVci0mbaraqBdlkabaDadaialavaoz:ejjjbax:laoIdb9Fmbkkkjlevudndnabydwgxaladcetfgm8Vebcs4alaecetfgP8Vebgscs4falaicetfgz8Vebcs4ffaD0mbakmbcbhDabydxaq6mekavawcltfgxab8Pdw83dwaxab8Pdb83dbabydbhDdnabydwgwTmbaoaDcdtfhxawhsinalaxydbcetfcFFi87ebaxclfhxascufgsmbkkabaDawfBdbabydxhxab9cb83dwababydlaxci2fBdlaP8VebhscehDcbhxkdnascztcz91cu9kmbabaxcefBdwaPax87ebaoabydbcdtfaxcdtfaeBdbkdnam8Uebcu9kmbababydwgxcefBdwamax87ebaoabydbcdtfaxcdtfadBdbkdnaz8Uebcu9kmbababydwgxcefBdwazax87ebaoabydbcdtfaxcdtfaiBdbkarabydlfabydxci2faPRbb86bbarabydlfabydxci2fcefamRbb86bbarabydlfabydxci2fcdfazRbb86bbababydxcefBdxaDk:mPrHue99eue99eue99iu8Jjjjjbc;W;Gb9Rgx8KjjjjbdndnalmbcbhmxekcbhPaxc:m;Gbfcbc;Kbz:rjjjb8Aaxcualci9UgscltascjjjjiGEcbyd;0:G:cjbHjjjjbbgzBd:m9GaxceBd;S9GaxcuascK2gHcKfalcpFFFe0Ecbyd;0:G:cjbHjjjjbbgOBd:q9GaxcdBd;S9Gdnalci6gAmbarcd4hCascdthXaOhQazhLinavaiaPcx2fgrydwaC2cdtfhKavarydlaC2cdtfhYavarydbaC2cdtfh8AcbhraLhEinaQarfgma8Aarfg3Idbg5aYarfg8EIdbg8Fa5a8F9DEg5UdbamaKarfgaIdbg8Fa5a8Fa59DEg8FUdbamcxfgma3Idbg5a8EIdbgha5ah9EEg5UdbamaaIdbgha5aha59EEg5UdbaEa8Fa5MJbbbZNUdbaEaXfhEarclfgrcx9hmbkaQcKfhQaLclfhLaPcefgPas9hmbkkaOaHfgr9cb83dbar9cb83dzar9cb83dwaxcuascx2gralc:bjjjl0Ecbyd;0:G:cjbHjjjjbbgHBdN9GaxciBd;S9GascdthgazarfhvaxcwVhPaxclVhCaHh8Jazh8KcbhLinaxcbcj;Gbz:rjjjbhEaLas2cdthadnaAmba8Khrash3inaEarydbgmc8F91cjjjj94Vam7gmcQ4cx2fg8Ea8EydwcefBdwaEamcd4cFrGcx2fg8Ea8EydbcefBdbaEamcx4cFrGcx2fgmamydlcefBdlarclfhra3cufg3mbkkazaafh8AaHaafhXcbhmcbh3cbh8EcbhainaEamfgrydbhQara3BdbarcwfgKydbhYaKaaBdbarclfgrydbhKara8EBdbaQa3fh3aYaafhaaKa8Efh8Eamcxfgmcj;Gb9hmbkdnaAmbcbhravhminamarBdbamclfhmasarcefgr9hmbkavhrashminaEa8Aarydbg3cdtfydbg8Ec8F91a8E7cd4cFrGcx2fg8Ea8Eydbg8EcefBdbaXa8Ecdtfa3Bdbarclfhramcufgmmbka8JhrashminaCa8Aarydbg3cdtfydbg8Ec8F91a8E7cx4cFrGcx2fg8Ea8Eydbg8EcefBdbava8Ecdtfa3BdbarclfhramcufgmmbkavhrashminaPa8Aarydbg3cdtfydbg8Ec8F91cjjjj94Va8E7cQ4cx2fg8Ea8Eydbg8EcefBdbaXa8Ecdtfa3Bdbarclfhramcufgmmbkka8Jagfh8Ja8Kagfh8KaLcefgLci9hmbkaEaocetgrcuaocu9kEcbyd;0:G:cjbHjjjjbbgKBd:y9GaEclBd;S9Gdndnaoal9nmbaihralhminaKarydbcetfcFFi87ebarclfhramcufgmmbxdkkaKcFearz:rjjjb8Akcbh8EaEascbyd;0:G:cjbHjjjjbbg8ABd:C9GaOaHaHascdtfaHascitfa8AascbazaKaiawaDaqakz:hjjjbdndnalci6mba8Ahrashmina8EarRbbfh8EarcefhramcufgmmbkaE9cb83iwaE9cb83ibalawc9:fgrfcufar9UgrasaDfcufaD9Ugmaram0EhYcbhmcbhra8Ehaincbh3dnarTmba8AarfRbbceSh3kamaEaiaHydbcx2fgQydbaQclfydbaQcwfydbaKabaeadamawaqa3a3ce7a8EaY9nVaaamfaY6VGz:fjjjbfhmaHclfhHaaa8AarfRbb9Rhaasarcefgr9hmbkaEydxTmeabamcltfgraE8Piw83dwaraE8Pib83dbamcefhmxekaE9cb83iwaE9cb83ibcbhmkczhrinaEc:m;Gbfarfydbcbyd;4:G:cjbH:bjjjbbarc98fgrc989hmbkkaxc;W;Gbf8Kjjjjbamk:wKDQue99iue99iul9:euw99iu8Jjjjjbc;qb9RgP8Kjjjjbaxhsaxhzdndnavax0gHmbdnavTmbcbhOaehzavhAinawaDazydbcx2fgCcwfydbcetfgX8VebhQawaCclfydbcetfgL8VebhKawaCydbcetfgC8VebhYaXce87ebaLce87ebaCce87ebaOaKcs4aYcs4faQcs4ffhOazclfhzaAcufgAmbkaehzavhAinawaDazydbcx2fgCcwfydbcetfcFFi87ebawaCclfydbcetfcFFi87ebawaCydbcetfcFFi87ebazclfhzaAcufgAmbkcehzaqhsaOaq0mekalce86bbalcefcbavcufz:rjjjb8AxekaPaiBdxaPadBdwaPaeBdlavakaqci9Ug8Aaka8Aak6EaHEgK9RhEaxaK9Rh3aKcufh5aKceth8EaKcdtgCc98fh8FavcitgOaC9Rarfc98fhaascufhhavcufhgaraOfh8JJbbjZas:Y:vh8KcbazceakaxSEg8Lcdtg8M9Rh8NJFFuuhycuh8PcbhIcbh8RinaPclfa8RcdtfydbhQaPcb8Pd:y:G:cjbg8S83i9iaPcb8Pd:q:G:cjbgR83inaPcb8Pd1:G:cjbg8U83iUaPcb8Pdj:G:cjbg8V83i8WaPa8S83iyaPaR83iaaPa8U83iKaPa8V83izaQavcdtgYfh8WcbhXinabaQaXcdtgLfydbcK2fhAcbhzinaPc8WfazfgCaAazfgOIdbg8XaCIdbg8Ya8Xa8Y9DEUdbaCczfgCaOcxfIdbg8XaCIdbg8Ya8Xa8Y9EEUdbazclfgzcx9hmbkaba8WaXcu7cdtfydbcK2fhAcbhzaPIdUh8ZaPId9ih80aPId80h81aPId9ehBaPId8Wh83aPIdnhUinaPczfazfgCaAazfgOIdbg8XaCIdbg8Ya8Xa8Y9DEUdbaCczfgCaOcxfIdbg8XaCIdbg8Ya8Xa8Y9EEUdbazclfgzcx9hmbkaraLfgza80a8Z:tg8XaUa83:tg8YNa8YaBa81:tg8ZNa8Za8XNMMUdbazaYfaPIdyaPIdK:tg8XaPIdaaPIdz:tg8YNa8YaPId8KaPIdC:tg8ZNa8Za8XNMMUdbaXcefgXav9hmbkcbh85dnaHmbcbhAaQhza8JhCavhXinawaDazydbcx2fgOcwfydbcetfgL8Vebh8WawaOclfydbcetfg858Vebh86awaOydbcetfgO8Vebh87aLce87eba85ce87ebaOce87ebaCaAa86cs4a87cs4fa8Wcs4ffgABdbazclfhzaCclfhCaXcufgXmbkavhCinawaDaQydbcx2fgzcwfydbcetfcFFi87ebawazclfydbcetfcFFi87ebawazydbcetfcFFi87ebaQclfhQaCcufgCmbka8Jh85kdndndndndndndndndndndnava8E6mba8Eax9nmeavavaK9UgzaK29Raza320mda5aE9pmqa85Th87ceh8WaEhQxwka5ag9pmDa8Eax9nmixokavaK6mea5aE9pmwcehQaEhXa85Tmixlka5ag6mlxrka5ag9pmokcbhQaghXa85mekJFFuuh8XcbhLa5hzindnazcefgCaK6mbaQavaC9RgOaK6GmbarazcdtfIdbg8YaC:YNaravaz9RcdtfaYfc94fIdbg8ZaO:YNMg80a8X9Embdndna8KaOahf:YNg81:lJbbb9p9DTmba81:OhAxekcjjjj94hAka8ZasaA2aO9R:YNh8Zdndna8Kazasf:YNg81:lJbbb9p9DTmba81:OhOxekcjjjj94hOkamasaO2aC9R:Ya8YNa8ZMNa80Mg8Ya8Xa8Ya8X9DgOEh8XaCaLaOEhLkaza8LfgzaX6mbxlkkJFFuuh8XcbhLaEhCaahAa8FhOaKhzindnazaK6mbaQaCaK6GmbaraOfIdbg8Yaz:YNaAIdbg8ZaC:YNMg80a8X9Embdndna8Ka85aOfydbgYahf:YNg81:lJbbb9p9DTmba81:Oh8Wxekcjjjj94h8Wkamasa8W2aY9R:Yg81a8YNa8Za81NMNa80Mg8Ya8Xa8Ya8X9DgYEh8XazaLaYEhLkaCa8L9RhCaAa8NfhAaOa8MfhOaza8LfgzcufaX6mbxikka85Th87cbh8WaghQkJFFuuh8XcbhLaEhCaahAa8FhOaKhzindnazazaK9UgXaK29RaXa320mbdna8WTmbaCaCaK9UgXaK29RaXa320mekaraOfIdbg8Yaz:YNaAIdbg8ZaC:YNMg80a8X9EmbazhXaChYdna87mba85aOfydbgXhYkdndna8KaYahf:YNg81:lJbbb9p9DTmba81:Oh86xekcjjjj94h86ka8Zasa862aY9R:YNh8Zdndna8KaXahf:YNg81:lJbbb9p9DTmba81:OhYxekcjjjj94hYkamasaY2aX9R:Ya8YNa8ZMNa80Mg8Ya8Xa8Ya8X9DgXEh8XazaLaXEhLkaCa8L9RhCaAa8NfhAaOa8MfhOaza8LfgzcufaQ6mbkkaLTmba8Xay9DTmba8XhyaLhIa8Rh8Pka8Rcefg8Rci9hmbkdndnaoc8X9kmba8Pcb9omeka8Acufh85cbhYindndndnavaY9RaxaYaxfav0Eg8WTmbcbhAaeaYcdtfgzhCa8WhXinawaDaCydbcx2fgOcwfydbcetfgQ8VebhbawaOclfydbcetfgL8VebhrawaOydbcetfgO8VebhKaQce87ebaLce87ebaOce87ebaAarcs4aKcs4fabcs4ffhAaCclfhCaXcufgXmbka8WhOinawaDazydbcx2fgCcwfydbcetfcFFi87ebawaCclfydbcetfcFFi87ebawaCydbcetfcFFi87ebazclfhzaOcufgOmbkaAaq0mekalaYfgzce86bbazcefcba8Wcufz:rjjjb8AxekalaYfgzce86bbazcefcba85z:rjjjb8Aa8Ah8Wka8WaYfgYav9pmdxbkkaravcdtg8WfhLdnaITmbaPclfa8PcdtfydbhzaIhCinaLazydbfcb86bbazclfhzaCcufgCmbkkdnavaI9nmbaPclfa8PcdtfydbaIcdtfhzavaI9RhCinaLazydbfce86bbazclfhzaCcufgCmbkkcbhYindnaYa8PSmbcbhzaraPclfaYcdtfydbgKa8Wz:qjjjbhCavhXaIhOinaKaOazaLaCydbgQfRbbgAEcdtfaQBdbaCclfhCaOaAfhOazaA9RcefhzaXcufgXmbkkaYcefgYci9hmbkabaeadaialaIaocefgCarawaDaqakaxamz:hjjjbabaeaIcdtgzfadazfaiazfalaIfavaI9RaCarawaDaqakaxamz:hjjjbkaPc;qbf8Kjjjjbk:Seeru8Jjjjjbc:q;ab9Rgo8Kjjjjbaoc:q8WfcFecjzz:rjjjb8AcbhrdnadTmbaehwadhDinaoarcdtfawydbgqBdbaoc:q8WfaqcFiGcdtfgkydbhxakaqBdbawclfhwaraxaq9hfhraDcufgDmbkkabaeadaoaraiavz:jjjjbaoc:q;abf8Kjjjjbk;Sqloud99euD998Jjjjjbc:W;ab9Rgr8KjjjjbdndnadTmbaocd4hwcbhDcbhqindnavaeclfydbaw2cdtfgkIdbavaeydbaw2cdtfgxIdbgm:tgPavaecwfydbaw2cdtfgsIdlaxIdlgz:tgHNakIdlaz:tgOasIdbam:tgAN:tgCaCNaOasIdwaxIdwgX:tgQNakIdwaX:tgOaHN:tgHaHNaOaANaPaQN:tgPaPNMMgOJbbbb9Bmbarc8WfaDcltfgkaCaO:rgO:vgCUdwakaPaO:vgPUdlakaHaO:vgHUdbakaCaXNaHamNazaPNMM:mUdxaDcefhDkaecxfheaqcifgqad6mbkab9cb83dyab9cb83daab9cb83dKab9cb83dzab9cb83dwab9cb83dbaDTmearcbBd8Sar9cb83iKar9cb83izarczfavalaoarc8Sfcbcraiz:kjjjbarIdKhQarIdChLarIdzhKar9cb83iwar9cb83ibararc8WfaDczarc8Sfcbcicbz:kjjjbJbbbbhmdnarIdwgzazNarIdbgHaHNarIdlgXaXNMMgCJbbbb9BmbJbbjZaC:r:vhmkazamNhCaXamNhXaHamNhHJbbjZhmarc8WfheaDhvinaecwfIdbaCNaeIdbaHNaXaeclfIdbNMMgzamazam9DEhmaeczfheavcufgvmbkabaQUdwabaLUdlabaKUdbabarId3UdxdndnamJ;n;m;m899FmbJbbbbhzarc8WfheinaecxfIdbaQaecwfIdbgPNaKaeIdbgONaLaeclfIdbgANMMMaCaPNaHaONaXaANMM:vgPazaPaz9EEhzaeczfheaDcufgDmbkabaCUd8KabaXUdaabaHUd3abaQaCazN:tUdKabaLaXazN:tUdCabaKaHazN:tUdzabJbbjZamamN:t:rgmUdydndnaCJbbj:;aCJbbj:;9GEgzJbbjZazJbbjZ9FEJbb;:9cNJbbbZJbbb:;aCJbbbb9GEMgz:lJbbb9p9DTmbaz:Ohexekcjjjj94hekabae86b8UdndnaXJbbj:;aXJbbj:;9GEgzJbbjZazJbbjZ9FEJbb;:9cNJbbbZJbbb:;aXJbbbb9GEMgz:lJbbb9p9DTmbaz:Ohvxekcjjjj94hvkabav86bRdndnaHJbbj:;aHJbbj:;9GEgzJbbjZazJbbjZ9FEJbb;:9cNJbbbZJbbb:;aHJbbbb9GEMgz:lJbbb9p9DTmbaz:Ohwxekcjjjj94hwkabaw86b8SdndnaecKtcK91:YJbb;:9c:vaC:t:lavcKtcK91:YJbb;:9c:vaX:t:lawcKtcK91:YJbb;:9c:vaH:t:lamMMMJbb;:9cNJbbjZMgm:lJbbb9p9DTmbam:Ohexekcjjjj94hekaecFbaecFb9iEhexekabcjjj;8iBdycFbhekabae86b8Vxekab9cb83dyab9cb83daab9cb83dKab9cb83dzab9cb83dwab9cb83dbkarc:W;abf8Kjjjjbk;7woDuo99eue99euv998Jjjjjbcje9Rgw8Kjjjjbawc;abfcbaocdtgDz:rjjjb8Aawc;GbfcbaDz:rjjjb8AawcafhDawhqaohkinaqcFFF97BdbaDcFFF;7rBdbaqclfhqaDclfhDakcufgkmbkavcd4hxaicd4hmdnadTmbaocx2hPcbhsinashzdnarTmbarascdtfydbhzkaeazam2cdtfgDIdwhHaDIdlhOaDIdbhAalazax2cdtfIdbhCcbhDawcafhqawc;Gbfhvawhkawc;abfhiinaCaDc:O:G:cjbfIdbaHNaDc:G:G:cjbfIdbaANaDc:K:G:cjbfIdbaONMMgXMhQazhLdnaXaC:tgXaqIdbgK9DgYmbavydbhLkavaLBdbazhLdnaQakIdbg8A9EmbaiydbhLa8AhQkaiaLBdbakaQUdbaqaXaKaYEUdbaiclfhiakclfhkavclfhvaqclfhqaPaDcxfgD9hmbkascefgsad9hmbkkJbbbbhQcbhLawc;GbfhDawc;abfhqcbhkinalaqydbgvax2cdtfIdbalaDydbgiax2cdtfIdbaeavam2cdtfgvIdwaeaiam2cdtfgiIdw:tgCaCNavIdbaiIdb:tgCaCNavIdlaiIdl:tgCaCNMM:rMMgCaQaCaQ9EgvEhQakaLavEhLaqclfhqaDclfhDaoakcefgk9hmbkJbbbbhCdnaeawc;abfaLcdtgqfydbgkam2cdtfgDIdwaeawc;Gbfaqfydbgvam2cdtfgqIdwgH:tgXaXNaDIdbaqIdbgA:tg8Aa8ANaDIdlaqIdlgE:tgOaONMMgKJbbbb9ETmbaK:rgCalakax2cdtfIdbMalavax2cdtfIdb:taCaCM:vhCkaQJbbbZNhKaXaCNaHMhHaOaCNaEMhOa8AaCNaAMhAdnadTmbcbhqarhkinaqhDdnarTmbakydbhDkdnalaDax2cdtfIdbg3aeaDam2cdtfgDIdwaH:tgQaQNaDIdbaA:tgCaCNaDIdlaO:tgXaXNMMg5:rgEMg8EaK9ETmbJbbbbh8Adna5Jbbbb9ETmba8EaK:taEaEM:vh8Aka8AaQNaHMhHa8AaXNaOMhOa8AaCNaAMhAa3aKaEMMJbbbZNhKkakclfhkadaqcefgq9hmbkkabaKUdxabaHUdwabaOUdlabaAUdbawcjef8Kjjjjbk:reevu8Jjjjjbcj8W9Rgr8Kjjjjbaici2hwcbhDdnaiTmbarhiawhqinaiaeadRbbgkcdtfydbBdbaDakcefgkaDak0EhDaiclfhiadcefhdaqcufgqmbkkabarawaeaDalaoz:jjjjbarcj8Wf8Kjjjjbk:Eeeeu8Jjjjjbca9Rgo8Kjjjjbab9cb83dyab9cb83daab9cb83dKab9cb83dzab9cb83dwab9cb83dbdnadTmbaocbBd3ao9cb83iwao9cb83ibaoaeadaialaoc3falEavcbalEcrcbz:kjjjbabao8Pib83dbabao8Piw83dwkaocaf8Kjjjjbk::meQu8Jjjjjbcjz9Rgv8KjjjjbcbhoavcjPfcbaez:rjjjb8Aavcjxfcbaez:rjjjb8AdnaiTmbadhoaihrinavcjxfaoRbbfgwawRbbcef86bbavcjxfaocefRbbfgwawRbbcef86bbavcjxfaocdfRbbfgwawRbbcef86bbaocifhoarcufgrmbkcbhDcjehoadhqcehkindndnalTmbcbhxcuhmaqhrakhwcuhPinawcufamaoavcjPfarcefRbbgsfRbb9RcFeGgzci6aoavcjPfarRbbgHfRbb9RcFeGgOci6faoavcjPfarcdfRbbgAfRbb9RcFeGgCci6fgXcOtaOcFr7azaCf9RcwtVavcjxfaAfRbbgzavcjxfaHfRbbgHavcjxfasfRbbgsaHas6Egsazas6EcFe7VgsaP9kgzEhmaXcd6gHaxcefgOal9iVce9hmdasaPazEhPaxaOaHEhxarcifhrawai6hsawcefhwasmbxdkkcuhmaqhrakhwcuhxinawcufamaoavcjPfarcefRbbfRbb9RcFeGci6aoavcjPfarRbbfRbb9RcFeGci6faoavcjPfarcdfRbbfRbb9RcFeGci6fgPax9kgsEhmaPce0meaPaxasEhxarcifhrawai6hPawcefhwaPmbkkadamci2fgrcdfRbbhwarcefRbbhxarRbbhPadaDci2fgrcifaramaD9Rci2zNjjjb8AaPavcjPffaocefgo86bbaPavcjxffgmamRbbcuf86bbaxavcjPffao86bbaxavcjxffgmamRbbcuf86bbarcdfaw86bbarcefax86bbaraP86bbawavcjPffao86bbawavcjxffgrarRbbcuf86bbaqcifhqakcefhkaDcefgDai9hmbkcbhzdnalcb9mmbcbhsavcjPfcbaez:rjjjb8Aadcvfhlinadasci2fgxcefgDRbbhoaxcdfgqRbbhrdndnavcjPfaxRbbgmfRbbmbavcjPfarfRbbhwdndndnavcjPfaofRbbTmbawcFeGTmexikawcFeGmdascefgAai9pmdasc980mdascifhQcbhLarcFeGhCamcFeGhXalhwcbhKcbhYinawcufRbbhPawRbbhOcehkdndnawc9:fRbbgHao9hmbaPcFeGamSmekdnaPcFeGao9hmbaOcFeGamSmekaHamSaOcFeGaoSGhkkceh8AaYceGhYdndnaHar9hmbaPcFeGaoSmekdnaPcFeGar9hmbaOcFeGaoSmekaHaoSaOcFeGarSGh8AkakaYVhYaLaHcFeGgHaXSaPcFeGgPaCSGaPaXSaOcFeGgPaCSGVaHaCSaPaXSGVVhLa8AaKceGVhKdnaAcefgPai9pmbawcifhwaAaQ6hHaPhAaHmekkaYTmeaKmekarhwaohPaohHarhOamhrxdkdnaYTaLVceGTmbaYaKTVaLVceGmekamhwarhParhHamhOaohrxekaohwamhPamhHaohOkavcjPfarfce86bbavcjPfawfce86bbaxaH86bbaqar86bbaDaO86bbavcjPfaPfce86bbalcifhlascefgsai9hmbkkavcFeaecetz:rjjjbhwaici2hrindnawadRbbgmcetfgx8Uebgocu9kmbaxaz87ebawcjlfazcdtfabamcdtfydbBdbazhoazcefhzkadao86bbadcefhdarcufgrmbkazcdthokabavcjlfaoz:qjjjb8Aavcjzf8KjjjjbkObabaiaeadcbz:njjjbk9teiucbcbyd;8:G:cjbgeabcifc98GfgbBd;8:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;8:G:cjbgeabcrfc94GfgbBd;8:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikTeeucbabcbyd;8:G:cjbge9Rcifc98GaefgbBd;8:G:cjbdnabZbcztge9nmbabae9RcFFifcz4nb8Akk:3qeludndnadch6mbadTmeabaead;8qbbabskabaeSmbdnaeadabfgi9Rcbadcet9R0mbadTmeabaead;8qbbabskaeab7ciGhldndndnabae9pmbdnalTmbadhvabhixikdnabciGmbadhvabhixdkadTmiabaeRbb86bbadcufhvdnabcefgiciGmbaecefhexdkavTmiabaeRbe86beadc9:fhvdnabcdfgiciGmbaecdfhexdkavTmiabaeRbd86bdadc99fhvdnabcifgiciGmbaecifhexdkavTmiabaeRbi86biabclfhiaeclfheadc98fhvxekdnalmbdnaiciGTmbadTmlabadcufgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc9:fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc99fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc98fgdfaeadfRbb86bbkadcl6mbdnadc98fgocxGcxSmbaocd4cefciGhiaec98fhlabc98fhvinavadfaladfydbBdbadc98fhdaicufgimbkkaocx6mbaec9Wfhvabc9WfhoinaoadfgicxfavadfglcxfydbBdbaicwfalcwfydbBdbaiclfalclfydbBdbaialydbBdbadc9Wfgdci0mbkkadTmdadhidnadciGglTmbaecufhvabcufhoadhiinaoaifavaifRbb86bbaicufhialcufglmbkkadcl6mdaec98fhlabc98fhvinavaifgecifalaifgdcifRbb86bbaecdfadcdfRbb86bbaecefadcefRbb86bbaeadRbb86bbaic98fgimbxikkavcl6mbdnavc98fglc3Gc3Smbavalcd4cefcrGgdcdt9RhvinaiaeydbBdbaeclfheaiclfhiadcufgdmbkkalc36mbinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfaeczfydbBdbaicCfaecCfydbBdbaicKfaecKfydbBdbaic3faec3fydbBdbaecafheaicafhiavc9Gfgvci0mbkkavTmbdndnavcrGgdmbavhlxekavc94GhlinaiaeRbb86bbaicefhiaecefheadcufgdmbkkavcw6mbinaiaeRbb86bbaicefaecefRbb86bbaicdfaecdfRbb86bbaicifaecifRbb86bbaiclfaeclfRbb86bbaicvfaecvfRbb86bbaicofaecofRbb86bbaicrfaecrfRbb86bbaicwfhiaecwfhealc94fglmbkkabkk:pedbcj:GdktFFuuFFuuFFuubbbbFFuFFFuFFFuFbbbbbbjZbbbbbbbbbbbbbbjZbbbbbbbbbbbbbbjZ86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;bc;0:Gdkxebbbdbbbj:qbb",b=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var a,d=WebAssembly.instantiate(t(c),{}).then(function(r){a=r.instance,a.exports.__wasm_call_ctors()});function t(r){for(var j=new Uint8Array(r.length),y=0;y<r.length;++y){var w=r.charCodeAt(y);j[y]=w>96?w-97:w>64?w-39:w+4}for(var E=0,y=0;y<r.length;++y)j[E++]=j[y]<60?b[j[y]]:(j[y]-60)*64+j[++y];return j.buffer.slice(0,E)}function e(r){if(!r)throw new Error("Assertion failed")}function n(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}var o=48,h=16;function m(r,j){var y=r.meshlets[j*4+0],w=r.meshlets[j*4+1],E=r.meshlets[j*4+2],f=r.meshlets[j*4+3];return{vertices:r.vertices.subarray(y,y+E),triangles:r.triangles.subarray(w,w+f*3)}}function i(r,j,y,w,E,f,k,p,M,v){var x=a.exports.sbrk,I=a.exports.meshopt_buildMeshletsBound(j.length,f,k),A=x(I*h),z=x(j.length*4),N=x(j.length),R=x(j.byteLength),U=x(y.byteLength),G=new Uint8Array(a.exports.memory.buffer);G.set(n(j),R),G.set(n(y),U);var O=r(A,z,N,R,j.length,U,w,E,f,k,p,M,v);G=new Uint8Array(a.exports.memory.buffer);for(var S=G.subarray(A,A+O*h),J=new Uint32Array(S.buffer,S.byteOffset,S.byteLength/4).slice(),q=0;q<O;++q){var B=J[q*4+0],P=J[q*4+1],w=J[q*4+2],D=J[q*4+3];a.exports.meshopt_optimizeMeshlet(z+B*4,N+P,D,w)}var L=O?J[(O-1)*4+0]+J[(O-1)*4+2]:0,_=O?J[(O-1)*4+1]+J[(O-1)*4+3]*3:0,ia={meshlets:J,vertices:new Uint32Array(G.buffer,z,L).slice(),triangles:new Uint8Array(G.buffer,N,_).slice(),meshletCount:O};return x(A-x(0)),ia}function s(r){var j=new Float32Array(a.exports.memory.buffer,r,o/4);return{centerX:j[0],centerY:j[1],centerZ:j[2],radius:j[3],coneApexX:j[4],coneApexY:j[5],coneApexZ:j[6],coneAxisX:j[7],coneAxisY:j[8],coneAxisZ:j[9],coneCutoff:j[10]}}function l(r,j,y,w){var E=a.exports.sbrk,f=[],k=E(j.byteLength),p=E(r.vertices.byteLength),M=E(r.triangles.byteLength),v=E(o),x=new Uint8Array(a.exports.memory.buffer);x.set(n(j),k),x.set(n(r.vertices),p),x.set(n(r.triangles),M);for(var I=0;I<r.meshletCount;++I){var A=r.meshlets[I*4+0],z=r.meshlets[I*4+1],N=r.meshlets[I*4+3];a.exports.meshopt_computeMeshletBounds(v,p+A*4,M+z,N,k,y,w),f.push(s(v))}return E(k-E(0)),f}function g(r,j,y,w){var E=a.exports.sbrk,f=E(o),k=E(r.byteLength),p=E(j.byteLength),M=new Uint8Array(a.exports.memory.buffer);M.set(n(r),k),M.set(n(j),p),a.exports.meshopt_computeClusterBounds(f,k,r.length,p,y,w);var v=s(f);return E(f-E(0)),v}function u(r,j,y,w,E){var f=a.exports.sbrk,k=f(o),p=f(r.byteLength),M=w?f(w.byteLength):0,v=new Uint8Array(a.exports.memory.buffer);v.set(n(r),p),w&&v.set(n(w),M),a.exports.meshopt_computeSphereBounds(k,p,j,y,M,w?E:0);var x=s(k);return f(k-f(0)),x}return{ready:d,supported:!0,buildMeshlets:function(r,j,y,w,E,f){e(r.length%3==0),e(j instanceof Float32Array),e(j.length%y==0),e(y>=3),e(w>=3&&w<=256),e(E>=1&&E<=512),f=f||0;var k=r.BYTES_PER_ELEMENT==4?r:new Uint32Array(r);return i(a.exports.meshopt_buildMeshletsFlex,k,j,j.length/y,y*4,w,E,E,f,0)},buildMeshletsFlex:function(r,j,y,w,E,f,k,p){e(r.length%3==0),e(j instanceof Float32Array),e(j.length%y==0),e(y>=3),e(w>=3&&w<=256),e(E>=1&&f<=512),e(E<=f),k=k||0,p=p||0;var M=r.BYTES_PER_ELEMENT==4?r:new Uint32Array(r);return i(a.exports.meshopt_buildMeshletsFlex,M,j,j.length/y,y*4,w,E,f,k,p)},buildMeshletsSpatial:function(r,j,y,w,E,f,k){e(r.length%3==0),e(j instanceof Float32Array),e(j.length%y==0),e(y>=3),e(w>=3&&w<=256),e(E>=1&&f<=512),e(E<=f),k=k||0;var p=r.BYTES_PER_ELEMENT==4?r:new Uint32Array(r);return i(a.exports.meshopt_buildMeshletsSpatial,p,j,j.length/y,y*4,w,E,f,k)},extractMeshlet:function(r,j){return e(j>=0&&j<r.meshletCount),m(r,j)},computeClusterBounds:function(r,j,y){e(r.length%3==0),e(r.length/3<=512),e(j instanceof Float32Array),e(j.length%y==0),e(y>=3);var w=r.BYTES_PER_ELEMENT==4?r:new Uint32Array(r);return g(w,j,j.length/y,y*4)},computeMeshletBounds:function(r,j,y){return e(j instanceof Float32Array),e(j.length%y==0),e(y>=3),l(r,j,j.length/y,y*4)},computeSphereBounds:function(r,j,y,w){return e(r instanceof Float32Array),e(r.length%j==0),e(j>=3),e(!y||y instanceof Float32Array),e(!y||y.length%w==0),e(!y||w>=1),e(!y||r.length/j==y.length/w),w=w||0,u(r,r.length/j,j*4,y,w*4)}}})();var Gd=(function(){var c="b9H79Tebbbe9vx9Geueu9Geub9Gbb9Gkuuuuuuuuuuub9Gouuuuuub9Gwuuuuuu9999b9Giuuueu9Ge98e999Gvuuuuueu9Gd99ueu9Ge99e999Gd98ue98isPdilvboberrwDqklve9Weiiviebeoweuecj:Gdkr9Avo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbK9TW79O9V9Wt9F9NW9UWV9HtW9u9H9U9NW9Ut7beL9TW79O9V9Wt9F9NW9UWV9HtW9o9VV9T9H27bil79IV9RblDwebcekdorq;X9PPdbk;e8EvHuw99euv99wu8Jjjjjbc;Wb9Rgk8Kjjjjbakcxfcbc;Kbz:fjjjb8AakcualcdtalcFFFFi0Ecbyd:W:2:cjbHjjjjbbgxBdxakceBd2adci9Uhmalcd4alfhPcehsinasgzcethsazaP6mbkakcuazcdtgsazcFFFFi0Ecbyd:W:2:cjbHjjjjbbgPBdzakcdBd2aPcFeasz:fjjjbhHaDcd4hOarcd4hAavcd4hCdnalTmbazcufhrcbhvindndnaHcbaiavaC2cdtfgzydlgDaDcjjjj94SEgPcH4cbaoavaA2cdtfgsydlgXcs4aXcjjjj94SE7aP7c:F:b:DD2cbazydbgQaQcjjjj94SEgPcH4cbasydbgLcs4aLcjjjj94SE7aP7c;D;O:B8J27cbazydwgKaKcjjjj94SEgzcH4cbasydwgYcs4aYcjjjj94SE7az7c:3F;N8N27awavaO2cdtfgzydlg8AazydbgE7cFFFFrGgzcm4az7c:fjjK27arGgPcdtfgzydbgscuSmba8A::h3aE::h5aY::h8EaX::h8FaL::haaK::hhaD::hgaQ::h8JcehDinaDhzdnaiasaC2cdtfgDIdba8J9CmbaDIdlag9CmbaDIdwah9CmbaoasaA2cdtfgDIdbaa9CmbaDIdla8F9CmbaDIdwa8E9CmbawasaO2cdtfgDIdba59CmbaDIdla39BmikazcefhDaHaPazfarGgPcdtfgzydbgscu9hmbkkazavBdbavhskaxavcdtfasBdbavcefgval9hmbkkcbhPaHcbyd:0:2:cjbH:bjjjbbakceBd2ak9cb83ibakaeadaxalakcxfz:cjjjbcuamcltadcFFFFd0Ecbyd:W:2:cjbHjjjjbbh8Kakcxfakyd2gKcdtfa8KBdbakaKcefgYBd2dnadci6mbaehsa8KhzamhvindndnaeTmbascwfydbhDasclfydbhHasydbhrxekaPcdfhDaPcefhHaPhrkJbbbbh8JJbbbbJbbbbJbbbbJbbbbJbbjZJbbj:;awaHaO2cdtfgXIdbawaraO2cdtfgQIdbga:tawaDaO2cdtfgLIdlaQIdlgh:tggNaXIdlah:tghaLIdbaa:tN:tgaJbbbb9EEaaJbbbb9BEg5aiaraC2cdtfgrIdwgaaiaHaC2cdtfgHIdwg39BEa5arIdlg8FaHIdlg8L9BEa5arIdbg8EaHIdbg8M9BEg5aaaiaDaC2cdtfgDIdwg8N9BEa5a8FaDIdlgy9BEa5a8EaDIdbg8P9BEg5a3a8N9BEa5a8Lay9BEa5a8Ma8P9BEh5dnaga3aa:tNaha8Naa:tN:tgaaaNaga8Ma8E:tNaha8Pa8E:tN:tg8Ea8ENaga8La8F:tNahaya8F:tN:tggagNMMghJbbbb9Bmba5ah:r:vh8Jkazcxfa5Udbazcwfaaa8JNUdbazclfaga8JNUdbaza8Ea8JNUdbascxfhsazczfhzaPcifhPavcufgvmbkkcbhzakcxfaYcdtfcuadcdtadcFFFFi0Ecbyd:W:2:cjbHjjjjbbgDBdbakaKcdfgPBd2dnadTmbaDhsinasazBdbasclfhsadazcefgz9hmbkkakcxfaPcdtfcuamcdtadcFFFF970Ecbyd:W:2:cjbHjjjjbbgvBdbakaKcifgzBd2akcxfazcdtfamcbyd:W:2:cjbHjjjjbbgYBdbakaKclfBd2dnadci6mba8KcxfhsavhPcbhzinaPazBdbaYazfcdcbasIdbg8JJbbbb9DEa8JJbbbb9EV86bbaPclfhPasczfhsamazcefgz9hmbkkdnalTmbcbhIakydlh8Rakydbh8SinaIcdthzdna8SaIcefgIcdtfydbgsa8SazfydbgzSmbasaz9RhQa8RazcdtfhLcbhRinaLaRcdtfg8Uydbgzcd4g8Vci2g8WazciGcdtgsyd:e:G:cjbfhza8Wasydj:G:cjbfhsdnaeTmbaeazcdtfydbhzaeascdtfydbhskdnaRcefgRaQ9pmbaxazcdtfydbhKaxascdtfydbhEaYa8Vfh8Aava8Vcdtfh8XaRhwinaLawcdtfgXydbgzcd4gsci2gOazciGcdtgzyd:e:G:cjbfhPaOazydj:G:cjbfhzdnaeTmbaeaPcdtfydbhPaeazcdtfydbhzkdndnaxazcdtfydbaKSmbaxaPcdtfydbaE9hmekaYasfRbbgza8ARbbgPVciSmbdnazaPGmba8VhPdna8Va8XydbgzSmba8XhHinaHavazgPcdtfgrydbgzBdbarhHaPaz9hmbkkdnasavascdtfgHydbgzSmbinaHavazgscdtfgrydbgzBdbarhHasaz9hmbkkaPasSmbaYasfgHRbbaYaPfgzRbbVciSmeavascdtfaPBdbazazRbbaHRbbV86bbkdna8UydbciGa8WfgsaDascdtfgPydbgzSmbinaPaDazgscdtfgHydbgzBdbaHhPasaz9hmbkkdnaXydbciGaOfgPaDaPcdtfgHydbgzSmbinaHaDazgPcdtfgrydbgzBdbarhHaPaz9hmbkkasaPSmbaDaPcdtfasBdbkawcefgwaQ9hmbkkaRaQ9hmbkkaIal9hmbkkdnadTmbcbhrinarhsdnaraDarcdtfgwydbgzSmbawhPinaPaDazgscdtfgHydbgzBdbaHhPasaz9hmbkkawasBdbarcefgrad9hmbkcbh8Vabcbadcltz:fjjjbhQdnadci6mbaqceGhKaDhLaeh8Acbh8Windna8Ka8WcltfgPIdxJbbbb9Bmbaea8Wci2gEcdtfhXcbhsa8VhwinaQaLasfydbcltfhzdndnaeTmba8AasfydbhHaXasc:e:G:cjbfydbcdtfydbhOaXascj:G:cjbfydbcdtfydbhxxekasc:e:G:cjbfydbaEfhOascj:G:cjbfydbaEfhxawhHkazaPIdbghaoaHaA2cdtfgrIdbg8JaPIdwg8EarIdwggNaha8JNaPIdlg5arIdlghNMMgaN:tg8FJbbbbJbbjZa8EagaaN:tg8Ea8ENa8Fa8FNa5ahaaN:tgaaaNMMg8F:r:va8FJbbbb9BEJ;As6nJbbjZaiaxaC2cdtfgrIdwaiaHaC2cdtfgHIdwg3:tg8Faga8FagNarIdbaHIdbg8L:tg8Ma8JNaharIdlaHIdlg8N:tgyNMMg8FN:tg5aiaOaC2cdtfgHIdwa3:tg3aga3agNaHIdba8L:tg8Pa8JNahaHIdla8N:tg8NNMMg3N:tggNa8Ma8Ja8FN:tg8La8Pa8Ja3N:tg8JNayaha8FN:tg8Fa8Naha3N:tghNMMJbbbbJbbjZa5a5Na8La8LNa8Fa8FNMMagagNa8Ja8JNahahNMMNg8J:rgg:va8JJbbbb9BENgh:lg8Ja8JJbbjZ9EEg8Ja8JJ7;A9s89NJ:L9t9s::MNJ;ob;jZMJbbjZa8J:t:rNg8J:ta8JahJbbbb9DENg8Jaga8JNaKEg8JNazIdbMUdbazaaa8JNazIdlMUdlaza8Ea8JNazIdwMUdwawcefhwasclfgscx9hmbkkaLcxfhLa8Acxfh8Aa8Vcifh8Va8Wcefg8Wam9hmbkcbhrinarhsdnaravarcdtfgPydbgzSmbinaPavazgscdtfgHydbgzBdbaHhPasaz9hmbkkaQarc8W2fgzc3fJbbjZJbbj:;aYasfRbbceGEg8JUdbazc8Sfa8JUdbaza8JUdxarcefgram9hmbkkaqcdGhvcbhsaDhPaQhzindnasaPydb9hmbdndnazcwfgHIdbg8Ja8JNazIdbggagNazclfgrIdbghahNMMgaJbbbb9BmbaHa8JJbbjZaa:r:vgaNUdbarahaaNUdbazagaaNg8JUdbxekaHa8JJbbbbNUdbarahJbbbbNUdbazagJbbbbNg8JUdba8JJbbjZavEh8Jkaza8JUdbkaPclfhPazczfhzadascefgs9hmbkcbhzaQhsindnazaDydbgPSmbasaQaPcltfgPydwBdwasaP8Pdb83dbkaDclfhDasczfhsadazcefgz9hmbkkdnakyd2gsTmbascdtakcxffc98fhzinazydbcbyd:0:2:cjbH:bjjjbbazc98fhzascufgsmbkkakc;Wbf8Kjjjjbk;:levucualcefgocdtaocFFFFi0Ecbyd:W:2:cjbHjjjjbbhoavavyd9GgrcdtfaoBdbavarcefBd9GabaoBdbcuadcdtadcFFFFi0Ecbyd:W:2:cjbHjjjjbbhoavavyd9GgrcdtfaoBdbavarcefBd9GabaoBdlabydbclfcbalcdtz:fjjjbhoadci9UhwdnadTmbdnaeTmbaehvadhrinaoaiavydbcdtfydbcdtfgDaDydbcefBdbavclfhvarcufgrmbxdkkadhraihvinaoavydbcdtfgDaDydbcefBdbavclfhvarcufgrmbkkdnalTmbcbhraohvinavydbhDavarBdbavclfhvaDarfhralcufglmbkkdnadci6mbabydlhrcbhlcdhvindndnaeTmbaiaealfgqydbcdtfhDaiaqcwfydbcdtfhdaiaqclfydbcdtfhqxekaialfgDcwfhdaDclfhqkadydbhdaqydbhqaoaDydbcdtfgDaDydbgDcefBdbaraDcdtfavc9:fBdbaoaqcdtfgDaDydbgDcefBdbaraDcdtfavcufBdbaoadcdtfgDaDydbgDcefBdbaraDcdtfavBdbalcxfhlavclfhvawcufgwmbkkabydbcbBdbk:SEvxui99duv99xu8Jjjjjbc;Wb9Rgw8Kjjjjbawcxfcbc;Kbz:fjjjb8AawcualcdtalcFFFFi0Ecbyd:W:2:cjbHjjjjbbgDBdxawceBd2adci9Uhqalcd4alfhkaoz:mjjjbhocehxinaxgmcethxamak6mbkawcuamcdtgxamcFFFFi0Ecbyd:W:2:cjbHjjjjbbgkBdzawcdBd2akcFeaxz:fjjjbhPavcd4hsdnalTmbamcufhzcbhHindndnaPcbaiaHas2cdtfgmydlgvavcjjjj94SEgxcH4ax7c:F:b:DD2cbamydbgOaOcjjjj94SEgxcH4ax7c;D;O:B8J27cbamydwgAaAcjjjj94SEgmcH4am7c:3F;N8N27azGgkcdtfgmydbgxcuSmbaA::hCav::hXaO::hQcehvinavhmdnaiaxas2cdtfgvIdbaQ9CmbavIdlaX9CmbavIdwaC9BmikamcefhvaPakamfazGgkcdtfgmydbgxcu9hmbkkamaHBdbaHhxkaDaHcdtfaxBdbaHcefgHal9hmbkkcbhkaPcbyd:0:2:cjbH:bjjjbbawceBd2aw9cb83ibawaeadaDalawcxfz:cjjjbcuaqcltadcFFFFd0Ecbyd:W:2:cjbHjjjjbbhLawcxfawyd2gKcdtfaLBdbawaKcefgOBd2dnadci6mbaehxaLhmaqhHindndnaeTmbaxcwfydbhzaxclfydbhvaxydbhPxekakcdfhzakcefhvakhPkJbbbbhQdnaiavas2cdtfgvIdbaiaPas2cdtfgPIdbgX:tgYaiazas2cdtfgzIdlaPIdlgC:tg8ANavIdlaC:tgCazIdbaX:tgEN:tgXaXNaCazIdwaPIdwg3:tg5NavIdwa3:tg3a8AN:tgCaCNa3aENaYa5N:tgYaYNMMg8AJbbbb9BmbJbbjZa8A:r:vhQkamcxfa8AJbbbb9CBdbamcwfaXaQNUdbamclfaYaQNUdbamaCaQNUdbaxcxfhxamczfhmakcifhkaHcufgHmbkkcbhmawcxfaOcdtfcuadcdtg8EadcFFFFi0Ecbyd:W:2:cjbHjjjjbbgvBdbawaKcdfg8FBd2dnadTmbavhxinaxamBdbaxclfhxadamcefgm9hmbkkdnalTmbcbhaawydlhhawydbhginaacdthmdnagaacefgacdtfydbgxagamfydbgmSmbaxam9RhAahamcdtfh8Jcbh8Kina8Ja8Kcdtfg8Lydbgmcd4gkci2g8MamciGcdtgxyd:e:G:cjbfhma8Maxydj:G:cjbfhxdnaeTmbaeamcdtfydbhmaeaxcdtfydbhxkdna8Kcefg8KaA9pmbaLakcltfhOaDamcdtfydbh8NaDaxcdtfydbhya8KhHina8JaHcdtfg8Pydbgmcd4gkci2gzamciGgPcdtgmyd:e:G:cjbfhxazamydj:G:cjbfhmdnaeTmbaeaxcdtfydbhxaeamcdtfydbhmkdndnaDamcdtfydba8NSmbaDaxcdtfydbay9hmekaOIdwaLakcltfgmIdwNaOIdbamIdbNaOIdlamIdlNMMao9ETmbaOydxamydx9hmbdna8LydbciGa8MfgxavaxcdtfgkydbgmSmbinakavamgxcdtfgPydbgmBdbaPhkaxam9hmbka8PydbciGhPkdnaPazfgkavakcdtfgPydbgmSmbinaPavamgkcdtfgzydbgmBdbazhPakam9hmbkkaxakSmbavakcdtfaxBdbkaHcefgHaA9hmbkka8KaA9hmbkkaaal9hmbkkdndndnadTmbcbhzinazhxdnazavazcdtfgHydbgmSmbaHhkinakavamgxcdtfgPydbgmBdbaPhkaxam9hmbkkaHaxBdbazcefgzad9hmbkcbh8Mabcbadcx2z:fjjjbh8Padcd9nmeavhAaeh8NcbhyinaLaycltfhkaeayci2g8JcdtfhDcbhxa8MhHina8PaAaxfydbcx2fhmdndnaeTmba8NaxfydbhzaDaxc:e:G:cjbfydbcdtfydbhOaDaxcj:G:cjbfydbcdtfydbhPxekaxc:e:G:cjbfydba8JfhOaxcj:G:cjbfydba8JfhPaHhzkamakIdbaiaPas2cdtfgPIdwaiazas2cdtfgzIdwgC:tgoaoNaPIdbazIdbgY:tgQaQNaPIdlazIdlg8A:tgXaXNMMaiaOas2cdtfgPIdwaC:tgCaCNaPIdbaY:tgYaYNaPIdla8A:tg8Aa8ANMMNgE:rg3J;As6nJbbjZaoaCNaQaYNaXa8ANMMJbbbbJbbjZa3:vaEJbbbb9BENgQ:lgoaoJbbjZ9EEgoaoJ7;A9s89NJ:L9t9s::MNJ;ob;jZMJbbjZao:t:rNgo:taoaQJbbbb9DENgoNamIdbMUdbamakIdlaoNamIdlMUdlamakIdwaoNamIdwMUdwaHcefhHaxclfgxcx9hmbkaAcxfhAa8Ncxfh8Na8Mcifh8MaycefgyaqSmdxbkkabcbadcx2z:fjjjb8Axekcbhxavhka8Phmindnaxakydb9hmbJbbbbhodnamcwfgPIdbgQaQNamIdbgXaXNamclfgzIdbgCaCNMMgYJbbbb9BmbJbbjZaY:r:vhokaPaQaoNUdbazaCaoNUdbamaXaoNUdbkakclfhkamcxfhmadaxcefgx9hmbkkdnarJbbbb9ETmbawcxfa8Fcdtfcuadcltg8Pa8EcFFFFi0Ecbyd:W:2:cjbHjjjjbbg8JBdbdndnar:ngo:lJbbb9p9DTmbao:Ohmxekcjjjj94hmkaKcifh8Famce9imbamcqamcq9iEh8Nadci6hLcbhAina8Jcba8Pz:fjjjbhPdnaLmbcbhDavhOinavaDcx2fhecbhxinabaOaxfydbgzcx2fgmIdwhoabaeaxcj:G:cjbfydbcdtfydbgHcx2fgkIdwhQamIdbhXakIdbhCamIdlhYakIdlh8AaPazcltfgmamIdxJbbjZMUdxamamIdbaCaX:taoaQNaXaCNaYa8ANMMgXaXNJbbbbaXJbbbb9EEgXNgCMUdbamamIdla8AaY:taXNgYMUdlamaQao:taXNgoamIdwMUdwaPaHcltfgmamIdxJbbjZMUdxamamIdbaC:tUdbamamIdlaY:tUdlamamIdwao:tUdwaxclfgxcx9hmbkaOcxfhOaDcefgDaq9hmbkkdnadTmbaraA:Z:tgoJbbjZaoJbbjZ9DEJbbbZNh8AcbhxavhkabhzaPhmindnaxakydb9hmbamcxfIdbgQJbbbb9ETmbJbbbbhodnamcwfIdba8AaQ:vgQNazcwfgPIdbMgXaXNamIdbaQNazIdbMgCaCNamclfIdbaQNazclfgHIdbMgQaQNMMgYJbbbb9BmbJbbjZaY:r:vhokaPaXaoNUdbaHaQaoNUdbazaCaoNUdbkakclfhkazcxfhzamczfhmadaxcefgx9hmbkkaAcefgAa8N9hmbkkdnadTmbcbhmabhxindnamavydbgkSmbaxabakcx2fgkydwBdwaxak8Pdb83dbkavclfhvaxcxfhxadamcefgm9hmbkkdna8FTmba8Fcdtawcxffc98fhminamydbcbyd:0:2:cjbH:bjjjbbamc98fhma8Fcufg8Fmbkkawc;Wbf8Kjjjjbk9teiucbcbyd:4:2:cjbgeabcifc98GfgbBd:4:2:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:4:2:cjbgeabcrfc94GfgbBd:4:2:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikTeeucbabcbyd:4:2:cjbge9Rcifc98GaefgbBd:4:2:cjbdnabZbcztge9nmbabae9RcFFifcz4nb8Akk9pee98abab:Igbabab:Ige:Iab9e9P9q;U;G9c:t;58::I9e8N8Es;O:h;a9w:;:G:Iae9e9c86v;H9t9v:LZ:Iab9e:b9ExpFF;F:;:I9ebbbbbb;WZ:G:G:G:2k0ed98ababab:Ige:Igdaeae:I:Iae9e:NS87:m:h;n;g8::I9et;N;k;I;5bI:;:G:Iadae9e:Y;79U:jzH:bZ:I9e93:S;l9u9v9v;f:;:G:Iab:G:G:2k:K8Flqud98zul988Jjjjjbc:Wl9Rgv8Kjjjjbcbhoadc99fcK9Tgrcbarcb9kEgwc9O2adfhDdnalcdtc:q:G:cjbfydbgqaicufgkfgdcb9imbawak9RhxdnadTmbaqaifgdceGhmawcdtaicdt9Rc:O:G:cjbfhradc9:GhPavc;adfhdcbhoin9ebbbbbbbbhs9ebbbbbbbbhzdnaxaofgHcb9imbarc98fydb:3hzkadaz85ibdnaHcu9imbarydb:3hskadcwfas85ibadczfhdarcwfhraPaocdfgo9hmbkamTmeaxaofhxkdndnaxcb9omb9ebbbbbbbbhzxekaxcdtyd:G:G:cjb:3hzkavc;adfaocitfaz85ibkaDc9OfhOcbhdaqcbaqcb9kEhmaic;:FFFrGhHaiceGhAaicitavc;adffc9WfhPinadhxdndnaice9omb9ebbbbbbbbhzxekcbhr9ebbbbbbbbhzdnakTmbaPhdabhoinaocwf8Ribad8Rib:Iao8Ribadcwf8Rib:Iaz:G:Ghzadc9WfhdaoczfhoaHarcdfgr9hmbkaATmekabarcitf8Ribavc;adfaxakfar9Rcitf8Rib:Iaz:Ghzkavaxcitfaz85ibaPcwfhPaxcefhdaxam9hmbkaic;:FFFrGhHaiceGhCc8VaD9RhXc8WaD9RhQavc;Gifc98fgLaqcdtfhKawcdtc:G:G:cjbfhwavc;adfc94fhYavc;Gifc9Wfh8Aavc9WfhEaDc9Nfh3aqhxdninavaxcitgdf8Ribhzdnaxce9imbcbhrdndnaxce9hmbaxhdxekaxceGhmaxc;:FFFrGhPaEadfhdcbhravc;Gifhoinaoaz9ebbbbbb9W8::I;8d:3gs9ebbbbbb9W;b:Iaz:G;8dBdbaoclfadcwf8Ribas:Ggz9ebbbbbb9W8::I;8d:3gs9ebbbbbb9W;b:Iaz:G;8dBdbad8Ribas:Ghzaocwfhoadc9WfhdaParcdfgr9hmbkamTmeaxar9Rhdkavc;Gifarcdtfaz9ebbbbbb9W8::I;8d:3gs9ebbbbbb9W;b:Iaz:G;8dBdbavadcitfc94f8Ribas:GhzkazaOz:njjjbgz9ebbbbbb;aZ:I:C9ebbbbbba;a:Iaz:Ggzaz;8dg5:3:HhzdndndndndnaOce9ig8Embavc;Gifaxcdtfc98fgdadydbgdadaQ91gdaQt9RgoBdbaoaX91h8Fada5fh5xekaOmeavc;Gifaxcdtfc98fydbcL91h8Fka8Fce9imdxekcdh8Faz9ebbbbbb;GZ9Mmbcbh8Fxekcehodnaxce9imbcbhrcbhPdnaxceSmbaxceGhaaxc;:FFFrGhAcbhravc;GifhdcbhPinadydbhodndndndnaPTmbcFFFrhPxekaoTmecjjjwhPkadaPao9RBdbcbhPxekcehPkadclfgmydbhodndndndnaPmbcFFFrhPxekaoTmecjjjwhPkamaPao9RBdbcehPcbhoxekcbhPcehokadcwfhdaAarcdfgr9hmbkaaTmekavc;GifarcdtfgrydbhddndnaPTmbcFFFrhoxekcehoadTmecjjjwhokaraoad9RBdbcbhokdna8EmbcFFFihddndna3PdebdkcFFFehdkavc;Gifaxcdtfc98fgrarydbadGBdbka5cefh5a8Fcd9hmb9ebbbbbb;WZaz:Hhzcdh8Faombaz9ebbbbbb;WZaOz:njjjb:Hhzkdnaz9ebbbbbbbb9Imbdnaxaq9mmbaxaq9RgdciGhrcbhoaxhPdndnaqax9Rc980mbadc98Ghma8AaxcdtfhdcbhoaxhPinadydbadclfydbadcwfydbadcxfydbaoVVVVhoadc9WfhdaPc98fhPamc98fgmmbkarTmekaLaPcdtfhdinadydbaoVhoadc98fhdarcufgrmbkkaoTmbavc;Gifaxcdtfc98fhdinaxcufhxaOc9OfhOadydbhoadc98fhdaoTmbxlkkaKhdaxhPinaPcefhPadydbhoadc98fhdaoTmbkaYaiaxfcitfhminavc;adfaxaifgAcitfawaxcefgxcdtfydb:385ibdndnaice9omb9ebbbbbbbbhzxekcbhr9ebbbbbbbbhzdnakTmbamhdabhoinaocwf8Ribad8Rib:Iao8Ribadcwf8Rib:Iaz:G:Ghzadc9WfhdaoczfhoaHarcdfgr9hmbkaCTmekabarcitf8Ribavc;adfaAar9Rcitf8Rib:Iaz:Ghzkavaxcitfaz85ibamcwfhmaxaP9imbkaPhxxekkdndnazcKaD9Rz:njjjbgz9ebbbbbb9Wc9MTmbavc;Gifaxcdtfaz9ebbbbbb9W8::I;8dgd:39ebbbbbb9W;b:Iaz:G;8dBdbaxcefhxaDhOxekaz;8dhdkavc;GifaxcdtfadBdbkdnaxcb9imb9ebbbbbb;WZaOz:njjjbhzdndnaxceGTmbaxhoxekavaxcitfazavc;Gifaxcdtfydb:3:I85ibaxcufhoaz9ebbbbbb9W8::IhzkdnaxTmbaocefhraocdtavc;Giffc98fhdaocitavfc94fhoinaoaz9ebbbbbb9W8::Igsadydb:3:I85ibaocwfazadclfydb:3:I85ibadc94fhdaoc9Wfhoas9ebbbbbb9W8::Ihzarc9:fgrmbkkavaxcitfhHaxhdindndnaqaxadgi9RgAaqaA9iEgdcb9omb9ebbbbbbbbhzxekadcefgociGhrdndnadci9pmbcbhd9ebbbbbbbbhzxekcbhPcbaoc98G9Rhm9ebbbbbbbbhzcbhdinadc1:2:cjbf8RibaHadfgocKf8Rib:Iadcj:2:cjbf8Ribaoczf8Rib:Iadc;4:1:cjbf8Ribaocwf8Rib:Iadc;W:1:cjbf8Ribao8Rib:Iaz:G:G:G:GhzadcafhdamaPc98fgP9hmbkarTmecbaP9Rhdkadcithdinadc;W:1:cjbf8RibaHadf8Rib:Iaz:Ghzadcwfhdarcufgrmbkkavc:GefaAcitfaz85ibaHc94fhHaicufhdaicb9kmbkkdndndndndnalPleddblk9ebbbbbbbbhhdnaxce9imbaxhddnaxceGTmbavc:Gefaxcitfgdc94fgoao8Ribgzad8Ribgs:Ggg85ibadasazag:H:G85ibaxcufhdkaxceSmbadcdfhoadcitavc:Geffc9Wfhdinadad8Ribgsadcwfgr8RibggadczfgH8Ribg8J:Ggz:Gg8K85ibaHa8Jagaz:H:G85ibarazasa8K:H:G85ibadc9Wfhdaoc9:fgocd9kmbkaxceSmbaxcefhoaxcitavc:Geffc94fhdinadad8Ribgzadcwfgr8Ribgs:Ggg85ibarasazag:H:G85ibadc94fhdaocufgocd0mbkaxcefhoavc:Gefaxcitfhd9ebbbbbbbbhhinahad8Rib:Ghhadc94fhdaocufgocd0mbkkav8Ri:Gehza8Fmdaeaz85ibaeah85izaeav8Ri:Oe85iwxikdndnaxcb9omb9ebbbbbbbbhzxekdndnaxciGci9hmb9ebbbbbbbbhzaxhoxekaxcefciGhravc:Gefaxcitfhd9ebbbbbbbbhzaxhoinaocufhoazad8Rib:Ghzadc94fhdarcufgrmbkkaxci6mbaocefhraocitavc:Geffc9OfhdinazadcKf8Rib:Gadczf8Rib:Gadcwf8Rib:Gad8Rib:Ghzadc9Gfhdarc98fgrmbkkaeaz:Aaza8FE85ibxdkdndnaxcb9omb9ebbbbbbbbhzxekdndnaxciGci9hmb9ebbbbbbbbhzaxhoxekaxcefciGhravc:Gefaxcitfhd9ebbbbbbbbhzaxhoinaocufhoazad8Rib:Ghzadc94fhdarcufgrmbkkaxci6mbaocefhraocitavc:Geffc9OfhdinazadcKf8Rib:Gadczf8Rib:Gadcwf8Rib:Gad8Rib:Ghzadc9Gfhdarc98fgrmbkkaeaz:Aaza8FE85ibav8Ri:Geaz:Hhzcehddnaxce9imbaxciGhodnaxcufci6mbaxc;8FFFrGhHavc:Gefcafhdcbhrinazadc9Of8Rib:Gadc9Wf8Rib:Gadc94f8Rib:Gad8Rib:GhzadcafhdaHarclfgr9hmbkaoTmearcefhdkavc:Gefadcitfhdinazad8Rib:Ghzadcwfhdaocufgombkkaeaz:Aaza8FE85iwxekaeaz:A85ibaeah:A85izaeav8Ri:Oe:A85iwkavc:Wlf8Kjjjjba5crGk:ediiue98eu8Jjjjjbcz9Rgd8Kjjjjbdndnab:8gicFFFFrGglc;A:F:K;Ul0mbaeab:7gvav9e:d;i;j9T8W9F;KZ:I9ebbbbbbUJ:G9ebbbbbbU;d:Ggv9ebbb9q;7h;5:;:I:Gav9e9J9I8A9H:0z9r:::I:G85ibav;8dhlxekdnalcjjj;8r6mbaeabab:t:785ibcbhlxekadalalcL4c;Q9:fgocLt9R:::785iwadcwfadaocecbz:kjjjbhlad8Ribhvdnaicu9kmbaeav:A85ibcbal9Rhlxekaeav85ibkadczf8Kjjjjbalk;piiiue99e988Jjjjjbcz9Rge8Kjjjjbdndnab:8gdcFFFFrGgic;A:F:K;6i0mbJbbjZhlaicjjj;mi6meab:7z1jjjbhlxekdnaic;r:N;T:dl0mbdnaic;K:x;Bjl6mb9eKR9e9u;7hDn9eKR9e9u;7hD;aadcb9iEab:7:Gz1jjjb:mhlxdkab:7hvdnadcu9kmbav9eKR9e9u;7h;5Z:Gz:jjjjbhlxdk9eKR9e9u;7h;5Zav:Hz:jjjjbhlxekdnaic;v;J1:hl0mbdnaic;G;B:;:fl6mb9eKR9e9u;7hYn9eKR9e9u;7hY;aadcb9iEab:7:Gz1jjjbhlxdkdnadcu9kmb9e;sh8Zu98;zO;aab:7:Hz:jjjjbhlxdkab:79e;sh8Zu98;zO;a:Gz:jjjjbhlxekdnaicjjj;8r6mbabab:thlxekabaecwfz:ljjjbhiae8RiwhvdndndndnaiciGPlbedibkavz1jjjbhlxikav:Az:jjjjbhlxdkavz1jjjb:mhlxekavz:jjjjbhlkaeczf8Kjjjjbalk:Uebdndnaecjw9imbab9ebbbbbb;Gu:IhbdnaecFs9pmbaec:b94fhexdkab9ebbbbbb;Gu:IhbaecpLaecpL6Ec:c9Wfhexekaec:b949kmbab9ebbbbbb9Gi:Ihbdnaec:49W9nmbaec;jrfhexekab9ebbbbbb9Gi:Ihbaec;W9Oaec;W9O0EcMsfhekabaecFrf:T9c80:g:;:Ikk;mQdbcj:Gdk:WQebbbdbbbbbbbebbbibbblbbblbbbobbb:d;5:Ib9e9o9Ub;88PXb;r9x8Nb;D80;1b9I;B;ab88:z:vbc:qJb9J9r;:b:7;E:Rb:39H;fb869U8Kb;s9n9cb6o;GbD;Q8Ub3M;rb;R5;:b8P:X3b;O8::Nb;181:cb9e:78Ub:C;P:eb:08M9Wbc9:9Fb;w:r85b9t:d85b:C;085b:l9F:eby;5:9b;48F87b;EF:xbs:yvbH8V;Vbq9A:lb9T8F9Tb;p9:BbD;l8NbS9p:3b:E9MZbR;Q9Fb:68N91b;L;R;hb8997;Xb;385rbM9s:kb;79R;Qb8F:X9Fbw9D:nb8Wi9wb97;8Sb;W:R9Rba:8;pbB;0:Ab;J:P5b9E9H:rbwE;Mb:f:zWb:GC9Fb:nn9Obj;yFb8N79nboo8Xb;k9wXb;j:O7b97;I9Gb9R:m;abY;e9hb;n9N;dbD;O;Cb9z:dIb:l4;eb:M3:wb9e:V;DbY9x;rb:L8:vbvrFb8Z9:Zb;c8Y;Ob:y9p;Eb:7998Yb8M89;db8E9R;Vb:F;49Eb818F86bu;Y;kb;X:h5b98:qhbf8K98b;v9U;6b8WR93bX87Jb:1C;gb;dY:Db:T;e;cb8S9ncbxb9Db:g99Sb;JGRb:B;g:Ab8Z9Ibb:0;s98b:0:N:xb839v;vb;x8:;2b:JzKb9n4;8b9K:DIb9W;x:Rb9J98;4b96:W9xbLX;Nb;a69wb87;w;zb:N:eUb8K8J;lb;w:k93b9A9u8Jbb8F:5b;XqEbY;o;Fb:F8XFb9M8Efb:z9x9Hb:S;79hb9:u;ybgW:3b8Y;O:jb;M:;9Gb;V;e;nb2BDb9DZ;ubQ;E;xb9y87;Eb;E:BMb;sgyby:g;Ob;I9y9nb;g;k8Ybw;JQb;G99;lbL;a9qb;Z5:NbK;G9Bb8UA80b:dO9Ib:d9ieb;1:o9Bb:T:Wub8E;P;Yb9i9kJbz9N;tb:Q;D;yb:U9F9cbf9H;obqy:Kb;t:z:0bo:M;Yb9C93ub:J;c:db9H881b:k794b:V:m9Ab9V;x:9bR:M9Jb;0:;;lb:n:b;Vb8M;b9Nb9v;kTb;k;zBby:O;sb;c9H:nbO;j93bl8MCbOS:Bb;e9z;eb;i;f9eb9n:Y:rbbL;Zb;uJ:Tb8P6;Lbp;vzbb::;8b8EN;mb9W;o;UbA8:;1b;S;Xjb:Z;N;db;h;4yb:tvNb;bG8:b8UD:ZbkT;Zb1O:Cb:Ra97b8U:1:Fb9hM;cb978Y8Vbx9v9TbV:N:qb9R;N8Fb8X;l:wb95Q9kbc95;Ib;0;F:jb;ON:xb;I;M:eb:z8X:xb1;T9Rb9F9FBb:7pPb9i:A:0b9N:K2bGV9cb:n9D8Yb:FX:4b:8;LDb:n8X8Lb;3t85b8Wv3bmxeb0w9Ob8S;U9yb9h:Q:qbt;Ndb:9;w8Kb;399:Mb9U9iVb:FQ;Vb:oN:Mb:0:r;2b;r9t9rb;pq;Yba:y8Zb;109:b:Y9J9Ob;D8:9Fbn9Dib:f:jub9v9s8Pb839K;ab9T;yzb8Y9i8Yb9B9m91b9oG;ubT9u9UbkD;bbI;19PbC9M;vb8Nr:Db9Dl9qb:087;Bb;Q4;fb:h;5Lb69R99b58N:6b:w9P8Pb;g;m:Sb:TC9ub:q;Ifb1;z:jb8SV9qbl:K::b93rNb;Z8W9Wbb;88Nb;QG:Ob9M;c6b9K;G89b:x;D:db:JZ:xbJNpbm:g:mb8Xc;EbM85:Db;D9W:mbL:3;Nbw;F87bX838Rb9Cj:Gb9Aj:tbzHMbs;O;yb2j:Vb;BF0bU:qsb9zK4b9I:LXb9H;l:7b;h:j:5bzn:9b;s;Ylb6918Nb;R:2;2b;Bg:7bqC:Qb:j8M8Vb9K:d4bD878ZbPN8Ab9r86:Qb5:J;cb:V;T:Ub9C8MOb9T;c9nbR96:Cb;a9w:xbiZ:dbD;W;2b8Rn:mb9T8X:zb85:0rbxaXb;y;d9Bb;1M;eb;g:T0b9o;k:Lb:N83;nb;M:PBb:RMNb;D9c9ObY9J;Eb4:m;Vb9O:l9sb;8;B83b:U:H:Rb;FX8Xbb:U:Hbx;7;Ab9K9n9Mb;Tv:3b8PW8Wb9x9w:;b9hF86bf;5:5b91::;Zby:t;Fb:Rj8Wb9M:m;2bl;lXb;6gob;z;K5b89:Z:Kb9xE:pbB;nDb9o9c;PbA:::Kb8Z8J:1b;W:Q8Ab9pW:Ob;s;b:LbkZsb9B94;nb8J;54b97:llb:jLVb;g:M9tb9V9U;Ib;V;Rbb:B9k9yb;e;A:3b:Q9M:6b4;p;pb;rd5b:X;XRb:m:z;bb;d:T93b:g9i;Ab;39D:Gb;gj;0b:S;W8Vb;D;S:AbZ9C:8b;q;E9Tb:q;h8FbI;B:2b:J8L86bb:V:Ab:T9t:tb:29xlb8PR:0b0j9:b;Ar:Nb4:QPb979z:HbQOIb;C:3Rb;6;Lpb:j;B;:b:j::pb;K42bo:P;8b8:j9Wb:f9UXbp:hFby8:rb9H9N8ZbIK:gb9n:9;Qb:Z;N:Vb:p9T9Ub:v9N85b8X:;9Bb:e;x9ib8W;FQb;hRJb8L9H81b;j9W;ob8W;l:4b:;2pb:Kb:Ibv2;Kb9A;D:Gbh9V9hb9IO;sb:59C:eb9W9H6b9R9w;Gb:z9seb9q9v83b8E;v:3b8Z;X;ebA9U9Fb9D8W;Kb:f8U:Pb5:Y;db:H8YBbw:3:Kb;Q:X;ubQ;3hb:p9P;Kb8NF93bxijb:nnRb9p;n:Gba:L:zb:Z:I;tb8V9Dqb:0;59cbH;A;lb99::;qb:B;B;bb:RL:9b;k:I:bbwf9Cb8U9vLb8Nb9vbuC;Wb;Hr:gbCk9Kb:wc:nb:h::;Eb;ApIb9R8L:2b97:j80bv;Z;:b:5:;:Eb9Of9pb9kI:Ob9p;e9AbR;4:8b;x9A:yb;0;h:vbm9n:nba86:Mb:K9x9FbCZ:XbjU:vb;maebG;D:gb;j;E:2b:;9G;1b9nWHber9Rb:m:W:Sb:Y;a;qb9r9v9ib8E;7Pb:vV;db:Jo87b;an81bo;C97b;GT;mb9o8P;6b;w;k;ib;O;Zcb989K;Eb:B9K;yb;z::8Xb:K:x;db939y;ub9P;J;fb;W;AAb:68688bSKSb9v919Fb;s:9;1b9UM;gb:S8U9DbP9e;Tb38:9cb9H;e:hb8Pp;Pb;N;w;Zbg98;kb9V:r81bw;G;fbF;x:nb9Uf;Ib:Wp;gb:tw;bb989Dtb9R:T:Yb;n9U:Db8:V97b;gHfb;3;p:Pb8P7;Fb:1;j:6b:3b9rb;I:Ymbt:68Kb;L999Gbt;y:kbmX8Sb:bKxb9:9MNbe8PQb:F964bpp::b9wT;Vb;z9:Bb;S;zAb:l:6:5b;e:x;8b8X:O8Nb;X9U;dbN;fBb;y:O9wb:0:O:1b;p;mPbO:jRb9V9x80b8S9w:jb:z;o;Jb;wa:5b9R9E:Qb8:I:CbH9F;mbpk9kb;H;0;7b:o879Tb;I:g8Sb;P;u:eb;8:0:Pb;V;U;rb8U81;jb8V859HbUh9ebE;z;ib:b;8qb;79kfb8V3;yb9t:0:eb9o:z:mb9ug;mbI9v;Cb;a;g;wbkY:wb8A9W:4b9P:v9Kb8M9A9GbZ9s;UbuHsb;0:1Hb;8;l;1b80:8Rb80:8;Ub;O9D;mb;D9E9Gb9N:o:BbM8Z;Vb;jL:4b9H9y:Bb;H9x:8b9r:d;gb;y8:zb;DG9ibR3;Db:VK:Hbh8SSb9z;Z;xb;z96:yb:E9u;ab9p:g;6b9wo;8b;L95:Ub:jgBbU:Tgb9N:t;Cb9v;O:Qb:c8MUb;k;N:Bb9rm:Kb:z8Z:Xb:P;xPb9Pv9ibW:Y;Wbu1:Nb19m:xb;5;rBbhM:Zb97:c9kb:y;phbn:F;Cb;C9h9vb;Ht86b9N;R9cb;::D;Fb9E;u9Fb979N:Kb:6:S96b9v;2:Ib8R18Jbc:69vb9z9UwbhI:gb859h:db:j;J;Mb;L:E;ub6;7nbF9w;Pb3s;kb;f9z:kbN;68Rb;t;b;fbs;f;pb;B9A:Ub9h;f:gb:fJ9Ibh:g87b8S95Nbz9H:hbI9m97bj8S8AbJ:;Ob18M:qb9488:jb:O;e;Kb;L;B97b;e86;cb8M;0;Qb;39N:kbmM:;bW:J8Rb89:t:Xb:998kb:K9r;Cb8N;D9Jb9P;H;Db:ANYb:O8P:vb9O;oybD;T:0b9e:Fab9o:y;kb9W:c9Jb9:988Jbs:58Yb:N;1:obC9w;Nbh;Xwb:1:DIb9V9:9nb:LY9rb:1;5:Rb:c;F;wb:w;D9HbQBdb;e86:Fb:d:I:HbV;T9Tb85:n96b:c:4:Pb9R8Y9CbS8N9Bbb80;Tb;sb93b;8;09vbe9z9nb;GGjbbbbbbbbbbbbn;7h;5ZbbbbR9et8:bbbj:yS;488bbb9G9r;m9487bbbj:dE;W85bbbna8L96Ubbbjg:c;JBbbbb5;Z9P81bc:W:2dkxebbbdbbbn:Bbb",b=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var a,d=WebAssembly.instantiate(t(c),{}).then(function(i){a=i.instance,a.exports.__wasm_call_ctors()});function t(i){for(var s=new Uint8Array(i.length),l=0;l<i.length;++l){var g=i.charCodeAt(l);s[l]=g>96?g-97:g>64?g-39:g+4}for(var u=0,l=0;l<i.length;++l)s[u++]=s[l]<60?b[s[l]]:(s[l]-60)*64+s[++l];return s.buffer.slice(0,u)}function e(i){if(!i)throw new Error("Assertion failed")}function n(i){return new Uint8Array(i.buffer,i.byteOffset,i.byteLength)}function o(i,s,l,g,u,r,j,y,w,E){var f=a.exports.sbrk,k=f(s*16),p=i?f(i.byteLength):0,M=f(l.byteLength),v=f(r.byteLength),x=f(y.byteLength),I=new Uint8Array(a.exports.memory.buffer);i&&I.set(n(i),p),I.set(n(l),M),I.set(n(r),v),I.set(n(y),x),a.exports.meshopt_generateTangents(k,p,s,M,g,u*4,v,j*4,x,w*4,E),I=new Uint8Array(a.exports.memory.buffer);var A=new Float32Array(I.buffer,k,s*4).slice();return f(k-f(0)),A}function h(i,s,l,g,u,r,j){var y=a.exports.sbrk,w=y(s*12),E=i?y(i.byteLength):0,f=y(l.byteLength),k=new Uint8Array(a.exports.memory.buffer);i&&k.set(n(i),E),k.set(n(l),f),a.exports.meshopt_generateNormals(w,E,s,f,g,u*4,r,j),k=new Uint8Array(a.exports.memory.buffer);var p=new Float32Array(k.buffer,w,s*3).slice();return y(w-y(0)),p}var m={Compatible:1,ZeroFallback:2};return{ready:d,supported:!0,generateTangents:function(i,s,l,g,u,r,j,y){e(i===null||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Uint16Array||i instanceof Int16Array),e(i===null||i.length%3==0),e(s instanceof Float32Array),e(s.length%l==0),e(l>=3),e(g instanceof Float32Array),e(g.length%u==0),e(u>=3),e(r instanceof Float32Array),e(r.length%j==0),e(j>=2),e(s.length/l==g.length/u),e(s.length/l==r.length/j),e(i!==null||s.length/l%3==0);for(var w=0,E=0;E<(y?y.length:0);++E)e(y[E]in m),w|=m[y[E]];var f=s.length/l,k=i?i.length:f,p=i===null||i.BYTES_PER_ELEMENT==4?i:new Uint32Array(i);return o(p,k,s,f,l,g,u,r,j,w)},generateNormals:function(i,s,l,g,u){e(i===null||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Uint16Array||i instanceof Int16Array),e(i===null||i.length%3==0),e(s instanceof Float32Array),e(s.length%l==0),e(l>=3),e(i!==null||s.length/l%3==0),e(g>=0&&g<=Math.PI),u=u||0;var r=s.length/l,j=i?i.length:r,y=i===null||i.BYTES_PER_ELEMENT==4?i:new Uint32Array(i);return h(y,j,s,r,l,g,u)}}})();var Xe=128,te=128;var Mb={shaded:0,meshlets:1,lodLevel:2,instances:3};function ne(c,b){let a=c.length;if(a<=b)return[c.map((s,l)=>l)];let d=new Map;for(let s=0;s<a;s++)for(let l of c[s].boundaryEdges){let g=d.get(l);g?g[g.length-1]!==s&&g.push(s):d.set(l,[s])}let t=Array.from({length:a},()=>new Map);for(let s of d.values())for(let l=0;l<s.length;l++)for(let g=l+1;g<s.length;g++){let u=s[l],r=s[g];t[u].set(r,(t[u].get(r)||0)+1),t[r].set(u,(t[r].get(u)||0)+1)}let e=nt(c.map(s=>s.center)),n=new Uint8Array(a),o=[];for(let s of e){if(n[s])continue;let l=[s];n[s]=1;let g=new Map,u=r=>{for(let[j,y]of t[r])n[j]||g.set(j,(g.get(j)||0)+y)};for(u(s);l.length<b&&g.size>0;){let r=-1,j=-1,y=1/0;for(let[w,E]of g){if(n[w])continue;let f=dt(c[w].center,c[s].center);(E>j||E===j&&f<y)&&(r=w,j=E,y=f)}if(r<0)break;g.delete(r),n[r]=1,l.push(r),u(r)}o.push(l)}let h=[],m=[],i=Math.max(2,Math.floor(b/2));for(let s of o){if(s.length>=i){h.push(s);continue}m.length+s.length>b&&(h.push(m),m=[]),m.push(...s)}return m.length>0&&h.push(m),h}function dt(c,b){let a=c[0]-b[0],d=c[1]-b[1],t=c[2]-b[2];return a*a+d*d+t*t}function nt(c){let b=[1/0,1/0,1/0],a=[-1/0,-1/0,-1/0];for(let e of c)for(let n=0;n<3;n++)b[n]=Math.min(b[n],e[n]),a[n]=Math.max(a[n],e[n]);let d=Math.max(a[0]-b[0],a[1]-b[1],a[2]-b[2])||1,t=c.map(e=>{let n=o=>Math.min(1023,Math.max(0,Math.floor((e[o]-b[o])/d*1023)));return de(n(0))|de(n(1))<<1|de(n(2))<<2});return c.map((e,n)=>n).sort((e,n)=>t[e]-t[n])}function de(c){return c&=1023,c=(c|c<<16)&50331903,c=(c|c<<8)&50393103,c=(c|c<<4)&51130563,c=(c|c<<2)&153391689,c}function Qe(c,b,a,d,t){if(a.length===0)return null;let e=[1/0,1/0,1/0],n=[-1/0,-1/0,-1/0];for(let T=0;T<a.length;T++){let C=a[T]*3;for(let H=0;H<3;H++)e[H]=Math.min(e[H],c[C+H]),n[H]=Math.max(n[H],c[C+H])}let o=Math.max(n[0]-e[0],n[1]-e[1],n[2]-e[2]);if(!(o>0))return null;let h=o/d,m=3,i=[0,1,2].map(T=>Math.ceil((n[T]-e[T])/h)+1+m*2),s=[0,1,2].map(T=>e[T]-m*h),[l,g,u]=i,r=1,j=l,y=l*g,w=l*g*u,E=new Uint8Array(w),f=b?new Float32Array(w*3):null,k=b?new Uint32Array(w):null,p=t?new Float32Array(w*2).fill(NaN):null,M=0,v=0,x=(T,C,H,Z,ca,oa)=>{let aa=Math.floor((T-s[0])/h)*r+Math.floor((C-s[1])/h)*j+Math.floor((H-s[2])/h)*y;E[aa]=1,p&&Number.isNaN(p[aa*2])&&(p[aa*2]=M,p[aa*2+1]=v),f&&(f[aa*3]+=Z,f[aa*3+1]+=ca,f[aa*3+2]+=oa,k[aa]++)};for(let T=0;T<a.length;T+=3){let C=a[T]*3,H=a[T+1]*3,Z=a[T+2]*3,ca=Math.max(re(c,C,H),re(c,H,Z),re(c,Z,C)),oa=Math.max(1,Math.ceil(ca/(h*.5)));for(let aa=0;aa<=oa;aa++)for(let Fa=0;Fa<=oa-aa;Fa++){let ea=aa/oa,la=Fa/oa,ga=1-ea-la,Wa=c[C]*ga+c[H]*ea+c[Z]*la,Ca=c[C+1]*ga+c[H+1]*ea+c[Z+1]*la,$=c[C+2]*ga+c[H+2]*ea+c[Z+2]*la;if(t){let fa=a[T]*2,ma=a[T+1]*2,ya=a[T+2]*2;M=t[fa]*ga+t[ma]*ea+t[ya]*la,v=t[fa+1]*ga+t[ma+1]*ea+t[ya+1]*la}b?x(Wa,Ca,$,b[C]*ga+b[H]*ea+b[Z]*la,b[C+1]*ga+b[H+1]*ea+b[Z+1]*la,b[C+2]*ga+b[H+2]*ea+b[Z+2]*la):x(Wa,Ca,$,0,0,0)}}let I=ht(rt(E,i),i),A=new Float32Array(w);for(let T=0;T<w;T++)A[T]=I[T];he(A,i,r,l),he(A,i,j,g),he(A,i,y,u);let z=.5,N=l-1,R=g-1,U=u-1,G=new Int32Array(N*R*U).fill(-1),O=[],S=[],J=[],q=[],B=new Float32Array(8);for(let T=0;T<U;T++)for(let C=0;C<R;C++)for(let H=0;H<N;H++){let Z=H*r+C*j+T*y,ca=0;for(let $=0;$<8;$++)B[$]=A[Z+($&1)*r+($>>1&1)*j+($>>2&1)*y],B[$]>=z&&ca++;if(ca===0||ca===8)continue;let oa=0,aa=0,Fa=0,ea=0;for(let $=0;$<8;$++)for(let fa of[1,2,4]){if($&fa)continue;let ma=$|fa,ya=B[$],Ha=B[ma];if(ya>=z==Ha>=z)continue;let Oa=(z-ya)/(Ha-ya);oa+=($&1)+(fa===1?Oa:0),aa+=($>>1&1)+(fa===2?Oa:0),Fa+=($>>2&1)+(fa===4?Oa:0),ea++}G[H+C*N+T*N*R]=O.length/3,O.push(s[0]+(H+.5+oa/ea)*h,s[1]+(C+.5+aa/ea)*h,s[2]+(T+.5+Fa/ea)*h);let la=B[1]+B[3]+B[5]+B[7]-B[0]-B[2]-B[4]-B[6],ga=B[2]+B[3]+B[6]+B[7]-B[0]-B[1]-B[4]-B[5],Wa=B[4]+B[5]+B[6]+B[7]-B[0]-B[1]-B[2]-B[3],Ca=Math.hypot(la,ga,Wa)||1;if(S.push(-la/Ca,-ga/Ca,-Wa/Ca),f){let $=0,fa=0,ma=0,ya=0;for(let Ha=0;Ha<8;Ha++){let Oa=Z+(Ha&1)*r+(Ha>>1&1)*j+(Ha>>2&1)*y;k[Oa]&&($+=f[Oa*3],fa+=f[Oa*3+1],ma+=f[Oa*3+2],ya+=k[Oa])}ya?J.push($/ya,fa/ya,ma/ya):J.push(NaN,NaN,NaN)}if(p){let $=NaN,fa=NaN;for(let ma=0;ma<8&&Number.isNaN($);ma++){let ya=Z+(ma&1)*r+(ma>>1&1)*j+(ma>>2&1)*y;$=p[ya*2],fa=p[ya*2+1]}q.push($,fa)}}let P=[],D=(T,C,H)=>G[T+C*N+H*N*R],L=(T,C,H,Z,ca,oa,aa)=>{let Fa=O[H*3]-O[T*3],ea=O[H*3+1]-O[T*3+1],la=O[H*3+2]-O[T*3+2],ga=O[Z*3]-O[C*3],Wa=O[Z*3+1]-O[C*3+1],Ca=O[Z*3+2]-O[C*3+2],$=ea*Ca-la*Wa,fa=la*ga-Fa*Ca,ma=Fa*Wa-ea*ga;$*ca+fa*oa+ma*aa>=0?P.push(T,C,H,T,H,Z):P.push(T,H,C,T,Z,H)};for(let T=1;T<u-1;T++)for(let C=1;C<g-1;C++)for(let H=1;H<l-1;H++){let Z=H*r+C*j+T*y,ca=A[Z]>=z;if(ca!==A[Z+r]>=z){let oa=ca?1:-1;L(D(H,C-1,T-1),D(H,C,T-1),D(H,C,T),D(H,C-1,T),oa,0,0)}if(ca!==A[Z+j]>=z){let oa=ca?1:-1;L(D(H-1,C,T-1),D(H,C,T-1),D(H,C,T),D(H-1,C,T),0,oa,0)}if(ca!==A[Z+y]>=z){let oa=ca?1:-1;L(D(H-1,C-1,T),D(H,C-1,T),D(H,C,T),D(H-1,C,T),0,0,oa)}}if(P.length===0)return null;let _=null;f&&(_=Float32Array.from(J),Ye(_,P,3));let ia=null;return p&&(ia=Float32Array.from(q),Ye(ia,P,2)),{positions:Float32Array.from(O),normals:Float32Array.from(S),colors:_,uvs:ia,indices:Uint32Array.from(P),cellSize:h}}function re(c,b,a){return Math.hypot(c[b]-c[a],c[b+1]-c[a+1],c[b+2]-c[a+2])}function rt(c,b){let a=c;for(let d=0;d<3;d++)a=Ze(a,b,d,1);return a}function ht(c,b){let a=c;for(let d=0;d<3;d++)a=Ze(a,b,d,0);return a}function Ze(c,b,a,d){let[t,e,n]=b,o=a===0?1:a===1?t:t*e,h=b[a],m=new Uint8Array(c.length);for(let i=0;i<n;i++)for(let s=0;s<e;s++)for(let l=0;l<t;l++){let g=l+s*t+i*t*e,u=a===0?l:a===1?s:i,r=u>0?c[g-o]:0,j=u<h-1?c[g+o]:0;m[g]=d?c[g]|r|j:c[g]&r&j}return m}function he(c,b,a,d){let[t,e,n]=b,o=new Float32Array(d),h=t*e*n/d;for(let m=0;m<h;m++){let i;a===1?i=m*t:a===t?i=m%t+Math.floor(m/t)*t*e:i=m;for(let s=0;s<d;s++)o[s]=c[i+s*a];for(let s=0;s<d;s++){let l=s>0?o[s-1]:0,g=s<d-1?o[s+1]:0;c[i+s*a]=(l+o[s]+g)/3}}}function Ye(c,b,a){let d=c.length/a;for(let t=0;t<8;t++){let e=0,n=new Float32Array(d*a),o=new Uint32Array(d);for(let h=0;h<b.length;h+=3)for(let m=0;m<3;m++){let i=b[h+m];if(Number.isNaN(c[i*a]))for(let s=1;s<3;s++){let l=b[h+(m+s)%3];if(!Number.isNaN(c[l*a])){for(let g=0;g<a;g++)n[i*a+g]+=c[l*a+g];o[i]++}}}for(let h=0;h<d;h++)if(Number.isNaN(c[h*a]))if(o[h])for(let m=0;m<a;m++)c[h*a+m]=n[h*a+m]/o[h];else e++;if(!e)return}for(let t=0;t<c.length;t++)Number.isNaN(c[t])&&(c[t]=.5)}var ft={groupSize:12,maxLodLevels:24,maxGroupKeepRatio:.9,simplifyRatio:.5,minLevelReduction:.03,prune:!1,tailSimplify:!0,minRootTriangles:4,voxelLods:!0},it=1024,st=[64,32,16,8,4],lt=()=>new Promise(c=>setTimeout(c,0));async function Rb(c,b={}){let a={...ft,...b},d=performance.now();await Kb.ready,await tb.ready;let t=c.positions,e=c.normals,n=c.colors??null,o=c.uvs??null,h=tb.generatePositionRemap(t,3),m=0,i=["LockBorder","ErrorAbsolute"];a.prune&&i.push("Prune");let s=[],l=new Map,g=k(c.indices,0,null,0),u=g,r=ac(u),j=1,y=Math.max(1,g.length*2);for(let p=1;p<=a.maxLodLevels&&u.length>1&&!(a.tailSimplify&&r<=it);p++){let M=ne(u,a.groupSize),v=[];for(let I of M){let A=I.map(P=>u[P]),z=_e(A),N=qb(z,t),R=Math.max(3,Math.floor(z.length*a.simplifyRatio/3)*3),[U,G]=tb.simplify(N.indices,N.positions,3,R,1e10,i);if(U.length>z.length*a.maxGroupKeepRatio)continue;let O=Nb(A.map(P=>P.lodSphere)),S=Math.max(...A.map(P=>P.error)),J=Math.max(G,$e(N.indices,U,N.positions)),q=S+Math.max(J,1e-7);for(let P of A)P.parentSphere=O,P.parentError=q;let B=new Uint32Array(U.length);for(let P=0;P<U.length;P++)B[P]=N.toGlobal[U[P]];if(B.length>0){let P=k(B,p,O,q);v.push(...P);for(let D of A)D.replacements=P}}if(await a.onProgress?.(Math.min(.99,s.length/y)),await lt(),v.length===0)break;j=p+1,u=v;let x=ac(u);if(x>r*(1-a.minLevelReduction))break;r=x}return a.tailSimplify&&(j=f(s.filter(p=>p.parentError>=1e30),j)),await a.onProgress?.(1),gt({positions:t,normals:e,colors:n??void 0,uvs:o??void 0,indices:c.indices},s,j,m,performance.now()-d);function w(p,M,v,x){let I=t.length/3,A=p.length/3,z=(R,U)=>{let G=new Float32Array(R.length+U.length);return G.set(R),G.set(U,R.length),G};t=z(t,p),e=z(e,M),n&&(n=z(n,v??new Float32Array(A*3).fill(1))),o&&(o=z(o,x??new Float32Array(A*2)));let N=new Uint32Array(h.length+A);N.set(h);for(let R=0;R<A;R++)N[h.length+R]=I+R;return h=N,I}function E(p){return l.has(p)||l.set(p,Qe(c.positions,c.colors,c.indices,p,c.uvs)),l.get(p)}function f(p,M){if(p.length===0)return M;let v=["ErrorAbsolute"];a.prune&&v.push("Prune");let x=p,I=M;for(;I<M+a.maxLodLevels;I++){let A=_e(x);if(A.length/3<=a.minRootTriangles)break;let z=qb(A,t),N=Math.max(3,Math.floor(A.length/2/3)*3),R=A.length*a.maxGroupKeepRatio,U=Math.max(...x.map(D=>D.error)),[G,O]=tb.simplify(z.indices,z.positions,3,N,1e10,v);if(G.length>R){let[D,L]=tb.simplifySloppy(z.indices,z.positions,3,null,N,1);D.length<G.length&&(G=D,O=L*tb.getScale(z.positions,3))}let S=null,J=1/0;if(G.length<=R){J=U+Math.max(Math.max(O,$e(z.indices,G,z.positions)),1e-7),S=new Uint32Array(G.length);for(let D=0;D<G.length;D++)S[D]=z.toGlobal[G[D]]}let q=null;if(a.voxelLods)for(let D of st){let L=E(D);if(!L)continue;let _=Math.min(N,L.indices.length),[ia,T]=tb.simplify(L.indices,L.positions,3,_,1e10,["ErrorAbsolute"]);if(ia.length===0||ia.length>R)continue;let C=Math.max(U*(1+1e-5)+1e-7,2*L.cellSize+T);C<J&&(J=C,q={proxy:L,indices:ia})}if(!Number.isFinite(J))break;if(q){let D=qb(q.indices,q.proxy.positions),L=(T,C=3)=>{let H=new Float32Array(D.toGlobal.length*C);return D.toGlobal.forEach((Z,ca)=>H.set(T.subarray(Z*C,Z*C+C),ca*C)),H},{proxy:_}=q,ia=w(D.positions,L(_.normals),_.colors?L(_.colors):null,_.uvs?L(_.uvs,2):null);S=D.indices.map(T=>T+ia),m++}let B=Nb(x.map(D=>D.lodSphere));for(let D of x)D.parentSphere=B,D.parentError=J;if(S.length===0)return I+1;let P=k(S,I,B,J);for(let D of x)D.replacements=P;x=P}return I}function k(p,M,v,x){let I=qb(p,t),A=Kb.buildMeshlets(I.indices,I.positions,3,128,128,0),z=[];for(let N=0;N<A.meshletCount;N++){let R=A.meshlets[N*4+0],U=A.meshlets[N*4+1],G=A.meshlets[N*4+2],O=A.meshlets[N*4+3],S=new Uint32Array(G);for(let D=0;D<G;D++)S[D]=I.toGlobal[A.vertices[R+D]];let J=A.triangles.slice(U,U+O*3),q=new Uint32Array(O*3);for(let D=0;D<O*3;D++)q[D]=S[J[D]];let B=jt(q,t),P={indices:q,lodLevel:M,lodSphere:v??B,error:x,parentSphere:[0,0,0,0],parentError:1e30,cullSphere:B,boundaryEdges:mt(q,h),center:[B[0],B[1],B[2]],replacements:[],vertices:S,localTriangles:J};z.push(P),s.push(P)}return z}}function gt(c,b,a,d,t){let e=[...b].sort((x,I)=>x.lodLevel-I.lodLevel),n=e.length,o=new Uint32Array(e.reduce((x,I)=>x+I.indices.length,0)),h=new Float32Array(n*16),m=new Uint32Array(n*4),i=new Map;e.forEach((x,I)=>i.set(x,I));let s=new Uint32Array(n+1),l=[];e.forEach((x,I)=>{s[I]=l.length;for(let A of x.replacements)l.push(i.get(A))}),s[n]=l.length;let g=new Uint32Array(e.reduce((x,I)=>x+I.vertices.length,0)),u=new Uint32Array(o.length/3),r=0,j=0,y={leafTriangles:0,leafMeshlets:0,rootTriangles:0,rootMeshlets:0,lodLevels:a,voxelLevels:d,buildMs:t};e.forEach((x,I)=>{o.set(x.indices,r),g.set(x.vertices,j);let A=x.localTriangles;for(let U=0,G=r/3;U<A.length;U+=3,G++)u[G]=A[U]|A[U+1]<<8|A[U+2]<<16;let z=I*16;h.set(x.lodSphere,z),h.set(x.parentSphere,z+4),h[z+8]=x.error,h[z+9]=x.parentError,h.set(x.cullSphere,z+12);let N=x.indices.length/3,R=I*4;m[R+0]=N,m[R+1]=r,m[R+2]=x.lodLevel,m[R+3]=j,r+=x.indices.length,j+=x.vertices.length,x.lodLevel===0&&(y.leafTriangles+=N,y.leafMeshlets+=1),x.parentError>=1e30&&(y.rootTriangles+=N,y.rootMeshlets+=1)});let w=Nb(e.filter(x=>x.lodLevel===0).map(x=>x.cullSphere)),E=e.length?e[e.length-1].lodLevel+1:0,f=new Uint32Array(E*2),k=new Float32Array(E*2),p=new Float32Array(E*2);for(let x=0;x<E;x++)k[x*2]=1/0,k[x*2+1]=0,p[x*2]=0,p[x*2+1]=1/0;e.forEach((x,I)=>{let A=x.lodLevel;f[A*2+1]===0&&(f[A*2]=I),f[A*2+1]++,k[A*2]=Math.min(k[A*2],x.error),k[A*2+1]=Math.max(k[A*2+1],x.parentError),p[A*2]=Math.max(p[A*2],x.error),p[A*2+1]=Math.min(p[A*2+1],x.parentError)});let M=Nb([...e.map(x=>x.lodSphere),...e.filter(x=>x.parentError<1e30).map(x=>x.parentSphere)]),v=Nb(e.map(x=>x.cullSphere));return{positions:c.positions,normals:c.normals,colors:c.colors??null,uvs:c.uvs??null,indices:o,meshletCount:n,meshletBounds:h,meshletInfo:m,replacementStart:s,replacementIndices:Uint32Array.from(l),meshletVertices:g,meshletTriangles:u,levelRanges:f,levelErrors:k,levelGuardErrors:p,lodBoundsSphere:M,cullBoundsSphere:v,boundingSphere:w,stats:y}}function $e(c,b,a){let d=o=>{let h=[1/0,1/0,1/0],m=[-1/0,-1/0,-1/0];for(let i=0;i<o.length;i++){let s=o[i]*3;for(let l=0;l<3;l++){let g=a[s+l];g<h[l]&&(h[l]=g),g>m[l]&&(m[l]=g)}}return{min:h,max:m}},t=d(c);if(b.length===0)return Math.max(t.max[0]-t.min[0],t.max[1]-t.min[1],t.max[2]-t.min[2])/2;let e=d(b),n=0;for(let o=0;o<3;o++)n=Math.max(n,e.min[o]-t.min[o],t.max[o]-e.max[o]);return n}var Ab=new Int32Array(0);function qb(c,b){let a=b.length/3;Ab.length<a&&(Ab=new Int32Array(a).fill(-1));let d=new Uint32Array(c.length),t=new Uint32Array(c.length),e=0;for(let h=0;h<c.length;h++){let m=c[h],i=Ab[m];i<0&&(i=e++,Ab[m]=i,d[i]=m),t[h]=i}let n=d.subarray(0,e),o=new Float32Array(e*3);for(let h=0;h<e;h++){let m=n[h];Ab[m]=-1,o[h*3+0]=b[m*3+0],o[h*3+1]=b[m*3+1],o[h*3+2]=b[m*3+2]}return{indices:t,positions:o,toGlobal:n}}var Ib=new Float64Array(1024),ob=new Uint8Array(1024),oe=new Int32Array(512);function mt(c,b){let a=c.length,d=Ib.length;if(d<a*2){for(;d<a*2;)d<<=1;Ib=new Float64Array(d),ob=new Uint8Array(d),oe=new Int32Array(d/2)}let t=d-1,e=0;for(let o=0;o<c.length;o+=3)for(let h=0;h<3;h++){let m=b[c[o+h]],i=b[c[o+(h+1)%3]],s=ut(m,i),l=(Math.imul(m<i?m:i,2654435761)^Math.imul(m<i?i:m,2246822507))&t;for(;ob[l]!==0&&Ib[l]!==s;)l=l+1&t;ob[l]===0&&(Ib[l]=s,oe[e++]=l),ob[l]<255&&ob[l]++}let n=[];for(let o=0;o<e;o++){let h=oe[o];ob[h]===1&&n.push(Ib[h]),ob[h]=0}return n}var ut=(c,b)=>c<b?c*67108864+b:b*67108864+c;function _e(c){let b=new Uint32Array(c.reduce((d,t)=>d+t.indices.length,0)),a=0;for(let d of c)b.set(d.indices,a),a+=d.indices.length;return b}var ac=c=>c.reduce((b,a)=>b+a.indices.length/3,0);function jt(c,b){let a=[1/0,1/0,1/0],d=[-1/0,-1/0,-1/0];for(let h=0;h<c.length;h++){let m=c[h]*3;for(let i=0;i<3;i++){let s=b[m+i];s<a[i]&&(a[i]=s),s>d[i]&&(d[i]=s)}}let t=(a[0]+d[0])/2,e=(a[1]+d[1])/2,n=(a[2]+d[2])/2,o=0;for(let h=0;h<c.length;h++){let m=c[h]*3,i=b[m]-t,s=b[m+1]-e,l=b[m+2]-n;o=Math.max(o,i*i+s*s+l*l)}return[t,e,n,Math.sqrt(o)]}function Nb(c){if(c.length===1)return[...c[0]];let b=new Float32Array(c.length*3),a=new Float32Array(c.length);c.forEach((e,n)=>{b.set([e[0],e[1],e[2]],n*3),a[n]=e[3]});let d=Kb.computeSphereBounds(b,3,a,1),t=d.radius;for(let e of c){let n=Math.hypot(e[0]-d.centerX,e[1]-d.centerY,e[2]-d.centerZ)+e[3];t=Math.max(t,n)}return[d.centerX,d.centerY,d.centerZ,t*1.0001]}var ub=1,ec=1329940310,Pa=16,ie={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array},yt={positions:{strides:[12]},normals:{strides:[12]},colors:{strides:[12]},uvs:{strides:[8]},tangents:{strides:[16]},meshletBounds:{strides:[64],deflateRaw:!0},meshletInfo:{strides:[16]}},ra=class extends Error{constructor(b){super(`three-virtual-geometry: ${b}`),this.name="VirtualMeshFormatError"}};async function se(c,b={}){let a=b.compress??!0;a&&await Jb.ready;let d=c,t=Object.keys(d).filter(r=>d[r]!==void 0&&typeof d[r]!="function"),e=[],n=[],o={},h=0;for(let r of t){let j=d[r];if(!ArrayBuffer.isView(j)){o[r]=j;continue}let y=j.constructor.name;if(!(y in ie))throw new ra(`cannot serialize field "${r}" of type ${y}`);let w=j,E,f;r==="indices"&&!b.keepIndices&&xt(c)?(f={name:r,type:y,length:w.length,encoding:"meshlet-indices"},E=new Uint8Array(0)):a?{entry:f,blob:E}=await pt(r,y,w,c,b.deflate??!0):(f={name:r,type:y,length:w.length,encoding:"raw"},E=_a(w)),e.push({...f,offset:h,byteLength:E.length}),n.push(E),h+=jb(E.length)}let m={generator:"three-virtual-geometry",keys:t,fields:e,values:o},i=new TextEncoder().encode(JSON.stringify(m,At)),s=jb(i.length),l=new Uint8Array(Pa+s+h);l.set(i,Pa),l.fill(32,Pa+i.length,Pa+s);let g=Pa+s;e.forEach((r,j)=>l.set(n[j],g+r.offset));let u=new DataView(l.buffer);return u.setUint32(0,ec,!0),u.setUint32(4,ub,!0),u.setUint32(8,i.length,!0),u.setUint32(12,nc(l,Pa),!0),l}async function Fb(c){let b=ArrayBuffer.isView(c)?new Uint8Array(c.buffer,c.byteOffset,c.byteLength):new Uint8Array(c);b.byteOffset%4!==0&&(b=b.slice());let a=new DataView(b.buffer,b.byteOffset,b.byteLength);if(b.length<Pa||a.getUint32(0,!0)!==ec)throw new ra("not a three-virtual-geometry geometry file (bad magic bytes)");let d=a.getUint32(4,!0);if(d!==ub)throw new ra(`unsupported geometry format version ${d} (this build reads version ${ub}); re-bake the file`);let t=a.getUint32(8,!0),e=Pa+jb(t);if(e>b.length||b.length%4!==0)throw new ra("geometry file is truncated");let n;try{n=JSON.parse(new TextDecoder().decode(b.subarray(Pa,Pa+t)),It)}catch{throw new ra("geometry file is corrupt or truncated (unreadable header)")}if(!n||!Array.isArray(n.fields)||!Array.isArray(n.keys)||typeof n.values!="object")throw new ra("geometry file is corrupt (malformed header)");let o=b.subarray(e),h={},m=[...n.fields].sort((g,u)=>bc(g.encoding)-bc(u.encoding));m.some(g=>g.encoding!=="raw")&&await Eb.ready;for(let g of m){if(!ie[g.type]||!Number.isInteger(g.length)||g.length<0)throw new ra(`geometry file is corrupt (field "${g.name}")`);if(g.offset%4!==0||g.offset+g.byteLength>o.length)throw new ra(`geometry file is truncated (field "${g.name}")`)}if(nc(b,Pa)!==a.getUint32(12,!0))throw new ra("geometry file is corrupt (checksum mismatch)");let i=(g,u)=>u instanceof ra?u:new ra(`geometry file is corrupt (field "${g.name}": ${u.message})`),s=await Promise.all(m.map(g=>{let u=o.subarray(g.offset,g.offset+g.byteLength);return g.deflate?rc(u).catch(r=>Promise.reject(i(g,r))):u}));for(let g=0;g<m.length;g++)try{h[m[g].name]=await cc({...m[g],deflate:!1},s[g],h)}catch(u){throw i(m[g],u)}let l={};for(let g of n.keys)l[g]=g in h?h[g]:n.values[g];return l}async function kt(c,b){if(typeof c!="string"&&!(c instanceof URL))return Fb(c);let a=await fetch(c,b);if(!a.ok)throw new Error(`three-virtual-geometry: failed to load ${c} (HTTP ${a.status})`);return Fb(await a.arrayBuffer())}async function pt(c,b,a,d,t){let e=_a(a),n={name:c,type:b,length:a.length},o=yt[c]??{},h={entry:{...n,encoding:"raw"},blob:e},m=[h],i=c==="meshletTriangles"&&a instanceof Uint32Array?wt(a,d.meshletInfo):null;if(i)m.push({entry:{...n,encoding:"meshlet-triangles"},blob:i});else if(e.length%4===0&&e.length>0){let s=(o.strides??[Math.max(4,a.BYTES_PER_ELEMENT)]).filter(l=>l%4===0&&l<=256&&e.length%l===0);for(let l of s){let g=Jb.encodeVertexBufferLevel(e,e.length/l,l,2,1);m.push({entry:{...n,encoding:"meshopt-vertex",stride:l},blob:g})}}if(m.sort((s,l)=>s.blob.length-l.blob.length),t&&Et()&&e.length>=64){let s=o.deflateRaw&&m[0]!==h?[m[0],h]:[m[0]];for(let l of s)m.push({entry:{...l.entry,deflate:!0},blob:await Mt(l.blob)});m.sort((l,g)=>l.blob.length-g.blob.length)}for(let s of m){let l=await cc({...s.entry,offset:0,byteLength:s.blob.length},s.blob,{meshletInfo:d.meshletInfo});if(dc(_a(l),e))return s}return h}function wt(c,b){if(!(b instanceof Uint32Array))return null;let a=new Uint32Array(c.length*3),d=new Uint8Array(c.length);for(let h=0;h<b.length;h+=4){let m=b[h],i=b[h+1]/3,s=b[h+3];if(i+m>c.length)return null;for(let l=i;l<i+m;l++){let g=c[l];if(d[l]||g>>>24)return null;d[l]=1,a[l*3]=s+(g&255),a[l*3+1]=s+(g>>8&255),a[l*3+2]=s+(g>>16&255)}}if(!d.every(h=>h===1))return null;let t=Jb.encodeIndexBuffer(_a(a),a.length,4),e=new Uint32Array(a.length);Eb.decodeIndexBuffer(_a(e),a.length,4,t);let n=new Uint8Array(Math.ceil(c.length/4));for(let h=0;h<c.length;h++){let m=a[h*3],i=a[h*3+1],s=a[h*3+2],l=e[h*3],g=e[h*3+1],u=e[h*3+2],r;if(m===l&&i===g&&s===u)r=0;else if(m===g&&i===u&&s===l)r=1;else if(m===u&&i===l&&s===g)r=2;else return null;n[h>>2]|=r<<(h&3)*2}let o=new Uint8Array(4+jb(t.length)+n.length);return new DataView(o.buffer).setUint32(0,t.length,!0),o.set(t,4),o.set(n,4+jb(t.length)),o}function xt(c){let{indices:b,meshletInfo:a,meshletVertices:d,meshletTriangles:t}=c;if(!(b instanceof Uint32Array&&a instanceof Uint32Array&&d instanceof Uint32Array&&t instanceof Uint32Array))return!1;try{return dc(_a(tc(b.length,a,d,t)),_a(b))}catch{return!1}}var bc=c=>c==="meshlet-triangles"?1:c==="meshlet-indices"?2:0;async function cc(c,b,a){let d=ie[c.type],t=new d(c.length),e=_a(t),n=c.deflate?await rc(b):b;switch(c.encoding){case"raw":if(n.length!==e.length)throw new ra(`geometry file is corrupt (field "${c.name}" has the wrong size)`);e.set(n);break;case"meshopt-vertex":{let o=c.stride??0;if(o<=0||o%4!==0||e.length%o!==0)throw new ra(`geometry file is corrupt (field "${c.name}" stride)`);Eb.decodeVertexBuffer(e,e.length/o,o,n);break}case"meshlet-triangles":vt(t,n,Wb(a,"meshletInfo",c.name));break;case"meshlet-indices":t.set(tc(c.length,Wb(a,"meshletInfo",c.name),Wb(a,"meshletVertices",c.name),Wb(a,"meshletTriangles",c.name)));break;default:throw new ra(`unknown encoding "${c.encoding}" for field "${c.name}"`)}return t}function Wb(c,b,a){let d=c[b];if(!(d instanceof Uint32Array))throw new ra(`geometry file is corrupt ("${a}" needs "${b}")`);return d}function vt(c,b,a){let d=new DataView(b.buffer,b.byteOffset,b.byteLength).getUint32(0,!0),t=4+jb(d);if(t+Math.ceil(c.length/4)>b.length)throw new Error("truncated triangle data");let e=new Uint32Array(c.length*3);Eb.decodeIndexBuffer(_a(e),e.length,4,b.subarray(4,4+d));let n=b.subarray(t);for(let o=0;o<a.length;o+=4){let h=a[o],m=a[o+1]/3,i=a[o+3];if(m+h>c.length)throw new Error("meshlet range out of bounds");for(let s=m;s<m+h;s++){let l=n[s>>2]>>(s&3)*2&3,g=e[s*3]-i,u=e[s*3+1]-i,r=e[s*3+2]-i,[j,y,w]=l===0?[g,u,r]:l===1?[u,r,g]:[r,g,u];if((j|y|w)>>>8)throw new Error("meshlet-local vertex id out of range");c[s]=j|y<<8|w<<16}}}function tc(c,b,a,d){let t=new Uint32Array(c);for(let e=0;e<b.length;e+=4){let n=b[e],o=b[e+1],h=b[e+3];if(o+n*3>c||o/3+n>d.length)throw new ra("geometry file is corrupt (meshlet range out of bounds)");for(let m=0;m<n;m++){let i=d[o/3+m];for(let s=0;s<3;s++){let l=h+(i>>8*s&255);if(l>=a.length)throw new ra("geometry file is corrupt (meshlet vertex out of bounds)");t[o+m*3+s]=a[l]}}}return t}var jb=c=>c+3&-4;function _a(c){return new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}function dc(c,b){if(c.length!==b.length)return!1;if(c.byteOffset%4===0&&b.byteOffset%4===0&&c.length%4===0){let a=new Uint32Array(c.buffer,c.byteOffset,c.length/4),d=new Uint32Array(b.buffer,b.byteOffset,b.length/4);for(let t=0;t<a.length;t++)if(a[t]!==d[t])return!1;return!0}for(let a=0;a<c.length;a++)if(c[a]!==b[a])return!1;return!0}function nc(c,b){let a=new Uint32Array(c.buffer,c.byteOffset+b,c.length-b>>2),d=2166136261^a.length;for(let t=0;t<a.length;t++)d=Math.imul(d^a[t],16777619),d^=d>>>15;return d>>>0}var Et=()=>typeof CompressionStream<"u"&&typeof DecompressionStream<"u";async function Mt(c){let b=new Blob([c]).stream().pipeThrough(new CompressionStream("deflate-raw"));return new Uint8Array(await new Response(b).arrayBuffer())}async function rc(c){if(typeof DecompressionStream>"u")throw new ra("this environment cannot decompress the geometry file (no DecompressionStream)");let b=new Blob([c]).stream().pipeThrough(new DecompressionStream("deflate-raw"));return new Uint8Array(await new Response(b).arrayBuffer())}function At(c,b){if(typeof b=="number"&&!Number.isFinite(b))return{$number:String(b)};if(ArrayBuffer.isView(b))throw new ra(`typed array nested inside field "${c}" cannot be serialized; store it as a top-level field`);return b}function It(c,b){if(b&&typeof b=="object"&&!Array.isArray(b)){let a=Object.keys(b);if(a.length===1&&a[0]==="$number")return Number(b.$number)}return b}var hc=3,Nt="three-virtual-geometry-cache",Ga="meshes",Da="meta",zt=512*1024*1024,Rt=3e3;async function ge(c,b={}){let{cache:a,...d}=b;if(a?.store===!1||!fc())return Rb(c,d);let t=performance.now(),e=await oc(c,d,a?.key).catch(()=>null),n=e?await ic():null;if(!n||!e)return Rb(c,d);let o=await Ot(n,e);if(o)try{let m=await Fb(o);return m.stats&&(m.stats.buildMs=performance.now()-t),Gt(n,e),await d.onProgress?.(1),m}catch{Dt(n,e)}let h=await Rb(c,d);try{let m=await se(h,{deflate:!1});Tt(n,e,m)}catch{}return h}async function Ft(){if(!fc())return;let c=await ic();c&&await new Promise(b=>{try{let a=c.transaction([Ga,Da],"readwrite");a.objectStore(Ga).clear(),a.objectStore(Da).clear(),a.oncomplete=a.onerror=a.onabort=()=>b()}catch{b()}})}async function oc(c,b={},a){let d=`v${hc}.${ub}`;if(a!==void 0)return`${d}:key:${a}`;let t=globalThis.crypto?.subtle;if(!t)throw new Error("crypto.subtle unavailable");let e=c,n=Object.keys(e).filter(u=>e[u]!==void 0&&e[u]!==null).sort(),o=[],h=[];for(let u of n){let r=e[u];ArrayBuffer.isView(r)?(o.push([u,r.constructor.name,r.byteLength]),h.push(t.digest("SHA-256",r))):o.push([u,r])}let m=Object.entries(b).filter(([,u])=>u!==void 0&&typeof u!="function").sort(([u],[r])=>u<r?-1:1),i=new TextEncoder().encode(JSON.stringify({versions:d,source:o,options:m})),s=await Promise.all(h),l=new Uint8Array(i.length+s.length*32);l.set(i),s.forEach((u,r)=>l.set(new Uint8Array(u),i.length+r*32));let g=new Uint8Array(await t.digest("SHA-256",l));return`${d}:sha256:${Array.from(g,u=>u.toString(16).padStart(2,"0")).join("")}`}function fc(){try{return typeof indexedDB<"u"&&indexedDB!==null}catch{return!1}}var le=null;function ic(){return le??=new Promise(c=>{let b=setTimeout(()=>c(null),Rt),a=d=>{clearTimeout(b),c(d)};try{let d=indexedDB.open(Nt,1);d.onupgradeneeded=()=>{let t=d.result;t.objectStoreNames.contains(Ga)||t.createObjectStore(Ga),t.objectStoreNames.contains(Da)||t.createObjectStore(Da)},d.onsuccess=()=>{let t=d.result;t.onversionchange=()=>{t.close(),le=Promise.resolve(null)},a(t)},d.onerror=d.onblocked=()=>a(null)}catch{a(null)}}),le}function Ot(c,b){return new Promise(a=>{try{let d=c.transaction(Ga,"readonly").objectStore(Ga).get(b);d.onsuccess=()=>{let t=d.result;a(t instanceof ArrayBuffer?new Uint8Array(t):t instanceof Uint8Array?t:null)},d.onerror=()=>a(null)}catch{a(null)}})}function Tt(c,b,a){return new Promise(d=>{try{let t=c.transaction([Ga,Da],"readwrite");t.objectStore(Ga).put(a.buffer.byteLength===a.length?a.buffer:a.slice().buffer,b),t.objectStore(Da).put({size:a.length,lastUsed:Date.now()},b),t.oncomplete=()=>d(),t.onerror=t.onabort=()=>d()}catch{d()}}).then(()=>Ut(c,b))}function Gt(c,b){try{let d=c.transaction(Da,"readwrite").objectStore(Da),t=d.get(b);t.onsuccess=()=>{let e=t.result;e&&d.put({...e,lastUsed:Date.now()},b)}}catch{}}function Dt(c,b){try{let a=c.transaction([Ga,Da],"readwrite");a.objectStore(Ga).delete(b),a.objectStore(Da).delete(b)}catch{}}function Ut(c,b){return new Promise(a=>{try{let d=c.transaction([Ga,Da],"readwrite"),t=d.objectStore(Da),e=t.getAllKeys(),n=t.getAll();n.onsuccess=()=>{let o=e.result,h=n.result.map((i,s)=>({key:o[s],...i})),m=h.reduce((i,s)=>i+s.size,0);h.sort((i,s)=>i.lastUsed-s.lastUsed);for(let i of h){if(m<=zt)break;i.key!==b&&(d.objectStore(Ga).delete(i.key),t.delete(i.key),m-=i.size)}},d.oncomplete=d.onerror=d.onabort=()=>a()}catch{a()}})}function Bt(c,b,a){let d=b.viewMatrix,t=c.meshletBounds,e=new Uint8Array(c.meshletCount),n=b.scale??1,o=(h,m,i,s,l)=>{if(l>=1e30*.5)return 1/0;let g=d[0]*h+d[4]*m+d[8]*i+d[12],u=d[1]*h+d[5]*m+d[9]*i+d[13],r=d[2]*h+d[6]*m+d[10]*i+d[14],j=Math.max(Math.hypot(g,u,r)-s*n,b.near);return l*n*b.projScale/j};for(let h=0;h<c.meshletCount;h++){let m=h*16,i=o(t[m],t[m+1],t[m+2],t[m+3],t[m+8]),s=o(t[m+4],t[m+5],t[m+6],t[m+7],t[m+9]);e[h]=i<=a&&s>a?1:0}return e}function Ct(c,b){let a=new Int8Array(c.meshletCount).fill(-1),{replacementStart:d,replacementIndices:t}=c,e=o=>{if(a[o]!==-1)return a[o]===1;let h=b[o]===1;for(let m=d[o];!h&&m<d[o+1];m++)h=e(t[m]);return a[o]=h?1:0,h},n=[];for(let o=0;o<c.meshletCount;o++)c.meshletInfo[o*4+2]===0&&!e(o)&&n.push(o);return n}function gc(c,b){let a=b.viewMatrix,[d,t,e,n]=c.lodBoundsSphere,o=a[0]*d+a[4]*t+a[8]*e+a[12],h=a[1]*d+a[5]*t+a[9]*e+a[13],m=a[2]*d+a[6]*t+a[10]*e+a[14],i=Math.hypot(o,h,m),s=n*(b.scale??1);return[Math.max(i-s,b.near),Math.max(i+s,b.near)]}function Ht(c,b,a){let[d,t]=gc(c,b),e=(b.scale??1)*b.projScale,n=-1,o=-1,h=c.levelRanges.length/2;for(let m=0;m<h;m++){let i=c.levelErrors[m*2],s=c.levelErrors[m*2+1],l=i*e/t<=a,g=s>=1e30*.5||s*e/d>a;l&&g&&(n<0&&(n=m),o=m)}return n<0?[0,0]:[c.levelRanges[n*2],c.levelRanges[o*2]+c.levelRanges[o*2+1]]}function Vt(c,b,a){let[d,t]=gc(c,b),e=.001,n=(b.scale??1)*b.projScale,o=-1,h=-1,m=0,i=0,s=c.levelRanges.length/2;for(let u=0;u<s;u++){let r=c.levelErrors[u*2],j=c.levelErrors[u*2+1],y=r*n/t<=a,w=j>=1e30*.5||j*n/d>a;if(!y||!w)continue;o<0&&(o=u),h=u;let E=c.levelRanges[u*2+1];m+=E;let f=c.levelGuardErrors[u*2],k=c.levelGuardErrors[u*2+1],p=f*n/d<=a*(1-e),M=k>=1e30*.5||k*n/t>a*(1+e);p&&M&&(i+=E)}if(o<0)return null;let l=c.levelRanges[o*2],g=c.levelRanges[h*2]+c.levelRanges[h*2+1];return m!==g-l||i!==m||m>4?null:[l,g]}import*as Za from"three/webgpu";import{cameraViewMatrix as rd,faceDirection as hd,hash as Re,materialColor as od,normalize as fd,select as Fe,vec3 as id,vec4 as Oe}from"three/tsl";import*as Ba from"three/webgpu";import{Fn as ab,If as ha,Loop as yb,Return as db,atomicAdd as nb,atomicLoad as rb,atomicStore as Tb,bitcast as Rc,bool as wc,dot as xc,float as Na,instanceIndex as ke,length as hb,localId as Lb,mat4 as Qt,max as Qa,min as Fc,normalLocal as Zt,normalize as Oc,numWorkgroups as pe,select as lb,storage as za,uint as K,uniform as vc,unpackUnorm2x16 as $t,uvec4 as Xb,varyingProperty as Bb,vec3 as _t,vec4 as Ua,vertexIndex as Ec,workgroupArray as ad,workgroupBarrier as bd,workgroupId as kb}from"three/tsl";import*as Ya from"three/webgpu";import{bumpMap as Pt,context as mc,float as St,mat3 as Jt,materialColor as uc,materialReference as me,negateOnBackSide as jc,normalView as Kt,positionView as yc,sqrt as qt,texture as Wt,transformNormalToView as Lt,varyingProperty as Xt,vec3 as kc,vec4 as ue}from"three/tsl";var ib=Xt("vec2","vVgUv");function pc(c){if(!(c?.isTextureNode!==!0||c.isCubeTextureNode||c.isTexture3DNode))return ib}function Ob(c){return Wt(c,ib).setUpdateMatrix(!0)}var Yt=[Ya.RGFormat,Ya.RED_GREEN_RGTC2_Format,Ya.RG11_EAC_Format];function je(c,b,a=Ya.TangentSpaceNormalMap){let d=Ob(c),t=d.xyz.mul(2).sub(1);if(Yt.includes(c.format)){let j=d.xy.mul(2).sub(1);t=kc(j,qt(St(1).sub(j.dot(j)).max(0)))}if(t=kc(t.xy.mul(b),t.z),a===Ya.ObjectSpaceNormalMap)return Lt(t);let e=yc.dFdx(),n=yc.dFdy(),o=ib.dFdx(),h=ib.dFdy(),m=Kt,i=n.cross(m),s=m.cross(e),l=i.mul(o.x).add(s.mul(h.x)),g=i.mul(o.y).add(s.mul(h.y)),u=l.dot(l).max(g.dot(g)),r=u.equal(0).select(0,u.inverseSqrt());return Jt(jc(l.mul(r)),jc(g.mul(r)),m).mul(t).normalize()}function ye(c){let b=c;if(!b.colorNode&&(fb(b.map)||fb(b.alphaMap))){let a=ue(uc,1);if(fb(b.map)){let d=Ob(b.map);a=ue(uc.mul(d.rgb),d.a)}fb(b.alphaMap)&&(a=ue(a.rgb,a.a.mul(Ob(b.alphaMap).g))),b.colorNode=a,b.map=null,b.alphaMap=null}b.normalNode||(fb(b.normalMap)?b.normalNode=je(b.normalMap,me("normalScale","vec2"),b.normalMapType):fb(b.bumpMap)&&(b.normalNode=Pt(Ob(b.bumpMap).r,me("bumpScale","float")))),!b.clearcoatNormalNode&&fb(b.clearcoatNormalMap)&&(b.clearcoatNormalNode=je(b.clearcoatNormalMap,me("clearcoatNormalScale","vec2"))),b.contextNode=b.contextNode?mc(b.contextNode,{getUV:pc}):mc({getUV:pc}),c.needsUpdate=!0}var fb=c=>c?.isTexture===!0;var pb=Fc,Tc=Qa,Cb=Bb("vec3","vVgWorldNormal"),Ie=Bb("float","vVgMeshlet"),Ne=Bb("float","vVgLod"),$b=Bb("float","vVgInstance"),ze=Bb("vec3","vVgTint"),Me=Math.ceil(Math.log2(128)),ed=(1<<Me)-1,we=65535,Db=128,Yb=64,Mc=64,Ac=64,Ic=48,Ra=6,Ia=5,Sa=2,cd=.15,_b=1e30,wb=5,Qb=0,xe=1,Nc=2,ve=3,zc=4,sb=2+2*wb,Ja=class{constructor(b,a,d,t=1/0){this.make=b;this.itemSize=a;this.maxItems=t;this.array=b(Math.max(1,d)*a),this.attribute=new Ba.StorageBufferAttribute(this.array,a)}make;itemSize;maxItems;array;attribute;used=0;get capacity(){return this.array.length/this.itemSize}reserve(b){if(this.used+b>this.capacity)return-1;let a=this.used;return this.used+=b,a}grow(b){let a=this.make(Math.min(Math.max(b,Math.ceil(this.capacity*1.6)),Math.max(b,this.maxItems))*this.itemSize);a.set(this.array),this.array=a,this.attribute=new Ba.StorageBufferAttribute(this.array,this.itemSize)}touch(b,a){a<=0||(this.attribute.addUpdateRange(b*this.itemSize,a*this.itemSize),this.attribute.needsUpdate=!0)}},Zb=c=>new Float32Array(c),Gb=c=>new Uint32Array(c),Ub=class{constructor(b,a,d){this.context=b;this.capacity=a,this.maxBytes=d,this.meshSlotCapacity=64;let t=e=>Math.floor(d/e);this.vertexData=new Ja(Gb,4,65536,t(16)),this.vertexAttrs=new Ja(Gb,2,65536,t(8)),this.meshletBounds=new Ja(Zb,16,4096,t(64)),this.meshletInfo=new Ja(Gb,4,4096,t(16)),this.meshletVertices=new Ja(Gb,1,1<<18,t(4)),this.meshletTriangles=new Ja(Gb,1,1<<18,t(4)),this.meshTable=new Ja(Zb,4,this.meshSlotCapacity*Ra+1024,t(16)),this.meshTable.used=this.meshSlotCapacity*Ra,this.instances=new Ja(Zb,4,4096,t(16*Ia)*Ia),this.cells=new Ja(Zb,4,256,t(16))}context;entries=[];meshSlots=vc(0,"uint");cellCount=vc(0,"uint");maxBytes;capacity;vertexData;vertexAttrs;meshletBounds;meshletInfo;meshletVertices;meshletTriangles;meshTable;instances;cells;meshSlotCapacity;levelUsed=0;countersAttribute;drawArgsAttribute;cameraIndex;shadowIndex;computeNodes=[];positionNode=null;version=0;needsRebuild=!0;indexBuffersReady=!1;pipelineState="none";dirty=!0;hasCut=!1;static bytesOf(b){return Math.max(b.positions.length/3*16,b.meshletVertices.length*4,b.meshletTriangles.length*4,b.meshletCount*64)}fits(b,a){let d=(t,e,n)=>(t+e)*n<=this.maxBytes;return d(this.vertexData.used,b.positions.length/3,16)&&d(this.meshletBounds.used,b.meshletCount,64)&&d(this.meshletVertices.used,b.meshletVertices.length,4)&&d(this.meshletTriangles.used,b.meshletTriangles.length,4)&&d(this.instances.used,a*Ia,16)}add(b,a,d,t){let e=this.entries.indexOf(null);e===-1&&(e=this.entries.length),e>=this.meshSlotCapacity&&this.growMeshSlots(e+1);let n=b.positions.length/3,o=b.levelRanges.length/2,h=a.length/16,m=Math.ceil(h/Db),i=(l,g)=>{let u=l.reserve(g);return u===-1&&(l.grow(l.used+g),this.needsRebuild=!0,u=l.reserve(g)),u},s={slot:e,data:b,vertexBase:i(this.vertexData,n),meshletBase:i(this.meshletBounds,b.meshletCount),meshletVertexBase:i(this.meshletVertices,b.meshletVertices.length),triangleBase:i(this.meshletTriangles,b.meshletTriangles.length),levelBase:0,levelCount:o,instanceBase:i(this.instances,h*Ia)/Ia,instanceCount:h,cellBase:i(this.cells,m*Sa)/Sa,cellCount:m,uvScale:[1,1],uvOffset:[0,0]};return i(this.meshletInfo,b.meshletCount),i(this.vertexAttrs,n),s.levelBase=this.meshSlotCapacity*Ra+this.levelUsed,s.levelBase+o*2>this.meshTable.capacity&&(this.meshTable.grow(s.levelBase+o*2),this.needsRebuild=!0),this.levelUsed+=o*2,this.meshTable.used=Math.max(this.meshTable.used,s.levelBase+o*2),this.entries[e]=s,this.writeGeometry(s),this.writeInstances(s,a,d,t),this.writeMeshRecord(s,{maxDrawDistance:_b,minPixelRadius:0,enabled:1,shadow:1,occlusion:0}),this.meshSlots.value=Math.max(this.meshSlots.value,e+1),this.cellCount.value=this.cells.used/Sa,this.dirty=!0,s}remove(b){this.writeFlags(b,{enabled:0}),this.entries[b.slot]=null,this.dirty=!0}growMeshSlots(b){let a=this.meshSlotCapacity,d=Math.max(b,a*2),t=(d-a)*Ra,e=a*Ra,n=this.meshTable.used+t;n>this.meshTable.capacity&&this.meshTable.grow(n);let o=this.meshTable.array;o.copyWithin((e+t)*4,e*4,this.meshTable.used*4),o.fill(0,e*4,(e+t)*4),this.meshTable.used+=t,this.meshSlotCapacity=d;for(let h of this.entries)h&&(h.levelBase+=t,o[(h.slot*Ra+3)*4+3]=h.levelBase);this.needsRebuild=!0}writeGeometry(b){let a=b.data,d=a.positions.length/3,t=this.vertexData.array,e=new Float32Array(t.buffer,t.byteOffset,t.length);for(let l=0;l<d;l++){let g=(b.vertexBase+l)*4;e[g]=a.positions[l*3],e[g+1]=a.positions[l*3+1],e[g+2]=a.positions[l*3+2],t[g+3]=Gc(a.normals[l*3],a.normals[l*3+1],a.normals[l*3+2])}this.vertexData.touch(b.vertexBase,d);let n=this.vertexAttrs.array,o=a.uvs?Dc(a.uvs):null;o&&(b.uvScale=o.scale,b.uvOffset=o.offset);let h=l=>Math.round(Math.max(0,Math.min(1,l))*255);for(let l=0;l<d;l++){let g=(b.vertexBase+l)*2;n[g]=a.colors?(h(a.colors[l*3])|h(a.colors[l*3+1])<<8|h(a.colors[l*3+2])<<16|255<<24)>>>0:4294967295,n[g+1]=o?o.packed[l]:0}this.vertexAttrs.touch(b.vertexBase,d),this.meshletBounds.array.set(a.meshletBounds,b.meshletBase*16),this.meshletBounds.touch(b.meshletBase,a.meshletCount);let m=this.meshletInfo.array;for(let l=0;l<a.meshletCount;l++){let g=(b.meshletBase+l)*4,u=l*4;m[g]=a.meshletInfo[u],m[g+1]=a.meshletInfo[u+1]+b.triangleBase*3,m[g+2]=a.meshletInfo[u+2],m[g+3]=a.meshletInfo[u+3]+b.meshletVertexBase}this.meshletInfo.touch(b.meshletBase,a.meshletCount);let i=this.meshletVertices.array;for(let l=0;l<a.meshletVertices.length;l++)i[b.meshletVertexBase+l]=a.meshletVertices[l]+b.vertexBase;this.meshletVertices.touch(b.meshletVertexBase,a.meshletVertices.length),this.meshletTriangles.array.set(a.meshletTriangles,b.triangleBase),this.meshletTriangles.touch(b.triangleBase,a.meshletTriangles.length);let s=this.meshTable.array;for(let l=0;l<b.levelCount;l++){let g=(b.levelBase+l*2)*4;s[g]=a.levelRanges[l*2]+b.meshletBase,s[g+1]=a.levelRanges[l*2+1],s[g+2]=a.levelErrors[l*2],s[g+3]=a.levelErrors[l*2+1],s[g+4]=a.levelGuardErrors[l*2],s[g+5]=a.levelGuardErrors[l*2+1],s[g+6]=0,s[g+7]=0}this.meshTable.touch(b.levelBase,b.levelCount*2)}writeMeshRecord(b,a){let d=this.meshTable.array,t=b.slot*Ra*4;d.set(b.data.boundingSphere,t),d.set(b.data.lodBoundsSphere,t+4),d.set(b.data.cullBoundsSphere,t+8),d.set([a.maxDrawDistance,a.minPixelRadius,b.levelCount,b.levelBase],t+12),d.set([b.uvScale[0],b.uvScale[1],b.uvOffset[0],b.uvOffset[1]],t+16),d.set([a.enabled,a.shadow,a.occlusion,0],t+20),this.meshTable.touch(b.slot*Ra,Ra),this.dirty=!0}writeFlags(b,a){let d=this.meshTable.array,t=b.slot*Ra*4,e=(n,o)=>{o===void 0||d[t+n]===o||(d[t+n]=o,this.meshTable.touch(b.slot*Ra+(n>>2),1),this.dirty=!0)};e(12,a.maxDrawDistance),e(13,a.minPixelRadius),e(20,a.enabled),e(21,a.shadow),e(22,a.occlusion)}readFlag(b,a){let d={maxDrawDistance:12,minPixelRadius:13,enabled:20,shadow:21,occlusion:22};return this.meshTable.array[b.slot*Ra*4+d[a]]}writeInstances(b,a,d,t){let e=this.instances.array;for(let n=0;n<b.instanceCount;n++){let o=t[n],h=(b.instanceBase+n)*Ia*4;e.set(a.subarray(o*16,o*16+16),h),d?e.set(d.subarray(o*4,o*4+3),h+16):e.fill(1,h+16,h+19),e[h+19]=b.slot}this.instances.touch(b.instanceBase*Ia,b.instanceCount*Ia);for(let n=0;n<b.cellCount;n++)this.computeCell(b,n);this.cells.touch(b.cellBase*Sa,b.cellCount*Sa)}setMatrix(b,a,d){d.toArray(this.instances.array,(b.instanceBase+a)*Ia*4)}commitInstances(b,a){this.instances.touch(b.instanceBase*Ia,b.instanceCount*Ia);for(let d of a)this.computeCell(b,d),this.cells.touch((b.cellBase+d)*Sa,Sa);this.dirty=!0}computeCell(b,a){let d=this.instances.array,t=a*Db,e=Math.min(t+Db,b.instanceCount),n=new Float64Array(4),o=[1/0,1/0,1/0],h=[-1/0,-1/0,-1/0],m=0;for(let r=t;r<e;r++){Ae(d,(b.instanceBase+r)*Ia*4,b.data.boundingSphere,n);for(let j=0;j<3;j++)o[j]=Math.min(o[j],n[j]-n[3]),h[j]=Math.max(h[j],n[j]+n[3]);m=Math.max(m,n[3])}let i=(o[0]+h[0])/2,s=(o[1]+h[1])/2,l=(o[2]+h[2])/2,g=0;for(let r=t;r<e;r++)Ae(d,(b.instanceBase+r)*Ia*4,b.data.boundingSphere,n),g=Math.max(g,Math.hypot(n[0]-i,n[1]-s,n[2]-l)+n[3]);let u=(b.cellBase+a)*Sa*4;this.cells.array.set([i,s,l,g*(1+1e-4)+.001,m*(1+1e-4)+1e-4,b.slot,b.instanceBase+t,e-t],u)}prepare(b){if(this.ensureBuilt(),this.indexBuffersReady)return;let a=b.backend;a.createIndexAttribute(this.cameraIndex),a.createIndexAttribute(this.shadowIndex),this.indexBuffersReady=!0}ensureBuilt(){this.needsRebuild&&this.build()}build(){this.needsRebuild=!1,this.indexBuffersReady=!1,this.pipelineState="none",this.hasCut=!1,this.version++;for(let F of this.computeNodes)F.dispose();let b=this.context,a=this.capacity,d=this.meshSlotCapacity,t=a.meshlets,e=Math.floor(this.instances.capacity/Ia),n=Math.floor(this.cells.capacity/Sa),o=a.triangles*3,h=a.shadowTriangles*3,m=(F,V)=>za(F.attribute,V,F.capacity),i=m(this.vertexData,"uvec4").toReadOnly(),s=m(this.vertexAttrs,"uvec2").toReadOnly(),l=m(this.meshletBounds,"vec4").toReadOnly(),g=m(this.meshletInfo,"uvec4").toReadOnly(),u=m(this.meshletVertices,"uint").toReadOnly(),r=m(this.meshletTriangles,"uint").toReadOnly(),j=m(this.meshTable,"vec4").toReadOnly(),y=m(this.instances,"vec4").toReadOnly(),w=m(this.cells,"vec4").toReadOnly();this.countersAttribute=new Ba.StorageBufferAttribute(new Uint32Array(sb+2*d*2),1),this.drawArgsAttribute=new Ba.IndirectStorageBufferAttribute(new Uint32Array(2*d*5),1),this.cameraIndex=new Ba.StorageBufferAttribute(new Uint32Array(o),1),this.shadowIndex=new Ba.StorageBufferAttribute(new Uint32Array(h),1);let E=new Ba.StorageBufferAttribute(new Uint32Array(n*4),4),f=new Ba.StorageBufferAttribute(new Uint32Array(e*2*4),4),k=new Ba.StorageBufferAttribute(new Uint32Array(t*2*4),4),p=()=>new Ba.IndirectStorageBufferAttribute(new Uint32Array(3),3),M=p(),v=[p(),p()],x=[p(),p()],I=za(this.countersAttribute,"uint",this.countersAttribute.count).toAtomic(),A=za(this.drawArgsAttribute,"uint",this.drawArgsAttribute.count),z=za(this.cameraIndex,"uint",o),N=za(this.shadowIndex,"uint",h),R=za(E,"uvec4",n),U=za(E,"uvec4",n).toReadOnly(),G=za(f,"uvec4",e*2),O=za(k,"uvec4",t*2),S=za(k,"uvec4",t*2).toReadOnly(),J=za(M,"uint",3),q=v.map(F=>za(F,"uint",3)),B=x.map(F=>za(F,"uint",3)),P=(F,V)=>I.element(2+F*wb+V),D=(F,V)=>I.element(K(sb+F*d*2).add(V.mul(2))),L=(F,V)=>I.element(K(sb+F*d*2+1).add(V.mul(2))),_=[o,h],ia=[z,N],T=b.errorThreshold.mul(b.shadowErrorScale),C=[b.errorThreshold,T],H=b.minPixelRadius,Z=b.occlusion,ca=(F,V)=>y.element(F.mul(Ia).add(V)),oa=F=>{let V=[0,1,2,3].map(Y=>ca(F,Y).toVar()),X=Qt(V[0],V[1],V[2],V[3]).toVar(),W=Qa(hb(V[0].xyz),Qa(hb(V[1].xyz),hb(V[2].xyz))).toVar();return{model:X,scale:W,columns:V}},aa=(F,V)=>j.element(F.mul(Ra).add(V)),Fa=(F,V,X,W)=>{let Y=b.viewMatrix.mul(F.mul(Ua(X.xyz,1))),ta=Qa(hb(Y.xyz).sub(X.w.mul(V)),b.near),ka=W.mul(V).div(ta).mul(b.projScale);return lb(W.greaterThanEqual(1e30*.5),Na(1e30),ka)},ea=(F,V)=>{let X=Na(1e30);for(let W of b.frustumPlanes){let Y=xc(W.xyz,F).add(W.w);V!==!1&&(Y=Y.add(Qa(xc(W.xyz,b.shadowSweep),0).mul(V===!0?1:lb(V,Na(1),Na(0))))),X=Fc(X,Y)}return X},la=(F,V,X)=>{let W=b.viewMatrix.mul(Ua(V,1)).xyz.toVar(),Y=W.z.abs().mul(b.errorThreshold).div(b.projScale);return F.and(Z.activeNode.equal(1)).and(Z.occluded(W,X.add(Y)))},ga=(F,V)=>{F.element(0).assign(pb(V,K(we))),F.element(1).assign(V.add(we-1).div(we)),F.element(2).assign(K(1))},Wa=ab(()=>{let F=ke;ha(F.lessThan(K(sb)),()=>{Tb(I.element(F),K(0))}),ha(F.lessThan(this.meshSlots.mul(4)),()=>{let V=F.div(this.meshSlots.mul(2)),X=F.mod(this.meshSlots.mul(2));Tb(I.element(K(sb).add(V.mul(d*2)).add(X)),K(0))})})().compute(Math.max(sb,d*4),[64]),Ca=ab(()=>{ha(ke.greaterThanEqual(this.cellCount),()=>{db()});let F=ke.toVar(),V=w.element(F.mul(Sa)).toVar(),X=w.element(F.mul(Sa).add(1)).toVar(),W=K(X.y).toVar(),Y=aa(W,5).toVar();ha(Y.x.equal(0),()=>{db()});let ta=V.xyz.toVar(),ka=V.w.toVar();ha(b.frustumCulling.equal(1).and(ea(ta,Y.y.greaterThan(.5)).lessThan(ka.negate())),()=>{db()});let da=aa(W,3).toVar(),pa=Qa(H,da.y),sa=X.x,na=hb(b.viewMatrix.mul(Ua(ta,1)).xyz).toVar().sub(ka).toVar();ha(na.greaterThan(sa).and(sa.mul(b.projScale).div(Qa(na,1e-6)).lessThan(pa)),()=>{db()}),ha(na.greaterThan(da.x),()=>{db()});let ja=nb(I.element(0),K(1)).toVar();R.element(ja).assign(Xb(W,K(X.z),K(X.w),F))})().compute(n,[Yb]),$=ab(()=>{ga(J,rb(I.element(0)).toVar())})().compute(1),fa=ad("vec4",Ic*2),ma=(F,V,X,W,Y,ta,ka,da,pa,sa)=>{let ua=C[F],na=K(4294967295).toVar(),ja=K(0).toVar(),xa=K(0).toVar(),La=K(0).toVar();yb({start:K(0),end:X,type:"uint",condition:"<"},({i:va})=>{let ba=fa.element(va.mul(2)).toVar(),Ea=fa.element(va.mul(2).add(1)).toVar(),wa=K(ba.x).toVar(),cb=K(ba.y).toVar(),mb=ba.z.mul(sa).lessThanEqual(ua).and(ba.w.greaterThanEqual(1e30*.5).or(ba.w.mul(pa).greaterThan(ua))),Sb=Ea.x.mul(pa).lessThanEqual(ua.mul(1-.001)).and(Ea.y.greaterThanEqual(1e30*.5).or(Ea.y.mul(sa).greaterThan(ua.mul(1+.001))));ha(mb,()=>{na.assign(pb(na,wa)),ja.assign(Tc(ja,wa.add(cb))),xa.addAssign(cb),ha(Sb,()=>{La.addAssign(cb)})})});let $a=ka.mul(Ua(Y.xyz,1)).xyz.toVar(),Ta=Y.w.mul(da).toVar(),Xa=xa.greaterThan(K(0)).and(xa.equal(ja.sub(na))).and(La.equal(xa)).and(xa.lessThanEqual(K(4))).and(b.frustumCulling.equal(0).or(ea($a,F===1).greaterThanEqual(Ta))).toVar();ha(ja.greaterThan(na),()=>{nb(P(F,Nc),K(1)),ha(Xa,()=>{let va=nb(P(F,Qb),xa).toVar();for(let ba=0;ba<4;ba++)ha(K(ba).lessThan(xa).and(va.add(ba).lessThan(K(t))),()=>{let Ea=na.add(ba).toVar(),wa=g.element(Ea).x.toVar(),cb=nb(D(F,V),wa.mul(3)).toVar();O.element(va.add(ba+F*t)).assign(Xb(ta,Ea,cb,wa))})}).Else(()=>{let va=nb(P(F,ve),K(1)).toVar(),ba=V.bitOr(lb(W,K(2147483648),K(0)));G.element(va.add(F*e)).assign(Xb(ta,na,ja,ba))})})},ya=ab(()=>{let F=kb.x.add(kb.y.mul(pe.x)).toVar(),V=F.lessThan(rb(I.element(0))).toVar(),X=U.element(pb(F,K(n-1))).toVar(),W=X.x,Y=aa(W,3).toVar(),ta=lb(V,pb(K(Y.z),K(Ic)),K(0)).toVar(),ka=K(Y.w).toVar();yb({start:Lb.x,end:ta.mul(2),type:"uint",condition:"<",update:Yb},({i:Ta})=>{fa.element(Ta).assign(j.element(ka.add(Ta)))}),bd(),ha(V.not(),()=>{db()});let da=aa(W,0).toVar(),pa=aa(W,1).toVar(),sa=aa(W,2).toVar(),ua=aa(W,5).toVar(),na=ua.y.greaterThan(.5),ja=ua.z.greaterThan(.5),xa=Qa(H,Y.y).toVar(),La=Y.x.toVar(),$a=X.y.add(X.z);yb({start:X.y.add(Lb.x),end:$a,type:"uint",condition:"<",update:Yb},({i:Ta})=>{let Xa=Ta.toVar(),{model:va,scale:ba}=oa(Xa),Ea=va.mul(Ua(da.xyz,1)).xyz.toVar(),wa=da.w.mul(ba).toVar(),cb=b.frustumCulling.equal(0),mb=cb.or(ea(Ea,!1).greaterThanEqual(wa.negate())).toVar(),Sb=na.and(cb.or(ea(Ea,!0).greaterThanEqual(wa.negate()))).toVar(),ce=hb(b.viewMatrix.mul(Ua(Ea,1)).xyz).toVar(),bt=ce.greaterThan(wa).and(wa.mul(b.projScale).div(ce).lessThan(xa)),et=ce.sub(wa).greaterThan(La),ct=mb.or(Sb).and(bt.not()).and(et.not());ha(ct,()=>{ha(mb.and(la(ja,Ea,wa)),()=>{mb.assign(wc(!1)),nb(I.element(1),K(1))});let tt=b.viewMatrix.mul(va.mul(Ua(pa.xyz,1))),Ke=hb(tt.xyz).toVar(),qe=pa.w.mul(ba),We=ba.mul(b.projScale).div(Qa(Ke.sub(qe),b.near)).toVar(),Le=ba.mul(b.projScale).div(Qa(Ke.add(qe),b.near)).toVar();ha(mb,()=>{ma(0,W,ta,ja,sa,Xa,va,ba,We,Le)}),ha(Sb,()=>{ma(1,W,ta,wc(!1),sa,Xa,va,ba,We,Le)})})})})().compute(M,[Yb]),Ha=F=>{let V=ab(()=>{ga(q[F],rb(P(F,ve)).toVar())})().compute(1),X=ab(()=>{let W=kb.x.add(kb.y.mul(pe.x)).toVar();ha(W.greaterThanEqual(rb(P(F,ve))),()=>{db()});let Y=G.element(W.add(F*e)).toVar(),ta=Y.x,ka=Y.w.bitAnd(2147483647).toVar(),da=Y.w.shiftRight(31).equal(1),{model:pa,scale:sa}=oa(ta);yb({start:Y.y.add(Lb.x),end:Y.z,type:"uint",condition:"<",update:Mc},({i:ua})=>{let na=ua,ja=na.mul(16/4).toVar(),xa=l.element(ja.add(3)),La=pa.mul(Ua(xa.xyz,1)).xyz,$a=b.frustumCulling.equal(0).or(ea(La,F===1).greaterThanEqual(xa.w.mul(sa).negate()));F===0&&($a=$a.and(la(da,La,xa.w.mul(sa)).not()));let Ta=l.element(ja.add(2)),Xa=Fa(pa,sa,l.element(ja),Ta.x),va=Fa(pa,sa,l.element(ja.add(1)),Ta.y);ha($a.and(Xa.lessThanEqual(C[F])).and(va.greaterThan(C[F])),()=>{let ba=nb(P(F,Qb),K(1)).toVar();ha(ba.lessThan(K(t)),()=>{let Ea=g.element(na).x.toVar(),wa=nb(D(F,ka),Ea.mul(3)).toVar();O.element(ba.add(F*t)).assign(Xb(ta,na,wa,Ea))})})})})().compute(v[F],[Mc]);return[V,X]},Oa=F=>ab(()=>{let V=K(0).toVar(),X=K(_[F]);yb({start:K(0),end:this.meshSlots,type:"uint",condition:"<"},({i:Y})=>{let ta=rb(D(F,Y)).toVar();Tb(L(F,Y),V);let ka=lb(V.lessThan(X),X.sub(V),K(0)),da=K(F*d*5).add(Y.mul(5)).toVar();A.element(da).assign(pb(ta,ka)),A.element(da.add(1)).assign(K(1)),A.element(da.add(2)).assign(V),A.element(da.add(3)).assign(K(0)),A.element(da.add(4)).assign(K(0)),V.addAssign(ta)}),Tb(P(F,zc),V);let W=pb(rb(P(F,Qb)),K(t)).toVar();Tb(P(F,xe),W),ga(B[F],W)})().compute(1),Je=F=>ab(()=>{let V=kb.x.add(kb.y.mul(pe.x)).toVar();ha(V.greaterThanEqual(rb(P(F,xe))),()=>{db()});let X=V.add(F*t).toVar(),W=S.element(X).toVar(),Y=K(ca(W.x,4).w).toVar(),ta=rb(L(F,Y)).toVar(),ka=g.element(W.y).y.div(3).toVar(),da=X.shiftLeft(Me).toVar(),pa=ia[F];yb({start:Lb.x,end:W.w,type:"uint",condition:"<",update:Ac},({i:sa})=>{let ua=ta.add(W.z).add(sa.mul(3)).toVar();ha(ua.add(2).lessThan(K(_[F])),()=>{let na=r.element(ka.add(sa)).toVar();pa.element(ua).assign(da.bitOr(na.bitAnd(255))),pa.element(ua.add(1)).assign(da.bitOr(na.shiftRight(8).bitAnd(255))),pa.element(ua.add(2)).assign(da.bitOr(na.shiftRight(16).bitAnd(255)))})})})().compute(x[F],[Ac]);this.computeNodes=[Wa,Ca,$,ya,...Ha(0),...Ha(1),Oa(0),Oa(1),Je(0),Je(1)],this.positionNode=ab(()=>{let F=Ec.shiftRight(Me),V=Ec.bitAnd(ed),X=S.element(F).toVar(),W=X.x,Y=X.y,ta=g.element(Y).toVar(),ka=u.element(ta.w.add(V)).toVar(),{model:da,columns:pa}=oa(W),sa=ca(W,4).toVar(),ua=K(sa.w).toVar(),na=aa(ua,3),ja=aa(ua,4).toVar(),xa=i.element(ka).toVar(),La=s.element(ka).toVar(),$a=Rc(xa.xyz,"vec3"),Ta=na.x,Xa=pa[3].xyz,va=hb(b.viewMatrix.mul(Ua(Xa,1)).xyz),ba=Ta.sub(va).div(Ta.mul(cd)).clamp(0,1),Ea=Xa.add(da.mul(Ua($a,0)).xyz.mul(ba)),wa=Oc(da.mul(Ua(td(xa.w),0)).xyz);return Zt.assign(wa),Cb.assign(wa),Ie.assign(Na(Y)),Ne.assign(Na(ta.z)),$b.assign(Na(W)),ze.assign(sa.xyz.mul(dd(La.x).xyz)),ib.assign($t(La.y).mul(ja.xy).add(ja.zw)),Ea})()}async readCounters(b){let a=new Uint32Array(await b.getArrayBufferAsync(this.countersAttribute)),d=this.meshSlotCapacity,t=n=>({selected:a[2+n*wb+Qb],drawn:a[2+n*wb+xe],survived:a[2+n*wb+Nc],requestedTriangles:a[2+n*wb+zc]/3}),e=(n,o)=>a[sb+(n*d+o)*2]/3;return{camera:t(0),shadow:t(1),occluded:a[1],perMesh:e}}drawArgsOffset(b,a){return(b*this.meshSlotCapacity+a)*20}dispose(){for(let b of this.computeNodes)b.dispose();this.computeNodes=[]}};function Ae(c,b,a,d){let[t,e,n,o]=a;d[0]=c[b]*t+c[b+4]*e+c[b+8]*n+c[b+12],d[1]=c[b+1]*t+c[b+5]*e+c[b+9]*n+c[b+13],d[2]=c[b+2]*t+c[b+6]*e+c[b+10]*n+c[b+14];let h=Math.hypot(c[b],c[b+1],c[b+2]),m=Math.hypot(c[b+4],c[b+5],c[b+6]),i=Math.hypot(c[b+8],c[b+9],c[b+10]);d[3]=o*Math.max(h,m,i)}function td(c){let b=Rc(c,"int"),a=Na(b.shiftLeft(16).shiftRight(16)).div(32767),d=Na(b.shiftRight(16)).div(32767),t=Na(1).sub(a.abs()).sub(d.abs()),e=Tc(t.negate(),0),n=a.add(lb(a.greaterThanEqual(0),e.negate(),e)),o=d.add(lb(d.greaterThanEqual(0),e.negate(),e));return Oc(_t(n,o,t))}function dd(c){return Ua(Na(c.bitAnd(255)),Na(c.shiftRight(8).bitAnd(255)),Na(c.shiftRight(16).bitAnd(255)),Na(c.shiftRight(24))).div(255)}function Gc(c,b,a){let d=Math.abs(c)+Math.abs(b)+Math.abs(a)||1,t=c/d,e=b/d;if(a<0){let h=(1-Math.abs(e))*(t>=0?1:-1),m=(1-Math.abs(t))*(e>=0?1:-1);t=h,e=m}let n=Math.round(Math.max(-1,Math.min(1,t))*32767)&65535,o=Math.round(Math.max(-1,Math.min(1,e))*32767)&65535;return(n|o<<16)>>>0}function Dc(c){let b=c.length/2,a=[1/0,1/0],d=[-1/0,-1/0];for(let o=0;o<c.length;o++){let h=o&1;c[o]<a[h]&&(a[h]=c[o]),c[o]>d[h]&&(d[h]=c[o])}b===0&&(a[0]=a[1]=d[0]=d[1]=0);let t=[d[0]-a[0]||1,d[1]-a[1]||1],e=new Uint32Array(b),n=(o,h)=>Math.round(Math.max(0,Math.min(1,(o-a[h])/t[h]))*65535);for(let o=0;o<b;o++)e[o]=(n(c[o*2],0)|n(c[o*2+1],1)<<16)>>>0;return{packed:e,scale:t,offset:[a[0],a[1]]}}function Ee(c){return c&=1023,c=(c|c<<16)&50331903,c=(c|c<<8)&50393103,c=(c|c<<4)&51130563,c=(c|c<<2)&153391689,c}function Uc(c,b){let a=c.length/16,d=new Float64Array(4),t=new Float64Array(a*3),e=[1/0,1/0,1/0],n=[-1/0,-1/0,-1/0];for(let m=0;m<a;m++){Ae(c,m*16,b,d);for(let i=0;i<3;i++)t[m*3+i]=d[i],e[i]=Math.min(e[i],d[i]),n[i]=Math.max(n[i],d[i])}let o=Math.max(n[0]-e[0],n[1]-e[1],n[2]-e[2],1e-9),h=new Uint32Array(a);for(let m=0;m<a;m++){let i=s=>Math.min(1023,Math.max(0,Math.floor((t[m*3+s]-e[s])/o*1024)));h[m]=(Ee(i(0))|Ee(i(1))<<1|Ee(i(2))<<2)>>>0}return nd(h)}function nd(c){let b=c.length,a=Uint32Array.from({length:b},(e,n)=>n),d=new Uint32Array(b),t=new Uint32Array(32768);for(let e of[0,15]){t.fill(0);for(let o=0;o<b;o++)t[c[o]>>>e&32767]++;let n=0;for(let o=0;o<t.length;o++){let h=t[o];t[o]=n,n+=h}for(let o=0;o<b;o++){let h=a[o];d[t[c[h]>>>e&32767]++]=h}[a,d]=[d,a]}return a}var Bc=new WeakMap;function sd(c){let b=Bc.get(c);return b?b.clone():(Bc.set(c,c.clone()),c)}function Te(){let c=new Za.BufferGeometry;return c.setAttribute("position",new Za.BufferAttribute(new Float32Array(3),3)),c.setAttribute("normal",new Za.BufferAttribute(new Float32Array(3),3)),c}var Hb=class extends Za.Mesh{isVirtualMesh=!0;data;instanceCount;fullDetailTriangles;pool;entry;cameraGeometry=Te();shadowGeometry=Te();lastShadowFrame=0;occluder;occlusionCulling=!0;gpuIndexOf;gpuToInput;dirtyCells=new Set;drawingShadow=!1;poolVersion=-1;context;get maxDrawDistance(){let b=this.pool.readFlag(this.entry,"maxDrawDistance");return b>=_b?1/0:b}set maxDrawDistance(b){this.pool.writeFlags(this.entry,{maxDrawDistance:Number.isFinite(b)?Math.max(0,b):_b})}get minPixelRadius(){return this.pool.readFlag(this.entry,"minPixelRadius")}set minPixelRadius(b){this.pool.writeFlags(this.entry,{minPixelRadius:Math.max(0,b)})}get capacity(){return{meshlets:this.pool.capacity.meshlets,triangles:this.pool.capacity.triangles}}constructor(b,a,d,t,e={}){d=sd(d);let n=Te();super(n,d),this.context=b,this.data=a,this.frustumCulled=!1,this.instanceCount=t.matrices.length/16,this.fullDetailTriangles=a.stats.leafTriangles*this.instanceCount,this.occluder=d.side!==Za.DoubleSide&&!d.transparent&&d.alphaTest===0&&!d.alphaHash,this.gpuToInput=Uc(t.matrices,a.boundingSphere),this.gpuIndexOf=new Uint32Array(this.instanceCount);for(let s=0;s<this.instanceCount;s++)this.gpuIndexOf[this.gpuToInput[s]]=s;b.register(this,t),e.maxDrawDistance!==void 0&&(this.maxDrawDistance=e.maxDrawDistance),e.minPixelRadius!==void 0&&(this.minPixelRadius=e.minPixelRadius),ye(d);let o=Oe(d.colorNode??od).toVar(),h=s=>id(Re(s),Re(s.add(17.17)),Re(s.add(43.43))),m=Fe(b.debugMode.equal(Mb.meshlets),h(Ie.add($b.mul(.618))),Fe(b.debugMode.equal(Mb.lodLevel),h(Ne.add(3)),h($b)));d.colorNode=Oe(Fe(b.debugMode.equal(Mb.shaded),o.xyz.mul(ze),m),o.w),d.side===Za.DoubleSide&&!d.normalNode&&(d.normalNode=fd(rd.mul(Oe(Cb,0)).xyz.mul(hd))),this.syncPool(),this.geometry=this.cameraGeometry,n.dispose(),this.onBeforeShadow=(s,l,g,u)=>{this.lastShadowFrame=b.frameCount,b.noteShadowCamera(u),this.drawingShadow=!0,this.geometry=this.shadowGeometry};let i=this.onBeforeRender;this.onBeforeRender=(...s)=>{this.drawingShadow?this.drawingShadow=!1:this.geometry=this.cameraGeometry,i.apply(this,s)}}syncPool(){let b=this.pool;this.poolVersion===b.version||!b.positionNode||(this.poolVersion=b.version,this.cameraGeometry.setIndex(b.cameraIndex),this.cameraGeometry.setIndirect(b.drawArgsAttribute,b.drawArgsOffset(0,this.entry.slot)),this.shadowGeometry.setIndex(b.shadowIndex),this.shadowGeometry.setIndirect(b.drawArgsAttribute,b.drawArgsOffset(1,this.entry.slot)),this.material.positionNode=b.positionNode,this.material.needsUpdate=!0)}markCutDirty(){this.pool.dirty=!0}setMatrixAt(b,a){let d=this.gpuIndexOf[b];this.pool.setMatrix(this.entry,d,a),this.dirtyCells.add(Math.floor(d/Db))}commitInstances(){this.pool.commitInstances(this.entry,this.dirtyCells),this.dirtyCells.clear()}dispose(b){this.visible=!1,(b??this.context).unregister(this),this.removeFromParent()}async readStats(b){let a=await this.pool.readCounters(b);return{drawnTriangles:a.perMesh(0,this.entry.slot),shadowTriangles:a.perMesh(1,this.entry.slot)}}};import*as Q from"three/webgpu";var Cc={MeshPhysicalMaterial:[Q.MeshPhysicalMaterial,Q.MeshPhysicalNodeMaterial],MeshStandardMaterial:[Q.MeshStandardMaterial,Q.MeshStandardNodeMaterial],MeshPhongMaterial:[Q.MeshPhongMaterial,Q.MeshPhongNodeMaterial],MeshLambertMaterial:[Q.MeshLambertMaterial,Q.MeshLambertNodeMaterial],MeshBasicMaterial:[Q.MeshBasicMaterial,Q.MeshBasicNodeMaterial],MeshToonMaterial:[Q.MeshToonMaterial,Q.MeshToonNodeMaterial],MeshMatcapMaterial:[Q.MeshMatcapMaterial,Q.MeshMatcapNodeMaterial],MeshNormalMaterial:[Q.MeshNormalMaterial,Q.MeshNormalNodeMaterial]},ld=[["isMeshPhysicalMaterial","MeshPhysicalMaterial"],["isMeshStandardMaterial","MeshStandardMaterial"],["isMeshPhongMaterial","MeshPhongMaterial"],["isMeshLambertMaterial","MeshLambertMaterial"],["isMeshBasicMaterial","MeshBasicMaterial"],["isMeshToonMaterial","MeshToonMaterial"],["isMeshMatcapMaterial","MeshMatcapMaterial"],["isMeshNormalMaterial","MeshNormalMaterial"]];function Hc(c){let b=c,a=Cc[c.type]?c.type:ld.find(([d])=>b[d]===!0)?.[1];return a?Cc[a]:null}function Ge(c){return c.isNodeMaterial===!0||Hc(c)!==null}function De(c){if(c.isNodeMaterial)return c;let b=Hc(c);if(!b)return null;let[a,d]=b,t=new d,e=t.defines;return a.prototype.copy.call(t,c),t.defines=e,t}import*as bb from"three/webgpu";import*as gb from"three/webgpu";var Ue=1e-6,Vc=1e-4;function Be(c,b={}){let a=c.attributes.position,d=b.uvs??!0?c.attributes.uv:void 0,t=b.colors?c.attributes.color:void 0,e=b.normals==="keep"?c.attributes.normal:void 0,n=c.index,o=n?n.count:a.count,h=Math.max(0,Math.min(o,b.range?.start??0)),m=Math.floor((Math.min(o,h+(b.range?.count??o))-h)/3)*3,i=y=>n?n.getX(h+y):h+y,s=Pc(m,i,[{attribute:a,size:3,tolerance:Ue}]),l=Vb(s.firstVertex,a,3),g=null;if(!e){let y=new gb.BufferGeometry;y.setAttribute("position",new gb.BufferAttribute(l,3)),y.setIndex(new gb.BufferAttribute(s.indices,1)),y.computeVertexNormals(),g=y.attributes.normal.array}if(!d&&!t&&!e)return{positions:l,normals:g,indices:s.indices};let u=[{attribute:a,size:3,tolerance:Ue}];d&&u.push({attribute:d,size:2,tolerance:Ue}),e&&u.push({attribute:e,size:3,tolerance:Vc}),t&&u.push({attribute:t,size:3,tolerance:Vc});let r=Pc(m,i,u),j={positions:Vb(r.firstVertex,a,3),normals:new Float32Array(0),indices:r.indices};if(e){j.normals=Vb(r.firstVertex,e,3);for(let y=0;y<j.normals.length;y+=3){let w=Math.hypot(j.normals[y],j.normals[y+1],j.normals[y+2])||1;j.normals[y]/=w,j.normals[y+1]/=w,j.normals[y+2]/=w}}else{j.normals=new Float32Array(r.firstVertex.length*3);for(let y=0;y<r.firstVertex.length;y++){let w=s.indices[r.firstCorner[y]];j.normals.set(g.subarray(w*3,w*3+3),y*3)}}return d&&(j.uvs=Vb(r.firstVertex,d,2)),t&&(j.colors=Vb(r.firstVertex,t,3)),j}function Vb(c,b,a){let d=new Float32Array(c.length*a);for(let t=0;t<c.length;t++)for(let e=0;e<a;e++)d[t*a+e]=b.getComponent(c[t],e);return d}function Pc(c,b,a){let d=a.reduce((u,r)=>u+r.size,0),t=a.map(({tolerance:u})=>{let r=Math.pow(10,Math.log10(1/u));return{multiplier:r,additive:u*.5*r}}),e=1;for(;e<c*2;)e<<=1;let n=e-1,o=new Int32Array(e).fill(-1),h=new Float64Array(c*d),m=new Float64Array(d),i=new Uint32Array(c),s=new Uint32Array(c),l=new Uint32Array(c),g=0;for(let u=0;u<c;u++){let r=b(u),j=0,y=0;for(let w=0;w<a.length;w++){let{attribute:E,size:f}=a[w],{multiplier:k,additive:p}=t[w];for(let M=0;M<f;M++,y++)m[y]=Math.trunc(E.getComponent(r,M)*k+p),j=j^Math.imul(m[y]|0,Sc[y%Sc.length])|0}for(j&=n;;){let w=o[j];if(w<0){o[j]=g,h.set(m,g*d),i[g]=r,s[g]=u,l[u]=g++;break}let E=!0;for(let f=0;f<d&&E;f++)E=h[w*d+f]===m[f];if(E){l[u]=w;break}j=j+1&n}}return{indices:l,firstVertex:i.slice(0,g),firstCorner:s.slice(0,g)}}var Sc=[73856093,19349663,83492791,2654435761,2246822519,3266489917,668265263,374761393,1181783497,3735928559,2028178513];function gd(c){let b=c.reduce((s,l)=>s+l.mesh.positions.length/3,0),a=c.reduce((s,l)=>s+l.mesh.indices.length,0),d=new Float32Array(b*3),t=new Float32Array(b*3),e=new Float32Array(b*3),n=c.some(s=>s.mesh.uvs)?new Float32Array(b*2):null,o=new Uint32Array(a),h=new gb.Color,m=0,i=0;for(let{mesh:s,color:l=16777215}of c){let g=s.positions.length/3;if(d.set(s.positions,m*3),t.set(s.normals,m*3),n&&s.uvs&&n.set(s.uvs,m*2),s.colors)e.set(s.colors,m*3);else{h.set(l);for(let u=0;u<g;u++)e.set([h.r,h.g,h.b],(m+u)*3)}for(let u=0;u<s.indices.length;u++)o[i+u]=s.indices[u]+m;m+=g,i+=s.indices.length}return n?{positions:d,normals:t,colors:e,uvs:n,indices:o}:{positions:d,normals:t,colors:e,indices:o}}var md=ge,ae=new WeakSet;function ud(c){let b=c;if(!b.isMesh)return"not a mesh";if(b.isVirtualMesh)return"already a VirtualMesh";if(b.isSkinnedMesh)return"skinned";if(b.isBatchedMesh)return"batched";let a=b.geometry;if(!a?.attributes?.position||a.isInstancedBufferGeometry)return"unsupported geometry";let d=a.morphAttributes;return(d.position?.length??0)>0||(d.normal?.length??0)>0||(b.morphTargetInfluences?.length??0)>0?"morph targets":(Array.isArray(b.material)?b.material:[b.material]).some(e=>!e||!Ge(e))?"material without a node equivalent":null}function Jc(c,b){c.updateWorldMatrix(!0,!0);let a=new Map,d=[],t=[],e=new bb.Matrix4,n=new bb.Matrix4,o=new bb.Color;c.traverse(m=>{if(!m.isMesh||ae.has(m))return;let i=m,s=ud(i)??(b&&!b(i)?"filtered out":null);if(s){t.push({object:i,reason:s});return}let l=i.geometry,g=Array.isArray(i.material)?i.material:[i.material],u=jd(l,Array.isArray(i.material));if(u.length===0)return;d.push(i);let r=i.isInstancedMesh?i:null,j=r?r.count:1,y=yd(i);for(let{start:w,count:E,materialIndex:f}of u){let k=g[f];if(!k)continue;let p=k.vertexColors===!0&&l.attributes.color!==void 0,M=[l.id,w,E,k.uuid,i.castShadow,i.receiveShadow,y,i.renderOrder,i.layers.mask].join(":"),v=a.get(M);v||(v={geometry:l,range:{start:w,count:E},material:k,matrices:new Float32Array(0),colors:null,instances:[],vertexColors:p,castShadow:i.castShadow,receiveShadow:i.receiveShadow,visible:y,renderOrder:i.renderOrder,layers:i.layers.mask,name:i.name,userData:{...i.userData},matrixList:[],colorList:null},a.set(M,v));for(let x=0;x<j;x++){r?(r.getMatrixAt(x,e),n.multiplyMatrices(i.matrixWorld,e)):n.copy(i.matrixWorld),v.matrixList.push(...n.elements);let I=!!r?.instanceColor;I&&r.getColorAt(x,o),I&&!v.colorList&&(v.colorList=new Array(v.instances.length*4).fill(1)),v.colorList&&(I?v.colorList.push(o.r,o.g,o.b,1):v.colorList.push(1,1,1,1)),v.instances.push({object:i,index:r?x:-1})}}});let h=[];for(let{matrixList:m,colorList:i,...s}of a.values())s.matrices=Float32Array.from(m),s.colors=i?Float32Array.from(i):null,h.push(s);return{groups:h,meshes:d,skipped:t}}function jd(c,b){let a=c.index?c.index.count:c.attributes.position.count,d=Math.max(0,c.drawRange.start),t=Math.min(a,d+c.drawRange.count),e=b?c.groups:[{start:0,count:a,materialIndex:0}],n=[];for(let o of e){let h=Math.max(o.start,d),m=Math.min(o.start+o.count,t);m-h>=3&&n.push({start:h,count:m-h,materialIndex:o.materialIndex??0})}return n}function yd(c){for(let b=c;b;b=b.parent)if(!b.visible)return!1;return!0}var be=class{constructor(b,a){this.context=b;this.object.name="VirtualGeometryImport",this.groups=a.groups,this.skipped=a.skipped,this.stats.sourceMeshes=a.meshes.length,this.stats.instances=a.groups.reduce((d,t)=>d+t.instances.length,0)}context;object=new bb.Group;meshes=[];groups;skipped;stats={sourceMeshes:0,instances:0,uniqueGeometries:0,buildMs:0};hidden=new Map;detached=new Map;hide(b,a){let d=new Set;for(let t of b){if(ae.add(t),t.children.length===0&&t.parent){this.detached.set(t,t.parent),d.add(t.parent),t.parent.remove(t);continue}this.hidden.has(t)||this.hidden.set(t,t.layers.mask),t.layers.disableAll()}for(let t of d)for(;t!==a&&t.children.length===0&&t.parent&&(t.type==="Group"||t.type==="Object3D");){let e=t.parent;this.detached.set(t,e),e.remove(t),t=e}}worldMatrixOf(b){let a=this.detached.get(b);return a?(b.updateMatrix(),b.matrixWorld.multiplyMatrices(this.worldMatrixOf(a),b.matrix)):(b.updateWorldMatrix(!0,!1),b.matrixWorld)}syncTransforms(){let b=new bb.Matrix4,a=new bb.Matrix4,d=new Set;this.groups.forEach((t,e)=>{let n=this.meshes[e];t.instances.forEach(({object:o,index:h},m)=>{d.has(o)||(this.worldMatrixOf(o),d.add(o)),h>=0?(o.getMatrixAt(h,a),b.multiplyMatrices(o.matrixWorld,a)):b.copy(o.matrixWorld),n.setMatrixAt(m,b)}),n.commitInstances()})}dispose(){for(let b of this.meshes)b.dispose(this.context),b.material.dispose(),b.geometry.dispose();this.meshes.length=0;for(let[b,a]of this.hidden)b.layers.mask=a,ae.delete(b);this.hidden.clear();for(let[b,a]of this.detached)a.add(b),ae.delete(b);this.detached.clear(),this.object.removeFromParent()}};async function Ce(c,b,a={}){let d=performance.now(),t=a.builder??md,e=Jc(b,a.filter),n=new be(c,e),o=new Map,h=u=>`${u.geometry.id}:${u.range.start}:${u.range.count}:${u.vertexColors}`;for(let u of n.groups){let r=h(u);o.has(r)||o.set(r,{group:u,triangles:u.range.count/3})}n.stats.uniqueGeometries=o.size;let m=[...o.values()].reduce((u,r)=>u+r.triangles,0)||1,i=0;for(let u of o.values()){let{geometry:r,range:j,vertexColors:y}=u.group,w=Be(r,{range:j,colors:y,normals:r.attributes.normal?"keep":"compute"});u.data=await t(w,{...a.build,onProgress:E=>a.onProgress?.((i+E*u.triangles)/m)}),i+=u.triangles}let s=new Map,l=[],g=new Set;for(let u of n.groups){let r=kd(u,a,s);if(!r){for(let{object:w}of u.instances)g.add(w);continue}let j=typeof a.mesh=="function"?a.mesh(u):a.mesh,y=c.createMesh(o.get(h(u)).data,r,{matrices:u.matrices,colors:u.colors??void 0},j);y.matrixAutoUpdate=!1,y.matrixWorldAutoUpdate=!1,y.name=u.name,y.userData={...u.userData},y.castShadow=u.castShadow,y.receiveShadow=u.receiveShadow,y.visible=u.visible,y.renderOrder=u.renderOrder,y.layers.mask=u.layers,n.meshes.push(y),l.push(u),n.object.add(y)}return n.groups=l,(a.replace??!0)&&(n.hide(e.meshes.filter(u=>!g.has(u)),b),b.add(n.object)),await a.onProgress?.(1),n.stats.buildMs=performance.now()-d,n}function kd(c,b,a){let d=c.material,t=!!(d.normalMap&&c.geometry.attributes.tangent&&d.normalMap.flipY===!1),e=`${d.uuid}:${t}`;if(a.has(e))return a.get(e);let n;if(b.material?n=b.material(d,c):(n=De(d),n===d&&(n=d.clone())),n&&t){let o=n.normalScale;o&&(n.normalScale=o.clone().setY(-o.y))}return a.set(e,n),n}import*as Aa from"three/webgpu";import{uniform as qa}from"three/tsl";import*as Ma from"three/webgpu";import{Fn as Kc,If as qc,Return as Wc,ceil as pd,clamp as xb,exp2 as wd,float as He,floor as vb,instanceIndex as Lc,int as Xc,ivec2 as xd,log2 as vd,max as Ed,min as Md,storage as Yc,texture as Ad,uint as Ka,uniform as Id}from"three/tsl";var Ve=16,Qc=Ve*4+4,Zc=Ve*4,$c=64,Nd=[],_c=c=>c.reduce((b,a)=>b+a,0)/c.length,Pb=Md,eb=Ed,ee=class{enabled=!0;auto=!0;autoProbeFrames=40;autoHoldFrames=900;autoChoice=!1;phase="hold";phaseFrames=this.autoHoldFrames-120;samples=[];offMean=0;lastTick=0;resolutionScale=.5;maxSize;active=!1;activeNode=Id(0,"uint");depthScene=new Ma.Scene;proxies=new Map;projection;near;levelCapacity;levelOffsets=[];hzbAttribute;hzbWrite;hzbRead;buildNodes=[];renderTarget=null;width=0;height=0;levels=0;bufferSize=new Ma.Vector2;constructor(b,a,d=1024){this.maxSize=Math.max(1,Math.min(1<<Ve-1,d)),this.projection=b,this.near=a;let t=this.maxSize,e=Qc,n=0;for(;this.levelOffsets.push(e),e+=t*t,n++,t!==1;)t=Math.ceil(t/2);this.levelCapacity=n,this.hzbAttribute=new Ma.StorageBufferAttribute(new Float32Array(e),1),this.hzbWrite=Yc(this.hzbAttribute,"float",e),this.hzbRead=Yc(this.hzbAttribute,"float",e).toReadOnly()}occluded(b,a){let d=this.projection,t=b.z.negate(),e=t.sub(a).toVar(),n=t.add(a),o=b.x.sub(a),h=b.x.add(a),m=b.y.sub(a),i=b.y.add(a),s=d.element(0).x,l=d.element(1).y,g=Pb(o.div(e),o.div(n)).mul(s).sub(d.element(2).x),u=eb(h.div(e),h.div(n)).mul(s).sub(d.element(2).x),r=Pb(m.div(e),m.div(n)).mul(l).sub(d.element(2).y),j=eb(i.div(e),i.div(n)).mul(l).sub(d.element(2).y),y=d.element(3).z.div(e).sub(d.element(2).z),w=e.lessThanEqual(this.near),E=this.hzbRead,f=E.element(1),k=E.element(2),p=He(0),M=xb(vb(g.mul(.5).add(.5).mul(f)),p,f.sub(1)),v=xb(vb(u.mul(.5).add(.5).mul(f)),p,f.sub(1)),x=xb(vb(He(.5).sub(j.mul(.5)).mul(k)),p,k.sub(1)),I=xb(vb(He(.5).sub(r.mul(.5)).mul(k)),p,k.sub(1)),A=eb(v.sub(M),I.sub(x)).add(1),z=Pb(pd(vd(A)),E.element(Zc).sub(1)),N=Ka(z).mul(4),R=wd(z),U=E.element(N),G=E.element(N.add(1)),O=E.element(N.add(2)),S=(q,B)=>{let P=xb(vb(q.div(R)),p,G.sub(1)),D=xb(vb(B.div(R)),p,O.sub(1));return E.element(Ka(U.add(D.mul(G)).add(P)))},J=eb(eb(S(M,x),S(v,x)),eb(S(M,I),S(v,I)));return w.not().and(y.lessThan(1)).and(y.greaterThan(J.add(1e-6)))}tick(b){let a=this.lastTick?b-this.lastTick:0;this.lastTick=b,!(!this.auto||!this.enabled)&&(this.phaseFrames++,this.phase!=="hold"&&this.phaseFrames>5&&a>0&&a<250&&this.samples.push(a),this.phase==="probeOff"&&this.samples.length>=this.autoProbeFrames?(this.offMean=_c(this.samples),this.next("probeOn")):this.phase==="probeOn"&&this.samples.length>=this.autoProbeFrames?(this.autoChoice=_c(this.samples)<this.offMean*.97,this.next("hold")):this.phase==="hold"&&this.phaseFrames>=this.autoHoldFrames&&this.next("probeOff"))}next(b){this.phase=b,this.phaseFrames=0,this.samples=[]}autoWanted(){return this.phase==="probeOn"||this.phase==="hold"&&this.autoChoice}proxyOf(b){let a=this.proxies.get(b);a||(a=new Ma.Mesh(b.cameraGeometry,new Ma.MeshBasicNodeMaterial({colorWrite:!1})),a.frustumCulled=!1,this.depthScene.add(a),this.proxies.set(b,a));let d=a.material;return d.positionNode!==b.pool.positionNode&&(d.positionNode=b.pool.positionNode,d.needsUpdate=!0),a}unregisterMesh(b){let a=this.proxies.get(b);a&&(this.proxies.delete(b),a.removeFromParent(),a.material.dispose())}wantsFrame(b,a,d){let t=b,e=a.isPerspectiveCamera&&!t.reversedDepthBuffer&&!t.logarithmicDepthBuffer;return this.enabled&&e&&(!this.auto||this.autoWanted())}beginFrame(b,a,d){let t=!1;for(let m of d){let i=m.visible&&m.occluder&&m.pool.hasCut&&!!m.pool.positionNode;if(!i&&!this.proxies.has(m))continue;let s=this.proxyOf(m);s.visible=i,t=t||i}if(this.active=t,this.activeNode.value=t?1:0,!t)return Nd;b.getDrawingBufferSize(this.bufferSize);let e=Math.min(this.resolutionScale,this.maxSize/Math.max(this.bufferSize.x,this.bufferSize.y)),n=Math.max(1,Math.round(this.bufferSize.x*e)),o=Math.max(1,Math.round(this.bufferSize.y*e));(n!==this.width||o!==this.height)&&this.resize(n,o);let h=b.getRenderTarget();return b.setRenderTarget(this.renderTarget),b.render(this.depthScene,a),b.setRenderTarget(h),this.buildNodes}resize(b,a){let d=this.buildNodes;this.renderTarget?.dispose();let t=new Ma.DepthTexture(b,a);t.type=Ma.FloatType,this.renderTarget=new Ma.RenderTarget(b,a,{depthBuffer:!0,depthTexture:t}),this.width=b,this.height=a;let e=this.hzbAttribute.array;e.fill(0,0,Qc);let n=b,o=a,h=0;for(let l=0;l<this.levelCapacity&&(e[l*4]=this.levelOffsets[l],e[l*4+1]=n,e[l*4+2]=o,h++,!(n===1&&o===1));l++)n=Math.max(1,Math.ceil(n/2)),o=Math.max(1,Math.ceil(o/2));this.levels=h,e[Zc]=h,this.hzbAttribute.needsUpdate=!0;let m=Ad(t),i=this.hzbWrite,s=Kc(()=>{let l=Lc,g=Ka(i.element(1)),u=Ka(i.element(2));qc(l.greaterThanEqual(g.mul(u)),()=>{Wc()});let r=l.mod(g),j=l.div(g),y=Ka(i.element(0)).toVar();i.element(y.add(l)).assign(m.load(xd(Xc(r),Xc(j))))})().compute(b*a,[$c]);this.buildNodes=[s],n=b,o=a;for(let l=1;l<h;l++)n=Math.max(1,Math.ceil(n/2)),o=Math.max(1,Math.ceil(o/2)),this.buildNodes.push(Kc(()=>{let g=Lc,u=Ka(i.element(l*4)).toVar(),r=Ka(i.element(l*4+1)),j=Ka(i.element(l*4+2));qc(g.greaterThanEqual(r.mul(j)),()=>{Wc()});let y=g.mod(r),w=g.div(r),E=Ka(i.element((l-1)*4)).toVar(),f=Ka(i.element((l-1)*4+1)),k=Ka(i.element((l-1)*4+2)),p=y.mul(2),M=w.mul(2),v=Pb(p.add(1),f.sub(1)),x=Pb(M.add(1),k.sub(1)),I=E.add(M.mul(f)),A=E.add(x.mul(f)),z=eb(eb(i.element(I.add(p)),i.element(I.add(v))),eb(i.element(A.add(p)),i.element(A.add(v))));i.element(u.add(g)).assign(z)})().compute(n*o,[$c]));for(let l of d)l.dispose()}dispose(){this.renderTarget?.dispose(),this.renderTarget=null;for(let b of[...this.proxies.keys()])this.unregisterMesh(b)}};var Pe=44,zd=new Aa.Vector3;function at(c,b){return Math.min(64,c*Math.min(2,Math.max(1.04,Math.sqrt(b/.85))))}var Se=class{viewMatrix=qa(new Aa.Matrix4);projectionMatrix=qa(new Aa.Matrix4);projScale=qa(1);near=qa(.1);errorThreshold=qa(1);triangleBudget=0;thresholdRange=[.5,3];lastStats=null;statsInterval=10;frameCount=0;guardBase=null;outOfBand=0;guardWritten=NaN;statsPending=!1;frustumCulling=qa(1,"uint");debugMode=qa(0,"uint");minPixelRadius=qa(.7);frustumPlanes=Array.from({length:6},()=>qa(new Aa.Vector4));shadowSweep=qa(new Aa.Vector3);autoShadowSweep=!0;shadowErrorScale=qa(3);detectedSweep=new Aa.Vector3;detectedSweepFrame=-1/0;occlusion=new ee(this.projectionMatrix,this.near);freeze=!1;autoUpdate=!0;errorInCssPixels=!0;meshes=[];pools=[];capacity;maxPoolBytes;constructor(b={}){this.capacity={triangles:b.maxTriangles??1e7,shadowTriangles:b.maxShadowTriangles??4e6,meshlets:Math.min(b.maxMeshlets??1<<20,1<<24)},this.maxPoolBytes=b.maxPoolBytes??120*1024*1024}frustum=new Aa.Frustum;projScreen=new Aa.Matrix4;size=new Aa.Vector2;computeList=[];dispatchedPools=[];skippedFrames=0;cutInputs=new Float64Array(Pe).fill(NaN);cutInputsScratch=new Float64Array(Pe);sceneHooks=new WeakMap;autoCall=-1;autoCamera=null;manualCall=-1;manualCamera=null;updatingAuto=!1;add(b,a){return Ce(this,b,a)}createMesh(b,a,d,t){return new Hb(this,b,a,d,t)}asyncCompile=!0;compilePool(b,a){a.pipelineState="compiling";let d=a.version,t=()=>{a.version===d&&(a.pipelineState="ready",a.dirty=!0)};b.compileComputeAsync(a.computeNodes).then(t,t)}preparePools(b){for(let a of this.pools)a.prepare(b);for(let a of this.meshes)a.syncPool()}async compileAsync(b,a,d){this.preparePools(b);let t=this.pools.filter(e=>e.pipelineState!=="ready");for(let e of t)e.pipelineState="compiling";await Promise.all(t.map(e=>b.compileComputeAsync(e.computeNodes).catch(()=>{})));for(let e of t)e.pipelineState="ready",e.dirty=!0;await b.compileAsync(a,d)}noteShadowCamera(b){if(this.detectedSweepFrame===this.frameCount)return;let a=b;if(!a.isOrthographicCamera)return;let d=Math.max(a.top-a.bottom,a.right-a.left)/a.zoom;b.getWorldDirection(this.detectedSweep).multiplyScalar(d),this.detectedSweepFrame=this.frameCount}register(b,a){let d=a.matrices.length/16;if(Ub.bytesOf(b.data)>this.maxPoolBytes)throw new Error(`VirtualGeometry: a single mesh needs more than maxPoolBytes (${this.maxPoolBytes} bytes) of GPU buffer`);let t=this.pools.find(e=>e.fits(b.data,d));t||(t=new Ub(this,this.capacity,this.maxPoolBytes),this.pools.push(t)),b.pool=t,b.entry=t.add(b.data,a.matrices,a.colors,b.gpuToInput),t.ensureBuilt(),this.meshes.push(b),b.onBeforeRender=(e,n,o)=>this.autoUpdateFor(e,n,o,!1)}autoUpdateFor(b,a,d,t){if(!this.autoUpdate||this.meshes.length===0||a.overrideMaterial&&a.overrideMaterial.isShadowPassMaterial)return;if(!t&&a.isScene){if(a.onBeforeRender===this.sceneHooks.get(a))return;let n=a.onBeforeRender,o=this,h=function(m,i,s,...l){o.autoUpdateFor(m,i,s,!0),n.call(this,m,i,s,...l)};a.onBeforeRender=h,this.sceneHooks.set(a,h)}let e=b.info.render.calls;if(!(d===this.autoCamera&&e===this.autoCall)&&!(d===this.manualCamera&&e===this.manualCall+1)){this.autoCall=e,this.autoCamera=d,this.updatingAuto=!0;try{this.update(b,d)}finally{this.updatingAuto=!1}}}unregister(b){let a=this.meshes.indexOf(b);a!==-1&&(this.meshes.splice(a,1),b.pool.remove(b.entry),this.occlusion.unregisterMesh(b))}dispose(){for(let b of[...this.meshes])b.dispose(this);for(let b of this.pools)b.dispose();this.pools.length=0,this.occlusion.dispose()}update(b,a){if(this.updatingAuto||(this.manualCall=b.info.render.calls,this.manualCamera=a),this.freeze)return;this.occlusion.tick(performance.now()),a.updateMatrixWorld(),this.viewMatrix.value.copy(a.matrixWorldInverse),this.projectionMatrix.value.equals(a.projectionMatrix)||this.projectionMatrix.value.copy(a.projectionMatrix),b.getDrawingBufferSize(this.size);let d=this.size.y/(this.errorInCssPixels?b.getPixelRatio():1),t=a.projectionMatrix.elements[5]*d*.5;this.projScale.value!==t&&(this.projScale.value=t),this.near.value!==a.near&&(this.near.value=a.near),this.projScreen.multiplyMatrices(a.projectionMatrix,a.matrixWorldInverse),this.frustum.setFromProjectionMatrix(this.projScreen,Aa.WebGPUCoordinateSystem);for(let h=0;h<6;h++){let{normal:m,constant:i}=this.frustum.planes[h],s=this.frustumPlanes[h].value;(s.x!==m.x||s.y!==m.y||s.z!==m.z||s.w!==i)&&s.set(m.x,m.y,m.z,i)}if(this.autoShadowSweep){let h=this.frameCount-this.detectedSweepFrame<=2?this.detectedSweep:zd;this.shadowSweep.value.equals(h)||this.shadowSweep.value.copy(h)}let e=this.occlusion.wantsFrame(b,a,this.frameCount);for(let h of this.meshes)h.pool.writeFlags(h.entry,{enabled:h.visible?1:0,shadow:h.castShadow&&this.frameCount-h.lastShadowFrame<=2?1:0,occlusion:e&&h.occlusionCulling?1:0});if(this.cutInputsChanged(a,b.getPixelRatio()))for(let h of this.pools)h.dirty=!0;this.preparePools(b);let n=this.computeList;n.length=0;let o=this.dispatchedPools;o.length=0;for(let h of this.pools)if(!(!h.dirty||h.entries.length===0)){if(h.pipelineState!=="ready"){if(this.asyncCompile){h.pipelineState==="none"&&this.compilePool(b,h);continue}h.pipelineState="ready"}for(let m of h.computeNodes)n.push(m);o.push(h)}if(n.length>0){let h=e?this.occlusion.beginFrame(b,a,this.meshes):[];h.length&&n.unshift(...h),b.compute(n);for(let m of o)m.dirty=!1,m.hasCut=!0}else this.skippedFrames++;this.frameCount++,this.meshes.length>0&&!this.statsPending&&this.frameCount%this.statsInterval===0&&(this.statsPending=!0,this.readStats(b).then(h=>{this.lastStats=h,this.adaptThreshold(h)}).finally(()=>this.statsPending=!1))}cutInputsChanged(b,a){let d=this.cutInputsScratch,t=0;for(let n=0;n<16;n++)d[t++]=b.matrixWorldInverse.elements[n];for(let n=0;n<16;n++)d[t++]=b.projectionMatrix.elements[n];d[t++]=b.near,d[t++]=this.size.x,d[t++]=this.size.y,d[t++]=a,d[t++]=this.errorInCssPixels?1:0,d[t++]=this.errorThreshold.value,d[t++]=this.minPixelRadius.value,d[t++]=this.frustumCulling.value,d[t++]=this.debugMode.value;let e=this.shadowSweep.value;d[t++]=e.x,d[t++]=e.y,d[t++]=e.z;for(let n=0;n<Pe;n++)if(d[n]!==this.cutInputs[n])return this.cutInputs.set(d),!0;return!1}adaptThreshold(b){let a=this.errorThreshold.value,d=b.capacityUse;if(this.triangleBudget<=0){this.guardCapacity(b,a);return}this.guardBase=null;let[t,e]=this.thresholdRange;if(b.overflow||d>.9){this.errorThreshold.value=at(a,d);return}if(b.drawnTriangles<=0)return;let n=b.drawnTriangles/this.triangleBudget;if(Math.abs(n-1)<.2){this.outOfBand=0;return}if(++this.outOfBand<3)return;let o=a*Math.min(1.03,Math.max(.97,Math.sqrt(n)));o=a>e?Math.max(e,Math.min(o,a*.97)):Math.min(e,Math.max(t,o)),!(o<a&&d*(a/o)**2>.85)&&(this.errorThreshold.value=o)}guardCapacity(b,a){a!==this.guardWritten&&(this.guardBase=null);let d=a;if(b.overflow||b.capacityUse>.9)this.guardBase??=a,d=at(a,b.capacityUse);else if(this.guardBase!==null&&a>this.guardBase){let t=Math.max(this.guardBase,a*.97);b.capacityUse*(a/t)**2<=.85&&(d=t),d===this.guardBase&&(this.guardBase=null)}d!==a&&(this.errorThreshold.value=d),this.guardWritten=this.errorThreshold.value}async readStats(b){let a={drawnMeshlets:0,drawnTriangles:0,fullDetailTriangles:0,instances:0,visibleInstances:0,requestedTriangles:0,overflow:!1,capacityUse:0,occludedInstances:0,shadowTriangles:0};for(let d of this.meshes)d.visible&&(a.fullDetailTriangles+=d.fullDetailTriangles,a.instances+=d.instanceCount);for(let d of this.pools){if(!d.hasCut)continue;let t=await d.readCounters(b),e=d.capacity;a.drawnMeshlets+=t.camera.drawn,a.drawnTriangles+=Math.min(t.camera.requestedTriangles,e.triangles),a.requestedTriangles+=t.camera.requestedTriangles,a.visibleInstances+=t.camera.survived,a.occludedInstances+=t.occluded,a.shadowTriangles+=Math.min(t.shadow.requestedTriangles,e.shadowTriangles),(t.camera.selected>e.meshlets||t.camera.requestedTriangles>e.triangles)&&(a.overflow=!0),(t.shadow.selected>e.meshlets||t.shadow.requestedTriangles>e.shadowTriangles)&&(a.overflow=!0),a.capacityUse=Math.max(a.capacityUse,t.camera.requestedTriangles/e.triangles,t.camera.selected/e.meshlets,t.shadow.requestedTriangles/e.shadowTriangles,t.shadow.selected/e.meshlets)}return a}};export{Xe as MAX_MESHLET_TRIANGLES,te as MAX_MESHLET_VERTICES,hc as VG_BUILD_VERSION,Mb as VG_DEBUG_MODES,ub as VG_FORMAT_VERSION,Se as VirtualGeometry,be as VirtualGeometryImport,Hb as VirtualMesh,ra as VirtualMeshFormatError,ye as bindVirtualGeometryTextures,Rb as buildVirtualMesh,ge as buildVirtualMeshCached,Ge as canConvertToNodeMaterial,Ft as clearVirtualMeshCache,Jc as collectVirtualGeometryGroups,Fb as decodeVirtualMesh,se as encodeVirtualMesh,Be as fromBufferGeometry,Vt as instanceGuaranteedRange,Ht as instanceMeshletRange,kt as loadVirtualMesh,gd as mergeSources,ne as partitionMeshlets,Bt as selectCut,De as toNodeMaterial,Ct as verifyCutCoverage,je as vgNormalMap,Ob as vgTexture,ib as vgUv,Cb as vgWorldNormal,oc as virtualMeshCacheKey,Ce as virtualMeshesFromObject3D};
7
+ //# sourceMappingURL=three-virtual-geometry.min.js.map