| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602 |
- !function () {
- function e(e) {
- return e && e.__esModule ? e.default : e
- }
- function t(e, t, r) {
- Object.defineProperty(e, t, {get: r, enumerable: !0})
- }
- var r, n, o = !1;
- function a() {
- return o || (o = !0, n = e => {
- var t = ["attribute vec4 vertexPos;", "attribute vec4 texturePos;", "varying vec2 textureCoord;", "void main()", "{", "gl_Position = vertexPos;", "textureCoord = texturePos.xy;", "}"].join("\n"),
- r = ["precision highp float;", "varying highp vec2 textureCoord;", "uniform sampler2D ySampler;", "uniform sampler2D uSampler;", "uniform sampler2D vSampler;", "const mat4 YUV2RGB = mat4", "(", "1.1643828125, 0, 1.59602734375, -.87078515625,", "1.1643828125, -.39176171875, -.81296875, .52959375,", "1.1643828125, 2.017234375, 0, -1.081390625,", "0, 0, 0, 1", ");", "void main(void) {", "highp float y = texture2D(ySampler, textureCoord).r;", "highp float u = texture2D(uSampler, textureCoord).r;", "highp float v = texture2D(vSampler, textureCoord).r;", "gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;", "}"].join("\n"),
- n = e.createShader(e.VERTEX_SHADER);
- e.shaderSource(n, t), e.compileShader(n), e.getShaderParameter(n, e.COMPILE_STATUS) || console.log("Vertex shader failed to compile: " + e.getShaderInfoLog(n));
- var o = e.createShader(e.FRAGMENT_SHADER);
- e.shaderSource(o, r), e.compileShader(o), e.getShaderParameter(o, e.COMPILE_STATUS) || console.log("Fragment shader failed to compile: " + e.getShaderInfoLog(o));
- var a = e.createProgram();
- e.attachShader(a, n), e.attachShader(a, o), e.linkProgram(a), e.getProgramParameter(a, e.LINK_STATUS) || console.log("Program failed to compile: " + e.getProgramInfoLog(a)), e.useProgram(a);
- var i = e.createBuffer();
- e.bindBuffer(e.ARRAY_BUFFER, i), e.bufferData(e.ARRAY_BUFFER, new Float32Array([1, 1, -1, 1, 1, -1, -1, -1]), e.STATIC_DRAW);
- var s = e.getAttribLocation(a, "vertexPos");
- e.enableVertexAttribArray(s), e.vertexAttribPointer(s, 2, e.FLOAT, !1, 0, 0);
- var u = e.createBuffer();
- e.bindBuffer(e.ARRAY_BUFFER, u), e.bufferData(e.ARRAY_BUFFER, new Float32Array([1, 0, 0, 0, 1, 1, 0, 1]), e.STATIC_DRAW);
- var c = e.getAttribLocation(a, "texturePos");
- function l(t, r) {
- var n = e.createTexture();
- return e.bindTexture(e.TEXTURE_2D, n), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, e.LINEAR), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, e.LINEAR), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.CLAMP_TO_EDGE), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.CLAMP_TO_EDGE), e.bindTexture(e.TEXTURE_2D, null), e.uniform1i(e.getUniformLocation(a, t), r), n
- }
- e.enableVertexAttribArray(c), e.vertexAttribPointer(c, 2, e.FLOAT, !1, 0, 0);
- var d = l("ySampler", 0), f = l("uSampler", 1), p = l("vSampler", 2);
- return function (t, r, n, o, a) {
- e.viewport(0, 0, t, r), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, d), e.texImage2D(e.TEXTURE_2D, 0, e.LUMINANCE, t, r, 0, e.LUMINANCE, e.UNSIGNED_BYTE, n), e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, f), e.texImage2D(e.TEXTURE_2D, 0, e.LUMINANCE, t / 2, r / 2, 0, e.LUMINANCE, e.UNSIGNED_BYTE, o), e.activeTexture(e.TEXTURE2), e.bindTexture(e.TEXTURE_2D, p), e.texImage2D(e.TEXTURE_2D, 0, e.LUMINANCE, t / 2, r / 2, 0, e.LUMINANCE, e.UNSIGNED_BYTE, a), e.drawArrays(e.TRIANGLE_STRIP, 0, 4)
- }
- }, t(r = {}, "default", (function () {
- return n
- }))), r
- }
- var i, s, u = !1;
- function c() {
- i = {}, a(), s = e => {
- const t = document.createElement("canvas");
- t.style.position = "absolute", t.style.top = 0, t.style.left = 0, e.$container.appendChild(t), e.$canvasElement = t, e.$container.style.overflow = "hidden", "absolute" !== e.$container.style.position && (e.$container.style.position = "relative");
- if (!e._supportOffscreen()) {
- const t = (() => {
- const t = e.$canvasElement;
- let r = null;
- const n = ["webgl", "experimental-webgl", "moz-webgl", "webkit-3d"];
- let o = 0;
- for (; !r && o < n.length;) {
- const a = n[o];
- try {
- let n = {preserveDrawingBuffer: !0};
- e._opt.contextOptions && (n = Object.assign(n, e._opt.contextOptions)), r = t.getContext(a, n)
- } catch (e) {
- r = null
- }
- r && "function" == typeof r.getParameter || (r = null), ++o
- }
- return r
- })();
- e._contextGLRender = a().default(t), e._contextGL = t
- }
- e._destroyContextGL = () => {
- e._contextGL && (e._contextGL = null), e._contextGLRender && (e._contextGLRender = null), e._bitmaprenderer && (e._bitmaprenderer = null)
- }
- }, t(i, "default", (function () {
- return s
- }))
- }
- function l() {
- return u || (u = !0, c()), i
- }
- var d, f, p, h, m, A, g = !1;
- function v() {
- return g || (g = !0, f = {
- videoBuffer: .5,
- vod: !1,
- isResize: !0,
- isFullSize: !1,
- debug: !1,
- timeout: 30,
- supportDblclickFullscreen: !1,
- showBandwidth: !1,
- keepScreenOn: !1,
- isNotMute: !1,
- hasAudio: !0,
- operateBtns: {fullscreen: !1, screenshot: !1, play: !1, audio: !1},
- loadingText: "",
- background: "",
- decoder: "index.js",
- rotate: 0,
- forceNoOffscreen: !1
- }, t(d = {}, "DEFAULT_OPTIONS", (function () {
- return f
- })), p = {
- init: "init",
- initSize: "initSize",
- render: "render",
- playAudio: "playAudio",
- print: "print",
- printErr: "printErr",
- initAudioPlanar: "initAudioPlanar",
- kBps: "kBps"
- }, t(d, "CMD_TYPE", (function () {
- return p
- })), h = {
- close: "close",
- play: "play",
- setVideoBuffer: "setVideoBuffer",
- init: "init"
- }, t(d, "POST_MESSAGE", (function () {
- return h
- })), m = {
- fullscreen: "fullscreen",
- play: "play",
- pause: "pause",
- mute: "mute",
- load: "load",
- videoInfo: "videoInfo",
- timeUpdate: "timeUpdate",
- audioInfo: "audioInfo",
- log: "log",
- error: "error",
- kBps: "kBps",
- timeout: "timeout",
- stats: "stats",
- performance: "performance",
- record: "record",
- buffer: "buffer",
- videoFrame: "videoFrame",
- start: "start",
- metadata: "metadata"
- }, t(d, "EVEMTS", (function () {
- return m
- })), A = {empty: "empty", buffering: "buffering", full: "full"}, t(d, "BUFFER_STATUS", (function () {
- return A
- }))), d
- }
- var E, y = !1;
- function w(e) {
- e.resume();
- const t = e.createBufferSource();
- t.buffer = e.createBuffer(1, 1, 22050), t.connect(e.destination), t.noteOn ? t.noteOn(0) : t.start(0)
- }
- function _(e, t) {
- e && (e.style.display = t ? "block" : "none")
- }
- function b(e = "") {
- const t = e.split(","), r = atob(t[1]), n = t[0].replace("data:", "").replace(";base64", "");
- let o = r.length, a = new Uint8Array(o);
- for (; o--;) a[o] = r.charCodeAt(o);
- return new File([a], "file", {type: n})
- }
- function k(e, t) {
- const r = document.createElement("a");
- r.download = t, r.href = URL.createObjectURL(e), r.click(), URL.revokeObjectURL(e)
- }
- function T(e) {
- if (null == e || "" === e) return "0 KB/S";
- let t = parseFloat(e);
- return t = t.toFixed(2), t + "KB/S"
- }
- function D(e) {
- let t = 0;
- return e >= 24 ? t = 2 : e >= 15 && (t = 1), t
- }
- function S(e, t) {
- Object.keys(t || {}).forEach((function (r) {
- e.style[r] = t[r]
- }))
- }
- function C() {
- let e = document.fullscreenElement || window.webkitFullscreenElement || document.msFullscreenElement;
- return void 0 === e && (e = !1), !!e
- }
- function O() {
- }
- function P() {
- return (new Date).getTime()
- }
- function x(e) {
- Object.keys(e || {}).forEach((t => {
- "bgDom" !== t && _(e[t], !1)
- }))
- }
- function B(e) {
- _(e.pauseDom, !0), _(e.screenshotsDom, !0), _(e.fullscreenDom, !0), _(e.quietAudioDom, !0), _(e.textDom, !0), _(e.speedDom, !0), _(e.recordDom, !0), _(e.loadingDom, !1), _(e.playDom, !1), _(e.playBigDom, !1), _(e.bgDom, !1)
- }
- function M(e, t) {
- let r = v().BUFFER_STATUS.buffering;
- return 0 === e ? r = v().BUFFER_STATUS.empty : e >= t && (r = v().BUFFER_STATUS.full), r
- }
- function R() {
- return y || (y = !0, E = {}, v(), t(E, "audioContextUnlock", (function () {
- return w
- })), t(E, "$domToggle", (function () {
- return _
- })), t(E, "dataURLToFile", (function () {
- return b
- })), t(E, "downloadImg", (function () {
- return k
- })), t(E, "bpsSize", (function () {
- return T
- })), t(E, "fpsStatus", (function () {
- return D
- })), t(E, "setStyle", (function () {
- return S
- })), t(E, "checkFull", (function () {
- return C
- })), t(E, "noop", (function () {
- return O
- })), t(E, "now", (function () {
- return P
- })), t(E, "$hideBtns", (function () {
- return x
- })), t(E, "$initBtns", (function () {
- return B
- })), t(E, "bufferStatus", (function () {
- return M
- }))), E
- }
- var L, I, F = !1;
- function U() {
- return F || (F = !0, L = {}, R(), I = e => {
- e._audioContext = new (window.AudioContext || window.webkitAudioContext), e._gainNode = e._audioContext.createGain(), e._audioEnabled = t => {
- t ? (R().audioContextUnlock(e._audioContext), e._audioEnabled = t => {
- t ? e._audioContext.resume() : e._audioContext.suspend()
- }, e._audioContext.resume()) : e._audioContext.suspend()
- }, e._audioEnabled(!0), e._mute = () => {
- e._audioEnabled(!1), e.quieting = !0
- }, e._cancelMute = () => {
- e._audioEnabled(!0), e.quieting = !1
- }, e._audioResume = () => {
- e._cancelMute()
- }, e._initAudioPlanar = t => {
- const r = e._audioContext;
- if (!r) return !1;
- let n = [];
- const o = r.createScriptProcessor(1024, 0, 2);
- o.onaudioprocess = function (e) {
- if (n.length) {
- const r = n.shift();
- for (let n = 0; n < t.channels; n++) {
- const t = r[n], o = e.outputBuffer.getChannelData(n);
- for (let e = 0; e < 1024; e++) o[e] = t[e]
- }
- }
- }, o.connect(e._gainNode), e._closeAudio = () => {
- o.disconnect(e._gainNode), e._gainNode.disconnect(r.destination), delete e._closeAudio, n = []
- }, e._gainNode.connect(r.destination), e._playAudio = e => n.push(e)
- }, e._destroyAudioContext = () => {
- e._audioContext.close(), e._audioContext = null, e._gainNode = null
- }
- }, t(L, "default", (function () {
- return I
- }))), L
- }
- var N, j, G = !1;
- function z() {
- return G || (G = !0, N = {}, R(), j = e => {
- e._resize$2 = () => e.resize(), e._handleVisibilityChange$2 = () => e._handleVisibilityChange(), e._onfullscreenchange$2 = () => e._onfullscreenchange(), e._handleWakeLock$2 = () => e._handleWakeLock(), window.addEventListener("resize", e._resize$2), window.addEventListener("fullscreenchange", e._onfullscreenchange$2), document.addEventListener("visibilitychange", e._handleVisibilityChange$2), document.addEventListener("visibilitychange", e._handleWakeLock$2), window.addEventListener("fullscreenchange", e._handleWakeLock$2), e._opt.supportDblclickFullscreen && e.$canvasElement.addEventListener("dblclick", (() => {
- e.fullscreen = !e.fullscreen
- }), !1), e._removeEventListener = () => {
- window.removeEventListener("resize", e._resize$2), window.removeEventListener("fullscreenchange", e._onfullscreenchange$2), document.removeEventListener("visibilitychange", e._handleWakeLock$2), document.removeEventListener("visibilitychange", e._handleVisibilityChange$2), window.removeEventListener("fullscreenchange", e._handleWakeLock$2)
- }, e.$doms.playDom && e.$doms.playDom.addEventListener("click", (t => {
- t.stopPropagation(), e._play()
- }), !1), e.$doms.playBigDom && e.$doms.playBigDom.addEventListener("click", (t => {
- t.stopPropagation(), e._play()
- }), !1), e.$doms.pauseDom && e.$doms.pauseDom.addEventListener("click", (t => {
- t.stopPropagation(), e._pause()
- }), !1), e.$doms.screenshotsDom && e.$doms.screenshotsDom.addEventListener("click", (t => {
- t.stopPropagation();
- const r = e._opt.text + "" + R().now();
- e._screenshot(r)
- }), !1), e.$doms.fullscreenDom && e.$doms.fullscreenDom.addEventListener("click", (t => {
- t.stopPropagation(), e.fullscreen = !0
- }), !1), e.$doms.minScreenDom && e.$doms.minScreenDom.addEventListener("click", (t => {
- t.stopPropagation(), e.fullscreen = !1
- }), !1), e.$doms.recordDom && e.$doms.recordDom.addEventListener("click", (t => {
- t.stopPropagation(), e.recording = !0
- }), !1), e.$doms.recordingDom && e.$doms.recordingDom.addEventListener("click", (t => {
- t.stopPropagation(), e.recording = !1
- }), !1), e.$doms.quietAudioDom && e.$doms.quietAudioDom.addEventListener("click", (t => {
- t.stopPropagation(), e._cancelMute()
- }), !1), e.$doms.playAudioDom && e.$doms.playAudioDom.addEventListener("click", (t => {
- t.stopPropagation(), e._mute()
- }), !1), e._enableWakeLock()
- }, t(N, "default", (function () {
- return j
- }))), N
- }
- var W, Y, H = !1;
- function $() {
- return H || (H = !0, W = {}, R(), z(), Y = e => {
- e._showControl = () => {
- let t = !1, r = !1;
- return Object.keys(e._opt.operateBtns).forEach((t => {
- e._opt.operateBtns[t] && (r = !0)
- })), (e._opt.showBandwidth || e._opt.text || r) && (t = !0), t
- };
- const t = {}, r = document.createDocumentFragment(), n = document.createElement("div"),
- o = document.createElement("div"), a = document.createElement("div"), i = document.createElement("div"),
- s = document.createElement("div"), u = document.createElement("div"), c = document.createElement("div"),
- l = document.createElement("div"), d = document.createElement("div"), f = document.createElement("div"),
- p = document.createElement("div"), h = document.createElement("div"), m = document.createElement("div"),
- A = document.createElement("div"), g = document.createElement("div"), v = document.createElement("div"),
- E = document.createElement("div"), y = document.createElement("div");
- m.innerText = e._opt.loadingText || "", i.innerText = e._opt.text || "", s.innerText = "", u.title = "播放", l.title = "暂停", d.title = "截屏", f.title = "全屏", p.title = "退出全屏", A.title = "静音", g.title = "取消静音", v.title = "录制", E.title = "取消录制";
- let w = {position: "absolute", width: "100%", height: "100%"};
- e._opt.background && (w = Object.assign({}, w, {
- backgroundRepeat: "no-repeat",
- backgroundPosition: "center",
- backgroundSize: "100%",
- backgroundImage: "url('" + e._opt.background + "')"
- }));
- const _ = {
- position: "absolute",
- width: "100%",
- height: "100%",
- textAlign: "center",
- color: "#fff",
- display: "none",
- backgroundImage: "url('data:image/gif;base64,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')",
- backgroundRepeat: "no-repeat",
- backgroundPosition: "center",
- backgroundSize: "40px 40px"
- }, b = {
- position: "absolute",
- width: "100%",
- height: "100%",
- display: "none",
- background: "rgba(0,0,0,0.4)",
- backgroundImage: "url('data:image/png;base64,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')",
- backgroundRepeat: "no-repeat",
- backgroundPosition: "center",
- backgroundSize: "48px 48px",
- cursor: "pointer"
- }, k = {position: "absolute", top: 0, height: "100%", display: "flex", alignItems: "center"}, T = {
- display: "none",
- position: "relative",
- fontSize: "13px",
- color: "#fff",
- lineHeight: "20px",
- marginLeft: "5px",
- marginRight: "5px",
- userSelect: "none"
- }, D = {
- display: "none",
- position: "relative",
- width: "16px",
- height: "16px",
- marginLeft: "8px",
- marginRight: "8px",
- backgroundRepeat: "no-repeat",
- backgroundPosition: "center",
- backgroundSize: "100%",
- cursor: "pointer"
- };
- R().setStyle(y, w), R().setStyle(n, {
- height: "38px",
- zIndex: 11,
- position: "absolute",
- left: 0,
- bottom: 0,
- width: "100%",
- background: "rgba(0,0,0)"
- }), R().setStyle(h, _), R().setStyle(c, b), R().setStyle(m, {
- position: "absolute",
- width: "100%",
- top: "60%",
- textAlign: "center"
- }), R().setStyle(o, Object.assign({}, k, {left: 0})), R().setStyle(a, Object.assign({}, k, {right: 0})), R().setStyle(i, T), R().setStyle(s, T), R().setStyle(u, Object.assign({}, D, {backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAARVJREFUSMe9laEOglAUhs+5k9lJFpsJ5QWMJoNGbEY0mEy+gr6GNo0a3SiQCegMRILzGdw4hl+Cd27KxPuXb2zA/91z2YXoGRERkX4fvN3A2QxUiv4dFM3n8jZRBLbbVfd+ubJuF4xjiCyXkksueb1uSKCIZYGLBTEx8ekEoV7PkICeVgs8HiGyXoO2bUigCDM4HoPnM7bI8wwJ6Gk0sEXbLSay30Oo2TQkoGcwgFCSQMhxDAvoETEscDiQkJC4LjMz8+XyZ4HrFYWjEQqHQ1asWGWZfmdFAsVINxuw00HhbvfpydpvxWkKTqdYaRCUfUPJCdzv4Gr1uqfli0tOIAzByUT/iCrL6+84y3Bw+D6ui5Ou+jwA8FnIO++FACgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEl0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvYm9mYW5nLnN2Z8fICi0AAAAASUVORK5CYII=')"})), R().setStyle(l, Object.assign({}, D, {backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAHVJREFUSMftkCESwCAMBEOnCtdXVMKHeC7oInkEeQJXkRoEZWraipxZc8lsQqQZBACAlIS1oqGhhTCdu3oyxyyMcdRf79c5J7SWDBky+z4173rbJvR+VF/e/qwKqIAKqMBDgZyFzAQCoZTpxq7HLDyOrw/9b07l3z4dDnI2IAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMIo/vCcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDD7YgSbAAAASnRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9nZjcwMHM3YjNmdy96YW50aW5nLnN2ZxqNZJkAAAAASUVORK5CYII=')"})), R().setStyle(d, Object.assign({}, D, {backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAaxJREFUSMfNlLFOAkEQhmevAZMjR6OGRBJKsFBzdkYNpYSaWkopIOFRCBWh1ieA+ALGRgutjK0HzV2H5SX7W/zsmY3cnTEhcZovOzcz9+/s7Ir8d4OGht7fBwAgjvEri2OTl1ffSf0xAMBxRIkS1e3Se3+vcszEMe/6OqmT/aN2m1wsNu/o5YVsNHI7BgA4PCRfXzfXCwKy1RLbcXZG9nrkzc12jvT8nPU/PtatOThgAx8fuS4WyZ0de2e+T87n5OcnuVqRsxl5cpImQDnKUc7DA1fVqpimZCu+vCSjiNH9PlmpJNTQ0INBErfeafZRAakC6FWKfH9nwU7H/l6rGdqCOx3y7c3U+aOARsMMp+1vNskwTLjulB23XJL1epqA9OshIiKeJxAIoug7UyA4OuLi6Ynr52deu+NjOy4MSc9Ln8rMDpTLybBpaOjdXbJUIqdTm8a/t2fn/RSQewR24HicTLmGhnbdzcPquvYtGY3+PIR24UKBUXd35v6Sk4lN47+9NXm/FBAEedfGTjw9JYdDm76fm6+hoS8ujGAxT6L9Im7bTKeurvIEb92+AES1b6x283XSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABJdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2NhbWVyYS5zdmeyubWEAAAAAElFTkSuQmCC')"})), R().setStyle(f, Object.assign({}, D, {backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAALZJREFUSMftVbsORUAQVSj8DomChvh3lU5CoSVCQq2RObeYu8XG3deVoHCak81kds7Oaz3vxRcAAMwztOg6vX9d6/3XFQQC+b7iAoFhYE7Tvx9EIFAcy/ftO3MQGAQkCfM4MmeZWyajiLnvmYuCeduMAuSzvRBVYNluFHCssSgFp7Sq9ALKkjnPf9ubRtkDL27HNT3QtsY9cAjsNAVheHIKBOwD2wpxFHDbJpwmaHH2L1iWx+2BDy8RbXXtqbRBAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABTdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3F1YW5waW5nenVpZGFodWEuc3ZnTBoI7AAAAABJRU5ErkJggg==')"})), R().setStyle(p, Object.assign({}, D, {backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAYJJREFUSMfdVbGKwkAQnQn+geAfWBixUTsVgp3YGKxSWflVNmIjARULwc5KO40ipNHWRgs/wGLniucKa+Jd5ODuuGle5u3szGRmd5bor4iIiMhuB3Sc+HXXBdp2/Lpta7v4dccRJUrUdhtNQIkSVa3C8HwG1uumg34f2OnEB+h0tF1Sv5b+YIsttpZLEhKSdhvscPi8IXFF74GJiYnHY7Cex8zMvFgkbInjmJnv98kqoO30vmhLtaRMB60WtEbDNDudgMUiKiQSzfjOMzFxoQAyCPSfw7/nQZ/PUYnpNGV6OR6BmYzJbzYIoBQCzGaRBDQvJCTdLnTLolg5HN5t6f8V1h/oUT4PrVKJWBotmEzQw+vV3J9Ow851P2/BaoX9Yfh0BrJZYKlk8uUyHOpDeLuBHwzMBJtN2PV6IPUhXK9Nf5cLMAxfluanrmGkRBggtRo03wfq66P/6CsJAnOg+f6rgfZI4BGYiYlHIx048eR6krcnq34kkj1GuVz8+jceo9+SD5A8yGh8CTq7AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABNdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3p1aXhpYW9odWEuc3ZnoCFr0AAAAABJRU5ErkJggg==')"})), R().setStyle(A, Object.assign({}, D, {backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAR9JREFUSMfVlD0LglAYhe9VkwgNihpsjbYQf4JTS7+iuaGxpcGfJjS0NFRLk2NDi6MogafhJGRIX9yEzvJwrx/nvPd9VYh/F3LkyBuN2g3J1QoAgCQhPe/Hxq5Lo+0WlfJ9dYYAgGaTDAIyy/BUnwcwWJlhcLnZkN2ugIBAuy2kkEL2ep8F73S4kjfFcfn6cMj9KLodrWVBiXyf75tMyOOR+4MBOZ8XLXzorboA5UpnM/J0Ivd7+vX7xX2asqGpVKtFXi5sqWmypXefrfIWAACmU/JwKCoun8hu9zA0uk6u13wgirg+n7+bAcsibbt6SB3n9TQXPxwAwHJJpum7M6BcDDQa0SgMaw9QPkJNIxcLMo4ZcDz+eYDqQFLWbqxKV57EtW1WtMbmAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABKdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2ppbmd5aW4uc3ZnIlMYaQAAAABJRU5ErkJggg==')"})), R().setStyle(g, Object.assign({}, D, {backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAU5JREFUSMftkzGKwlAURf9PULBQwULSCKK1bZAgNuoaFFyAC3AdZg0uQCwshWzAShEEO7Gy0soUCu9Occ3An5nMGCfdzGsO7+Xy3/03iVL/lbAAACiVIBCI77O37Vi9QCDZbEqLm03ycEBUAoHk818v7nYpul5Jz4tf8HBKYa1mcjwmbzd8rG8NFIsU7ffk8UjmcjE3XK+RtB4G2PT75GbDeblMttumfjSKMRCGLxsQCKTReE9KIJDJxDw/SmKxiOZWWh+ntrSlre2WXRAorbTSrZapip7X66kbMKtQUFBQCENznsmQ93vqBhh5r8fO85jAcsnIrcce1yV3uxgD8zl5uZgU+dGBVlrp6GbTKRPwffaDAek45Gz2/M0AAJ0OeTol+w0rFYrOZ3K1MhNJEjEAwHF4cBA8Z8B1zcXV6msv+JMR2yaHQ1LrXx/8Z+sNRxsWcwZeb6UAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEt0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvc2hlbmd5aW4uc3ZnFog1MQAAAABJRU5ErkJggg==')"})), R().setStyle(v, Object.assign({}, D, {backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAPRJREFUSMflVDEOwjAQO0e8gr2sZYVunREbD6ISfAgmkBjpC/hBEQ+AtTWD6QAI0gBlqRfLp+TiXC5n1nXgMUCS5HBoNBqj6IOMMFwuEpsNAABl6d3HihWrOJaBsuRPkGW+c929HAxuYefb6L+R0ZgkMrJYiItCnCT1sl5Y1jwXj0bNniJNJWqujfX7LyrwJh8AYDxWgulU0dPp20IFlxoODm61kpE4VnS9/puBXyPYgH7LbKY3PhwUnUw+NdC4CdW9+71UgyZspwIBB9No3O0klktxUahyx+Pz+lYG0Xzu84lXRqTqwRQAGAzns8R223gUdxZXGcAK5Hp0ClIAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvbHV6aGlzaGlwaW4uc3Zn5Zd7GQAAAABJRU5ErkJggg==')"})), R().setStyle(E, Object.assign({}, D, {backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAahJREFUSMdjYBjpgBFd4NZK+f+soQYG//T+yzFuUFUl2cApjEWM/758UZvysPDn3127GBkZGBgY/v4l6ICb9xTWsRbp6/9f9W8N44Jz5xgCGI4wfGFiIttrR/5n/3/U3KyR8rj8t0RdHS5lcAv+//yXzzhZTY1ii2FAmsGZocna+maD3GnWY62tNzbJBbDOffLkxie5eJYwa2uYMhaigzb2/zyGguPH/y9mTGKYYGlJUIMiYxDjHCen/4oMDAxznJzg4k8Z/jP+l5LCCAFCQP30Y5dfXVZWDI7/zzIs8PNjNGJ4/7/r+XNKA4rkoNZ4/lj0V9TmzUxJv0J+F+jrM3YyvPq/acsWujmA2oBkB9y4LifLxhoa+teAzYFtwtWr/8sZxBj9fHxo7oCbprJ72MqOHWNgZGBkYFy1isGGoZahTFSU0hAgOhcQnfph4P7/df9T9u1jPMn4nyHmxIn/bAzLGe7GxTHsZyj+f+zpUwYGBmmG6bQsiMr+L/v/rqlJY9Njm9889fW4lGEUxXCHwAomUgH3vxBG8c+f1WWf9P98sns3oaJ4FAAAbtWqHTT84QYAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6MzU6MjMrMDg6MDBLHbvEAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjM1OjIzKzA4OjAwOkADeAAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fcTM1YTFhNHBtY2MvbHV6aGlzaGlwaW4uc3Zn6xlv1QAAAABJRU5ErkJggg==')"})), h.appendChild(m), e._opt.text && (o.appendChild(i), t.textDom = i), e._opt.showBandwidth && (o.appendChild(s), t.speedDom = s), e._opt.operateBtns.record && (a.appendChild(E), a.appendChild(v), t.recordingDom = E, t.recordDom = v), e._opt.operateBtns.screenshot && (a.appendChild(d), t.screenshotsDom = d), e._opt.operateBtns.play && (a.appendChild(u), a.appendChild(l), t.playDom = u, t.pauseDom = l), e._opt.operateBtns.audio && (a.appendChild(g), a.appendChild(A), t.playAudioDom = g, t.quietAudioDom = A), e._opt.operateBtns.fullscreen && (a.appendChild(f), a.appendChild(p), t.fullscreenDom = f, t.minScreenDom = p), n.appendChild(o), n.appendChild(a), r.appendChild(y), t.bgDom = y, r.appendChild(h), t.loadingDom = h, e._showControl() && r.appendChild(n), e._opt.operateBtns.play && (r.appendChild(c), t.playBigDom = c), e.$container.appendChild(r), e.$doms = t, e._removeContainerChild = () => {
- for (; e.$container.firstChild;) e.$container.removeChild(e.$container.firstChild)
- }, z().default(e), R().$hideBtns(e.$doms), e._opt.isNotMute || e._mute()
- }, t(W, "default", (function () {
- return Y
- }))), W
- }
- var V, Q, X = !1;
- function q() {
- return X || (X = !0, V = {}, v(), R(), Q = e => {
- const t = new Worker(e._opt.decoder);
- t.onmessage = r => {
- const n = r.data;
- switch (n.cmd) {
- case v().CMD_TYPE.init:
- e.setBufferTime(e._opt.videoBuffer), t.postMessage({
- cmd: v().POST_MESSAGE.init,
- opt: JSON.stringify(e._opt),
- sampleRate: e._audioContext.sampleRate
- }), e._hasLoaded || (e._hasLoaded = !0, e.onLoad(), e._trigger(v().EVEMTS.load));
- break;
- case v().CMD_TYPE.initSize:
- e.$canvasElement.width = n.w, e.$canvasElement.height = n.h, e.onInitSize(), e._resize(), e._trigger(v().EVEMTS.videoInfo, {
- w: n.w,
- h: n.h
- }), e._trigger(v().EVEMTS.start), e._supportOffscreen() && (e._bitmaprenderer = e.$canvasElement.getContext("bitmaprenderer"));
- break;
- case v().CMD_TYPE.render:
- e.loading && (e.loading = !1, e.playing = !0, e._clearCheckLoading()), e.playing && (e._supportOffscreen() ? e._bitmaprenderer.transferFromImageBitmap(n.buffer) : e._contextGLRender(e.$canvasElement.width, e.$canvasElement.height, n.output[0], n.output[1], n.output[2])), e._trigger(v().EVEMTS.timeUpdate, n.ts), e.onTimeUpdate(n.ts), e._updateStats({
- buf: n.delay,
- ts: n.ts
- }), e._checkHeart();
- break;
- case v().CMD_TYPE.playAudio:
- e.playing && !e.quieting && e._playAudio(n.buffer);
- break;
- case v().CMD_TYPE.print:
- e.onLog(n.text), e._trigger(v().EVEMTS.log, n.text);
- break;
- case v().CMD_TYPE.printErr:
- e.onLog(n.text), e._trigger(v().EVEMTS.log, n.text), e.onError(n.text), e._trigger(v().EVEMTS.error, n.text);
- break;
- case v().CMD_TYPE.initAudioPlanar:
- e._initAudioPlanar(n), e._trigger(v().EVEMTS.audioInfo, {
- numOfChannels: n.channels,
- sampleRate: n.samplerate
- });
- break;
- case v().CMD_TYPE.kBps:
- e.playing && (e.$doms.speedDom && (e.$doms.speedDom.innerText = R().bpsSize(n.kBps)), e._trigger(v().EVEMTS.kBps, n.kBps));
- default:
- e[n.cmd] && e[n.cmd](n)
- }
- }, e._decoderWorker = t
- }, t(V, "default", (function () {
- return Q
- }))), V
- }
- var Z, K, J = !1;
- function ee() {
- return J || (J = !0, Z = {}, R(), v(), K = e => {
- e._loading = !0, e._recording = !1, e._playing = !1, e._audioPlaying = !1, e._quieting = !1, e._fullscreen = !1, e._stats = {
- buf: 0,
- fps: 0,
- abps: "",
- vbps: "",
- ts: ""
- }, e._hasLoaded = !1, e._playUrl = "", e._startBpsTime = "", e._bps = 0, e._checkHeartTimeout = null, e._wakeLock = null, e._contextGL = null, e._contextGLRender = null, e._checkLoadingTimeout = null, e._bitmaprenderer = null, e._isPlayingBeforePageHidden = !1, e._initCheckVariable = () => {
- e._startBpsTime = "", e._bps = 0, e._clearCheckHeartTimeout(), e._clearCheckLoading()
- }, e._clearCheckHeartTimeout = () => {
- e._checkHeartTimeout && (clearTimeout(e._checkHeartTimeout), e._checkHeartTimeout = null)
- }, e._startCheckHeartTimeout = () => {
- e._checkHeartTimeout = setTimeout((function () {
- e._trigger(v().EVEMTS.timeout), e.recording = !1, e.playing = !1, e._close()
- }), 1e3 * e._opt.timeout)
- }, e._clearCheckLoading = () => {
- e._checkLoadingTimeout && (clearTimeout(e._checkLoadingTimeout), e._checkLoadingTimeout = null)
- }, e._checkLoading = () => {
- e._clearCheckLoading(), e._checkLoadingTimeout = setTimeout((() => {
- e._trigger(v().EVEMTS.timeout), e.playing = !1, e._close(), R().$domToggle(e.$doms.loadingDom, !1)
- }), 1e3 * e._opt.timeout)
- }
- }, t(Z, "default", (function () {
- return K
- }))), Z
- }
- var te, re, ne = !1;
- function oe() {
- return ne || (ne = !0, te = {}, R(), re = e => {
- e.onPlay = R().noop, e.onPause = R().noop, e.onRecord = R().noop, e.onFullscreen = R().noop, e.onMute = R().noop, e.onLoad = R().noop, e.onLog = R().noop, e.onError = R().noop, e.onTimeUpdate = R().noop, e.onInitSize = R().noop
- }, t(te, "default", (function () {
- return re
- }))), te
- }
- var ae, ie, se = !1;
- function ue() {
- return se || (se = !0, ie = e => {
- e._on = (t, r) => {
- let n, o, a;
- if (!r) return e;
- for (n = e.__events || (e.__events = {}), t = t.split(/\s+/); o = t.shift();) a = n[o] || (n[o] = []), a.push(r);
- return e
- }, e._off = () => {
- let t;
- return (t = e.__events) ? (delete e.__events, e) : e
- }, e._trigger = (t, ...r) => {
- function n(e, t) {
- if (e) for (let r = 0, n = e.length; r < n; r += 1) e[r](...t)
- }
- let o, a, i;
- if (!(o = e.__events)) return e;
- for (t = t.split(/\s+/); a = t.shift();) (i = o[a]) && (i = i.slice()), n(i, r);
- return e
- }
- }, t(ae = {}, "default", (function () {
- return ie
- }))), ae
- }
- var ce, le, de = !1;
- function fe() {
- return de || (de = !0, ce = {}, R(), v(), le = e => {
- e._pause = () => {
- e._close(), e.loading && R().$domToggle(e.$doms.loadingDom, !1), e.recording = !1, e.playing = !1
- }, e._play = t => {
- if (!e._playUrl && !t) return;
- let r = !1;
- t ? (e._playUrl && (e._close(), r = !0, e.clearView()), e.loading = !0, R().$domToggle(e.$doms.bgDom, !1), e._checkLoading(), e._playUrl = t) : e._playUrl && (e.loading ? (R().$hideBtns(e.$doms), R().$domToggle(e.$doms.fullscreenDom, !0), R().$domToggle(e.$doms.pauseDom, !0), R().$domToggle(e.$doms.loadingDom, !0), e._checkLoading()) : e.playing = !0), e._initCheckVariable(), r ? setTimeout((() => {
- e._decoderWorker.postMessage({cmd: v().POST_MESSAGE.play, url: e._playUrl})
- }), 300) : e._decoderWorker.postMessage({cmd: v().POST_MESSAGE.play, url: e._playUrl})
- }, e._screenshot = (t, r, n) => {
- t = t || R().now();
- const o = {png: "image/png", jpeg: "image/jpeg", webp: "image/webp"};
- let a = .92;
- void 0 !== n && (a = Number(n));
- const i = e.$canvasElement.toDataURL(o[r] || o.png, a);
- R().downloadImg(R().dataURLToFile(i), t)
- }, e._close = () => {
- e._close$2(), e._clearView()
- }, e._close$2 = () => {
- e._opt.debug && console.log("_close$2-START"), e._closeAudio && e._closeAudio(), e._audioPlayBuffers = [], e._audioPlaying = !1, e._decoderWorker.postMessage({cmd: v().POST_MESSAGE.close}), delete e._playAudio, e._releaseWakeLock(), e._initCheckVariable(), e._opt.debug && console.log("_close$2-END")
- }, e._releaseWakeLock = () => {
- e._wakeLock && (e._wakeLock.release(), e._wakeLock = null)
- }, e._clearView = () => {
- e._contextGL && e._contextGL.clear(e._contextGL.COLOR_BUFFER_BIT)
- }, e._resize = () => {
- const t = e.$container.clientWidth;
- let r = e.$container.clientHeight;
- e._showControl() && (r -= 38);
- const n = e.$canvasElement.width, o = e.$canvasElement.height, a = e._opt.rotate, i = t / n, s = r / o;
- let u = i > s ? s : i;
- e._opt.isResize || i !== s && (u = i + "," + s), e._opt.isFullResize && (u = i > s ? i : s);
- let c = "scale(" + u + ")";
- a && (c += " rotate(" + a + "deg)"), e.$canvasElement.style.transform = c, e.$canvasElement.style.left = (t - n) / 2 + "px", e.$canvasElement.style.top = (r - o) / 2 + "px"
- }, e._enableWakeLock = () => {
- e._opt.keepScreenOn && "wakeLock" in navigator && navigator.wakeLock.request("screen").then((t => {
- e._wakeLock = t
- }))
- }, e._supportOffscreen = () => !e._opt.forceNoOffscreen && "function" == typeof e.$canvasElement.transferControlToOffscreen, e._checkHeart = () => {
- e._clearCheckHeartTimeout(), e._startCheckHeartTimeout()
- }, e._updateStats = t => {
- t = t || {}, e._startBpsTime || (e._startBpsTime = R().now());
- const r = R().now();
- r - e._startBpsTime < 1e3 ? e._stats.fps += 1 : (e._stats.ts = t.ts, e._stats.buf = t.buf, e._trigger(v().EVEMTS.stats, e._stats), e._trigger(v().EVEMTS.performance, R().fpsStatus(e._stats.fps)), e._trigger(v().EVEMTS.buffer, R().bufferStatus(e._stats.buf, 1e3 * e._opt.videoBuffer)), e._stats.fps = 0, e._startBpsTime = r)
- }, e._onfullscreenchange = () => {
- (void 0).fullscreen = R().checkFull()
- }, e._handleVisibilityChange = () => {
- e._opt.debug && console.log(document.visibilityState, e._isPlayingBeforePageHidden), "visible" === document.visibilityState ? e._isPlayingBeforePageHidden && e._play() : (e._isPlayingBeforePageHidden = e.playing, e.playing && e._pause())
- }, e._handleWakeLock = () => {
- null !== e._wakeLock && "visible" === document.visibilityState && e._enableWakeLock()
- }
- }, t(ce, "default", (function () {
- return le
- }))), ce
- }
- var pe, he, me = !1;
- function Ae() {
- return me || (me = !0, pe = {}, ee(), oe(), ue(), fe(), he = e => {
- ee().default(e), oe().default(e), ue().default(e), fe().default(e)
- }, t(pe, "default", (function () {
- return he
- }))), pe
- }
- var ge, ve = !1;
- var Ee, ye, we, _e, be, ke, Te, De, Se, Ce, Oe, Pe, xe, Be, Me, Re, Le, Ie, Fe, Ue, Ne, je, Ge, ze, We, Ye, He, $e,
- Ve, Qe, Xe, qe, Ze, Ke, Je, et, tt, rt, nt, ot, at, it, st, ut, ct, lt, dt, ft, pt, ht, mt, At, gt, vt, Et, yt, wt,
- _t, bt, kt, Tt, Dt, St, Ct, Ot, Pt, xt, Bt, Mt, Rt, Lt, It, Ft, Ut, Nt, jt, Gt, zt, Wt, Yt, Ht, $t, Vt, Qt, Xt, qt,
- Zt, Kt, Jt, er, tr, rr, nr, or, ar, ir, sr, ur, cr, lr, dr, fr, pr, hr, mr, Ar, gr, vr, Er, yr, wr, _r, br, kr, Tr,
- Dr = !1;
- function Sr(e) {
- return Ee.locateFile ? Ee.locateFile(e, Oe) : Oe + e
- }
- function Cr(e) {
- Cr.shown || (Cr.shown = {}), Cr.shown[e] || (Cr.shown[e] = 1, Me(e))
- }
- function Or(e, t) {
- e || Yr("Assertion failed: " + t)
- }
- function Pr(e, t, r) {
- for (var n = t + r, o = ""; !(t >= n);) {
- var a = e[t++];
- if (!a) return o;
- if (128 & a) {
- var i = 63 & e[t++];
- if (192 != (224 & a)) {
- var s = 63 & e[t++];
- if ((a = 224 == (240 & a) ? (15 & a) << 12 | i << 6 | s : (7 & a) << 18 | i << 12 | s << 6 | 63 & e[t++]) < 65536) o += String.fromCharCode(a); else {
- var u = a - 65536;
- o += String.fromCharCode(55296 | u >> 10, 56320 | 1023 & u)
- }
- } else o += String.fromCharCode((31 & a) << 6 | i)
- } else o += String.fromCharCode(a)
- }
- return o
- }
- function xr(e, t) {
- return e ? Pr(We, e, t) : ""
- }
- function Br(e, t, r, n) {
- if (!(n > 0)) return 0;
- for (var o = r, a = r + n - 1, i = 0; i < e.length; ++i) {
- var s = e.charCodeAt(i);
- if (s >= 55296 && s <= 57343) s = 65536 + ((1023 & s) << 10) | 1023 & e.charCodeAt(++i);
- if (s <= 127) {
- if (r >= a) break;
- t[r++] = s
- } else if (s <= 2047) {
- if (r + 1 >= a) break;
- t[r++] = 192 | s >> 6, t[r++] = 128 | 63 & s
- } else if (s <= 65535) {
- if (r + 2 >= a) break;
- t[r++] = 224 | s >> 12, t[r++] = 128 | s >> 6 & 63, t[r++] = 128 | 63 & s
- } else {
- if (r + 3 >= a) break;
- t[r++] = 240 | s >> 18, t[r++] = 128 | s >> 12 & 63, t[r++] = 128 | s >> 6 & 63, t[r++] = 128 | 63 & s
- }
- }
- return t[r] = 0, r - o
- }
- function Mr(e, t, r) {
- return Br(e, We, t, r)
- }
- function Rr(e) {
- for (var t = 0, r = 0; r < e.length; ++r) {
- var n = e.charCodeAt(r);
- n >= 55296 && n <= 57343 && (n = 65536 + ((1023 & n) << 10) | 1023 & e.charCodeAt(++r)), n <= 127 ? ++t : t += n <= 2047 ? 2 : n <= 65535 ? 3 : 4
- }
- return t
- }
- function Lr(e, t) {
- for (var r = "", n = 0; !(n >= t / 2); ++n) {
- var o = Ye[e + 2 * n >> 1];
- if (0 == o) break;
- r += String.fromCharCode(o)
- }
- return r
- }
- function Ir(e, t, r) {
- if (void 0 === r && (r = 2147483647), r < 2) return 0;
- for (var n = t, o = (r -= 2) < 2 * e.length ? r / 2 : e.length, a = 0; a < o; ++a) {
- var i = e.charCodeAt(a);
- Ye[t >> 1] = i, t += 2
- }
- return Ye[t >> 1] = 0, t - n
- }
- function Fr(e) {
- return 2 * e.length
- }
- function Ur(e, t) {
- for (var r = 0, n = ""; !(r >= t / 4);) {
- var o = $e[e + 4 * r >> 2];
- if (0 == o) break;
- if (++r, o >= 65536) {
- var a = o - 65536;
- n += String.fromCharCode(55296 | a >> 10, 56320 | 1023 & a)
- } else n += String.fromCharCode(o)
- }
- return n
- }
- function Nr(e, t, r) {
- if (void 0 === r && (r = 2147483647), r < 4) return 0;
- for (var n = t, o = n + r - 4, a = 0; a < e.length; ++a) {
- var i = e.charCodeAt(a);
- if (i >= 55296 && i <= 57343) i = 65536 + ((1023 & i) << 10) | 1023 & e.charCodeAt(++a);
- if ($e[t >> 2] = i, (t += 4) + 4 > o) break
- }
- return $e[t >> 2] = 0, t - n
- }
- function jr(e) {
- for (var t = 0, r = 0; r < e.length; ++r) {
- var n = e.charCodeAt(r);
- n >= 55296 && n <= 57343 && ++r, t += 4
- }
- return t
- }
- function Gr(e) {
- var t = Rr(e) + 1, r = Jt(t);
- return r && Br(e, ze, r, t), r
- }
- function zr(e) {
- Or(!Se, "addRunDependency cannot be used in a pthread worker"), nt++, Ee.monitorRunDependencies && Ee.monitorRunDependencies(nt)
- }
- function Wr(e) {
- if (nt--, Ee.monitorRunDependencies && Ee.monitorRunDependencies(nt), 0 == nt && (null !== ot && (clearInterval(ot), ot = null), at)) {
- var t = at;
- at = null, t()
- }
- }
- function Yr(e) {
- throw Ee.onAbort && Ee.onAbort(e), Se && console.error("Pthread aborting at " + (new Error).stack), Me(e += ""), je = !0, 1, e = "abort(" + e + "). Build with -s ASSERTIONS=1 for more info.", new WebAssembly.RuntimeError(e)
- }
- function Hr(e) {
- return t = e, r = it, String.prototype.startsWith ? t.startsWith(r) : 0 === t.indexOf(r);
- var t, r
- }
- function $r(e) {
- try {
- if (e == st && Ie) return new Uint8Array(Ie);
- if (xe) return xe(e);
- throw"both async and sync fetching of the wasm failed"
- } catch (e) {
- Yr(e)
- }
- }
- function Vr() {
- var e = {a: qt};
- function t(e, t) {
- var r = e.exports;
- Ee.asm = r, Ze = Ee.asm.da, Ne = t, Se || Wr()
- }
- function r(e) {
- t(e.instance, e.module)
- }
- function n(t) {
- return (Ie || !Te && !De || "function" != typeof fetch ? Promise.resolve().then((function () {
- return $r(st)
- })) : fetch(st, {credentials: "same-origin"}).then((function (e) {
- if (!e.ok) throw"failed to load wasm binary file at '" + st + "'";
- return e.arrayBuffer()
- })).catch((function () {
- return $r(st)
- }))).then((function (t) {
- return WebAssembly.instantiate(t, e)
- })).then(t, (function (e) {
- Me("failed to asynchronously prepare wasm: " + e), Yr(e)
- }))
- }
- if (Se || zr(), Ee.instantiateWasm) try {
- return Ee.instantiateWasm(e, t)
- } catch (e) {
- return Me("Module.instantiateWasm callback failed with error: " + e), !1
- }
- return Ie || "function" != typeof WebAssembly.instantiateStreaming || Hr(st) || "function" != typeof fetch ? n(r) : fetch(st, {credentials: "same-origin"}).then((function (t) {
- return WebAssembly.instantiateStreaming(t, e).then(r, (function (e) {
- return Me("wasm streaming compile failed: " + e), Me("falling back to ArrayBuffer instantiation"), n(r)
- }))
- })), {}
- }
- function Qr() {
- ft.initRuntime()
- }
- function Xr(e) {
- for (; e.length > 0;) {
- var t = e.shift();
- if ("function" != typeof t) {
- var r = t.func;
- "number" == typeof r ? void 0 === t.arg ? Ze.get(r)() : Ze.get(r)(t.arg) : r(void 0 === t.arg ? null : t.arg)
- } else t(Ee)
- }
- }
- function qr(e, t) {
- if (e <= 0 || e > ze.length || !0 & e || t < 0) return -28;
- if (0 == t) return 0;
- t >= 2147483647 && (t = 1 / 0);
- var r = Atomics.load($e, br >> 2), n = 0;
- if (r == e && (Atomics.compareExchange($e, br >> 2, r, 0) == r && (n = 1, --t <= 0))) return 1;
- var o = Atomics.notify($e, e >> 2, t);
- if (o >= 0) return o + n;
- throw"Atomics.notify returned an unexpected value " + o
- }
- function Zr(e) {
- if (Se) throw"Internal Error! cleanupThread() can only ever be called from main application thread!";
- if (!e) throw"Internal Error! Null pthread_ptr in cleanupThread!";
- $e[e + 12 >> 2] = 0;
- var t = ft.pthreads[e];
- if (t) {
- var r = t.worker;
- ft.returnWorkerToPool(r)
- }
- }
- function Kr(e, t) {
- yr(e, t), vr(e)
- }
- function Jr() {
- return Fe
- }
- function en(e, t) {
- return Ze.get(e)(t)
- }
- function tn() {
- var e = new Error;
- if (!e.stack) {
- try {
- throw new Error
- } catch (t) {
- e = t
- }
- if (!e.stack) return "(no stack trace available)"
- }
- return e.stack.toString()
- }
- function rn(e, t, r, n) {
- Yr("Assertion failed: " + xr(e) + ", at: " + [t ? xr(t) : "unknown filename", r, n ? xr(n) : "unknown function"])
- }
- function nn(e) {
- return $e[tr() >> 2] = e, e
- }
- function on(e) {
- for (var t = function (e, t) {
- return t || (t = Re), Math.ceil(e / t) * t
- }(e, 16384), r = Jt(t); e < t;) ze[r + e++] = 0;
- return r
- }
- function an(e, t, r) {
- if (Se) return zo(1, 1, e, t, r);
- Et.varargs = r;
- try {
- var n = Et.getStreamFromFD(e);
- switch (t) {
- case 0:
- return (o = Et.get()) < 0 ? -28 : vt.open(n.path, n.flags, 0, o).fd;
- case 1:
- case 2:
- return 0;
- case 3:
- return n.flags;
- case 4:
- var o = Et.get();
- return n.flags |= o, 0;
- case 12:
- o = Et.get();
- return Ye[o + 0 >> 1] = 2, 0;
- case 13:
- case 14:
- return 0;
- case 16:
- case 8:
- return -28;
- case 9:
- return nn(28), -1;
- default:
- return -28
- }
- } catch (e) {
- return void 0 !== vt && e instanceof vt.ErrnoError || Yr(e), -e.errno
- }
- }
- function sn(e, t, r) {
- if (Se) return zo(2, 1, e, t, r);
- Et.varargs = r;
- try {
- var n = Et.getStr(e), o = r ? Et.get() : 0;
- return vt.open(n, t, o).fd
- } catch (e) {
- return void 0 !== vt && e instanceof vt.ErrnoError || Yr(e), -e.errno
- }
- }
- function un(e) {
- switch (e) {
- case 1:
- return 0;
- case 2:
- return 1;
- case 4:
- return 2;
- case 8:
- return 3;
- default:
- throw new TypeError("Unknown type size: " + e)
- }
- }
- function cn(e) {
- for (var t = "", r = e; We[r];) t += yt[We[r++]];
- return t
- }
- function ln(e) {
- if (void 0 === e) return "_unknown";
- var t = (e = e.replace(/[^a-zA-Z0-9_]/g, "$")).charCodeAt(0);
- return t >= kt && t <= Tt ? "_" + e : e
- }
- function dn(e, t) {
- return e = ln(e), new Function("body", "return function " + e + '() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)
- }
- function fn(e, t) {
- var r = dn(t, (function (e) {
- this.name = t, this.message = e;
- var r = new Error(e).stack;
- void 0 !== r && (this.stack = this.toString() + "\n" + r.replace(/^Error(:[^\n]*)?\n/, ""))
- }));
- return r.prototype = Object.create(e.prototype), r.prototype.constructor = r, r.prototype.toString = function () {
- return void 0 === this.message ? this.name : this.name + ": " + this.message
- }, r
- }
- function pn(e) {
- throw new Dt(e)
- }
- function hn(e) {
- throw new St(e)
- }
- function mn(e, t, r) {
- function n(t) {
- var n = r(t);
- n.length !== e.length && hn("Mismatched type converter count");
- for (var o = 0; o < e.length; ++o) An(e[o], n[o])
- }
- e.forEach((function (e) {
- bt[e] = t
- }));
- var o = new Array(t.length), a = [], i = 0;
- t.forEach((function (e, t) {
- _t.hasOwnProperty(e) ? o[t] = _t[e] : (a.push(e), wt.hasOwnProperty(e) || (wt[e] = []), wt[e].push((function () {
- o[t] = _t[e], ++i === a.length && n(o)
- })))
- })), 0 === a.length && n(o)
- }
- function An(e, t, r) {
- if (r = r || {}, !("argPackAdvance" in t)) throw new TypeError("registerType registeredInstance requires argPackAdvance");
- var n = t.name;
- if (e || pn('type "' + n + '" must have a positive integer typeid pointer'), _t.hasOwnProperty(e)) {
- if (r.ignoreDuplicateRegistrations) return;
- pn("Cannot register type '" + n + "' twice")
- }
- if (_t[e] = t, delete bt[e], wt.hasOwnProperty(e)) {
- var o = wt[e];
- delete wt[e], o.forEach((function (e) {
- e()
- }))
- }
- }
- function gn(e, t, r, n, o) {
- var a = un(r);
- An(e, {
- name: t = cn(t), fromWireType: function (e) {
- return !!e
- }, toWireType: function (e, t) {
- return t ? n : o
- }, argPackAdvance: 8, readValueFromPointer: function (e) {
- var n;
- if (1 === r) n = ze; else if (2 === r) n = Ye; else {
- if (4 !== r) throw new TypeError("Unknown boolean type size: " + t);
- n = $e
- }
- return this.fromWireType(n[e >> a])
- }, destructorFunction: null
- })
- }
- function vn(e) {
- if (!(this instanceof Cn)) return !1;
- if (!(e instanceof Cn)) return !1;
- for (var t = this.$$.ptrType.registeredClass, r = this.$$.ptr, n = e.$$.ptrType.registeredClass, o = e.$$.ptr; t.baseClass;) r = t.upcast(r), t = t.baseClass;
- for (; n.baseClass;) o = n.upcast(o), n = n.baseClass;
- return t === n && r === o
- }
- function En(e) {
- pn(e.$$.ptrType.registeredClass.name + " instance already deleted")
- }
- function yn(e) {
- }
- function wn(e) {
- e.count.value -= 1, 0 === e.count.value && function (e) {
- e.smartPtr ? e.smartPtrType.rawDestructor(e.smartPtr) : e.ptrType.registeredClass.rawDestructor(e.ptr)
- }(e)
- }
- function _n(e) {
- return "undefined" == typeof FinalizationGroup ? (_n = function (e) {
- return e
- }, e) : (Ct = new FinalizationGroup((function (e) {
- for (var t = e.next(); !t.done; t = e.next()) {
- var r = t.value;
- r.ptr ? wn(r) : console.warn("object already deleted: " + r.ptr)
- }
- })), yn = function (e) {
- Ct.unregister(e.$$)
- }, (_n = function (e) {
- return Ct.register(e, e.$$, e.$$), e
- })(e))
- }
- function bn() {
- if (this.$$.ptr || En(this), this.$$.preservePointerOnDelete) return this.$$.count.value += 1, this;
- var e, t = _n(Object.create(Object.getPrototypeOf(this), {
- $$: {
- value: (e = this.$$, {
- count: e.count,
- deleteScheduled: e.deleteScheduled,
- preservePointerOnDelete: e.preservePointerOnDelete,
- ptr: e.ptr,
- ptrType: e.ptrType,
- smartPtr: e.smartPtr,
- smartPtrType: e.smartPtrType
- })
- }
- }));
- return t.$$.count.value += 1, t.$$.deleteScheduled = !1, t
- }
- function kn() {
- this.$$.ptr || En(this), this.$$.deleteScheduled && !this.$$.preservePointerOnDelete && pn("Object already scheduled for deletion"), yn(this), wn(this.$$), this.$$.preservePointerOnDelete || (this.$$.smartPtr = void 0, this.$$.ptr = void 0)
- }
- function Tn() {
- return !this.$$.ptr
- }
- function Dn() {
- for (; Pt.length;) {
- var e = Pt.pop();
- e.$$.deleteScheduled = !1, e.delete()
- }
- }
- function Sn() {
- return this.$$.ptr || En(this), this.$$.deleteScheduled && !this.$$.preservePointerOnDelete && pn("Object already scheduled for deletion"), Pt.push(this), 1 === Pt.length && Ot && Ot(Dn), this.$$.deleteScheduled = !0, this
- }
- function Cn() {
- }
- function On(e, t, r) {
- if (void 0 === e[t].overloadTable) {
- var n = e[t];
- e[t] = function () {
- return e[t].overloadTable.hasOwnProperty(arguments.length) || pn("Function '" + r + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + e[t].overloadTable + ")!"), e[t].overloadTable[arguments.length].apply(this, arguments)
- }, e[t].overloadTable = [], e[t].overloadTable[n.argCount] = n
- }
- }
- function Pn(e, t, r, n, o, a, i, s) {
- this.name = e, this.constructor = t, this.instancePrototype = r, this.rawDestructor = n, this.baseClass = o, this.getActualType = a, this.upcast = i, this.downcast = s, this.pureVirtualFunctions = []
- }
- function xn(e, t, r) {
- for (; t !== r;) t.upcast || pn("Expected null or instance of " + r.name + ", got an instance of " + t.name), e = t.upcast(e), t = t.baseClass;
- return e
- }
- function Bn(e, t) {
- if (null === t) return this.isReference && pn("null is not a valid " + this.name), 0;
- t.$$ || pn('Cannot pass "' + lo(t) + '" as a ' + this.name), t.$$.ptr || pn("Cannot pass deleted object as a pointer of type " + this.name);
- var r = t.$$.ptrType.registeredClass;
- return xn(t.$$.ptr, r, this.registeredClass)
- }
- function Mn(e, t) {
- var r;
- if (null === t) return this.isReference && pn("null is not a valid " + this.name), this.isSmartPointer ? (r = this.rawConstructor(), null !== e && e.push(this.rawDestructor, r), r) : 0;
- t.$$ || pn('Cannot pass "' + lo(t) + '" as a ' + this.name), t.$$.ptr || pn("Cannot pass deleted object as a pointer of type " + this.name), !this.isConst && t.$$.ptrType.isConst && pn("Cannot convert argument of type " + (t.$$.smartPtrType ? t.$$.smartPtrType.name : t.$$.ptrType.name) + " to parameter type " + this.name);
- var n = t.$$.ptrType.registeredClass;
- if (r = xn(t.$$.ptr, n, this.registeredClass), this.isSmartPointer) switch (void 0 === t.$$.smartPtr && pn("Passing raw pointer to smart pointer is illegal"), this.sharingPolicy) {
- case 0:
- t.$$.smartPtrType === this ? r = t.$$.smartPtr : pn("Cannot convert argument of type " + (t.$$.smartPtrType ? t.$$.smartPtrType.name : t.$$.ptrType.name) + " to parameter type " + this.name);
- break;
- case 1:
- r = t.$$.smartPtr;
- break;
- case 2:
- if (t.$$.smartPtrType === this) r = t.$$.smartPtr; else {
- var o = t.clone();
- r = this.rawShare(r, uo((function () {
- o.delete()
- }))), null !== e && e.push(this.rawDestructor, r)
- }
- break;
- default:
- pn("Unsupporting sharing policy")
- }
- return r
- }
- function Rn(e, t) {
- if (null === t) return this.isReference && pn("null is not a valid " + this.name), 0;
- t.$$ || pn('Cannot pass "' + lo(t) + '" as a ' + this.name), t.$$.ptr || pn("Cannot pass deleted object as a pointer of type " + this.name), t.$$.ptrType.isConst && pn("Cannot convert argument of type " + t.$$.ptrType.name + " to parameter type " + this.name);
- var r = t.$$.ptrType.registeredClass;
- return xn(t.$$.ptr, r, this.registeredClass)
- }
- function Ln(e) {
- return this.fromWireType(Ve[e >> 2])
- }
- function In(e) {
- return this.rawGetPointee && (e = this.rawGetPointee(e)), e
- }
- function Fn(e) {
- this.rawDestructor && this.rawDestructor(e)
- }
- function Un(e) {
- null !== e && e.delete()
- }
- function Nn(e, t, r) {
- if (t === r) return e;
- if (void 0 === r.baseClass) return null;
- var n = Nn(e, t, r.baseClass);
- return null === n ? null : r.downcast(n)
- }
- function jn() {
- return Object.keys(Bt).length
- }
- function Gn() {
- var e = [];
- for (var t in Bt) Bt.hasOwnProperty(t) && e.push(Bt[t]);
- return e
- }
- function zn(e) {
- Ot = e, Pt.length && Ot && Ot(Dn)
- }
- function Wn(e, t) {
- return t = function (e, t) {
- for (void 0 === t && pn("ptr should not be undefined"); e.baseClass;) t = e.upcast(t), e = e.baseClass;
- return t
- }(e, t), Bt[t]
- }
- function Yn(e, t) {
- return t.ptrType && t.ptr || hn("makeClassHandle requires ptr and ptrType"), !!t.smartPtrType !== !!t.smartPtr && hn("Both smartPtrType and smartPtr must be specified"), t.count = {value: 1}, _n(Object.create(e, {$$: {value: t}}))
- }
- function Hn(e) {
- var t = this.getPointee(e);
- if (!t) return this.destructor(e), null;
- var r = Wn(this.registeredClass, t);
- if (void 0 !== r) {
- if (0 === r.$$.count.value) return r.$$.ptr = t, r.$$.smartPtr = e, r.clone();
- var n = r.clone();
- return this.destructor(e), n
- }
- function o() {
- return this.isSmartPointer ? Yn(this.registeredClass.instancePrototype, {
- ptrType: this.pointeeType,
- ptr: t,
- smartPtrType: this,
- smartPtr: e
- }) : Yn(this.registeredClass.instancePrototype, {ptrType: this, ptr: e})
- }
- var a, i = this.registeredClass.getActualType(t), s = xt[i];
- if (!s) return o.call(this);
- a = this.isConst ? s.constPointerType : s.pointerType;
- var u = Nn(t, this.registeredClass, a.registeredClass);
- return null === u ? o.call(this) : this.isSmartPointer ? Yn(a.registeredClass.instancePrototype, {
- ptrType: a,
- ptr: u,
- smartPtrType: this,
- smartPtr: e
- }) : Yn(a.registeredClass.instancePrototype, {ptrType: a, ptr: u})
- }
- function $n(e, t, r, n, o, a, i, s, u, c, l) {
- this.name = e, this.registeredClass = t, this.isReference = r, this.isConst = n, this.isSmartPointer = o, this.pointeeType = a, this.sharingPolicy = i, this.rawGetPointee = s, this.rawConstructor = u, this.rawShare = c, this.rawDestructor = l, o || void 0 !== t.baseClass ? this.toWireType = Mn : n ? (this.toWireType = Bn, this.destructorFunction = null) : (this.toWireType = Rn, this.destructorFunction = null)
- }
- function Vn(e, t, r) {
- return -1 != e.indexOf("j") ? function (e, t, r) {
- var n = Ee["dynCall_" + e];
- return r && r.length ? n.apply(null, [t].concat(r)) : n.call(null, t)
- }(e, t, r) : Ze.get(t).apply(null, r)
- }
- function Qn(e, t) {
- var r, n, o, a = -1 != (e = cn(e)).indexOf("j") ? (r = e, n = t, o = [], function () {
- o.length = arguments.length;
- for (var e = 0; e < arguments.length; e++) o[e] = arguments[e];
- return Vn(r, n, o)
- }) : Ze.get(t);
- return "function" != typeof a && pn("unknown function pointer with signature " + e + ": " + t), a
- }
- function Xn(e) {
- var t = rr(e), r = cn(t);
- return Kt(t), r
- }
- function qn(e, t) {
- var r = [], n = {};
- throw t.forEach((function e(t) {
- n[t] || _t[t] || (bt[t] ? bt[t].forEach(e) : (r.push(t), n[t] = !0))
- })), new Mt(e + ": " + r.map(Xn).join([", "]))
- }
- function Zn(e, t, r, n, o, a, i, s, u, c, l, d, f) {
- l = cn(l), a = Qn(o, a), s && (s = Qn(i, s)), c && (c = Qn(u, c)), f = Qn(d, f);
- var p = ln(l);
- !function (e, t, r) {
- Ee.hasOwnProperty(e) ? ((void 0 === r || void 0 !== Ee[e].overloadTable && void 0 !== Ee[e].overloadTable[r]) && pn("Cannot register public name '" + e + "' twice"), On(Ee, e, e), Ee.hasOwnProperty(r) && pn("Cannot register multiple overloads of a function with the same number of arguments (" + r + ")!"), Ee[e].overloadTable[r] = t) : (Ee[e] = t, void 0 !== r && (Ee[e].numArguments = r))
- }(p, (function () {
- qn("Cannot construct " + l + " due to unbound types", [n])
- })), mn([e, t, r], n ? [n] : [], (function (t) {
- var r, o;
- t = t[0], o = n ? (r = t.registeredClass).instancePrototype : Cn.prototype;
- var i = dn(p, (function () {
- if (Object.getPrototypeOf(this) !== u) throw new Dt("Use 'new' to construct " + l);
- if (void 0 === d.constructor_body) throw new Dt(l + " has no accessible constructor");
- var e = d.constructor_body[arguments.length];
- if (void 0 === e) throw new Dt("Tried to invoke ctor of " + l + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(d.constructor_body).toString() + ") parameters instead!");
- return e.apply(this, arguments)
- })), u = Object.create(o, {constructor: {value: i}});
- i.prototype = u;
- var d = new Pn(l, i, u, f, r, a, s, c), h = new $n(l, d, !0, !1, !1), m = new $n(l + "*", d, !1, !1, !1),
- A = new $n(l + " const*", d, !1, !0, !1);
- return xt[e] = {pointerType: m, constPointerType: A}, function (e, t, r) {
- Ee.hasOwnProperty(e) || hn("Replacing nonexistant public symbol"), void 0 !== Ee[e].overloadTable && void 0 !== r ? Ee[e].overloadTable[r] = t : (Ee[e] = t, Ee[e].argCount = r)
- }(p, i), [h, m, A]
- }))
- }
- function Kn(e, t) {
- for (var r = [], n = 0; n < e; n++) r.push($e[(t >> 2) + n]);
- return r
- }
- function Jn(e) {
- for (; e.length;) {
- var t = e.pop();
- e.pop()(t)
- }
- }
- function eo(e, t, r, n, o, a) {
- Or(t > 0);
- var i = Kn(t, r);
- o = Qn(n, o);
- var s = [a], u = [];
- mn([], [e], (function (e) {
- var r = "constructor " + (e = e[0]).name;
- if (void 0 === e.registeredClass.constructor_body && (e.registeredClass.constructor_body = []), void 0 !== e.registeredClass.constructor_body[t - 1]) throw new Dt("Cannot register multiple constructors with identical number of parameters (" + (t - 1) + ") for class '" + e.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!");
- return e.registeredClass.constructor_body[t - 1] = function () {
- qn("Cannot construct " + e.name + " due to unbound types", i)
- }, mn([], i, (function (n) {
- return e.registeredClass.constructor_body[t - 1] = function () {
- arguments.length !== t - 1 && pn(r + " called with " + arguments.length + " arguments, expected " + (t - 1)), u.length = 0, s.length = t;
- for (var e = 1; e < t; ++e) s[e] = n[e].toWireType(u, arguments[e - 1]);
- var a = o.apply(null, s);
- return Jn(u), n[0].fromWireType(a)
- }, []
- })), []
- }))
- }
- function to(e, t) {
- if (!(e instanceof Function)) throw new TypeError("new_ called with constructor type " + typeof e + " which is not a function");
- var r = dn(e.name || "unknownFunctionName", (function () {
- }));
- r.prototype = e.prototype;
- var n = new r, o = e.apply(n, t);
- return o instanceof Object ? o : n
- }
- function ro(e, t, r, n, o, a, i, s) {
- var u = Kn(r, n);
- t = cn(t), a = Qn(o, a), mn([], [e], (function (e) {
- var n = (e = e[0]).name + "." + t;
- function o() {
- qn("Cannot call " + n + " due to unbound types", u)
- }
- s && e.registeredClass.pureVirtualFunctions.push(t);
- var c = e.registeredClass.instancePrototype, l = c[t];
- return void 0 === l || void 0 === l.overloadTable && l.className !== e.name && l.argCount === r - 2 ? (o.argCount = r - 2, o.className = e.name, c[t] = o) : (On(c, t, n), c[t].overloadTable[r - 2] = o), mn([], u, (function (o) {
- var s = function (e, t, r, n, o) {
- var a = t.length;
- a < 2 && pn("argTypes array size mismatch! Must at least get return value and 'this' types!");
- for (var i = null !== t[1] && null !== r, s = !1, u = 1; u < t.length; ++u) if (null !== t[u] && void 0 === t[u].destructorFunction) {
- s = !0;
- break
- }
- var c = "void" !== t[0].name, l = "", d = "";
- for (u = 0; u < a - 2; ++u) l += (0 !== u ? ", " : "") + "arg" + u, d += (0 !== u ? ", " : "") + "arg" + u + "Wired";
- var f = "return function " + ln(e) + "(" + l + ") {\nif (arguments.length !== " + (a - 2) + ") {\nthrowBindingError('function " + e + " called with ' + arguments.length + ' arguments, expected " + (a - 2) + " args!');\n}\n";
- s && (f += "var destructors = [];\n");
- var p = s ? "destructors" : "null",
- h = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"],
- m = [pn, n, o, Jn, t[0], t[1]];
- for (i && (f += "var thisWired = classParam.toWireType(" + p + ", this);\n"), u = 0; u < a - 2; ++u) f += "var arg" + u + "Wired = argType" + u + ".toWireType(" + p + ", arg" + u + "); // " + t[u + 2].name + "\n", h.push("argType" + u), m.push(t[u + 2]);
- if (i && (d = "thisWired" + (d.length > 0 ? ", " : "") + d), f += (c ? "var rv = " : "") + "invoker(fn" + (d.length > 0 ? ", " : "") + d + ");\n", s) f += "runDestructors(destructors);\n"; else for (u = i ? 1 : 2; u < t.length; ++u) {
- var A = 1 === u ? "thisWired" : "arg" + (u - 2) + "Wired";
- null !== t[u].destructorFunction && (f += A + "_dtor(" + A + "); // " + t[u].name + "\n", h.push(A + "_dtor"), m.push(t[u].destructorFunction))
- }
- return c && (f += "var ret = retType.fromWireType(rv);\nreturn ret;\n"), f += "}\n", h.push(f), to(Function, h).apply(null, m)
- }(n, o, e, a, i);
- return void 0 === c[t].overloadTable ? (s.argCount = r - 2, c[t] = s) : c[t].overloadTable[r - 2] = s, []
- })), []
- }))
- }
- function no(e, t, r) {
- return e instanceof Object || pn(r + ' with invalid "this": ' + e), e instanceof t.registeredClass.constructor || pn(r + ' incompatible with "this" of type ' + e.constructor.name), e.$$.ptr || pn("cannot call emscripten binding method " + r + " on deleted object"), xn(e.$$.ptr, e.$$.ptrType.registeredClass, t.registeredClass)
- }
- function oo(e, t, r, n, o, a, i, s, u, c) {
- t = cn(t), o = Qn(n, o), mn([], [e], (function (e) {
- var n = (e = e[0]).name + "." + t, l = {
- get: function () {
- qn("Cannot access " + n + " due to unbound types", [r, i])
- }, enumerable: !0, configurable: !0
- };
- return l.set = u ? function () {
- qn("Cannot access " + n + " due to unbound types", [r, i])
- } : function (e) {
- pn(n + " is a read-only property")
- }, Object.defineProperty(e.registeredClass.instancePrototype, t, l), mn([], u ? [r, i] : [r], (function (r) {
- var i = r[0], l = {
- get: function () {
- var t = no(this, e, n + " getter");
- return i.fromWireType(o(a, t))
- }, enumerable: !0
- };
- if (u) {
- u = Qn(s, u);
- var d = r[1];
- l.set = function (t) {
- var r = no(this, e, n + " setter"), o = [];
- u(c, r, d.toWireType(o, t)), Jn(o)
- }
- }
- return Object.defineProperty(e.registeredClass.instancePrototype, t, l), []
- })), []
- }))
- }
- function ao(e) {
- e > 4 && 0 == --Lt[e].refcount && (Lt[e] = void 0, Rt.push(e))
- }
- function io() {
- for (var e = 0, t = 5; t < Lt.length; ++t) void 0 !== Lt[t] && ++e;
- return e
- }
- function so() {
- for (var e = 5; e < Lt.length; ++e) if (void 0 !== Lt[e]) return Lt[e];
- return null
- }
- function uo(e) {
- switch (e) {
- case void 0:
- return 1;
- case null:
- return 2;
- case!0:
- return 3;
- case!1:
- return 4;
- default:
- var t = Rt.length ? Rt.pop() : Lt.length;
- return Lt[t] = {refcount: 1, value: e}, t
- }
- }
- function co(e, t) {
- An(e, {
- name: t = cn(t), fromWireType: function (e) {
- var t = Lt[e].value;
- return ao(e), t
- }, toWireType: function (e, t) {
- return uo(t)
- }, argPackAdvance: 8, readValueFromPointer: Ln, destructorFunction: null
- })
- }
- function lo(e) {
- if (null === e) return "null";
- var t = typeof e;
- return "object" === t || "array" === t || "function" === t ? e.toString() : "" + e
- }
- function fo(e, t) {
- switch (t) {
- case 2:
- return function (e) {
- return this.fromWireType(Qe[e >> 2])
- };
- case 3:
- return function (e) {
- return this.fromWireType(Xe[e >> 3])
- };
- default:
- throw new TypeError("Unknown float type: " + e)
- }
- }
- function po(e, t, r) {
- var n = un(r);
- An(e, {
- name: t = cn(t), fromWireType: function (e) {
- return e
- }, toWireType: function (e, t) {
- if ("number" != typeof t && "boolean" != typeof t) throw new TypeError('Cannot convert "' + lo(t) + '" to ' + this.name);
- return t
- }, argPackAdvance: 8, readValueFromPointer: fo(t, n), destructorFunction: null
- })
- }
- function ho(e, t, r) {
- switch (t) {
- case 0:
- return r ? function (e) {
- return ze[e]
- } : function (e) {
- return We[e]
- };
- case 1:
- return r ? function (e) {
- return Ye[e >> 1]
- } : function (e) {
- return He[e >> 1]
- };
- case 2:
- return r ? function (e) {
- return $e[e >> 2]
- } : function (e) {
- return Ve[e >> 2]
- };
- default:
- throw new TypeError("Unknown integer type: " + e)
- }
- }
- function mo(e, t, r, n, o) {
- t = cn(t), -1 === o && (o = 4294967295);
- var a = un(r), i = function (e) {
- return e
- };
- if (0 === n) {
- var s = 32 - 8 * r;
- i = function (e) {
- return e << s >>> s
- }
- }
- var u = -1 != t.indexOf("unsigned");
- An(e, {
- name: t, fromWireType: i, toWireType: function (e, r) {
- if ("number" != typeof r && "boolean" != typeof r) throw new TypeError('Cannot convert "' + lo(r) + '" to ' + this.name);
- if (r < n || r > o) throw new TypeError('Passing a number "' + lo(r) + '" from JS side to C/C++ side to an argument of type "' + t + '", which is outside the valid range [' + n + ", " + o + "]!");
- return u ? r >>> 0 : 0 | r
- }, argPackAdvance: 8, readValueFromPointer: ho(t, a, 0 !== n), destructorFunction: null
- })
- }
- function Ao(e, t, r) {
- var n = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][t];
- function o(e) {
- var t = Ve, r = t[e >>= 2], o = t[e + 1];
- return new n(Ge, o, r)
- }
- An(e, {
- name: r = cn(r),
- fromWireType: o,
- argPackAdvance: 8,
- readValueFromPointer: o
- }, {ignoreDuplicateRegistrations: !0})
- }
- function go(e, t) {
- var r = "std::string" === (t = cn(t));
- An(e, {
- name: t, fromWireType: function (e) {
- var t, n = Ve[e >> 2];
- if (r) for (var o = e + 4, a = 0; a <= n; ++a) {
- var i = e + 4 + a;
- if (a == n || 0 == We[i]) {
- var s = xr(o, i - o);
- void 0 === t ? t = s : (t += String.fromCharCode(0), t += s), o = i + 1
- }
- } else {
- var u = new Array(n);
- for (a = 0; a < n; ++a) u[a] = String.fromCharCode(We[e + 4 + a]);
- t = u.join("")
- }
- return Kt(e), t
- }, toWireType: function (e, t) {
- t instanceof ArrayBuffer && (t = new Uint8Array(t));
- var n = "string" == typeof t;
- n || t instanceof Uint8Array || t instanceof Uint8ClampedArray || t instanceof Int8Array || pn("Cannot pass non-string to std::string");
- var o = (r && n ? function () {
- return Rr(t)
- } : function () {
- return t.length
- })(), a = Jt(4 + o + 1);
- if (Ve[a >> 2] = o, r && n) Mr(t, a + 4, o + 1); else if (n) for (var i = 0; i < o; ++i) {
- var s = t.charCodeAt(i);
- s > 255 && (Kt(a), pn("String has UTF-16 code units that do not fit in 8 bits")), We[a + 4 + i] = s
- } else for (i = 0; i < o; ++i) We[a + 4 + i] = t[i];
- return null !== e && e.push(Kt, a), a
- }, argPackAdvance: 8, readValueFromPointer: Ln, destructorFunction: function (e) {
- Kt(e)
- }
- })
- }
- function vo(e, t, r) {
- var n, o, a, i, s;
- r = cn(r), 2 === t ? (n = Lr, o = Ir, i = Fr, a = function () {
- return He
- }, s = 1) : 4 === t && (n = Ur, o = Nr, i = jr, a = function () {
- return Ve
- }, s = 2), An(e, {
- name: r, fromWireType: function (e) {
- for (var r, o = Ve[e >> 2], i = a(), u = e + 4, c = 0; c <= o; ++c) {
- var l = e + 4 + c * t;
- if (c == o || 0 == i[l >> s]) {
- var d = n(u, l - u);
- void 0 === r ? r = d : (r += String.fromCharCode(0), r += d), u = l + t
- }
- }
- return Kt(e), r
- }, toWireType: function (e, n) {
- "string" != typeof n && pn("Cannot pass non-string to C++ string type " + r);
- var a = i(n), u = Jt(4 + a + t);
- return Ve[u >> 2] = a >> s, o(n, u + 4, a + t), null !== e && e.push(Kt, u), u
- }, argPackAdvance: 8, readValueFromPointer: Ln, destructorFunction: function (e) {
- Kt(e)
- }
- })
- }
- function Eo(e, t) {
- An(e, {
- isVoid: !0, name: t = cn(t), argPackAdvance: 0, fromWireType: function () {
- }, toWireType: function (e, t) {
- }
- })
- }
- function yo(e, t) {
- if (e == t) postMessage({cmd: "processQueuedMainThreadWork"}); else if (Se) postMessage({
- targetThread: e,
- cmd: "processThreadQueue"
- }); else {
- var r = ft.pthreads[e], n = r && r.worker;
- if (!n) return;
- n.postMessage({cmd: "processThreadQueue"})
- }
- return 1
- }
- function wo(e) {
- return e || pn("Cannot use deleted val. handle = " + e), Lt[e].value
- }
- function _o(e, t) {
- var r = _t[e];
- return void 0 === r && pn(t + " has unknown type " + Xn(e)), r
- }
- function bo(e, t, r) {
- e = wo(e), t = _o(t, "emval::as");
- var n = [], o = uo(n);
- return $e[r >> 2] = o, t.toWireType(n, e)
- }
- function ko(e, t, r, n) {
- var o, a;
- (e = Ft[e])(t = wo(t), r = void 0 === (a = It[o = r]) ? cn(o) : a, null, n)
- }
- function To(e, t) {
- for (var r = function (e, t) {
- for (var r = new Array(e), n = 0; n < e; ++n) r[n] = _o($e[(t >> 2) + n], "parameter " + n);
- return r
- }(e, t), n = r[0], o = n.name + "_$" + r.slice(1).map((function (e) {
- return e.name
- })).join("_") + "$", a = ["retType"], i = [n], s = "", u = 0; u < e - 1; ++u) s += (0 !== u ? ", " : "") + "arg" + u, a.push("argType" + u), i.push(r[1 + u]);
- var c = "return function " + ln("methodCaller_" + o) + "(handle, name, destructors, args) {\n", l = 0;
- for (u = 0; u < e - 1; ++u) c += " var arg" + u + " = argType" + u + ".readValueFromPointer(args" + (l ? "+" + l : "") + ");\n", l += r[u + 1].argPackAdvance;
- c += " var rv = handle[name](" + s + ");\n";
- for (u = 0; u < e - 1; ++u) r[u + 1].deleteObject && (c += " argType" + u + ".deleteObject(arg" + u + ");\n");
- n.isVoid || (c += " return retType.toWireType(destructors, rv);\n"), c += "};\n", a.push(c);
- var d, f, p = to(Function, a).apply(null, i);
- return d = p, f = Ft.length, Ft.push(d), f
- }
- function Do(e) {
- e > 4 && (Lt[e].refcount += 1)
- }
- function So(e) {
- Jn(Lt[e].value), ao(e)
- }
- function Co(e, t) {
- return uo((e = _o(e, "_emval_take_value")).readValueFromPointer(t))
- }
- function Oo() {
- Yr()
- }
- function Po() {
- return void 0 === Po.start && (Po.start = Date.now()), 1e3 * (Date.now() - Po.start) | 0
- }
- function xo(e, t, r) {
- var n = function (e, t) {
- var r;
- Nt.length = 0, t >>= 2;
- for (; r = We[e++];) {
- var n = r < 105;
- n && 1 & t && t++, Nt.push(n ? Xe[t++ >> 1] : $e[t]), ++t
- }
- return Nt
- }(t, r);
- return lt[e].apply(null, n)
- }
- function Bo() {
- De || Cr("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")
- }
- function Mo(e, t) {
- }
- function Ro(e, t, r) {
- if (e <= 0 || e > ze.length || !0 & e) return -28;
- if (Te) {
- if (Atomics.load($e, e >> 2) != t) return -6;
- var n = performance.now(), o = n + r;
- for (Atomics.exchange($e, br >> 2, e); ;) {
- if ((n = performance.now()) > o) return Atomics.exchange($e, br >> 2, 0), -73;
- if (0 == Atomics.exchange($e, br >> 2, 0)) break;
- if (lr(), Atomics.load($e, e >> 2) != t) return -6;
- Atomics.exchange($e, br >> 2, e)
- }
- return 0
- }
- var a = Atomics.wait($e, e >> 2, t, r);
- if ("timed-out" === a) return -73;
- if ("not-equal" === a) return -6;
- if ("ok" === a) return 0;
- throw"Atomics.wait returned an unexpected value " + a
- }
- function Lo(e, t) {
- return (e >>> 0) + 4294967296 * t
- }
- function Io(e, t) {
- if (e <= 0) return e;
- var r = t <= 32 ? Math.abs(1 << t - 1) : Math.pow(2, t - 1);
- return e >= r && (t <= 32 || e > r) && (e = -2 * r + e), e
- }
- function Fo(e, t) {
- return e >= 0 ? e : t <= 32 ? 2 * Math.abs(1 << t - 1) + e : Math.pow(2, t) + e
- }
- function Uo(e) {
- if (!e || !e.callee || !e.callee.name) return [null, "", ""];
- e.callee.toString();
- var t = e.callee.name, r = "(", n = !0;
- for (var o in e) {
- var a = e[o];
- n || (r += ", "), n = !1, r += "number" == typeof a || "string" == typeof a ? a : "(" + typeof a + ")"
- }
- r += ")";
- var i = e.callee.caller;
- return n && (r = ""), [e = i ? i.arguments : [], t, r]
- }
- function No(e, t) {
- 24 & e && (t = t.replace(/\s+$/, ""), t += (t.length > 0 ? "\n" : "") + function (e) {
- var t = tn(), r = t.lastIndexOf("_emscripten_log"), n = t.lastIndexOf("_emscripten_get_callstack"),
- o = t.indexOf("\n", Math.max(r, n)) + 1;
- t = t.slice(o), 32 & e && Cr("EM_LOG_DEMANGLE is deprecated; ignoring"), 8 & e && "undefined" == typeof emscripten_source_map && (Cr('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'), e ^= 8, e |= 16);
- var a = null;
- if (128 & e) for (a = Uo(arguments); a[1].indexOf("_emscripten_") >= 0;) a = Uo(a[0]);
- var i = t.split("\n");
- t = "";
- var s = new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"), u = new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),
- c = new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");
- for (var l in i) {
- var d = i[l], f = "", p = "", h = 0, m = 0, A = c.exec(d);
- if (A && 5 == A.length) f = A[1], p = A[2], h = A[3], m = A[4]; else {
- if ((A = s.exec(d)) || (A = u.exec(d)), !(A && A.length >= 4)) {
- t += d + "\n";
- continue
- }
- f = A[1], p = A[2], h = A[3], m = 0 | A[4]
- }
- var g = !1;
- if (8 & e) {
- var v = emscripten_source_map.originalPositionFor({line: h, column: m});
- (g = v && v.source) && (64 & e && (v.source = v.source.substring(v.source.replace(/\\/g, "/").lastIndexOf("/") + 1)), t += " at " + f + " (" + v.source + ":" + v.line + ":" + v.column + ")\n")
- }
- (16 & e || !g) && (64 & e && (p = p.substring(p.replace(/\\/g, "/").lastIndexOf("/") + 1)), t += (g ? " = " + f : " at " + f) + " (" + p + ":" + h + ":" + m + ")\n"), 128 & e && a[0] && (a[1] == f && a[2].length > 0 && (t = t.replace(/\s+$/, ""), t += " with values: " + a[1] + a[2] + "\n"), a = Uo(a[0]))
- }
- return t.replace(/\s+$/, "")
- }(e)), 1 & e ? 4 & e ? console.error(t) : 2 & e ? console.warn(t) : 512 & e ? console.info(t) : 256 & e ? console.debug(t) : console.log(t) : 6 & e ? Me(t) : Be(t)
- }
- function jo(e, t, r) {
- No(e, Pr(function (e, t) {
- var r = e, n = t;
- function o(e) {
- var t;
- return n = function (e, t) {
- return "double" !== t && "i64" !== t || 7 & e && (e += 4), e
- }(n, e), "double" === e ? (t = Xe[n >> 3], n += 8) : "i64" == e ? (t = [$e[n >> 2], $e[n + 4 >> 2]], n += 8) : (e = "i32", t = $e[n >> 2], n += 4), t
- }
- for (var a, i, s, u, c = []; ;) {
- var l = r;
- if (0 === (a = ze[r >> 0])) break;
- if (i = ze[r + 1 >> 0], 37 == a) {
- var d = !1, f = !1, p = !1, h = !1, m = !1;
- e:for (; ;) {
- switch (i) {
- case 43:
- d = !0;
- break;
- case 45:
- f = !0;
- break;
- case 35:
- p = !0;
- break;
- case 48:
- if (h) break e;
- h = !0;
- break;
- case 32:
- m = !0;
- break;
- default:
- break e
- }
- r++, i = ze[r + 1 >> 0]
- }
- var A = 0;
- if (42 == i) A = o("i32"), r++, i = ze[r + 1 >> 0]; else for (; i >= 48 && i <= 57;) A = 10 * A + (i - 48), r++, i = ze[r + 1 >> 0];
- var g, v = !1, E = -1;
- if (46 == i) {
- if (E = 0, v = !0, r++, 42 == (i = ze[r + 1 >> 0])) E = o("i32"), r++; else for (; ;) {
- var y = ze[r + 1 >> 0];
- if (y < 48 || y > 57) break;
- E = 10 * E + (y - 48), r++
- }
- i = ze[r + 1 >> 0]
- }
- switch (E < 0 && (E = 6, v = !1), String.fromCharCode(i)) {
- case"h":
- 104 == ze[r + 2 >> 0] ? (r++, g = 1) : g = 2;
- break;
- case"l":
- 108 == ze[r + 2 >> 0] ? (r++, g = 8) : g = 4;
- break;
- case"L":
- case"q":
- case"j":
- g = 8;
- break;
- case"z":
- case"t":
- case"I":
- g = 4;
- break;
- default:
- g = null
- }
- switch (g && r++, i = ze[r + 1 >> 0], String.fromCharCode(i)) {
- case"d":
- case"i":
- case"u":
- case"o":
- case"x":
- case"X":
- case"p":
- var w = 100 == i || 105 == i;
- s = o("i" + 8 * (g = g || 4)), 8 == g && (s = 117 == i ? (s[0] >>> 0) + 4294967296 * (s[1] >>> 0) : Lo(s[0], s[1])), g <= 4 && (s = (w ? Io : Fo)(s & Math.pow(256, g) - 1, 8 * g));
- var _ = Math.abs(s), b = "";
- if (100 == i || 105 == i) D = Io(s, 8 * g).toString(10); else if (117 == i) D = Fo(s, 8 * g).toString(10), s = Math.abs(s); else if (111 == i) D = (p ? "0" : "") + _.toString(8); else if (120 == i || 88 == i) {
- if (b = p && 0 != s ? "0x" : "", s < 0) {
- s = -s, D = (_ - 1).toString(16);
- for (var k = [], T = 0; T < D.length; T++) k.push((15 - parseInt(D[T], 16)).toString(16));
- for (D = k.join(""); D.length < 2 * g;) D = "f" + D
- } else D = _.toString(16);
- 88 == i && (b = b.toUpperCase(), D = D.toUpperCase())
- } else 112 == i && (0 === _ ? D = "(nil)" : (b = "0x", D = _.toString(16)));
- if (v) for (; D.length < E;) D = "0" + D;
- for (s >= 0 && (d ? b = "+" + b : m && (b = " " + b)), "-" == D.charAt(0) && (b = "-" + b, D = D.substr(1)); b.length + D.length < A;) f ? D += " " : h ? D = "0" + D : b = " " + b;
- (D = b + D).split("").forEach((function (e) {
- c.push(e.charCodeAt(0))
- }));
- break;
- case"f":
- case"F":
- case"e":
- case"E":
- case"g":
- case"G":
- var D;
- if (s = o("double"), isNaN(s)) D = "nan", h = !1; else if (isFinite(s)) {
- var S = !1, C = Math.min(E, 20);
- if (103 == i || 71 == i) {
- S = !0, E = E || 1;
- var O = parseInt(s.toExponential(C).split("e")[1], 10);
- E > O && O >= -4 ? (i = (103 == i ? "f" : "F").charCodeAt(0), E -= O + 1) : (i = (103 == i ? "e" : "E").charCodeAt(0), E--), C = Math.min(E, 20)
- }
- 101 == i || 69 == i ? (D = s.toExponential(C), /[eE][-+]\d$/.test(D) && (D = D.slice(0, -1) + "0" + D.slice(-1))) : 102 != i && 70 != i || (D = s.toFixed(C), 0 === s && ((u = s) < 0 || 0 === u && 1 / u == -1 / 0) && (D = "-" + D));
- var P = D.split("e");
- if (S && !p) for (; P[0].length > 1 && -1 != P[0].indexOf(".") && ("0" == P[0].slice(-1) || "." == P[0].slice(-1));) P[0] = P[0].slice(0, -1); else for (p && -1 == D.indexOf(".") && (P[0] += "."); E > C++;) P[0] += "0";
- D = P[0] + (P.length > 1 ? "e" + P[1] : ""), 69 == i && (D = D.toUpperCase()), s >= 0 && (d ? D = "+" + D : m && (D = " " + D))
- } else D = (s < 0 ? "-" : "") + "inf", h = !1;
- for (; D.length < A;) f ? D += " " : D = !h || "-" != D[0] && "+" != D[0] ? (h ? "0" : " ") + D : D[0] + "0" + D.slice(1);
- i < 97 && (D = D.toUpperCase()), D.split("").forEach((function (e) {
- c.push(e.charCodeAt(0))
- }));
- break;
- case"s":
- var x = o("i8*"), B = x ? er(x) : "(null)".length;
- if (v && (B = Math.min(B, E)), !f) for (; B < A--;) c.push(32);
- if (x) for (T = 0; T < B; T++) c.push(We[x++ >> 0]); else c = c.concat(ga("(null)".substr(0, B), !0));
- if (f) for (; B < A--;) c.push(32);
- break;
- case"c":
- for (f && c.push(o("i8")); --A > 0;) c.push(32);
- f || c.push(o("i8"));
- break;
- case"n":
- var M = o("i32*");
- $e[M >> 2] = c.length;
- break;
- case"%":
- c.push(a);
- break;
- default:
- for (T = l; T < r + 2; T++) c.push(ze[T >> 0])
- }
- r += 2
- } else c.push(a), r += 1
- }
- return c
- }(t, r), 0))
- }
- function Go(e, t, r) {
- We.copyWithin(e, t, t + r)
- }
- function zo(e, t) {
- for (var r = arguments.length - 2, n = gr(), o = r, a = Er(8 * o), i = a >> 3, s = 0; s < r; s++) {
- var u = arguments[2 + s];
- Xe[i + s] = u
- }
- var c = hr(e, o, a, t);
- return vr(n), c
- }
- function Wo(e, t, r) {
- Ut.length = t;
- for (var n = r >> 3, o = 0; o < t; o++) Ut[o] = Xe[n + o];
- return (e < 0 ? lt[-e - 1] : Xt[e]).apply(null, Ut)
- }
- function Yo(e) {
- Yr("OOM")
- }
- function Ho(e, t, r, n) {
- var o, a, i, s = gr(), u = Er(12), c = 0;
- t && (a = Rr(o = t) + 1, i = Jt(a), Mr(o, i, a), c = i), $e[u >> 2] = c, $e[u + 4 >> 2] = r, $e[u + 8 >> 2] = n, mr(0, e, 657457152, 0, c, u), vr(s)
- }
- function $o(e) {
- var t;
- return e = (t = e) > 2 ? xr(t) : t, Gt[e] || ("undefined" != typeof document ? document.querySelector(e) : void 0)
- }
- function Vo(e) {
- return $o(e)
- }
- function Qo(e, t, r) {
- var n = Vo(e);
- if (!n) return -4;
- if (n.canvasSharedPtr && ($e[n.canvasSharedPtr >> 2] = t, $e[n.canvasSharedPtr + 4 >> 2] = r), !n.offscreenCanvas && n.controlTransferredOffscreen) return n.canvasSharedPtr ? (function (e, t, r, n) {
- Ho(e, t = t ? xr(t) : "", r, n)
- }($e[n.canvasSharedPtr + 8 >> 2], e, t, r), 1) : -4;
- n.offscreenCanvas && (n = n.offscreenCanvas);
- var o = !1;
- if (n.GLctxObject && n.GLctxObject.GLctx) {
- var a = n.GLctxObject.GLctx.getParameter(2978);
- o = 0 === a[0] && 0 === a[1] && a[2] === n.width && a[3] === n.height
- }
- return n.width = t, n.height = r, o && n.GLctxObject.GLctx.viewport(0, 0, t, r), 0
- }
- function Xo(e, t, r) {
- return Se ? zo(3, 1, e, t, r) : Qo(e, t, r)
- }
- function qo(e, t, r) {
- return Vo(e) ? Qo(e, t, r) : Xo(e, t, r)
- }
- function Zo(e) {
- }
- function Ko(e, t) {
- return r = e, o = $e[(n = t >> 2) + 6], a = {
- alpha: !!$e[n + 0],
- depth: !!$e[n + 1],
- stencil: !!$e[n + 2],
- antialias: !!$e[n + 3],
- premultipliedAlpha: !!$e[n + 4],
- preserveDrawingBuffer: !!$e[n + 5],
- powerPreference: Wt[o],
- failIfMajorPerformanceCaveat: !!$e[n + 7],
- majorVersion: $e[n + 8],
- minorVersion: $e[n + 9],
- enableExtensionsByDefault: $e[n + 10],
- explicitSwapControl: $e[n + 11],
- proxyContextToMainThread: $e[n + 12],
- renderViaOffscreenBackBuffer: $e[n + 13]
- }, (i = Vo(r)) ? a.explicitSwapControl ? 0 : zt.createContext(i, a) : 0;
- var r, n, o, a, i
- }
- function Jo() {
- if (!Jo.strings) {
- var e = {
- USER: "web_user",
- LOGNAME: "web_user",
- PATH: "/",
- PWD: "/",
- HOME: "/home/web_user",
- LANG: ("object" == typeof navigator && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8",
- _: be || "./this.program"
- };
- for (var t in Yt) e[t] = Yt[t];
- var r = [];
- for (var t in e) r.push(t + "=" + e[t]);
- Jo.strings = r
- }
- return Jo.strings
- }
- function ea(e, t) {
- if (Se) return zo(4, 1, e, t);
- try {
- var r = 0;
- return Jo().forEach((function (n, o) {
- var a = t + r;
- $e[e + 4 * o >> 2] = a, function (e, t, r) {
- for (var n = 0; n < e.length; ++n) ze[t++ >> 0] = e.charCodeAt(n);
- r || (ze[t >> 0] = 0)
- }(n, a), r += n.length + 1
- })), 0
- } catch (e) {
- return void 0 !== vt && e instanceof vt.ErrnoError || Yr(e), e.errno
- }
- }
- function ta(e, t) {
- if (Se) return zo(5, 1, e, t);
- try {
- var r = Jo();
- $e[e >> 2] = r.length;
- var n = 0;
- return r.forEach((function (e) {
- n += e.length + 1
- })), $e[t >> 2] = n, 0
- } catch (e) {
- return void 0 !== vt && e instanceof vt.ErrnoError || Yr(e), e.errno
- }
- }
- function ra(e) {
- if (Se) return zo(6, 1, e);
- try {
- var t = Et.getStreamFromFD(e);
- return vt.close(t), 0
- } catch (e) {
- return void 0 !== vt && e instanceof vt.ErrnoError || Yr(e), e.errno
- }
- }
- function na(e, t) {
- if (Se) return zo(7, 1, e, t);
- try {
- var r = Et.getStreamFromFD(e), n = r.tty ? 2 : vt.isDir(r.mode) ? 3 : vt.isLink(r.mode) ? 7 : 4;
- return ze[t >> 0] = n, 0
- } catch (e) {
- return void 0 !== vt && e instanceof vt.ErrnoError || Yr(e), e.errno
- }
- }
- function oa(e, t, r, n) {
- if (Se) return zo(8, 1, e, t, r, n);
- try {
- var o = Et.getStreamFromFD(e), a = Et.doReadv(o, t, r);
- return $e[n >> 2] = a, 0
- } catch (e) {
- return void 0 !== vt && e instanceof vt.ErrnoError || Yr(e), e.errno
- }
- }
- function aa(e, t, r, n, o) {
- if (Se) return zo(9, 1, e, t, r, n, o);
- try {
- var a = Et.getStreamFromFD(e), i = 4294967296 * r + (t >>> 0), s = 9007199254740992;
- return i <= -s || i >= s ? -61 : (vt.llseek(a, i, n), ct = [a.position >>> 0, (ut = a.position, +Math.abs(ut) >= 1 ? ut > 0 ? (0 | Math.min(+Math.floor(ut / 4294967296), 4294967295)) >>> 0 : ~~+Math.ceil((ut - +(~~ut >>> 0)) / 4294967296) >>> 0 : 0)], $e[o >> 2] = ct[0], $e[o + 4 >> 2] = ct[1], a.getdents && 0 === i && 0 === n && (a.getdents = null), 0)
- } catch (e) {
- return void 0 !== vt && e instanceof vt.ErrnoError || Yr(e), e.errno
- }
- }
- function ia(e, t, r, n) {
- if (Se) return zo(10, 1, e, t, r, n);
- try {
- var o = Et.getStreamFromFD(e), a = Et.doWritev(o, t, r);
- return $e[n >> 2] = a, 0
- } catch (e) {
- return void 0 !== vt && e instanceof vt.ErrnoError || Yr(e), e.errno
- }
- }
- function sa(e) {
- var t = Date.now();
- return $e[e >> 2] = t / 1e3 | 0, $e[e + 4 >> 2] = t % 1e3 * 1e3 | 0, 0
- }
- function ua() {
- if (Se) return zo(11, 1);
- if (!ua.called) {
- ua.called = !0;
- var e = (new Date).getFullYear(), t = new Date(e, 0, 1), r = new Date(e, 6, 1), n = t.getTimezoneOffset(),
- o = r.getTimezoneOffset(), a = Math.max(n, o);
- $e[ir() >> 2] = 60 * a, $e[ar() >> 2] = Number(n != o);
- var i = l(t), s = l(r), u = Gr(i), c = Gr(s);
- o < n ? ($e[or() >> 2] = u, $e[or() + 4 >> 2] = c) : ($e[or() >> 2] = c, $e[or() + 4 >> 2] = u)
- }
- function l(e) {
- var t = e.toTimeString().match(/\(([A-Za-z ]+)\)$/);
- return t ? t[1] : "GMT"
- }
- }
- function ca(e) {
- var t = ft.threadExitHandlers.pop();
- e && t()
- }
- function la(e, t) {
- ft.threadExitHandlers.push((function () {
- Ze.get(e)(t)
- }))
- }
- function da(e) {
- if (Se) throw"Internal Error! spawnThread() can only ever be called from main application thread!";
- var t = ft.getNewWorker();
- if (void 0 !== t.pthread) throw"Internal error!";
- if (!e.pthread_ptr) throw"Internal error, no pthread ptr!";
- ft.runningWorkers.push(t);
- for (var r = Jt(512), n = 0; n < 128; ++n) $e[r + 4 * n >> 2] = 0;
- var o = e.stackBase + e.stackSize, a = ft.pthreads[e.pthread_ptr] = {
- worker: t,
- stackBase: e.stackBase,
- stackSize: e.stackSize,
- allocatedOwnStack: e.allocatedOwnStack,
- threadInfoStruct: e.pthread_ptr
- }, i = a.threadInfoStruct >> 2;
- Atomics.store(Ve, i + 16, e.detached), Atomics.store(Ve, i + 25, r), Atomics.store(Ve, i + 10, a.threadInfoStruct), Atomics.store(Ve, i + 20, e.stackSize), Atomics.store(Ve, i + 19, o), Atomics.store(Ve, i + 26, e.stackSize), Atomics.store(Ve, i + 28, o), Atomics.store(Ve, i + 29, e.detached);
- var s = nr() + 40;
- Atomics.store(Ve, i + 43, s), t.pthread = a;
- var u = {
- cmd: "run",
- start_routine: e.startRoutine,
- arg: e.arg,
- threadInfoStruct: e.pthread_ptr,
- stackBase: e.stackBase,
- stackSize: e.stackSize
- };
- t.runPthread = function () {
- u.time = performance.now(), t.postMessage(u, e.transferList)
- }, t.loaded && (t.runPthread(), delete t.runPthread)
- }
- function fa(e, t, r, n) {
- if ("undefined" == typeof SharedArrayBuffer) return Me("Current environment does not support SharedArrayBuffer, pthreads are not available!"), 6;
- if (!e) return Me("pthread_create called with a null thread pointer!"), 28;
- var o = [];
- if (Se && 0 === o.length) return pr(687865856, e, t, r, n);
- var a = 0, i = 0, s = 0;
- t && -1 != t ? (a = $e[t >> 2], a += 81920, i = $e[t + 8 >> 2], s = 0 !== $e[t + 12 >> 2]) : a = 2097152;
- var u = 0 == i;
- u ? i = wr(16, a) : Or((i -= a) > 0);
- for (var c = Jt(228), l = 0; l < 57; ++l) Ve[(c >> 2) + l] = 0;
- $e[e >> 2] = c, $e[c + 12 >> 2] = c;
- var d = c + 152;
- $e[d >> 2] = d;
- var f = {
- stackBase: i,
- stackSize: a,
- allocatedOwnStack: u,
- detached: s,
- startRoutine: r,
- pthread_ptr: c,
- arg: n,
- transferList: o
- };
- return Se ? (f.cmd = "spawnThread", postMessage(f, o)) : da(f), 0
- }
- function pa() {
- if (Se) {
- var e = sr();
- if (e) if (!Atomics.load(Ve, e + 56 >> 2)) if (2 == Atomics.load(Ve, e + 0 >> 2)) throw"Canceled!"
- }
- }
- function ha(e, t) {
- return function (e, t, r) {
- if (!e) return Me("pthread_join attempted on a null thread pointer!"), dt.ESRCH;
- if (Se && sr() == e) return Me("PThread " + e + " is attempting to join to itself!"), dt.EDEADLK;
- if (!Se && ur() == e) return Me("Main thread " + e + " is attempting to join to itself!"), dt.EDEADLK;
- if ($e[e + 12 >> 2] !== e) return Me("pthread_join attempted on thread " + e + ", which does not point to a valid thread, or does not exist anymore!"), dt.ESRCH;
- if (Atomics.load(Ve, e + 64 >> 2)) return Me("Attempted to join thread " + e + ", which was already detached!"), dt.EINVAL;
- for (r && Bo(); ;) {
- var n = Atomics.load(Ve, e + 0 >> 2);
- if (1 == n) {
- var o = Atomics.load(Ve, e + 4 >> 2);
- return t && ($e[t >> 2] = o), Atomics.store(Ve, e + 64 >> 2, 1), Se ? postMessage({
- cmd: "cleanupThread",
- thread: e
- }) : Zr(e), 0
- }
- if (!r) return dt.EBUSY;
- pa(), Se || lr(), Ro(e + 0, n, Se ? 100 : 1)
- }
- }(e, t, !0)
- }
- function ma(e) {
- Le(0 | e)
- }
- function Aa(e) {
- if (Se) return zo(12, 1, e);
- switch (e) {
- case 30:
- return 16384;
- case 85:
- return We.length / 16384;
- case 132:
- case 133:
- case 12:
- case 137:
- case 138:
- case 15:
- case 235:
- case 16:
- case 17:
- case 18:
- case 19:
- case 20:
- case 149:
- case 13:
- case 10:
- case 236:
- case 153:
- case 9:
- case 21:
- case 22:
- case 159:
- case 154:
- case 14:
- case 77:
- case 78:
- case 139:
- case 82:
- case 68:
- case 67:
- case 164:
- case 11:
- case 29:
- case 47:
- case 48:
- case 95:
- case 52:
- case 51:
- case 46:
- return 200809;
- case 27:
- case 246:
- case 127:
- case 128:
- case 23:
- case 24:
- case 160:
- case 161:
- case 181:
- case 182:
- case 242:
- case 183:
- case 184:
- case 243:
- case 244:
- case 245:
- case 165:
- case 178:
- case 179:
- case 49:
- case 50:
- case 168:
- case 169:
- case 175:
- case 170:
- case 171:
- case 172:
- case 97:
- case 76:
- case 32:
- case 173:
- case 35:
- case 80:
- case 81:
- case 79:
- return -1;
- case 176:
- case 177:
- case 7:
- case 155:
- case 8:
- case 157:
- case 125:
- case 126:
- case 92:
- case 93:
- case 129:
- case 130:
- case 131:
- case 94:
- case 91:
- return 1;
- case 74:
- case 60:
- case 69:
- case 70:
- case 4:
- return 1024;
- case 31:
- case 42:
- case 72:
- return 32;
- case 87:
- case 26:
- case 33:
- return 2147483647;
- case 34:
- case 1:
- return 47839;
- case 38:
- case 36:
- return 99;
- case 43:
- case 37:
- return 2048;
- case 0:
- return 2097152;
- case 3:
- return 65536;
- case 28:
- return 32768;
- case 44:
- return 32767;
- case 75:
- return 16384;
- case 39:
- return 1e3;
- case 89:
- return 700;
- case 71:
- return 256;
- case 40:
- return 255;
- case 2:
- return 100;
- case 180:
- return 64;
- case 25:
- return 20;
- case 5:
- return 16;
- case 6:
- return 6;
- case 73:
- return 4;
- case 84:
- return "object" == typeof navigator && navigator.hardwareConcurrency || 1
- }
- return nn(28), -1
- }
- function ga(e, t, r) {
- var n = r > 0 ? r : Rr(e) + 1, o = new Array(n), a = Br(e, o, 0, o.length);
- return t && (o.length = a), o
- }
- function va(e) {
- this.name = "ExitStatus", this.message = "Program terminated with exit(" + e + ")", this.status = e
- }
- function Ea(e) {
- function t() {
- kr || (kr = !0, Ee.calledRun = !0, je || (!0, Ee.noFSInit || vt.init.initialized || vt.init(), At.init(), Xr(Je), Se || (vt.ignorePermissions = !1, Xr(et)), Ee.onRuntimeInitialized && Ee.onRuntimeInitialized(), function () {
- if (!Se) {
- if (Ee.postRun) for ("function" == typeof Ee.postRun && (Ee.postRun = [Ee.postRun]); Ee.postRun.length;) e = Ee.postRun.shift(), rt.unshift(e);
- var e;
- Xr(rt)
- }
- }()))
- }
- e = e || _e, nt > 0 || (Se ? postMessage({cmd: "loaded"}) : (!function () {
- if (!Se) {
- if (Ee.preRun) for ("function" == typeof Ee.preRun && (Ee.preRun = [Ee.preRun]); Ee.preRun.length;) e = Ee.preRun.shift(), Ke.unshift(e);
- var e;
- Xr(Ke)
- }
- }(), nt > 0 || (Ee.setStatus ? (Ee.setStatus("Running..."), setTimeout((function () {
- setTimeout((function () {
- Ee.setStatus("")
- }), 1), t()
- }), 1)) : t())))
- }
- function ya(e, t) {
- if (!t || !Fe || 0 !== e) {
- if (!t && Se) throw postMessage({cmd: "exitProcess", returnCode: e}), new va(e);
- Fe || (ft.terminateAllThreads(), e, Se || !0, Ee.onExit && Ee.onExit(e), je = !0), ke(e, new va(e))
- }
- }
- function wa() {
- for (we in {}, ye = {}, Ee = void 0 !== Ee ? Ee : {}) Ee.hasOwnProperty(we) && (ye[we] = Ee[we]);
- for (we in _e = [], be = "./this.program", ke = function (e, t) {
- throw t
- }, Te = !1, De = !0, !1, (Se = Ee.ENVIRONMENT_IS_PTHREAD || !1) && (Ge = Ee.buffer), Ce = "undefined" != typeof document && document.currentScript ? document.currentScript.src : void 0, De && (Ce = self.location.href), Oe = "", (Te || De) && (De ? Oe = self.location.href : "undefined" != typeof document && document.currentScript && (Oe = document.currentScript.src), Oe = 0 !== Oe.indexOf("blob:") ? Oe.substr(0, Oe.lastIndexOf("/") + 1) : "", Pe = function (e) {
- var t = new XMLHttpRequest;
- return t.open("GET", e, !1), t.send(null), t.responseText
- }, De && (xe = function (e) {
- var t = new XMLHttpRequest;
- return t.open("GET", e, !1), t.responseType = "arraybuffer", t.send(null), new Uint8Array(t.response)
- }), function (e, t, r) {
- var n = new XMLHttpRequest;
- n.open("GET", e, !0), n.responseType = "arraybuffer", n.onload = function () {
- 200 == n.status || 0 == n.status && n.response ? t(n.response) : r()
- }, n.onerror = r, n.send(null)
- }, function (e) {
- document.title = e
- }), Be = Ee.print || console.log.bind(console), Me = Ee.printErr || console.warn.bind(console), ye) ye.hasOwnProperty(we) && (Ee[we] = ye[we]);
- if (ye = null, Ee.arguments && (_e = Ee.arguments), Ee.thisProgram && (be = Ee.thisProgram), Ee.quit && (ke = Ee.quit), Re = 16, 0, Le = function (e) {
- e
- }, Atomics.load, Atomics.store, Atomics.compareExchange, Ee.wasmBinary && (Ie = Ee.wasmBinary), Fe = Ee.noExitRuntime || !0, "object" != typeof WebAssembly && Yr("no native wasm support detected"), je = !1, qe = Ee.INITIAL_MEMORY || 67108864, Se) Ue = Ee.wasmMemory, Ge = Ee.buffer; else if (Ee.wasmMemory) Ue = Ee.wasmMemory; else if (!((Ue = new WebAssembly.Memory({
- initial: qe / 65536,
- maximum: qe / 65536,
- shared: !0
- })).buffer instanceof SharedArrayBuffer)) throw Me("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"), Error("bad memory");
- var t;
- if (Ue && (Ge = Ue.buffer), qe = Ge.byteLength, Ge = t = Ge, Ee.HEAP8 = ze = new Int8Array(t), Ee.HEAP16 = Ye = new Int16Array(t), Ee.HEAP32 = $e = new Int32Array(t), Ee.HEAPU8 = We = new Uint8Array(t), Ee.HEAPU16 = He = new Uint16Array(t), Ee.HEAPU32 = Ve = new Uint32Array(t), Ee.HEAPF32 = Qe = new Float32Array(t), Ee.HEAPF64 = Xe = new Float64Array(t), Ke = [], Je = [], et = [], tt = [], rt = [], !1, !1, Se || Je.push({
- func: function () {
- Zt()
- }
- }), Se && !0, nt = 0, ot = null, at = null, Ee.preloadedImages = {}, Ee.preloadedAudios = {}, it = "data:application/octet-stream;base64,", Hr(st = "ff.wasm") || (st = Sr(st)), lt = {
- 155132: function () {
- throw"Canceled!"
- }, 155395: function (e, t) {
- setTimeout((function () {
- fr(e, t)
- }), 0)
- }
- }, dt = {
- EPERM: 63,
- ENOENT: 44,
- ESRCH: 71,
- EINTR: 27,
- EIO: 29,
- ENXIO: 60,
- E2BIG: 1,
- ENOEXEC: 45,
- EBADF: 8,
- ECHILD: 12,
- EAGAIN: 6,
- EWOULDBLOCK: 6,
- ENOMEM: 48,
- EACCES: 2,
- EFAULT: 21,
- ENOTBLK: 105,
- EBUSY: 10,
- EEXIST: 20,
- EXDEV: 75,
- ENODEV: 43,
- ENOTDIR: 54,
- EISDIR: 31,
- EINVAL: 28,
- ENFILE: 41,
- EMFILE: 33,
- ENOTTY: 59,
- ETXTBSY: 74,
- EFBIG: 22,
- ENOSPC: 51,
- ESPIPE: 70,
- EROFS: 69,
- EMLINK: 34,
- EPIPE: 64,
- EDOM: 18,
- ERANGE: 68,
- ENOMSG: 49,
- EIDRM: 24,
- ECHRNG: 106,
- EL2NSYNC: 156,
- EL3HLT: 107,
- EL3RST: 108,
- ELNRNG: 109,
- EUNATCH: 110,
- ENOCSI: 111,
- EL2HLT: 112,
- EDEADLK: 16,
- ENOLCK: 46,
- EBADE: 113,
- EBADR: 114,
- EXFULL: 115,
- ENOANO: 104,
- EBADRQC: 103,
- EBADSLT: 102,
- EDEADLOCK: 16,
- EBFONT: 101,
- ENOSTR: 100,
- ENODATA: 116,
- ETIME: 117,
- ENOSR: 118,
- ENONET: 119,
- ENOPKG: 120,
- EREMOTE: 121,
- ENOLINK: 47,
- EADV: 122,
- ESRMNT: 123,
- ECOMM: 124,
- EPROTO: 65,
- EMULTIHOP: 36,
- EDOTDOT: 125,
- EBADMSG: 9,
- ENOTUNIQ: 126,
- EBADFD: 127,
- EREMCHG: 128,
- ELIBACC: 129,
- ELIBBAD: 130,
- ELIBSCN: 131,
- ELIBMAX: 132,
- ELIBEXEC: 133,
- ENOSYS: 52,
- ENOTEMPTY: 55,
- ENAMETOOLONG: 37,
- ELOOP: 32,
- EOPNOTSUPP: 138,
- EPFNOSUPPORT: 139,
- ECONNRESET: 15,
- ENOBUFS: 42,
- EAFNOSUPPORT: 5,
- EPROTOTYPE: 67,
- ENOTSOCK: 57,
- ENOPROTOOPT: 50,
- ESHUTDOWN: 140,
- ECONNREFUSED: 14,
- EADDRINUSE: 3,
- ECONNABORTED: 13,
- ENETUNREACH: 40,
- ENETDOWN: 38,
- ETIMEDOUT: 73,
- EHOSTDOWN: 142,
- EHOSTUNREACH: 23,
- EINPROGRESS: 26,
- EALREADY: 7,
- EDESTADDRREQ: 17,
- EMSGSIZE: 35,
- EPROTONOSUPPORT: 66,
- ESOCKTNOSUPPORT: 137,
- EADDRNOTAVAIL: 4,
- ENETRESET: 39,
- EISCONN: 30,
- ENOTCONN: 53,
- ETOOMANYREFS: 141,
- EUSERS: 136,
- EDQUOT: 19,
- ESTALE: 72,
- ENOTSUP: 138,
- ENOMEDIUM: 148,
- EILSEQ: 25,
- EOVERFLOW: 61,
- ECANCELED: 11,
- ENOTRECOVERABLE: 56,
- EOWNERDEAD: 62,
- ESTRPIPE: 135
- }, Ee._emscripten_futex_wake = qr, ft = {
- unusedWorkers: [], runningWorkers: [], initMainThreadBlock: function () {
- }, initRuntime: function () {
- for (var e = Jt(228), t = 0; t < 57; ++t) Ve[e / 4 + t] = 0;
- $e[e + 12 >> 2] = e;
- var r = e + 152;
- $e[r >> 2] = r;
- var n = Jt(512);
- for (t = 0; t < 128; ++t) Ve[n / 4 + t] = 0;
- Atomics.store(Ve, e + 100 >> 2, n), Atomics.store(Ve, e + 40 >> 2, e), Ar(e, !De, 1), dr(e)
- }, initWorker: function () {
- }, pthreads: {}, threadExitHandlers: [], setThreadStatus: function () {
- }, runExitHandlers: function () {
- for (; ft.threadExitHandlers.length > 0;) ft.threadExitHandlers.pop()();
- Se && sr() && cr()
- }, threadExit: function (e) {
- var t = sr();
- t && (Atomics.store(Ve, t + 4 >> 2, e), Atomics.store(Ve, t + 0 >> 2, 1), Atomics.store(Ve, t + 56 >> 2, 1), Atomics.store(Ve, t + 60 >> 2, 0), ft.runExitHandlers(), qr(t + 0, 2147483647), Ar(0, 0, 0), Se && postMessage({cmd: "exit"}))
- }, threadCancel: function () {
- ft.runExitHandlers();
- var e = sr();
- Atomics.store(Ve, e + 4 >> 2, -1), Atomics.store(Ve, e + 0 >> 2, 1), qr(e + 0, 2147483647), Ar(0, 0, 0), postMessage({cmd: "cancelDone"})
- }, terminateAllThreads: function () {
- for (var e in ft.pthreads) {
- (n = ft.pthreads[e]) && n.worker && ft.returnWorkerToPool(n.worker)
- }
- ft.pthreads = {};
- for (var t = 0; t < ft.unusedWorkers.length; ++t) {
- (r = ft.unusedWorkers[t]).terminate()
- }
- ft.unusedWorkers = [];
- for (t = 0; t < ft.runningWorkers.length; ++t) {
- var r, n = (r = ft.runningWorkers[t]).pthread;
- ft.freeThreadData(n), r.terminate()
- }
- ft.runningWorkers = []
- }, freeThreadData: function (e) {
- if (e) {
- if (e.threadInfoStruct) {
- var t = $e[e.threadInfoStruct + 100 >> 2];
- $e[e.threadInfoStruct + 100 >> 2] = 0, Kt(t), Kt(e.threadInfoStruct)
- }
- e.threadInfoStruct = 0, e.allocatedOwnStack && e.stackBase && Kt(e.stackBase), e.stackBase = 0, e.worker && (e.worker.pthread = null)
- }
- }, returnWorkerToPool: function (e) {
- ft.runWithoutMainThreadQueuedCalls((function () {
- delete ft.pthreads[e.pthread.threadInfoStruct], ft.unusedWorkers.push(e), ft.runningWorkers.splice(ft.runningWorkers.indexOf(e), 1), ft.freeThreadData(e.pthread), e.pthread = void 0
- }))
- }, runWithoutMainThreadQueuedCalls: function (e) {
- $e[_r >> 2] = 0;
- try {
- e()
- } finally {
- $e[_r >> 2] = 1
- }
- }, receiveObjectTransfer: function (e) {
- }, loadWasmModuleToWorker: function (e, t) {
- e.onmessage = function (r) {
- var n = r.data, o = n.cmd;
- if (e.pthread && (ft.currentProxiedOperationCallerThread = e.pthread.threadInfoStruct), n.targetThread && n.targetThread != sr()) {
- var a = ft.pthreads[n.targetThread];
- return a ? a.worker.postMessage(r.data, n.transferList) : console.error('Internal error! Worker sent a message "' + o + '" to target pthread ' + n.targetThread + ", but that thread no longer exists!"), void (ft.currentProxiedOperationCallerThread = void 0)
- }
- if ("processQueuedMainThreadWork" === o) lr(); else if ("spawnThread" === o) da(r.data); else if ("cleanupThread" === o) Zr(n.thread); else if ("killThread" === o) !function (e) {
- if (Se) throw"Internal Error! killThread() can only ever be called from main application thread!";
- if (!e) throw"Internal Error! Null pthread_ptr in killThread!";
- $e[e + 12 >> 2] = 0;
- var t = ft.pthreads[e];
- t.worker.terminate(), ft.freeThreadData(t), ft.runningWorkers.splice(ft.runningWorkers.indexOf(t.worker), 1), t.worker.pthread = void 0
- }(n.thread); else if ("cancelThread" === o) !function (e) {
- if (Se) throw"Internal Error! cancelThread() can only ever be called from main application thread!";
- if (!e) throw"Internal Error! Null pthread_ptr in cancelThread!";
- ft.pthreads[e].worker.postMessage({cmd: "cancel"})
- }(n.thread); else if ("loaded" === o) e.loaded = !0, t && t(e), e.runPthread && (e.runPthread(), delete e.runPthread); else if ("print" === o) Be("Thread " + n.threadId + ": " + n.text); else if ("printErr" === o) Me("Thread " + n.threadId + ": " + n.text); else if ("alert" === o) alert("Thread " + n.threadId + ": " + n.text); else if ("exit" === o) {
- e.pthread && Atomics.load(Ve, e.pthread.threadInfoStruct + 64 >> 2) && ft.returnWorkerToPool(e)
- } else if ("exitProcess" === o) try {
- ya(n.returnCode)
- } catch (r) {
- if (r instanceof va) return;
- throw r
- } else "cancelDone" === o ? ft.returnWorkerToPool(e) : "objectTransfer" === o ? ft.receiveObjectTransfer(r.data) : "setimmediate" === r.data.target ? e.postMessage(r.data) : Me("worker sent an unknown command " + o);
- ft.currentProxiedOperationCallerThread = void 0
- }, e.onerror = function (e) {
- Me("pthread sent an error! " + e.filename + ":" + e.lineno + ": " + e.message)
- }, e.postMessage({cmd: "load", urlOrBlob: Ee.mainScriptUrlOrBlob || Ce, wasmMemory: Ue, wasmModule: Ne})
- }, allocateUnusedWorker: function () {
- var e = Sr("ff.worker.js");
- ft.unusedWorkers.push(new Worker(e))
- }, getNewWorker: function () {
- return 0 == ft.unusedWorkers.length && (ft.allocateUnusedWorker(), ft.loadWasmModuleToWorker(ft.unusedWorkers[0])), ft.unusedWorkers.length > 0 ? ft.unusedWorkers.pop() : null
- }, busySpinWait: function (e) {
- for (var t = performance.now() + e; performance.now() < t;) ;
- }
- }, Ee.establishStackSpace = Kr, Ee.getNoExitRuntime = Jr, Ee.invokeEntryPoint = en, pt = Se ? function () {
- return performance.now() - Ee.__performance_now_clock_drift
- } : function () {
- return performance.now()
- }, ht = {
- splitPath: function (e) {
- return /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)
- }, normalizeArray: function (e, t) {
- for (var r = 0, n = e.length - 1; n >= 0; n--) {
- var o = e[n];
- "." === o ? e.splice(n, 1) : ".." === o ? (e.splice(n, 1), r++) : r && (e.splice(n, 1), r--)
- }
- if (t) for (; r; r--) e.unshift("..");
- return e
- }, normalize: function (e) {
- var t = "/" === e.charAt(0), r = "/" === e.substr(-1);
- return (e = ht.normalizeArray(e.split("/").filter((function (e) {
- return !!e
- })), !t).join("/")) || t || (e = "."), e && r && (e += "/"), (t ? "/" : "") + e
- }, dirname: function (e) {
- var t = ht.splitPath(e), r = t[0], n = t[1];
- return r || n ? (n && (n = n.substr(0, n.length - 1)), r + n) : "."
- }, basename: function (e) {
- if ("/" === e) return "/";
- var t = (e = (e = ht.normalize(e)).replace(/\/$/, "")).lastIndexOf("/");
- return -1 === t ? e : e.substr(t + 1)
- }, extname: function (e) {
- return ht.splitPath(e)[3]
- }, join: function () {
- var e = Array.prototype.slice.call(arguments, 0);
- return ht.normalize(e.join("/"))
- }, join2: function (e, t) {
- return ht.normalize(e + "/" + t)
- }
- }, mt = {
- resolve: function () {
- for (var e = "", t = !1, r = arguments.length - 1; r >= -1 && !t; r--) {
- var n = r >= 0 ? arguments[r] : vt.cwd();
- if ("string" != typeof n) throw new TypeError("Arguments to path.resolve must be strings");
- if (!n) return "";
- e = n + "/" + e, t = "/" === n.charAt(0)
- }
- return (t ? "/" : "") + (e = ht.normalizeArray(e.split("/").filter((function (e) {
- return !!e
- })), !t).join("/")) || "."
- }, relative: function (e, t) {
- function r(e) {
- for (var t = 0; t < e.length && "" === e[t]; t++) ;
- for (var r = e.length - 1; r >= 0 && "" === e[r]; r--) ;
- return t > r ? [] : e.slice(t, r - t + 1)
- }
- e = mt.resolve(e).substr(1), t = mt.resolve(t).substr(1);
- for (var n = r(e.split("/")), o = r(t.split("/")), a = Math.min(n.length, o.length), i = a, s = 0; s < a; s++) if (n[s] !== o[s]) {
- i = s;
- break
- }
- var u = [];
- for (s = i; s < n.length; s++) u.push("..");
- return (u = u.concat(o.slice(i))).join("/")
- }
- }, At = {
- ttys: [], init: function () {
- }, shutdown: function () {
- }, register: function (e, t) {
- At.ttys[e] = {input: [], output: [], ops: t}, vt.registerDevice(e, At.stream_ops)
- }, stream_ops: {
- open: function (e) {
- var t = At.ttys[e.node.rdev];
- if (!t) throw new vt.ErrnoError(43);
- e.tty = t, e.seekable = !1
- }, close: function (e) {
- e.tty.ops.flush(e.tty)
- }, flush: function (e) {
- e.tty.ops.flush(e.tty)
- }, read: function (e, t, r, n, o) {
- if (!e.tty || !e.tty.ops.get_char) throw new vt.ErrnoError(60);
- for (var a = 0, i = 0; i < n; i++) {
- var s;
- try {
- s = e.tty.ops.get_char(e.tty)
- } catch (e) {
- throw new vt.ErrnoError(29)
- }
- if (void 0 === s && 0 === a) throw new vt.ErrnoError(6);
- if (null == s) break;
- a++, t[r + i] = s
- }
- return a && (e.node.timestamp = Date.now()), a
- }, write: function (e, t, r, n, o) {
- if (!e.tty || !e.tty.ops.put_char) throw new vt.ErrnoError(60);
- try {
- for (var a = 0; a < n; a++) e.tty.ops.put_char(e.tty, t[r + a])
- } catch (e) {
- throw new vt.ErrnoError(29)
- }
- return n && (e.node.timestamp = Date.now()), a
- }
- }, default_tty_ops: {
- get_char: function (e) {
- if (!e.input.length) {
- var t = null;
- if ("undefined" != typeof window && "function" == typeof window.prompt ? null !== (t = window.prompt("Input: ")) && (t += "\n") : "function" == typeof readline && null !== (t = readline()) && (t += "\n"), !t) return null;
- e.input = ga(t, !0)
- }
- return e.input.shift()
- }, put_char: function (e, t) {
- null === t || 10 === t ? (Be(Pr(e.output, 0)), e.output = []) : 0 != t && e.output.push(t)
- }, flush: function (e) {
- e.output && e.output.length > 0 && (Be(Pr(e.output, 0)), e.output = [])
- }
- }, default_tty1_ops: {
- put_char: function (e, t) {
- null === t || 10 === t ? (Me(Pr(e.output, 0)), e.output = []) : 0 != t && e.output.push(t)
- }, flush: function (e) {
- e.output && e.output.length > 0 && (Me(Pr(e.output, 0)), e.output = [])
- }
- }
- }, gt = {
- ops_table: null, mount: function (e) {
- return gt.createNode(null, "/", 16895, 0)
- }, createNode: function (e, t, r, n) {
- if (vt.isBlkdev(r) || vt.isFIFO(r)) throw new vt.ErrnoError(63);
- gt.ops_table || (gt.ops_table = {
- dir: {
- node: {
- getattr: gt.node_ops.getattr,
- setattr: gt.node_ops.setattr,
- lookup: gt.node_ops.lookup,
- mknod: gt.node_ops.mknod,
- rename: gt.node_ops.rename,
- unlink: gt.node_ops.unlink,
- rmdir: gt.node_ops.rmdir,
- readdir: gt.node_ops.readdir,
- symlink: gt.node_ops.symlink
- }, stream: {llseek: gt.stream_ops.llseek}
- },
- file: {
- node: {getattr: gt.node_ops.getattr, setattr: gt.node_ops.setattr},
- stream: {
- llseek: gt.stream_ops.llseek,
- read: gt.stream_ops.read,
- write: gt.stream_ops.write,
- allocate: gt.stream_ops.allocate,
- mmap: gt.stream_ops.mmap,
- msync: gt.stream_ops.msync
- }
- },
- link: {
- node: {getattr: gt.node_ops.getattr, setattr: gt.node_ops.setattr, readlink: gt.node_ops.readlink},
- stream: {}
- },
- chrdev: {node: {getattr: gt.node_ops.getattr, setattr: gt.node_ops.setattr}, stream: vt.chrdev_stream_ops}
- });
- var o = vt.createNode(e, t, r, n);
- return vt.isDir(o.mode) ? (o.node_ops = gt.ops_table.dir.node, o.stream_ops = gt.ops_table.dir.stream, o.contents = {}) : vt.isFile(o.mode) ? (o.node_ops = gt.ops_table.file.node, o.stream_ops = gt.ops_table.file.stream, o.usedBytes = 0, o.contents = null) : vt.isLink(o.mode) ? (o.node_ops = gt.ops_table.link.node, o.stream_ops = gt.ops_table.link.stream) : vt.isChrdev(o.mode) && (o.node_ops = gt.ops_table.chrdev.node, o.stream_ops = gt.ops_table.chrdev.stream), o.timestamp = Date.now(), e && (e.contents[t] = o, e.timestamp = o.timestamp), o
- }, getFileDataAsTypedArray: function (e) {
- return e.contents ? e.contents.subarray ? e.contents.subarray(0, e.usedBytes) : new Uint8Array(e.contents) : new Uint8Array(0)
- }, expandFileStorage: function (e, t) {
- var r = e.contents ? e.contents.length : 0;
- if (!(r >= t)) {
- t = Math.max(t, r * (r < 1048576 ? 2 : 1.125) >>> 0), 0 != r && (t = Math.max(t, 256));
- var n = e.contents;
- e.contents = new Uint8Array(t), e.usedBytes > 0 && e.contents.set(n.subarray(0, e.usedBytes), 0)
- }
- }, resizeFileStorage: function (e, t) {
- if (e.usedBytes != t) if (0 == t) e.contents = null, e.usedBytes = 0; else {
- var r = e.contents;
- e.contents = new Uint8Array(t), r && e.contents.set(r.subarray(0, Math.min(t, e.usedBytes))), e.usedBytes = t
- }
- }, node_ops: {
- getattr: function (e) {
- var t = {};
- return t.dev = vt.isChrdev(e.mode) ? e.id : 1, t.ino = e.id, t.mode = e.mode, t.nlink = 1, t.uid = 0, t.gid = 0, t.rdev = e.rdev, vt.isDir(e.mode) ? t.size = 4096 : vt.isFile(e.mode) ? t.size = e.usedBytes : vt.isLink(e.mode) ? t.size = e.link.length : t.size = 0, t.atime = new Date(e.timestamp), t.mtime = new Date(e.timestamp), t.ctime = new Date(e.timestamp), t.blksize = 4096, t.blocks = Math.ceil(t.size / t.blksize), t
- }, setattr: function (e, t) {
- void 0 !== t.mode && (e.mode = t.mode), void 0 !== t.timestamp && (e.timestamp = t.timestamp), void 0 !== t.size && gt.resizeFileStorage(e, t.size)
- }, lookup: function (e, t) {
- throw vt.genericErrors[44]
- }, mknod: function (e, t, r, n) {
- return gt.createNode(e, t, r, n)
- }, rename: function (e, t, r) {
- if (vt.isDir(e.mode)) {
- var n;
- try {
- n = vt.lookupNode(t, r)
- } catch (e) {
- }
- if (n) for (var o in n.contents) throw new vt.ErrnoError(55)
- }
- delete e.parent.contents[e.name], e.parent.timestamp = Date.now(), e.name = r, t.contents[r] = e, t.timestamp = e.parent.timestamp, e.parent = t
- }, unlink: function (e, t) {
- delete e.contents[t], e.timestamp = Date.now()
- }, rmdir: function (e, t) {
- var r = vt.lookupNode(e, t);
- for (var n in r.contents) throw new vt.ErrnoError(55);
- delete e.contents[t], e.timestamp = Date.now()
- }, readdir: function (e) {
- var t = [".", ".."];
- for (var r in e.contents) e.contents.hasOwnProperty(r) && t.push(r);
- return t
- }, symlink: function (e, t, r) {
- var n = gt.createNode(e, t, 41471, 0);
- return n.link = r, n
- }, readlink: function (e) {
- if (!vt.isLink(e.mode)) throw new vt.ErrnoError(28);
- return e.link
- }
- }, stream_ops: {
- read: function (e, t, r, n, o) {
- var a = e.node.contents;
- if (o >= e.node.usedBytes) return 0;
- var i = Math.min(e.node.usedBytes - o, n);
- if (i > 8 && a.subarray) t.set(a.subarray(o, o + i), r); else for (var s = 0; s < i; s++) t[r + s] = a[o + s];
- return i
- }, write: function (e, t, r, n, o, a) {
- if (!n) return 0;
- var i = e.node;
- if (i.timestamp = Date.now(), t.subarray && (!i.contents || i.contents.subarray)) {
- if (a) return i.contents = t.subarray(r, r + n), i.usedBytes = n, n;
- if (0 === i.usedBytes && 0 === o) return i.contents = t.slice(r, r + n), i.usedBytes = n, n;
- if (o + n <= i.usedBytes) return i.contents.set(t.subarray(r, r + n), o), n
- }
- if (gt.expandFileStorage(i, o + n), i.contents.subarray && t.subarray) i.contents.set(t.subarray(r, r + n), o); else for (var s = 0; s < n; s++) i.contents[o + s] = t[r + s];
- return i.usedBytes = Math.max(i.usedBytes, o + n), n
- }, llseek: function (e, t, r) {
- var n = t;
- if (1 === r ? n += e.position : 2 === r && vt.isFile(e.node.mode) && (n += e.node.usedBytes), n < 0) throw new vt.ErrnoError(28);
- return n
- }, allocate: function (e, t, r) {
- gt.expandFileStorage(e.node, t + r), e.node.usedBytes = Math.max(e.node.usedBytes, t + r)
- }, mmap: function (e, t, r, n, o, a) {
- if (0 !== t) throw new vt.ErrnoError(28);
- if (!vt.isFile(e.node.mode)) throw new vt.ErrnoError(43);
- var i, s, u = e.node.contents;
- if (2 & a || u.buffer !== Ge) {
- if ((n > 0 || n + r < u.length) && (u = u.subarray ? u.subarray(n, n + r) : Array.prototype.slice.call(u, n, n + r)), s = !0, !(i = on(r))) throw new vt.ErrnoError(48);
- ze.set(u, i)
- } else s = !1, i = u.byteOffset;
- return {ptr: i, allocated: s}
- }, msync: function (e, t, r, n, o) {
- if (!vt.isFile(e.node.mode)) throw new vt.ErrnoError(43);
- if (2 & o) return 0;
- gt.stream_ops.write(e, t, 0, n, r, !1);
- return 0
- }
- }
- }, vt = {
- root: null,
- mounts: [],
- devices: {},
- streams: [],
- nextInode: 1,
- nameTable: null,
- currentPath: "/",
- initialized: !1,
- ignorePermissions: !0,
- trackingDelegate: {},
- tracking: {openFlags: {READ: 1, WRITE: 2}},
- ErrnoError: null,
- genericErrors: {},
- filesystems: null,
- syncFSRequests: 0,
- lookupPath: function (e, t) {
- if (t = t || {}, !(e = mt.resolve(vt.cwd(), e))) return {path: "", node: null};
- var r = {follow_mount: !0, recurse_count: 0};
- for (var n in r) void 0 === t[n] && (t[n] = r[n]);
- if (t.recurse_count > 8) throw new vt.ErrnoError(32);
- for (var o = ht.normalizeArray(e.split("/").filter((function (e) {
- return !!e
- })), !1), a = vt.root, i = "/", s = 0; s < o.length; s++) {
- var u = s === o.length - 1;
- if (u && t.parent) break;
- if (a = vt.lookupNode(a, o[s]), i = ht.join2(i, o[s]), vt.isMountpoint(a) && (!u || u && t.follow_mount) && (a = a.mounted.root), !u || t.follow) for (var c = 0; vt.isLink(a.mode);) {
- var l = vt.readlink(i);
- if (i = mt.resolve(ht.dirname(i), l), a = vt.lookupPath(i, {recurse_count: t.recurse_count}).node, c++ > 40) throw new vt.ErrnoError(32)
- }
- }
- return {path: i, node: a}
- },
- getPath: function (e) {
- for (var t; ;) {
- if (vt.isRoot(e)) {
- var r = e.mount.mountpoint;
- return t ? "/" !== r[r.length - 1] ? r + "/" + t : r + t : r
- }
- t = t ? e.name + "/" + t : e.name, e = e.parent
- }
- },
- hashName: function (e, t) {
- for (var r = 0, n = 0; n < t.length; n++) r = (r << 5) - r + t.charCodeAt(n) | 0;
- return (e + r >>> 0) % vt.nameTable.length
- },
- hashAddNode: function (e) {
- var t = vt.hashName(e.parent.id, e.name);
- e.name_next = vt.nameTable[t], vt.nameTable[t] = e
- },
- hashRemoveNode: function (e) {
- var t = vt.hashName(e.parent.id, e.name);
- if (vt.nameTable[t] === e) vt.nameTable[t] = e.name_next; else for (var r = vt.nameTable[t]; r;) {
- if (r.name_next === e) {
- r.name_next = e.name_next;
- break
- }
- r = r.name_next
- }
- },
- lookupNode: function (e, t) {
- var r = vt.mayLookup(e);
- if (r) throw new vt.ErrnoError(r, e);
- for (var n = vt.hashName(e.id, t), o = vt.nameTable[n]; o; o = o.name_next) {
- var a = o.name;
- if (o.parent.id === e.id && a === t) return o
- }
- return vt.lookup(e, t)
- },
- createNode: function (e, t, r, n) {
- var o = new vt.FSNode(e, t, r, n);
- return vt.hashAddNode(o), o
- },
- destroyNode: function (e) {
- vt.hashRemoveNode(e)
- },
- isRoot: function (e) {
- return e === e.parent
- },
- isMountpoint: function (e) {
- return !!e.mounted
- },
- isFile: function (e) {
- return 32768 == (61440 & e)
- },
- isDir: function (e) {
- return 16384 == (61440 & e)
- },
- isLink: function (e) {
- return 40960 == (61440 & e)
- },
- isChrdev: function (e) {
- return 8192 == (61440 & e)
- },
- isBlkdev: function (e) {
- return 24576 == (61440 & e)
- },
- isFIFO: function (e) {
- return 4096 == (61440 & e)
- },
- isSocket: function (e) {
- return 49152 == (49152 & e)
- },
- flagModes: {r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090},
- modeStringToFlags: function (e) {
- var t = vt.flagModes[e];
- if (void 0 === t) throw new Error("Unknown file open mode: " + e);
- return t
- },
- flagsToPermissionString: function (e) {
- var t = ["r", "w", "rw"][3 & e];
- return 512 & e && (t += "w"), t
- },
- nodePermissions: function (e, t) {
- return vt.ignorePermissions || (-1 === t.indexOf("r") || 292 & e.mode) && (-1 === t.indexOf("w") || 146 & e.mode) && (-1 === t.indexOf("x") || 73 & e.mode) ? 0 : 2
- },
- mayLookup: function (e) {
- var t = vt.nodePermissions(e, "x");
- return t || (e.node_ops.lookup ? 0 : 2)
- },
- mayCreate: function (e, t) {
- try {
- vt.lookupNode(e, t);
- return 20
- } catch (e) {
- }
- return vt.nodePermissions(e, "wx")
- },
- mayDelete: function (e, t, r) {
- var n;
- try {
- n = vt.lookupNode(e, t)
- } catch (e) {
- return e.errno
- }
- var o = vt.nodePermissions(e, "wx");
- if (o) return o;
- if (r) {
- if (!vt.isDir(n.mode)) return 54;
- if (vt.isRoot(n) || vt.getPath(n) === vt.cwd()) return 10
- } else if (vt.isDir(n.mode)) return 31;
- return 0
- },
- mayOpen: function (e, t) {
- return e ? vt.isLink(e.mode) ? 32 : vt.isDir(e.mode) && ("r" !== vt.flagsToPermissionString(t) || 512 & t) ? 31 : vt.nodePermissions(e, vt.flagsToPermissionString(t)) : 44
- },
- MAX_OPEN_FDS: 4096,
- nextfd: function (e, t) {
- e = e || 0, t = t || vt.MAX_OPEN_FDS;
- for (var r = e; r <= t; r++) if (!vt.streams[r]) return r;
- throw new vt.ErrnoError(33)
- },
- getStream: function (e) {
- return vt.streams[e]
- },
- createStream: function (e, t, r) {
- vt.FSStream || (vt.FSStream = function () {
- }, vt.FSStream.prototype = {
- object: {
- get: function () {
- return this.node
- }, set: function (e) {
- this.node = e
- }
- }, isRead: {
- get: function () {
- return 1 != (2097155 & this.flags)
- }
- }, isWrite: {
- get: function () {
- return 0 != (2097155 & this.flags)
- }
- }, isAppend: {
- get: function () {
- return 1024 & this.flags
- }
- }
- });
- var n = new vt.FSStream;
- for (var o in e) n[o] = e[o];
- e = n;
- var a = vt.nextfd(t, r);
- return e.fd = a, vt.streams[a] = e, e
- },
- closeStream: function (e) {
- vt.streams[e] = null
- },
- chrdev_stream_ops: {
- open: function (e) {
- var t = vt.getDevice(e.node.rdev);
- e.stream_ops = t.stream_ops, e.stream_ops.open && e.stream_ops.open(e)
- }, llseek: function () {
- throw new vt.ErrnoError(70)
- }
- },
- major: function (e) {
- return e >> 8
- },
- minor: function (e) {
- return 255 & e
- },
- makedev: function (e, t) {
- return e << 8 | t
- },
- registerDevice: function (e, t) {
- vt.devices[e] = {stream_ops: t}
- },
- getDevice: function (e) {
- return vt.devices[e]
- },
- getMounts: function (e) {
- for (var t = [], r = [e]; r.length;) {
- var n = r.pop();
- t.push(n), r.push.apply(r, n.mounts)
- }
- return t
- },
- syncfs: function (e, t) {
- "function" == typeof e && (t = e, e = !1), vt.syncFSRequests++, vt.syncFSRequests > 1 && Me("warning: " + vt.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work");
- var r = vt.getMounts(vt.root.mount), n = 0;
- function o(e) {
- return vt.syncFSRequests--, t(e)
- }
- function a(e) {
- if (e) return a.errored ? void 0 : (a.errored = !0, o(e));
- ++n >= r.length && o(null)
- }
- r.forEach((function (t) {
- if (!t.type.syncfs) return a(null);
- t.type.syncfs(t, e, a)
- }))
- },
- mount: function (e, t, r) {
- var n, o = "/" === r, a = !r;
- if (o && vt.root) throw new vt.ErrnoError(10);
- if (!o && !a) {
- var i = vt.lookupPath(r, {follow_mount: !1});
- if (r = i.path, n = i.node, vt.isMountpoint(n)) throw new vt.ErrnoError(10);
- if (!vt.isDir(n.mode)) throw new vt.ErrnoError(54)
- }
- var s = {type: e, opts: t, mountpoint: r, mounts: []}, u = e.mount(s);
- return u.mount = s, s.root = u, o ? vt.root = u : n && (n.mounted = s, n.mount && n.mount.mounts.push(s)), u
- },
- unmount: function (e) {
- var t = vt.lookupPath(e, {follow_mount: !1});
- if (!vt.isMountpoint(t.node)) throw new vt.ErrnoError(28);
- var r = t.node, n = r.mounted, o = vt.getMounts(n);
- Object.keys(vt.nameTable).forEach((function (e) {
- for (var t = vt.nameTable[e]; t;) {
- var r = t.name_next;
- -1 !== o.indexOf(t.mount) && vt.destroyNode(t), t = r
- }
- })), r.mounted = null;
- var a = r.mount.mounts.indexOf(n);
- r.mount.mounts.splice(a, 1)
- },
- lookup: function (e, t) {
- return e.node_ops.lookup(e, t)
- },
- mknod: function (e, t, r) {
- var n = vt.lookupPath(e, {parent: !0}).node, o = ht.basename(e);
- if (!o || "." === o || ".." === o) throw new vt.ErrnoError(28);
- var a = vt.mayCreate(n, o);
- if (a) throw new vt.ErrnoError(a);
- if (!n.node_ops.mknod) throw new vt.ErrnoError(63);
- return n.node_ops.mknod(n, o, t, r)
- },
- create: function (e, t) {
- return t = void 0 !== t ? t : 438, t &= 4095, t |= 32768, vt.mknod(e, t, 0)
- },
- mkdir: function (e, t) {
- return t = void 0 !== t ? t : 511, t &= 1023, t |= 16384, vt.mknod(e, t, 0)
- },
- mkdirTree: function (e, t) {
- for (var r = e.split("/"), n = "", o = 0; o < r.length; ++o) if (r[o]) {
- n += "/" + r[o];
- try {
- vt.mkdir(n, t)
- } catch (e) {
- if (20 != e.errno) throw e
- }
- }
- },
- mkdev: function (e, t, r) {
- return void 0 === r && (r = t, t = 438), t |= 8192, vt.mknod(e, t, r)
- },
- symlink: function (e, t) {
- if (!mt.resolve(e)) throw new vt.ErrnoError(44);
- var r = vt.lookupPath(t, {parent: !0}).node;
- if (!r) throw new vt.ErrnoError(44);
- var n = ht.basename(t), o = vt.mayCreate(r, n);
- if (o) throw new vt.ErrnoError(o);
- if (!r.node_ops.symlink) throw new vt.ErrnoError(63);
- return r.node_ops.symlink(r, n, e)
- },
- rename: function (e, t) {
- var r, n, o = ht.dirname(e), a = ht.dirname(t), i = ht.basename(e), s = ht.basename(t);
- if (r = vt.lookupPath(e, {parent: !0}).node, n = vt.lookupPath(t, {parent: !0}).node, !r || !n) throw new vt.ErrnoError(44);
- if (r.mount !== n.mount) throw new vt.ErrnoError(75);
- var u, c = vt.lookupNode(r, i), l = mt.relative(e, a);
- if ("." !== l.charAt(0)) throw new vt.ErrnoError(28);
- if ("." !== (l = mt.relative(t, o)).charAt(0)) throw new vt.ErrnoError(55);
- try {
- u = vt.lookupNode(n, s)
- } catch (e) {
- }
- if (c !== u) {
- var d = vt.isDir(c.mode), f = vt.mayDelete(r, i, d);
- if (f) throw new vt.ErrnoError(f);
- if (f = u ? vt.mayDelete(n, s, d) : vt.mayCreate(n, s)) throw new vt.ErrnoError(f);
- if (!r.node_ops.rename) throw new vt.ErrnoError(63);
- if (vt.isMountpoint(c) || u && vt.isMountpoint(u)) throw new vt.ErrnoError(10);
- if (n !== r && (f = vt.nodePermissions(r, "w"))) throw new vt.ErrnoError(f);
- try {
- vt.trackingDelegate.willMovePath && vt.trackingDelegate.willMovePath(e, t)
- } catch (r) {
- Me("FS.trackingDelegate['willMovePath']('" + e + "', '" + t + "') threw an exception: " + r.message)
- }
- vt.hashRemoveNode(c);
- try {
- r.node_ops.rename(c, n, s)
- } catch (e) {
- throw e
- } finally {
- vt.hashAddNode(c)
- }
- try {
- vt.trackingDelegate.onMovePath && vt.trackingDelegate.onMovePath(e, t)
- } catch (r) {
- Me("FS.trackingDelegate['onMovePath']('" + e + "', '" + t + "') threw an exception: " + r.message)
- }
- }
- },
- rmdir: function (e) {
- var t = vt.lookupPath(e, {parent: !0}).node, r = ht.basename(e), n = vt.lookupNode(t, r),
- o = vt.mayDelete(t, r, !0);
- if (o) throw new vt.ErrnoError(o);
- if (!t.node_ops.rmdir) throw new vt.ErrnoError(63);
- if (vt.isMountpoint(n)) throw new vt.ErrnoError(10);
- try {
- vt.trackingDelegate.willDeletePath && vt.trackingDelegate.willDeletePath(e)
- } catch (t) {
- Me("FS.trackingDelegate['willDeletePath']('" + e + "') threw an exception: " + t.message)
- }
- t.node_ops.rmdir(t, r), vt.destroyNode(n);
- try {
- vt.trackingDelegate.onDeletePath && vt.trackingDelegate.onDeletePath(e)
- } catch (t) {
- Me("FS.trackingDelegate['onDeletePath']('" + e + "') threw an exception: " + t.message)
- }
- },
- readdir: function (e) {
- var t = vt.lookupPath(e, {follow: !0}).node;
- if (!t.node_ops.readdir) throw new vt.ErrnoError(54);
- return t.node_ops.readdir(t)
- },
- unlink: function (e) {
- var t = vt.lookupPath(e, {parent: !0}).node, r = ht.basename(e), n = vt.lookupNode(t, r),
- o = vt.mayDelete(t, r, !1);
- if (o) throw new vt.ErrnoError(o);
- if (!t.node_ops.unlink) throw new vt.ErrnoError(63);
- if (vt.isMountpoint(n)) throw new vt.ErrnoError(10);
- try {
- vt.trackingDelegate.willDeletePath && vt.trackingDelegate.willDeletePath(e)
- } catch (t) {
- Me("FS.trackingDelegate['willDeletePath']('" + e + "') threw an exception: " + t.message)
- }
- t.node_ops.unlink(t, r), vt.destroyNode(n);
- try {
- vt.trackingDelegate.onDeletePath && vt.trackingDelegate.onDeletePath(e)
- } catch (t) {
- Me("FS.trackingDelegate['onDeletePath']('" + e + "') threw an exception: " + t.message)
- }
- },
- readlink: function (e) {
- var t = vt.lookupPath(e).node;
- if (!t) throw new vt.ErrnoError(44);
- if (!t.node_ops.readlink) throw new vt.ErrnoError(28);
- return mt.resolve(vt.getPath(t.parent), t.node_ops.readlink(t))
- },
- stat: function (e, t) {
- var r = vt.lookupPath(e, {follow: !t}).node;
- if (!r) throw new vt.ErrnoError(44);
- if (!r.node_ops.getattr) throw new vt.ErrnoError(63);
- return r.node_ops.getattr(r)
- },
- lstat: function (e) {
- return vt.stat(e, !0)
- },
- chmod: function (e, t, r) {
- var n;
- "string" == typeof e ? n = vt.lookupPath(e, {follow: !r}).node : n = e;
- if (!n.node_ops.setattr) throw new vt.ErrnoError(63);
- n.node_ops.setattr(n, {mode: 4095 & t | -4096 & n.mode, timestamp: Date.now()})
- },
- lchmod: function (e, t) {
- vt.chmod(e, t, !0)
- },
- fchmod: function (e, t) {
- var r = vt.getStream(e);
- if (!r) throw new vt.ErrnoError(8);
- vt.chmod(r.node, t)
- },
- chown: function (e, t, r, n) {
- var o;
- "string" == typeof e ? o = vt.lookupPath(e, {follow: !n}).node : o = e;
- if (!o.node_ops.setattr) throw new vt.ErrnoError(63);
- o.node_ops.setattr(o, {timestamp: Date.now()})
- },
- lchown: function (e, t, r) {
- vt.chown(e, t, r, !0)
- },
- fchown: function (e, t, r) {
- var n = vt.getStream(e);
- if (!n) throw new vt.ErrnoError(8);
- vt.chown(n.node, t, r)
- },
- truncate: function (e, t) {
- if (t < 0) throw new vt.ErrnoError(28);
- var r;
- "string" == typeof e ? r = vt.lookupPath(e, {follow: !0}).node : r = e;
- if (!r.node_ops.setattr) throw new vt.ErrnoError(63);
- if (vt.isDir(r.mode)) throw new vt.ErrnoError(31);
- if (!vt.isFile(r.mode)) throw new vt.ErrnoError(28);
- var n = vt.nodePermissions(r, "w");
- if (n) throw new vt.ErrnoError(n);
- r.node_ops.setattr(r, {size: t, timestamp: Date.now()})
- },
- ftruncate: function (e, t) {
- var r = vt.getStream(e);
- if (!r) throw new vt.ErrnoError(8);
- if (0 == (2097155 & r.flags)) throw new vt.ErrnoError(28);
- vt.truncate(r.node, t)
- },
- utime: function (e, t, r) {
- var n = vt.lookupPath(e, {follow: !0}).node;
- n.node_ops.setattr(n, {timestamp: Math.max(t, r)})
- },
- open: function (e, t, r, n, o) {
- if ("" === e) throw new vt.ErrnoError(44);
- var a;
- if (r = void 0 === r ? 438 : r, r = 64 & (t = "string" == typeof t ? vt.modeStringToFlags(t) : t) ? 4095 & r | 32768 : 0, "object" == typeof e) a = e; else {
- e = ht.normalize(e);
- try {
- a = vt.lookupPath(e, {follow: !(131072 & t)}).node
- } catch (e) {
- }
- }
- var i = !1;
- if (64 & t) if (a) {
- if (128 & t) throw new vt.ErrnoError(20)
- } else a = vt.mknod(e, r, 0), i = !0;
- if (!a) throw new vt.ErrnoError(44);
- if (vt.isChrdev(a.mode) && (t &= -513), 65536 & t && !vt.isDir(a.mode)) throw new vt.ErrnoError(54);
- if (!i) {
- var s = vt.mayOpen(a, t);
- if (s) throw new vt.ErrnoError(s)
- }
- 512 & t && vt.truncate(a, 0), t &= -131713;
- var u = vt.createStream({
- node: a,
- path: vt.getPath(a),
- flags: t,
- seekable: !0,
- position: 0,
- stream_ops: a.stream_ops,
- ungotten: [],
- error: !1
- }, n, o);
- u.stream_ops.open && u.stream_ops.open(u), !Ee.logReadFiles || 1 & t || (vt.readFiles || (vt.readFiles = {}), e in vt.readFiles || (vt.readFiles[e] = 1, Me("FS.trackingDelegate error on read file: " + e)));
- try {
- if (vt.trackingDelegate.onOpenFile) {
- var c = 0;
- 1 != (2097155 & t) && (c |= vt.tracking.openFlags.READ), 0 != (2097155 & t) && (c |= vt.tracking.openFlags.WRITE), vt.trackingDelegate.onOpenFile(e, c)
- }
- } catch (t) {
- Me("FS.trackingDelegate['onOpenFile']('" + e + "', flags) threw an exception: " + t.message)
- }
- return u
- },
- close: function (e) {
- if (vt.isClosed(e)) throw new vt.ErrnoError(8);
- e.getdents && (e.getdents = null);
- try {
- e.stream_ops.close && e.stream_ops.close(e)
- } catch (e) {
- throw e
- } finally {
- vt.closeStream(e.fd)
- }
- e.fd = null
- },
- isClosed: function (e) {
- return null === e.fd
- },
- llseek: function (e, t, r) {
- if (vt.isClosed(e)) throw new vt.ErrnoError(8);
- if (!e.seekable || !e.stream_ops.llseek) throw new vt.ErrnoError(70);
- if (0 != r && 1 != r && 2 != r) throw new vt.ErrnoError(28);
- return e.position = e.stream_ops.llseek(e, t, r), e.ungotten = [], e.position
- },
- read: function (e, t, r, n, o) {
- if (n < 0 || o < 0) throw new vt.ErrnoError(28);
- if (vt.isClosed(e)) throw new vt.ErrnoError(8);
- if (1 == (2097155 & e.flags)) throw new vt.ErrnoError(8);
- if (vt.isDir(e.node.mode)) throw new vt.ErrnoError(31);
- if (!e.stream_ops.read) throw new vt.ErrnoError(28);
- var a = void 0 !== o;
- if (a) {
- if (!e.seekable) throw new vt.ErrnoError(70)
- } else o = e.position;
- var i = e.stream_ops.read(e, t, r, n, o);
- return a || (e.position += i), i
- },
- write: function (e, t, r, n, o, a) {
- if (n < 0 || o < 0) throw new vt.ErrnoError(28);
- if (vt.isClosed(e)) throw new vt.ErrnoError(8);
- if (0 == (2097155 & e.flags)) throw new vt.ErrnoError(8);
- if (vt.isDir(e.node.mode)) throw new vt.ErrnoError(31);
- if (!e.stream_ops.write) throw new vt.ErrnoError(28);
- e.seekable && 1024 & e.flags && vt.llseek(e, 0, 2);
- var i = void 0 !== o;
- if (i) {
- if (!e.seekable) throw new vt.ErrnoError(70)
- } else o = e.position;
- var s = e.stream_ops.write(e, t, r, n, o, a);
- i || (e.position += s);
- try {
- e.path && vt.trackingDelegate.onWriteToFile && vt.trackingDelegate.onWriteToFile(e.path)
- } catch (t) {
- Me("FS.trackingDelegate['onWriteToFile']('" + e.path + "') threw an exception: " + t.message)
- }
- return s
- },
- allocate: function (e, t, r) {
- if (vt.isClosed(e)) throw new vt.ErrnoError(8);
- if (t < 0 || r <= 0) throw new vt.ErrnoError(28);
- if (0 == (2097155 & e.flags)) throw new vt.ErrnoError(8);
- if (!vt.isFile(e.node.mode) && !vt.isDir(e.node.mode)) throw new vt.ErrnoError(43);
- if (!e.stream_ops.allocate) throw new vt.ErrnoError(138);
- e.stream_ops.allocate(e, t, r)
- },
- mmap: function (e, t, r, n, o, a) {
- if (0 != (2 & o) && 0 == (2 & a) && 2 != (2097155 & e.flags)) throw new vt.ErrnoError(2);
- if (1 == (2097155 & e.flags)) throw new vt.ErrnoError(2);
- if (!e.stream_ops.mmap) throw new vt.ErrnoError(43);
- return e.stream_ops.mmap(e, t, r, n, o, a)
- },
- msync: function (e, t, r, n, o) {
- return e && e.stream_ops.msync ? e.stream_ops.msync(e, t, r, n, o) : 0
- },
- munmap: function (e) {
- return 0
- },
- ioctl: function (e, t, r) {
- if (!e.stream_ops.ioctl) throw new vt.ErrnoError(59);
- return e.stream_ops.ioctl(e, t, r)
- },
- readFile: function (e, t) {
- if ((t = t || {}).flags = t.flags || 0, t.encoding = t.encoding || "binary", "utf8" !== t.encoding && "binary" !== t.encoding) throw new Error('Invalid encoding type "' + t.encoding + '"');
- var r, n = vt.open(e, t.flags), o = vt.stat(e).size, a = new Uint8Array(o);
- return vt.read(n, a, 0, o, 0), "utf8" === t.encoding ? r = Pr(a, 0) : "binary" === t.encoding && (r = a), vt.close(n), r
- },
- writeFile: function (e, t, r) {
- (r = r || {}).flags = r.flags || 577;
- var n = vt.open(e, r.flags, r.mode);
- if ("string" == typeof t) {
- var o = new Uint8Array(Rr(t) + 1), a = Br(t, o, 0, o.length);
- vt.write(n, o, 0, a, void 0, r.canOwn)
- } else {
- if (!ArrayBuffer.isView(t)) throw new Error("Unsupported data type");
- vt.write(n, t, 0, t.byteLength, void 0, r.canOwn)
- }
- vt.close(n)
- },
- cwd: function () {
- return vt.currentPath
- },
- chdir: function (e) {
- var t = vt.lookupPath(e, {follow: !0});
- if (null === t.node) throw new vt.ErrnoError(44);
- if (!vt.isDir(t.node.mode)) throw new vt.ErrnoError(54);
- var r = vt.nodePermissions(t.node, "x");
- if (r) throw new vt.ErrnoError(r);
- vt.currentPath = t.path
- },
- createDefaultDirectories: function () {
- vt.mkdir("/tmp"), vt.mkdir("/home"), vt.mkdir("/home/web_user")
- },
- createDefaultDevices: function () {
- vt.mkdir("/dev"), vt.registerDevice(vt.makedev(1, 3), {
- read: function () {
- return 0
- }, write: function (e, t, r, n, o) {
- return n
- }
- }), vt.mkdev("/dev/null", vt.makedev(1, 3)), At.register(vt.makedev(5, 0), At.default_tty_ops), At.register(vt.makedev(6, 0), At.default_tty1_ops), vt.mkdev("/dev/tty", vt.makedev(5, 0)), vt.mkdev("/dev/tty1", vt.makedev(6, 0));
- var e = function () {
- if ("object" == typeof crypto && "function" == typeof crypto.getRandomValues) {
- var e = new Uint8Array(1);
- return function () {
- return crypto.getRandomValues(e), e[0]
- }
- }
- return function () {
- Yr("randomDevice")
- }
- }();
- vt.createDevice("/dev", "random", e), vt.createDevice("/dev", "urandom", e), vt.mkdir("/dev/shm"), vt.mkdir("/dev/shm/tmp")
- },
- createSpecialDirectories: function () {
- vt.mkdir("/proc");
- var e = vt.mkdir("/proc/self");
- vt.mkdir("/proc/self/fd"), vt.mount({
- mount: function () {
- var t = vt.createNode(e, "fd", 16895, 73);
- return t.node_ops = {
- lookup: function (e, t) {
- var r = +t, n = vt.getStream(r);
- if (!n) throw new vt.ErrnoError(8);
- var o = {
- parent: null, mount: {mountpoint: "fake"}, node_ops: {
- readlink: function () {
- return n.path
- }
- }
- };
- return o.parent = o, o
- }
- }, t
- }
- }, {}, "/proc/self/fd")
- },
- createStandardStreams: function () {
- Ee.stdin ? vt.createDevice("/dev", "stdin", Ee.stdin) : vt.symlink("/dev/tty", "/dev/stdin"), Ee.stdout ? vt.createDevice("/dev", "stdout", null, Ee.stdout) : vt.symlink("/dev/tty", "/dev/stdout"), Ee.stderr ? vt.createDevice("/dev", "stderr", null, Ee.stderr) : vt.symlink("/dev/tty1", "/dev/stderr");
- vt.open("/dev/stdin", 0), vt.open("/dev/stdout", 1), vt.open("/dev/stderr", 1)
- },
- ensureErrnoError: function () {
- vt.ErrnoError || (vt.ErrnoError = function (e, t) {
- this.node = t, this.setErrno = function (e) {
- this.errno = e
- }, this.setErrno(e), this.message = "FS error"
- }, vt.ErrnoError.prototype = new Error, vt.ErrnoError.prototype.constructor = vt.ErrnoError, [44].forEach((function (e) {
- vt.genericErrors[e] = new vt.ErrnoError(e), vt.genericErrors[e].stack = "<generic error, no stack>"
- })))
- },
- staticInit: function () {
- vt.ensureErrnoError(), vt.nameTable = new Array(4096), vt.mount(gt, {}, "/"), vt.createDefaultDirectories(), vt.createDefaultDevices(), vt.createSpecialDirectories(), vt.filesystems = {MEMFS: gt}
- },
- init: function (e, t, r) {
- vt.init.initialized = !0, vt.ensureErrnoError(), Ee.stdin = e || Ee.stdin, Ee.stdout = t || Ee.stdout, Ee.stderr = r || Ee.stderr, vt.createStandardStreams()
- },
- quit: function () {
- vt.init.initialized = !1;
- var e = Ee._fflush;
- e && e(0);
- for (var t = 0; t < vt.streams.length; t++) {
- var r = vt.streams[t];
- r && vt.close(r)
- }
- },
- getMode: function (e, t) {
- var r = 0;
- return e && (r |= 365), t && (r |= 146), r
- },
- findObject: function (e, t) {
- var r = vt.analyzePath(e, t);
- return r.exists ? r.object : null
- },
- analyzePath: function (e, t) {
- try {
- e = (n = vt.lookupPath(e, {follow: !t})).path
- } catch (e) {
- }
- var r = {
- isRoot: !1,
- exists: !1,
- error: 0,
- name: null,
- path: null,
- object: null,
- parentExists: !1,
- parentPath: null,
- parentObject: null
- };
- try {
- var n = vt.lookupPath(e, {parent: !0});
- r.parentExists = !0, r.parentPath = n.path, r.parentObject = n.node, r.name = ht.basename(e), n = vt.lookupPath(e, {follow: !t}), r.exists = !0, r.path = n.path, r.object = n.node, r.name = n.node.name, r.isRoot = "/" === n.path
- } catch (e) {
- r.error = e.errno
- }
- return r
- },
- createPath: function (e, t, r, n) {
- e = "string" == typeof e ? e : vt.getPath(e);
- for (var o = t.split("/").reverse(); o.length;) {
- var a = o.pop();
- if (a) {
- var i = ht.join2(e, a);
- try {
- vt.mkdir(i)
- } catch (e) {
- }
- e = i
- }
- }
- return i
- },
- createFile: function (e, t, r, n, o) {
- var a = ht.join2("string" == typeof e ? e : vt.getPath(e), t), i = vt.getMode(n, o);
- return vt.create(a, i)
- },
- createDataFile: function (e, t, r, n, o, a) {
- var i = t ? ht.join2("string" == typeof e ? e : vt.getPath(e), t) : e, s = vt.getMode(n, o),
- u = vt.create(i, s);
- if (r) {
- if ("string" == typeof r) {
- for (var c = new Array(r.length), l = 0, d = r.length; l < d; ++l) c[l] = r.charCodeAt(l);
- r = c
- }
- vt.chmod(u, 146 | s);
- var f = vt.open(u, 577);
- vt.write(f, r, 0, r.length, 0, a), vt.close(f), vt.chmod(u, s)
- }
- return u
- },
- createDevice: function (e, t, r, n) {
- var o = ht.join2("string" == typeof e ? e : vt.getPath(e), t), a = vt.getMode(!!r, !!n);
- vt.createDevice.major || (vt.createDevice.major = 64);
- var i = vt.makedev(vt.createDevice.major++, 0);
- return vt.registerDevice(i, {
- open: function (e) {
- e.seekable = !1
- }, close: function (e) {
- n && n.buffer && n.buffer.length && n(10)
- }, read: function (e, t, n, o, a) {
- for (var i = 0, s = 0; s < o; s++) {
- var u;
- try {
- u = r()
- } catch (e) {
- throw new vt.ErrnoError(29)
- }
- if (void 0 === u && 0 === i) throw new vt.ErrnoError(6);
- if (null == u) break;
- i++, t[n + s] = u
- }
- return i && (e.node.timestamp = Date.now()), i
- }, write: function (e, t, r, o, a) {
- for (var i = 0; i < o; i++) try {
- n(t[r + i])
- } catch (e) {
- throw new vt.ErrnoError(29)
- }
- return o && (e.node.timestamp = Date.now()), i
- }
- }), vt.mkdev(o, a, i)
- },
- forceLoadFile: function (e) {
- if (e.isDevice || e.isFolder || e.link || e.contents) return !0;
- if ("undefined" != typeof XMLHttpRequest) throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
- if (!Pe) throw new Error("Cannot load without read() or XMLHttpRequest.");
- try {
- e.contents = ga(Pe(e.url), !0), e.usedBytes = e.contents.length
- } catch (e) {
- throw new vt.ErrnoError(29)
- }
- },
- createLazyFile: function (e, t, r, n, o) {
- function a() {
- this.lengthKnown = !1, this.chunks = []
- }
- if (a.prototype.get = function (e) {
- if (!(e > this.length - 1 || e < 0)) {
- var t = e % this.chunkSize, r = e / this.chunkSize | 0;
- return this.getter(r)[t]
- }
- }, a.prototype.setDataGetter = function (e) {
- this.getter = e
- }, a.prototype.cacheLength = function () {
- var e = new XMLHttpRequest;
- if (e.open("HEAD", r, !1), e.send(null), !(e.status >= 200 && e.status < 300 || 304 === e.status)) throw new Error("Couldn't load " + r + ". Status: " + e.status);
- var t, n = Number(e.getResponseHeader("Content-length")),
- o = (t = e.getResponseHeader("Accept-Ranges")) && "bytes" === t,
- a = (t = e.getResponseHeader("Content-Encoding")) && "gzip" === t, i = 1048576;
- o || (i = n);
- var s = this;
- s.setDataGetter((function (e) {
- var t = e * i, o = (e + 1) * i - 1;
- if (o = Math.min(o, n - 1), void 0 === s.chunks[e] && (s.chunks[e] = function (e, t) {
- if (e > t) throw new Error("invalid range (" + e + ", " + t + ") or no bytes requested!");
- if (t > n - 1) throw new Error("only " + n + " bytes available! programmer error!");
- var o = new XMLHttpRequest;
- if (o.open("GET", r, !1), n !== i && o.setRequestHeader("Range", "bytes=" + e + "-" + t), "undefined" != typeof Uint8Array && (o.responseType = "arraybuffer"), o.overrideMimeType && o.overrideMimeType("text/plain; charset=x-user-defined"), o.send(null), !(o.status >= 200 && o.status < 300 || 304 === o.status)) throw new Error("Couldn't load " + r + ". Status: " + o.status);
- return void 0 !== o.response ? new Uint8Array(o.response || []) : ga(o.responseText || "", !0)
- }(t, o)), void 0 === s.chunks[e]) throw new Error("doXHR failed!");
- return s.chunks[e]
- })), !a && n || (i = n = 1, n = this.getter(0).length, i = n, Be("LazyFiles on gzip forces download of the whole file when length is accessed")), this._length = n, this._chunkSize = i, this.lengthKnown = !0
- }, "undefined" != typeof XMLHttpRequest) {
- if (!De) throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
- var i = new a;
- Object.defineProperties(i, {
- length: {
- get: function () {
- return this.lengthKnown || this.cacheLength(), this._length
- }
- }, chunkSize: {
- get: function () {
- return this.lengthKnown || this.cacheLength(), this._chunkSize
- }
- }
- });
- var s = {isDevice: !1, contents: i}
- } else s = {isDevice: !1, url: r};
- var u = vt.createFile(e, t, s, n, o);
- s.contents ? u.contents = s.contents : s.url && (u.contents = null, u.url = s.url), Object.defineProperties(u, {
- usedBytes: {
- get: function () {
- return this.contents.length
- }
- }
- });
- var c = {};
- return Object.keys(u.stream_ops).forEach((function (e) {
- var t = u.stream_ops[e];
- c[e] = function () {
- return vt.forceLoadFile(u), t.apply(null, arguments)
- }
- })), c.read = function (e, t, r, n, o) {
- vt.forceLoadFile(u);
- var a = e.node.contents;
- if (o >= a.length) return 0;
- var i = Math.min(a.length - o, n);
- if (a.slice) for (var s = 0; s < i; s++) t[r + s] = a[o + s]; else for (s = 0; s < i; s++) t[r + s] = a.get(o + s);
- return i
- }, u.stream_ops = c, u
- },
- createPreloadedFile: function (e, t, r, n, o, a, i, s, u, c) {
- Browser.init();
- var l = t ? mt.resolve(ht.join2(e, t)) : e;
- function d(r) {
- function d(r) {
- c && c(), s || vt.createDataFile(e, t, r, n, o, u), a && a(), Wr()
- }
- var f = !1;
- Ee.preloadPlugins.forEach((function (e) {
- f || e.canHandle(l) && (e.handle(r, l, d, (function () {
- i && i(), Wr()
- })), f = !0)
- })), f || d(r)
- }
- zr(), "string" == typeof r ? Browser.asyncLoad(r, (function (e) {
- d(e)
- }), i) : d(r)
- },
- indexedDB: function () {
- return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB
- },
- DB_NAME: function () {
- return "EM_FS_" + window.location.pathname
- },
- DB_VERSION: 20,
- DB_STORE_NAME: "FILE_DATA",
- saveFilesToDB: function (e, t, r) {
- t = t || function () {
- }, r = r || function () {
- };
- var n = vt.indexedDB();
- try {
- var o = n.open(vt.DB_NAME(), vt.DB_VERSION)
- } catch (e) {
- return r(e)
- }
- o.onupgradeneeded = function () {
- Be("creating db"), o.result.createObjectStore(vt.DB_STORE_NAME)
- }, o.onsuccess = function () {
- var n = o.result.transaction([vt.DB_STORE_NAME], "readwrite"), a = n.objectStore(vt.DB_STORE_NAME), i = 0,
- s = 0, u = e.length;
- function c() {
- 0 == s ? t() : r()
- }
- e.forEach((function (e) {
- var t = a.put(vt.analyzePath(e).object.contents, e);
- t.onsuccess = function () {
- ++i + s == u && c()
- }, t.onerror = function () {
- s++, i + s == u && c()
- }
- })), n.onerror = r
- }, o.onerror = r
- },
- loadFilesFromDB: function (e, t, r) {
- t = t || function () {
- }, r = r || function () {
- };
- var n = vt.indexedDB();
- try {
- var o = n.open(vt.DB_NAME(), vt.DB_VERSION)
- } catch (e) {
- return r(e)
- }
- o.onupgradeneeded = r, o.onsuccess = function () {
- var n = o.result;
- try {
- var a = n.transaction([vt.DB_STORE_NAME], "readonly")
- } catch (e) {
- return void r(e)
- }
- var i = a.objectStore(vt.DB_STORE_NAME), s = 0, u = 0, c = e.length;
- function l() {
- 0 == u ? t() : r()
- }
- e.forEach((function (e) {
- var t = i.get(e);
- t.onsuccess = function () {
- vt.analyzePath(e).exists && vt.unlink(e), vt.createDataFile(ht.dirname(e), ht.basename(e), t.result, !0, !0, !0), ++s + u == c && l()
- }, t.onerror = function () {
- u++, s + u == c && l()
- }
- })), a.onerror = r
- }, o.onerror = r
- }
- }, Et = {
- mappings: {}, DEFAULT_POLLMASK: 5, umask: 511, calculateAt: function (e, t, r) {
- if ("/" === t[0]) return t;
- var n;
- if (-100 === e) n = vt.cwd(); else {
- var o = vt.getStream(e);
- if (!o) throw new vt.ErrnoError(8);
- n = o.path
- }
- if (0 == t.length) {
- if (!r) throw new vt.ErrnoError(44);
- return n
- }
- return ht.join2(n, t)
- }, doStat: function (e, t, r) {
- try {
- var n = e(t)
- } catch (e) {
- if (e && e.node && ht.normalize(t) !== ht.normalize(vt.getPath(e.node))) return -54;
- throw e
- }
- return $e[r >> 2] = n.dev, $e[r + 4 >> 2] = 0, $e[r + 8 >> 2] = n.ino, $e[r + 12 >> 2] = n.mode, $e[r + 16 >> 2] = n.nlink, $e[r + 20 >> 2] = n.uid, $e[r + 24 >> 2] = n.gid, $e[r + 28 >> 2] = n.rdev, $e[r + 32 >> 2] = 0, ct = [n.size >>> 0, (ut = n.size, +Math.abs(ut) >= 1 ? ut > 0 ? (0 | Math.min(+Math.floor(ut / 4294967296), 4294967295)) >>> 0 : ~~+Math.ceil((ut - +(~~ut >>> 0)) / 4294967296) >>> 0 : 0)], $e[r + 40 >> 2] = ct[0], $e[r + 44 >> 2] = ct[1], $e[r + 48 >> 2] = 4096, $e[r + 52 >> 2] = n.blocks, $e[r + 56 >> 2] = n.atime.getTime() / 1e3 | 0, $e[r + 60 >> 2] = 0, $e[r + 64 >> 2] = n.mtime.getTime() / 1e3 | 0, $e[r + 68 >> 2] = 0, $e[r + 72 >> 2] = n.ctime.getTime() / 1e3 | 0, $e[r + 76 >> 2] = 0, ct = [n.ino >>> 0, (ut = n.ino, +Math.abs(ut) >= 1 ? ut > 0 ? (0 | Math.min(+Math.floor(ut / 4294967296), 4294967295)) >>> 0 : ~~+Math.ceil((ut - +(~~ut >>> 0)) / 4294967296) >>> 0 : 0)], $e[r + 80 >> 2] = ct[0], $e[r + 84 >> 2] = ct[1], 0
- }, doMsync: function (e, t, r, n, o) {
- var a = We.slice(e, e + r);
- vt.msync(t, a, o, r, n)
- }, doMkdir: function (e, t) {
- return "/" === (e = ht.normalize(e))[e.length - 1] && (e = e.substr(0, e.length - 1)), vt.mkdir(e, t, 0), 0
- }, doMknod: function (e, t, r) {
- switch (61440 & t) {
- case 32768:
- case 8192:
- case 24576:
- case 4096:
- case 49152:
- break;
- default:
- return -28
- }
- return vt.mknod(e, t, r), 0
- }, doReadlink: function (e, t, r) {
- if (r <= 0) return -28;
- var n = vt.readlink(e), o = Math.min(r, Rr(n)), a = ze[t + o];
- return Mr(n, t, r + 1), ze[t + o] = a, o
- }, doAccess: function (e, t) {
- if (-8 & t) return -28;
- var r;
- if (!(r = vt.lookupPath(e, {follow: !0}).node)) return -44;
- var n = "";
- return 4 & t && (n += "r"), 2 & t && (n += "w"), 1 & t && (n += "x"), n && vt.nodePermissions(r, n) ? -2 : 0
- }, doDup: function (e, t, r) {
- var n = vt.getStream(r);
- return n && vt.close(n), vt.open(e, t, 0, r, r).fd
- }, doReadv: function (e, t, r, n) {
- for (var o = 0, a = 0; a < r; a++) {
- var i = $e[t + 8 * a >> 2], s = $e[t + (8 * a + 4) >> 2], u = vt.read(e, ze, i, s, n);
- if (u < 0) return -1;
- if (o += u, u < s) break
- }
- return o
- }, doWritev: function (e, t, r, n) {
- for (var o = 0, a = 0; a < r; a++) {
- var i = $e[t + 8 * a >> 2], s = $e[t + (8 * a + 4) >> 2], u = vt.write(e, ze, i, s, n);
- if (u < 0) return -1;
- o += u
- }
- return o
- }, varargs: void 0, get: function () {
- return Et.varargs += 4, $e[Et.varargs - 4 >> 2]
- }, getStr: function (e) {
- return xr(e)
- }, getStreamFromFD: function (e) {
- var t = vt.getStream(e);
- if (!t) throw new vt.ErrnoError(8);
- return t
- }, get64: function (e, t) {
- return e
- }
- }, yt = void 0, wt = {}, _t = {}, bt = {}, kt = 48, Tt = 57, Dt = void 0, St = void 0, Ct = !1, Ot = void 0, Pt = [], xt = {}, Bt = {}, Mt = void 0, Rt = [], Lt = [{}, {value: void 0}, {value: null}, {value: !0}, {value: !1}], It = {}, Ft = [], Ut = [], Nt = [], jt = {
- inEventHandler: 0, removeAllEventListeners: function () {
- for (var e = jt.eventHandlers.length - 1; e >= 0; --e) jt._removeHandler(e);
- jt.eventHandlers = [], jt.deferredCalls = []
- }, registerRemoveEventListeners: function () {
- jt.removeEventListenersRegistered || (tt.push(jt.removeAllEventListeners), jt.removeEventListenersRegistered = !0)
- }, deferredCalls: [], deferCall: function (e, t, r) {
- function n(e, t) {
- if (e.length != t.length) return !1;
- for (var r in e) if (e[r] != t[r]) return !1;
- return !0
- }
- for (var o in jt.deferredCalls) {
- var a = jt.deferredCalls[o];
- if (a.targetFunction == e && n(a.argsList, r)) return
- }
- jt.deferredCalls.push({targetFunction: e, precedence: t, argsList: r}), jt.deferredCalls.sort((function (e, t) {
- return e.precedence < t.precedence
- }))
- }, removeDeferredCalls: function (e) {
- for (var t = 0; t < jt.deferredCalls.length; ++t) jt.deferredCalls[t].targetFunction == e && (jt.deferredCalls.splice(t, 1), --t)
- }, canPerformEventHandlerRequests: function () {
- return jt.inEventHandler && jt.currentEventHandler.allowsDeferredCalls
- }, runDeferredCalls: function () {
- if (jt.canPerformEventHandlerRequests()) for (var e = 0; e < jt.deferredCalls.length; ++e) {
- var t = jt.deferredCalls[e];
- jt.deferredCalls.splice(e, 1), --e, t.targetFunction.apply(null, t.argsList)
- }
- }, eventHandlers: [], removeAllHandlersOnTarget: function (e, t) {
- for (var r = 0; r < jt.eventHandlers.length; ++r) jt.eventHandlers[r].target != e || t && t != jt.eventHandlers[r].eventTypeString || jt._removeHandler(r--)
- }, _removeHandler: function (e) {
- var t = jt.eventHandlers[e];
- t.target.removeEventListener(t.eventTypeString, t.eventListenerFunc, t.useCapture), jt.eventHandlers.splice(e, 1)
- }, registerOrRemoveHandler: function (e) {
- var t = function (t) {
- ++jt.inEventHandler, jt.currentEventHandler = e, jt.runDeferredCalls(), e.handlerFunc(t), jt.runDeferredCalls(), --jt.inEventHandler
- };
- if (e.callbackfunc) e.eventListenerFunc = t, e.target.addEventListener(e.eventTypeString, t, e.useCapture), jt.eventHandlers.push(e), jt.registerRemoveEventListeners(); else for (var r = 0; r < jt.eventHandlers.length; ++r) jt.eventHandlers[r].target == e.target && jt.eventHandlers[r].eventTypeString == e.eventTypeString && jt._removeHandler(r--)
- }, queueEventHandlerOnThread_iiii: function (e, t, r, n, o) {
- var a = gr(), i = Er(12);
- $e[i >> 2] = r, $e[i + 4 >> 2] = n, $e[i + 8 >> 2] = o, mr(0, e, 637534208, t, n, i), vr(a)
- }, getTargetThreadForEventCallback: function (e) {
- switch (e) {
- case 1:
- return 0;
- case 2:
- return ft.currentProxiedOperationCallerThread;
- default:
- return e
- }
- }, getNodeNameForTarget: function (e) {
- return e ? e == window ? "#window" : e == screen ? "#screen" : e && e.nodeName ? e.nodeName : "" : ""
- }, fullscreenEnabled: function () {
- return document.fullscreenEnabled || document.webkitFullscreenEnabled
- }
- }, Gt = [0, "undefined" != typeof document ? document : 0, "undefined" != typeof window ? window : 0], zt = {
- counter: 1,
- buffers: [],
- programs: [],
- framebuffers: [],
- renderbuffers: [],
- textures: [],
- uniforms: [],
- shaders: [],
- vaos: [],
- contexts: {},
- offscreenCanvases: {},
- timerQueriesEXT: [],
- programInfos: {},
- stringCache: {},
- unpackAlignment: 4,
- recordError: function (e) {
- zt.lastError || (zt.lastError = e)
- },
- getNewId: function (e) {
- for (var t = zt.counter++, r = e.length; r < t; r++) e[r] = null;
- return t
- },
- getSource: function (e, t, r, n) {
- for (var o = "", a = 0; a < t; ++a) {
- var i = n ? $e[n + 4 * a >> 2] : -1;
- o += xr($e[r + 4 * a >> 2], i < 0 ? void 0 : i)
- }
- return o
- },
- createContext: function (e, t) {
- var r = e.getContext("webgl", t);
- return r ? zt.registerContext(r, t) : 0
- },
- registerContext: function (e, t) {
- var r = Jt(8);
- $e[r + 4 >> 2] = sr();
- var n = {handle: r, attributes: t, version: t.majorVersion, GLctx: e};
- return e.canvas && (e.canvas.GLctxObject = n), zt.contexts[r] = n, (void 0 === t.enableExtensionsByDefault || t.enableExtensionsByDefault) && zt.initExtensions(n), r
- },
- makeContextCurrent: function (e) {
- return zt.currentContext = zt.contexts[e], Ee.ctx = Qt = zt.currentContext && zt.currentContext.GLctx, !(e && !Qt)
- },
- getContext: function (e) {
- return zt.contexts[e]
- },
- deleteContext: function (e) {
- zt.currentContext === zt.contexts[e] && (zt.currentContext = null), "object" == typeof jt && jt.removeAllHandlersOnTarget(zt.contexts[e].GLctx.canvas), zt.contexts[e] && zt.contexts[e].GLctx.canvas && (zt.contexts[e].GLctx.canvas.GLctxObject = void 0), Kt(zt.contexts[e].handle), zt.contexts[e] = null
- },
- initExtensions: function (e) {
- if (e || (e = zt.currentContext), !e.initExtensionsDone) {
- e.initExtensionsDone = !0;
- var t, r = e.GLctx;
- !function (e) {
- var t = e.getExtension("ANGLE_instanced_arrays");
- if (t) e.vertexAttribDivisor = function (e, r) {
- t.vertexAttribDivisorANGLE(e, r)
- }, e.drawArraysInstanced = function (e, r, n, o) {
- t.drawArraysInstancedANGLE(e, r, n, o)
- }, e.drawElementsInstanced = function (e, r, n, o, a) {
- t.drawElementsInstancedANGLE(e, r, n, o, a)
- }
- }(r), function (e) {
- var t = e.getExtension("OES_vertex_array_object");
- if (t) e.createVertexArray = function () {
- return t.createVertexArrayOES()
- }, e.deleteVertexArray = function (e) {
- t.deleteVertexArrayOES(e)
- }, e.bindVertexArray = function (e) {
- t.bindVertexArrayOES(e)
- }, e.isVertexArray = function (e) {
- return t.isVertexArrayOES(e)
- }
- }(r), function (e) {
- var t = e.getExtension("WEBGL_draw_buffers");
- if (t) e.drawBuffers = function (e, r) {
- t.drawBuffersWEBGL(e, r)
- }
- }(r), r.disjointTimerQueryExt = r.getExtension("EXT_disjoint_timer_query"), (t = r).multiDrawWebgl = t.getExtension("WEBGL_multi_draw"), (r.getSupportedExtensions() || []).forEach((function (e) {
- e.indexOf("lose_context") < 0 && e.indexOf("debug") < 0 && r.getExtension(e)
- }))
- }
- },
- populateUniformTable: function (e) {
- for (var t = zt.programs[e], r = zt.programInfos[e] = {
- uniforms: {},
- maxUniformLength: 0,
- maxAttributeLength: -1,
- maxUniformBlockNameLength: -1
- }, n = r.uniforms, o = Qt.getProgramParameter(t, 35718), a = 0; a < o; ++a) {
- var i = Qt.getActiveUniform(t, a), s = i.name;
- r.maxUniformLength = Math.max(r.maxUniformLength, s.length + 1), "]" == s.slice(-1) && (s = s.slice(0, s.lastIndexOf("[")));
- var u = Qt.getUniformLocation(t, s);
- if (u) {
- var c = zt.getNewId(zt.uniforms);
- n[s] = [i.size, c], zt.uniforms[c] = u;
- for (var l = 1; l < i.size; ++l) {
- var d = s + "[" + l + "]";
- u = Qt.getUniformLocation(t, d), c = zt.getNewId(zt.uniforms), zt.uniforms[c] = u
- }
- }
- }
- }
- }, Wt = ["default", "low-power", "high-performance"], Yt = {}, Se || ft.initMainThreadBlock(), Ht = function (e, t, r, n) {
- e || (e = this), this.parent = e, this.mount = e.mount, this.mounted = null, this.id = vt.nextInode++, this.name = t, this.mode = r, this.node_ops = {}, this.stream_ops = {}, this.rdev = n
- }, $t = 365, Vt = 146, Object.defineProperties(Ht.prototype, {
- read: {
- get: function () {
- return (this.mode & $t) === $t
- }, set: function (e) {
- e ? this.mode |= $t : this.mode &= -366
- }
- }, write: {
- get: function () {
- return (this.mode & Vt) === Vt
- }, set: function (e) {
- e ? this.mode |= Vt : this.mode &= -147
- }
- }, isFolder: {
- get: function () {
- return vt.isDir(this.mode)
- }
- }, isDevice: {
- get: function () {
- return vt.isChrdev(this.mode)
- }
- }
- }), vt.FSNode = Ht, vt.staticInit(), function () {
- for (var e = new Array(256), t = 0; t < 256; ++t) e[t] = String.fromCharCode(t);
- yt = e
- }(), Dt = Ee.BindingError = fn(Error, "BindingError"), St = Ee.InternalError = fn(Error, "InternalError"), Cn.prototype.isAliasOf = vn, Cn.prototype.clone = bn, Cn.prototype.delete = kn, Cn.prototype.isDeleted = Tn, Cn.prototype.deleteLater = Sn, $n.prototype.getPointee = In, $n.prototype.destructor = Fn, $n.prototype.argPackAdvance = 8, $n.prototype.readValueFromPointer = Ln, $n.prototype.deleteObject = Un, $n.prototype.fromWireType = Hn, Ee.getInheritedInstanceCount = jn, Ee.getLiveInheritedInstances = Gn, Ee.flushPendingDeletes = Dn, Ee.setDelayFunction = zn, Mt = Ee.UnboundTypeError = fn(Error, "UnboundTypeError"), Ee.count_emval_handles = io, Ee.get_first_emval = so, Xt = [null, an, sn, Xo, ea, ta, ra, na, oa, aa, ia, ua, Aa], qt = {
- e: rn,
- Q: an,
- P: sn,
- V: gn,
- y: Zn,
- q: eo,
- m: ro,
- $: oo,
- U: co,
- w: po,
- d: mo,
- c: Ao,
- x: go,
- o: vo,
- W: Eo,
- I: yo,
- J: bo,
- i: ko,
- z: ao,
- h: To,
- _: Do,
- C: So,
- R: Co,
- b: Oo,
- Y: Po,
- s: xo,
- M: Bo,
- t: Mo,
- g: Ro,
- f: qr,
- k: pt,
- j: jo,
- D: Go,
- F: Wo,
- E: Yo,
- G: qo,
- r: Zo,
- H: Ko,
- N: ea,
- O: ta,
- v: ra,
- S: na,
- T: oa,
- A: aa,
- u: ia,
- X: sa,
- B: Qr,
- a: Ue,
- K: ca,
- L: la,
- l: fa,
- p: ha,
- n: ma,
- Z: Aa
- }, Vr(), Zt = Ee.___wasm_call_ctors = function () {
- return (Zt = Ee.___wasm_call_ctors = Ee.asm.aa).apply(null, arguments)
- }, Kt = Ee._free = function () {
- return (Kt = Ee._free = Ee.asm.ba).apply(null, arguments)
- }, Jt = Ee._malloc = function () {
- return (Jt = Ee._malloc = Ee.asm.ca).apply(null, arguments)
- }, er = Ee._strlen = function () {
- return (er = Ee._strlen = Ee.asm.ea).apply(null, arguments)
- },tr = Ee.___errno_location = function () {
- return (tr = Ee.___errno_location = Ee.asm.fa).apply(null, arguments)
- },rr = Ee.___getTypeName = function () {
- return (rr = Ee.___getTypeName = Ee.asm.ga).apply(null, arguments)
- },Ee.___embind_register_native_and_builtin_types = function () {
- return (Ee.___embind_register_native_and_builtin_types = Ee.asm.ha).apply(null, arguments)
- },nr = Ee._emscripten_get_global_libc = function () {
- return (nr = Ee._emscripten_get_global_libc = Ee.asm.ia).apply(null, arguments)
- },or = Ee.__get_tzname = function () {
- return (or = Ee.__get_tzname = Ee.asm.ja).apply(null, arguments)
- },ar = Ee.__get_daylight = function () {
- return (ar = Ee.__get_daylight = Ee.asm.ka).apply(null, arguments)
- },ir = Ee.__get_timezone = function () {
- return (ir = Ee.__get_timezone = Ee.asm.la).apply(null, arguments)
- },sr = Ee._pthread_self = function () {
- return (sr = Ee._pthread_self = Ee.asm.ma).apply(null, arguments)
- },ur = Ee._emscripten_main_browser_thread_id = function () {
- return (ur = Ee._emscripten_main_browser_thread_id = Ee.asm.na).apply(null, arguments)
- },cr = Ee.___pthread_tsd_run_dtors = function () {
- return (cr = Ee.___pthread_tsd_run_dtors = Ee.asm.oa).apply(null, arguments)
- },lr = Ee._emscripten_main_thread_process_queued_calls = function () {
- return (lr = Ee._emscripten_main_thread_process_queued_calls = Ee.asm.pa).apply(null, arguments)
- },Ee._emscripten_current_thread_process_queued_calls = function () {
- return (Ee._emscripten_current_thread_process_queued_calls = Ee.asm.qa).apply(null, arguments)
- },dr = Ee._emscripten_register_main_browser_thread_id = function () {
- return (dr = Ee._emscripten_register_main_browser_thread_id = Ee.asm.ra).apply(null, arguments)
- },fr = Ee.__emscripten_do_dispatch_to_thread = function () {
- return (fr = Ee.__emscripten_do_dispatch_to_thread = Ee.asm.sa).apply(null, arguments)
- },pr = Ee._emscripten_sync_run_in_main_thread_4 = function () {
- return (pr = Ee._emscripten_sync_run_in_main_thread_4 = Ee.asm.ta).apply(null, arguments)
- },hr = Ee._emscripten_run_in_main_runtime_thread_js = function () {
- return (hr = Ee._emscripten_run_in_main_runtime_thread_js = Ee.asm.ua).apply(null, arguments)
- },mr = Ee.__emscripten_call_on_thread = function () {
- return (mr = Ee.__emscripten_call_on_thread = Ee.asm.va).apply(null, arguments)
- },Ee._emscripten_tls_init = function () {
- return (Ee._emscripten_tls_init = Ee.asm.wa).apply(null, arguments)
- },Ar = Ee.__emscripten_thread_init = function () {
- return (Ar = Ee.__emscripten_thread_init = Ee.asm.xa).apply(null, arguments)
- },gr = Ee.stackSave = function () {
- return (gr = Ee.stackSave = Ee.asm.ya).apply(null, arguments)
- },vr = Ee.stackRestore = function () {
- return (vr = Ee.stackRestore = Ee.asm.za).apply(null, arguments)
- },Er = Ee.stackAlloc = function () {
- return (Er = Ee.stackAlloc = Ee.asm.Aa).apply(null, arguments)
- },yr = Ee._emscripten_stack_set_limits = function () {
- return (yr = Ee._emscripten_stack_set_limits = Ee.asm.Ba).apply(null, arguments)
- },wr = Ee._memalign = function () {
- return (wr = Ee._memalign = Ee.asm.Ca).apply(null, arguments)
- },Ee.dynCall_ijiii = function () {
- return (Ee.dynCall_ijiii = Ee.asm.Da).apply(null, arguments)
- },Ee.dynCall_viiijj = function () {
- return (Ee.dynCall_viiijj = Ee.asm.Ea).apply(null, arguments)
- },Ee.dynCall_jij = function () {
- return (Ee.dynCall_jij = Ee.asm.Fa).apply(null, arguments)
- },Ee.dynCall_jii = function () {
- return (Ee.dynCall_jii = Ee.asm.Ga).apply(null, arguments)
- },Ee.dynCall_jiji = function () {
- return (Ee.dynCall_jiji = Ee.asm.Ha).apply(null, arguments)
- },Ee._ff_h264_cabac_tables = 77706,_r = Ee.__emscripten_allow_main_runtime_queued_calls = 241152,br = Ee.__emscripten_main_thread_futex = 1178e3,Ee.PThread = ft,Ee.PThread = ft,Ee.wasmMemory = Ue,Ee.ExitStatus = va,at = function e() {
- kr || Ea(), kr || (at = e)
- },Ee.run = Ea,Ee.preInit) for ("function" == typeof Ee.preInit && (Ee.preInit = [Ee.preInit]); Ee.preInit.length > 0;) Ee.preInit.pop()();
- Se && (Fe = !1, ft.initWorker()), Ea(), Tr = e(Ee)
- }
- var _a = !1;
- function ba(e) {
- let t = e.next(), r = null;
- return n => {
- var o = new Uint8Array(n);
- if (r) {
- var a = new Uint8Array(r.length + o.length);
- a.set(r), a.set(o, r.length), o = a, r = null
- }
- for (; o.length >= t.value;) {
- var i = o.slice(t.value);
- t = e.next(o.slice(0, t.value)), o = i
- }
- o.length > 0 && (r = o)
- }
- }
- function ka() {
- ({}), Dr || (Dr = !0, wa()), a(), (() => {
- try {
- if ("object" == typeof WebAssembly && "function" == typeof WebAssembly.instantiate) {
- const e = new WebAssembly.Module(Uint8Array.of(0, 97, 115, 109, 1, 0, 0, 0));
- if (e instanceof WebAssembly.Module) return new WebAssembly.Instance(e) instanceof WebAssembly.Instance
- }
- } catch (e) {
- }
- return !1
- })(), Date.now || (Date.now = function () {
- return (new Date).getTime()
- }), Tr.print = function (e) {
- postMessage({cmd: "print", text: e})
- }, Tr.printErr = function (e) {
- postMessage({cmd: "printErr", text: e})
- }, Tr.postRun = function () {
- var e = [], t = {
- _firstCheckpoint: 0, _lastCheckpoint: 0, _intervalBytes: 0, _lastSecondBytes: 0, addBytes: function (e) {
- 0 === t._firstCheckpoint ? (t._firstCheckpoint = Date.now(), t._lastCheckpoint = t._firstCheckpoint, t._intervalBytes += e) : Date.now() - t._lastCheckpoint < 1e3 ? t._intervalBytes += e : (t._lastSecondBytes = t._intervalBytes, t._intervalBytes = e, t._lastCheckpoint = Date.now())
- }, reset: function () {
- t._firstCheckpoint = t._lastCheckpoint = 0, t._intervalBytes = 0, t._lastSecondBytes = 0
- }, getCurrentKBps: function () {
- t.addBytes(0);
- var e = (Date.now() - t._lastCheckpoint) / 1e3;
- return 0 == e && (e = 1), t._intervalBytes / e / 1024
- }, getLastSecondKBps: function () {
- return t.addBytes(0), 0 !== t._lastSecondBytes ? t._lastSecondBytes / 1024 : Date.now() - t._lastCheckpoint >= 500 ? t.getCurrentKBps() : 0
- }
- }, r = {
- opt: {}, initAudioPlanar: function (e, t) {
- postMessage({cmd: "initAudioPlanar", samplerate: t, channels: e});
- var r = [], n = [], o = 0;
- this.playAudioPlanar = function (t, a) {
- for (var i = a, s = [], u = 0, c = 0; c < 2; c++) {
- var l = Tr.HEAPU32[(t >> 2) + c] >> 2;
- s[c] = Tr.HEAPF32.subarray(l, l + i)
- }
- if (o) {
- if (!(i >= (a = 1024 - o))) return o += i, r[0] = Float32Array.of(...r[0], ...s[0]), void (2 == e && (r[1] = Float32Array.of(...r[1], ...s[1])));
- n[0] = Float32Array.of(...r[0], ...s[0].subarray(0, a)), 2 == e && (n[1] = Float32Array.of(...r[1], ...s[1].subarray(0, a))), postMessage({
- cmd: "playAudio",
- buffer: n
- }, n.map((e => e.buffer))), u = a, i -= a
- }
- for (o = i; o >= 1024; o -= 1024) n[0] = s[0].slice(u, u += 1024), 2 == e && (n[1] = s[1].slice(u - 1024, u)), postMessage({
- cmd: "playAudio",
- buffer: n
- }, n.map((e => e.buffer)));
- o && (r[0] = s[0].slice(u), 2 == e && (r[1] = s[1].slice(u)))
- }
- }, inputFlv: function* () {
- yield 9;
- for (var t = new ArrayBuffer(4), r = new Uint8Array(t), a = new Uint32Array(t); ;) {
- r[3] = 0;
- var i = yield 15, s = i[4];
- r[0] = i[7], r[1] = i[6], r[2] = i[5];
- var u = a[0];
- r[0] = i[10], r[1] = i[9], r[2] = i[8];
- var c = a[0];
- 16777215 === c && (r[3] = i[11], c = a[0]);
- var l = yield u;
- switch (s) {
- case 8:
- this.opt.hasAudio && e.push({ts: c, payload: l, decoder: n, type: 0});
- break;
- case 9:
- e.push({ts: c, payload: l, decoder: o, type: l[0] >> 4})
- }
- }
- }, play: function (r) {
- this.opt.debug && console.log("Jessibuca play", r), this.getDelay = function (e) {
- return e ? (this.firstTimestamp = e, this.startTimestamp = Date.now(), this.getDelay = function (e) {
- return this.delay = Date.now() - this.startTimestamp - (e - this.firstTimestamp), this.delay
- }, -1) : -1
- };
- var i = this.opt.vod ? () => {
- if (e.length) {
- var t = e[0];
- if (-1 === this.getDelay(t.ts)) e.shift(), this.ts = t.ts, t.decoder.decode(t.payload); else for (; e.length && (t = e[0], this.getDelay(t.ts) > this.videoBuffer);) e.shift(), this.ts = t.ts, t.decoder.decode(t.payload)
- }
- } : () => {
- if (e.length) if (this.dropping) 1 == (t = e.shift()).type ? (this.dropping = !1, this.ts = t.ts, t.decoder.decode(t.payload)) : 0 == t.type && (this.ts = t.ts, t.decoder.decode(t.payload)); else {
- var t = e[0];
- if (-1 === this.getDelay(t.ts)) e.shift(), this.ts = t.ts, t.decoder.decode(t.payload); else if (this.delay > this.videoBuffer + 1e3) this.dropping = !0; else for (; e.length && (t = e[0], this.getDelay(t.ts) > this.videoBuffer);) e.shift(), this.ts = t.ts, t.decoder.decode(t.payload)
- }
- };
- if (this.stopId = setInterval(i, 10), this.speedSamplerId = setInterval((() => {
- postMessage({cmd: "kBps", kBps: t.getLastSecondKBps()})
- }), 1e3), 0 == r.indexOf("http")) {
- this.flvMode = !0;
- var s = this, u = new AbortController;
- fetch(r, {signal: u.signal}).then((function (e) {
- var r = e.body.getReader(), n = s.inputFlv(), o = ba(n), a = function () {
- r.read().then((({done: e, value: r}) => {
- e ? n.return(null) : (t.addBytes(r.byteLength), o(r), a())
- })).catch((function (e) {
- n.return(null), s.opt.debug && console.error(e), -1 === e.toString().indexOf("The user aborted a request") && postMessage({
- cmd: "printErr",
- text: e.toString()
- })
- }))
- };
- a()
- })).catch((e => {
- postMessage({cmd: "printErr", text: e.message})
- })), this._close = function () {
- u.abort()
- }
- } else {
- if (this.flvMode = -1 != r.indexOf(".flv"), this.ws = new WebSocket(r), this.ws.binaryType = "arraybuffer", this.flvMode) {
- let e = this.inputFlv();
- var c = ba(e);
- this.ws.onmessage = e => {
- t.addBytes(e.data.byteLength), c(e.data)
- }, this.ws.onerror = t => {
- e.return(null), postMessage({cmd: "printErr", text: t.toString()})
- }
- } else this.ws.onmessage = r => {
- t.addBytes(r.data.byteLength);
- var a = new DataView(r.data);
- switch (a.getUint8(0)) {
- case 1:
- this.opt.hasAudio && e.push({
- ts: a.getUint32(1, !1),
- payload: new Uint8Array(r.data, 5),
- decoder: n,
- type: 0
- });
- break;
- case 2:
- e.push({
- ts: a.getUint32(1, !1),
- payload: new Uint8Array(r.data, 5),
- decoder: o,
- type: a.getUint8(5) >> 4
- })
- }
- }, this.ws.onerror = e => {
- postMessage({cmd: "printErr", text: e.toString()})
- };
- this._close = function () {
- this.ws.close(), this.ws = null
- }
- }
- this.setVideoSize = function (e, t) {
- postMessage({cmd: "initSize", w: e, h: t});
- var r = e * t, n = r >> 2;
- if (this.opt.forceNoOffscreen || "undefined" == typeof OffscreenCanvas) this.draw = function (e, t, o, a) {
- var i = [Tr.HEAPU8.subarray(t, t + r), Tr.HEAPU8.subarray(o, o + n), Tr.HEAPU8.subarray(a, a + n)].map((e => Uint8Array.from(e)));
- postMessage({
- cmd: "render",
- compositionTime: e,
- delay: this.delay,
- ts: this.ts,
- output: i
- }, i.map((e => e.buffer)))
- }; else {
- var o = new OffscreenCanvas(e, t), i = o.getContext("webgl"), s = a().default(i);
- this.draw = function (a, i, u, c) {
- s(e, t, Tr.HEAPU8.subarray(i, i + r), Tr.HEAPU8.subarray(u, u + n), Tr.HEAPU8.subarray(c, c + n));
- let l = o.transferToImageBitmap();
- postMessage({cmd: "render", compositionTime: a, delay: this.delay, ts: this.ts, buffer: l}, [l])
- }
- }
- }
- }, close: function () {
- this._close && (this.opt.debug && console.log("worker close"), this._close(), clearInterval(this.stopId), this.stopId = null, clearInterval(this.speedSamplerId), this.speedSamplerId = null, t.reset(), this.ws = null, n.clear(), o.clear(), this.firstTimestamp = 0, this.startTimestamp = 0, this.delay = 0, this.ts = 0, this.flvMode = !1, e = [], delete this.playAudioPlanar, delete this.draw, delete this.getDelay)
- }
- }, n = new Tr.AudioDecoder(r), o = new Tr.VideoDecoder(r);
- postMessage({cmd: "init"}), self.onmessage = function (e) {
- var t = e.data;
- switch (t.cmd) {
- case"init":
- r.opt = JSON.parse(t.opt), n.sample_rate = t.sampleRate;
- break;
- case"getProp":
- postMessage({cmd: "getProp", value: r[t.prop]});
- break;
- case"setProp":
- r[t.prop] = t.value;
- break;
- case"play":
- r.play(t.url);
- break;
- case"setVideoBuffer":
- r.videoBuffer = 1e3 * t.time | 0;
- break;
- case"close":
- r.close()
- }
- }
- }
- }
- "undefined" == typeof importScripts ? ve || (ve = !0, {}, l(), U(), $(), q(), Ae(), v(), R(), ge = class {
- constructor(e) {
- if (this._opt = Object.assign(v().DEFAULT_OPTIONS, e), this.$container = e.container, "string" == typeof e.container && (this.$container = document.querySelector(e.container)), !this.$container) throw new Error("Jessibuca need container option");
- delete this._opt.container, this._opt.debug && console.log("options", this._opt), Ae().default(this), l().default(this), U().default(this), q().default(this), $().default(this)
- }
- set fullscreen(e) {
- e ? (R().checkFull() || this.$container.requestFullscreen(), R().$domToggle(this.$doms.minScreenDom, !0), R().$domToggle(this.$doms.fullscreenDom, !1)) : (R().checkFull() && document.exitFullscreen(), R().$domToggle(this.$doms.minScreenDom, !1), R().$domToggle(this.$doms.fullscreenDom, !0)), this._fullscreen !== e && (this.onFullscreen(e), this._trigger(v().EVEMTS.fullscreen, e)), this._fullscreen = e
- }
- get fullscreen() {
- return this._fullscreen
- }
- set playing(e) {
- e ? (R().$domToggle(this.$doms.playBigDom, !1), R().$domToggle(this.$doms.playDom, !1), R().$domToggle(this.$doms.pauseDom, !0), R().$domToggle(this.$doms.screenshotsDom, !0), R().$domToggle(this.$doms.recordDom, !0), this._quieting ? (R().$domToggle(this.$doms.quietAudioDom, !0), R().$domToggle(this.$doms.playAudioDom, !1)) : (R().$domToggle(this.$doms.quietAudioDom, !1), R().$domToggle(this.$doms.playAudioDom, !0))) : (this.$doms.speedDom && (this.$doms.speedDom.innerText = ""), this._playUrl && (R().$domToggle(this.$doms.playDom, !0), R().$domToggle(this.$doms.playBigDom, !0), R().$domToggle(this.$doms.pauseDom, !1)), R().$domToggle(this.$doms.recordDom, !1), R().$domToggle(this.$doms.recordingDom, !1), R().$domToggle(this.$doms.screenshotsDom, !1), R().$domToggle(this.$doms.quietAudioDom, !1), R().$domToggle(this.$doms.playAudioDom, !1)), this._playing !== e && (e ? (this.onPlay(), this._trigger(v().EVEMTS.play)) : (this.onPause(), this._trigger(v().EVEMTS.pause))), this._playing = e
- }
- get playing() {
- return this._playing
- }
- set quieting(e) {
- e ? (R().$domToggle(this.$doms.quietAudioDom, !0), R().$domToggle(this.$doms.playAudioDom, !1)) : (R().$domToggle(this.$doms.quietAudioDom, !1), R().$domToggle(this.$doms.playAudioDom, !0)), this._quieting !== e && (this.onMute(e), this._trigger(v().EVEMTS.mute, e)), this._quieting = e
- }
- get quieting() {
- return this._quieting
- }
- set loading(e) {
- e ? (R().$hideBtns(this.$doms), R().$domToggle(this.$doms.fullscreenDom, !0), R().$domToggle(this.$doms.pauseDom, !0), R().$domToggle(this.$doms.loadingDom, !0)) : R().$initBtns(this.$doms), this._loading = e
- }
- get loading() {
- return this._loading
- }
- set recording(e) {
- e ? (R().$domToggle(this.$doms.recordDom, !1), R().$domToggle(this.$doms.recordingDom, !0)) : (R().$domToggle(this.$doms.recordDom, !0), R().$domToggle(this.$doms.recordingDom, !1)), this._recording !== e && (this.onRecord(e), this._trigger(v().EVEMTS.record, e), this._recording = e)
- }
- get recording() {
- return this._recording
- }
- setDebug(e) {
- this._opt.isDebug = !!e
- }
- setTimeout(e) {
- this._opt.timeout = Number(e)
- }
- setVod(e) {
- this._opt.vod = !!e
- }
- setNoOffscreen(e) {
- this._opt.forceNoOffscreen = !!e
- }
- setScaleMode(e) {
- 0 === (e = Number(e)) ? (this._opt.isFullResize = !1, this._opt.isResize = !1) : 1 === e ? (this._opt.isFullResize = !1, this._opt.isResize = !0) : 2 === e && (this._opt.isFullResize = !0), this._resize()
- }
- mute() {
- this._mute()
- }
- cancelMute() {
- this._cancelMute()
- }
- audioResume() {
- this._cancelMute()
- }
- pause() {
- this._pause()
- }
- play(e) {
- this._play(e)
- }
- close() {
- this._close()
- }
- destroy() {
- this._close(), this._destroyAudioContext(), this._destroyContextGL(), this._decoderWorker.terminate(), this._removeEventListener(), this._initCheckVariable(), this._off(), this._removeContainerChild()
- }
- clearView() {
- this._clearView()
- }
- resize() {
- this._resize()
- }
- setBufferTime(e) {
- e = Number(e), this._decoderWorker.postMessage({cmd: v().POST_MESSAGE.setVideoBuffer, time: e})
- }
- setRotate(e) {
- e = parseInt(e, 10), this._opt.rotate !== e && -1 !== [0, 90, 270].indexOf(e) && (this._opt.rotate = e, this.resize())
- }
- setVolume(e) {
- if (this._gainNode) {
- if (e = parseFloat(e), isNaN(e)) return;
- this._gainNode.gain.setValueAtTime(e, this._audioContext.currentTime)
- }
- }
- setKeepScreenOn() {
- this._opt.keepScreenOn = !0
- }
- setFullscreen(e) {
- const t = !!e;
- this.fullscreen !== t && (this.fullscreen = t)
- }
- hasLoaded() {
- return this._hasLoaded
- }
- screenshot(e, t, r) {
- this._screenshot(e, t, r)
- }
- on(e, t) {
- this._on(e, t)
- }
- }, window.Jessibuca = ge) : _a || (_a = !0, ka())
- }();
|